Firefox Is the First Browser To Pass the MathML Acid2 Test 134
An anonymous reader writes "Frédéric Wang, an engineer at the MathJax project, reports that the latest nightly build of Firefox now passes the MathML Acid2 test. Screenshots in his post show a comparison with the latest nightly Chrome Canary, and it's not pretty. He writes 'Google developers forked Webkit and decided to remove from Blink all the code (including MathML) on which they don't plan to work in the short term.'"
Re:When you have money, (Score:4, Funny)
I suspect they were using Chrome in a Google Spreadsheet when calculating their bid for Motorola Mobility.
Re: (Score:1)
And probably a Pentium with the fdiv problem :)
Re: (Score:2)
Re: (Score:2)
Wow! It's been a while since I've seen an FDIV joke.
chrome fails MathML acid1 (Score:5, Funny)
I simply cant believe this...
MathML is a pretty important to allowing papers to be...
Re: (Score:2)
Re:chrome fails MathML acid1 (Score:5, Informative)
Are you looking at the same MathML Acid tests that I am? These are not the same tests as the original Acid and Acid 2 tests.
Chrome Stable, at least on OS X, fails MathML Acid 1 miserably, as does Chrome Canary. All the fractions are shown as the left part followed by a space followed by the right part instead of as a fraction. Safari on OS X is basically correct for MathML Acid 1 (albeit with the ugliest parentheses I've ever seen), but if you reload the page, the curly braces disappear, as do the comma inside the curly braces and the plus sign.
And the MathML Acid 2 test looks like a freaking Picasso on all three browsers.
Re: (Score:3)
Re: (Score:2)
Yeah i think old billy got his ACID tests mixed up, which is why i think its stupid to call this ACID instead of something like ML-Test or Math Tester. But I ran the test on both Comodo Dragon (Based on Chromium stable) and Pale Moon and it was a total mess and considering how long it took IE to get ACID support I'm seriously doubting he got IE 8 to pass, nor do i believe that FF ESR passed as that is a couple of years old.
But again I really don't see a point in the MathML tests, the vast majority won't ever be going to a site that depends on MathML so saying its not supporting MathML means squat, like saying a CPU should be judged strictly by how well it runs Folding At Home. Hell Folding is a hell of a lot bigger niche than MathML, can anybody even name a popular site in the top 20 page ranking that uses it? Top 50? So far web designers can't even get HTML V5 up and running without it sucking cycles like a drunk sucking down free drinks so MathML should rightly be at the bottom of the "to do" list.
Yeah I had 3 rum and cokes when I typed that.
The reason HTML 5 is not getting off is because of ... you guessed it... IE support. Make that old IE support. IE 6 you can safely ignore outside of China thankfully, but IE 8 is HUGE and with grannies and the corps not leaving XP anytime soon it will stick a long long time. Remember not every business has its own I.T. department or with with small shops like your own who tell them to leave. Most are small to medium sized business that have some old app that uses
IE doesn't support MathML (Score:1)
Re: (Score:2)
MathML is supported in IE natively (at least it is for IE 10). What makes you say otherwise? Just head on over to http://www.mathjax.org/demos/mathml-samples/ [mathjax.org] and see for yourself.
I don't have IE10 and therefore cannot tell whether it does or does not support MathML, however I just want to make sure you've seen that this page by default does not render MathML, but builds the formulas with HTML+CSS. You have to explicitly select "MathML" with the dropdown selector to see what it looks like rendered using MathML.
Re: (Score:1)
I heard IE 11 might have it. I am really surprised why as MS has been trying to champaign web enabled excel spreedsheets and powerpoint presentation?!
Powerpoint 2013 is having web based ones as a selling point to share so people do not have to fly with a laptop and it can be viewed on a browser. Many finance and accounting folks in the enterprise use mathmatical formulas and do more than simple pie charts. MathML is not hard to support. I would image it is easy compared to trying to port WebGL with opengl e
Re: (Score:1)
Re:chrome fails MathML acid1 (Score:4, Informative)
Personally I browse pages that use MathML every single day (literally), opengl.org ref pages, have MathML scattered throughout - I've never bothered installing chrome on a workstation once due to lack of MathML support, and don't ever plan on doing so until it can (among many other missing features).
Re: (Score:2)
Re:chrome fails MathML acid1 (Score:5, Interesting)
The reason to improve MathML support isn't browsers. It's eBook readers that share the underlying rendering engines. Lots of textbook publishers want to use MathML, but without robust, reliable, visually appealing support, everybody has to do awful hacks with inline images or (hopefully) SVG instead.
Re:chrome fails MathML acid1 (Score:5, Informative)
The reason to improve MathML support isn't browsers. It's eBook readers that share the underlying rendering engines. Lots of textbook publishers want to use MathML, but without robust, reliable, visually appealing support, everybody has to do awful hacks with inline images or (hopefully) SVG instead.
Spot on. EPub 3.x with MathML 3.0 is vital to work in digital publishing for iOS, Android, etc.
Re: (Score:2)
MathML is a static content description language like (pure) HTML, not a programming language like JavaScript. Moreover, it should use the same parser used for all other XML based content (like XHTML), which is most likely even the same parser which is used to parse HTML. So I cannot see how MathML could be used for an exploit which is not possible for HTML (unless you did a really crappy implementation).
The majority meme (Score:2)
But how many of your average users are gonna be going to pages where MathML would be useful? if it was 3% I'd be amazed.
Again with the "if it's not useful to the 51% it's not useful to anyone" meme. For one thing, the Web was invented for use by academia. For another, pretty much everyone who goes to college or even high school ends up seeing an equation at some time.
Re: (Score:1)
Flash and Java themselves are attack vectors (Score:2)
The needs of the many outweigh the needs of the few
Not in all cases, as shown in historical examples of tyranny of the majority [wikipedia.org]. It lets those with wealth get away with assaults on freedom because the majority don't feel like keeping themselves informed. Case in point: In the United States in the mid-twentieth century, the majority of European descent wanted to force "colored" people, mostly of African descent, to use a different drinking fountain. Was that an acceptable compromise to support "the needs of the many"?
there is NO point in adding yet more bloat and complexity to a browser, not to mention giving malware writers one more attack vector in said browser, all to support a teeny tiny niche that would probably just as well if not better supported by using a browser plug in to a real language like Java.
Flash and Java themselves have a track re
Re: (Score:2)
But how many of your average users are gonna be going to pages where MathML would be useful? if it was 3% I'd be amazed.
You'd be amazed to discover that more than 3% of netizens use Wikipedia?
Re:chrome fails MathML acid1 (Score:4, Insightful)
It's a real shame -- MathML is abysmal.
A few zillion years ago, we had the math tag, which was similar to TeX. It died on the vine, but would have been MUCH better than the cruel joke that is MathML.
Re: (Score:1)
It died on the vine, but would have been MUCH better than the cruel joke that is MathML.
Only for those writing HTML documents by hand. Most people use automated tools to generate the required code - makes no difference to them how it is finally presented to the web browser. And those people who do write by hand are the same people who can write a script to extract, convert, then replace their TeX code with MathML.
And in regards to the web browser, formatting the code in a format that can be parsed by the existing HTML engine greatly reduces the effort required to implement the tags. This is
Re:chrome fails MathML acid1 (Score:4, Informative)
MathML attempts to separate the content and presentation. This is fine if you have a tool that properly supports both (I've never used one, maybe Mathematica or similar does?), but it sucks for most editors. The idea is that you can have a single format that describes both how to lay out equations and their semantics. In practice, pretty much everyone who generates MathML does it from the TeX equivalent and so only ever gets the presentation form. The other advantage of MathML is that each individual element is exposed via the DOM, so it's easy to manipulate equations from JavaScript, although I don't think I've ever seen that done either.
Part of the problem with a format that is basically impossible for humans to write is that it also ends up being difficult to produce tools that can write and display it, which is why it's taken 10 years or so for MathML to get even a token amount of support in mainstream browsers...
Re: (Score:2)
The other advantage of MathML is that each individual element is exposed via the DOM, so it's easy to manipulate equations from JavaScript, although I don't think I've ever seen that done either.
I believe that MathJax does this. Anyway, you can either generate MathML inside a browser with DOM if you're targeting it, or you can write a script that converts it to something else (SVG, a canvas program) if you're implementing it. If you're especially kinky, you can do both. :-)
Re: (Score:2)
Most people use automated tools to generate the required code - makes no difference to them how it is finally presented to the web browser. And those people who do write by hand are the same people who can write a script to extract, convert, then replace their TeX code with MathML.
Eh. A math tag would have allowed me to type math in my response to you right here, in postings to facebook, email, or anywhere HTML is used. Requiring a site to source scripts guarantees it'll never be more than peripheral and utterly irrelevant.
Re: (Score:1)
HTML also supports Γ but you'll not get Slashdot to display it. What makes you think that a math tag would be supported, if it doesn't even support all characters usually found in formulas?
Re: (Score:3)
Real-time processing speed is still a concern. Even with *way* more computing power than available decades ago, it still takes a noticeably nonzero amount of time to render a several page LaTeX document. For live document editing, or even re-flowing a webpage when your window size changes, you need a much faster (and consequently cruder-looking) layout algorithm. Now, most document preparation would be much better served by a model like LyX [lyx.org]: fast approximate on-screen rendering for editing, with a slow "fin
I for one am glad they left out Blink. (Score:1)
Re:I for one am glad they left out Blink. (Score:5, Informative)
My many web design/development clients would disagree with you. I don't even want to recall the times I've had to tell them No for blinking things.
Unfortunately they think blinking == attention getting, whereas we think blinking == f*cking irritating.
Re: (Score:2)
My many web design/development clients would disagree with you. I don't even want to recall the times I've had to tell them No for blinking things.
Unfortunately they think blinking == attention getting, whereas we think blinking == f*cking irritating.
<BLINK> tags don't annoy people, people do. Don't give them a blinking tag, they'll just create a .GIF or worse a jittering noisy Flash animation. I used a blinking tag in a non-annoying way: to emulate a DOS like cursor for my temporary landing page.
Blink tag can be done with CSS animation (Score:2)
I used a blinking tag in a non-annoying way: to emulate a DOS like cursor for my temporary landing page.
To simulate a blinking insertion point, you could have used a CSS animation.
Re: (Score:2)
Unfortunately, f*cking irritating == attention getting, so by the commutative quality of the equivalency group, they are technically correct, and we are f*cking screwed.
Re: (Score:2)
Unfortunately they think blinking == attention getting, whereas we think blinking == f*cking irritating.
Admittedly, they're right. Fortunately, we're righter.
Re: (Score:2)
I agree that it's surprising that Chrome seems to fail even on simplistic things. However, Chrome doesn't really feel like the kind of browser that goes for that sort of thing either. Given a choice between MathML and rounded corners (just as an example), I can well imagine that the latter would be far more popular, find wide-spread adoption, and be able to differentiate Chrome from other browsers.
The fairly limited set of publishers/users that would find MathML something that they'd have an absolute need
Re:Who cares? (Score:5, Insightful)
Ask a web developer what they think about Chrome?
It is not all positive. It is buggy and has proprietary extensions similiar to something that sounded familiar in the past [pcmag.com]? Its javascript sometimes does not load on sites and its version of HTML 5 is differnent from others. HTML5test.com tests things that W3C implements a little differently or not at all.
Remember IE 6 was lean mean and standards compliant compared to the god awefull netscape 10 years ago too. Hard to believe in a place like slashdot to admit but if you go read slashdot history on the most discussed stories of all time "What keeps you on Windows from 2002" IE 6 is mentioned!
The switch to a new rendering engine is going to cause issues soon and many corporate oriented SVs and site makers will not be pleased.
Re: (Score:2)
IE5 was lean and mean, and about as ideal as you could get for those days (security notwithstanding). The bloat began with IE6, and by then, Netscape was the better browser, feature- and resource-wise.
Re: (Score:2)
I don't think Google has given up on MathML though, they just are not supporting it until it reaches as usable and stable level in WebKit. Then they will port over that entire chunk of code.
This is a common thing for people doing forks because you don't really want to spend time folding in partially working code from the other guys that brings little benefit. Just wait until it works and do it all in one hit.
Re: (Score:2)
Remember IE 6 was lean mean and standards compliant compared to the god awefull netscape 10 years ago too.
That's IE 6 great claim to fame. Compared to the bloated corpse of Netscape 4, it looked quite good.
Re: (Score:2)
But IE6 came out in the days of Netscape 6
Re: (Score:2)
Netscape 6 was based on an early beta version of Mozilla Suite, somewhere between the last milestone release (M18) and the first real beta (0.7). In fact, IIRC the Mozilla team retconned v0.6 to match what AOL pulled for Netscape 6.0.
The first production-ready version of Mozilla-based Netscape was 7, I think, which was based on Mozilla 1.x.
I don't think many people used Netscape 6.
MathML support was turned off in Chrome 25 (Score:2)
Ah, remember the good old days (Score:1)
when this exact argument was used against SVG? Now every browser has it, and the pain of using a javascript library shim for the holdouts is gone.
Re: (Score:1)
Sure, you can use workarounds like MathJAX. But it doesn't mean it is more than a workaround. What happens if you want to read some HTML containing formulas while offline?
Offline copy of MathML to HTML+CSS script (Score:2)
What happens if you want to read some HTML containing formulas while offline?
Then make an HTML document with a MathML data island, and have a <script> element in the HTML document reference an offline copy of the JavaScript program that translates MathML to HTML+CSS.
Or get a MiFi.
Let me be the first to say (Score:1)
Congratulations Mozilla! Still striving for standards means Firefox's job of keeping the others in check is just as important as ever.
Re: (Score:2)
Re: (Score:2)
While LaTeX looks good printed on paper, the default MathJax fonts aren't great on a screen.
Re: (Score:1)
If your browser has good MathML rendering, MathJax can use that.
http://docs.mathjax.org/en/latest/output.html
Math symbols are so archaic so who gives a F (Score:1, Troll)
There are critics of C++ that say the language is just pieces and parts hacked together. Even if that is true, mathematics takes the undisputed crown of bizarre hacked together symbols.
The symbols used in mathematics are unintelligible, inconsistent, don't even use a standard language character set and cannot be represented in a programming language.
These mathematical symbols either need to be modernized to come to a standardization or di
There's a very good reason Maths is hard (Score:1)
Because if it was made easier to understand then the aliens visiting us now would figure out how far behind them our tech is, and conquer us in 7 minutes.
Re: (Score:2, Insightful)
Mathematics is one of those fields that could use some ISO standards.
There are critics of C++ that say the language is just pieces and parts hacked together. Even if that is true, mathematics takes the undisputed crown of bizarre hacked together symbols.
The symbols used in mathematics are unintelligible, inconsistent, don't even use a standard language character set and cannot be represented in a programming language.
These mathematical symbols either need to be modernized to come to a standardization or die.
What the hell? I can believe how incredibly ignorant is this comment. Do you even work with mathematics? The symbols used in mathematics are jargon to be sure, but every (non-trivial) field of endeavours has its jargon. And that jargon makes mathematics significantly easier to work with day-to-day for its practitioners.
You make it sound like mathematics deliberately chose symbols and syntax that was difficult to implement in a programming language, as if that's the pinnacle of the written form. Of course, m
Re: (Score:2, Interesting)
What the hell? I can believe how incredibly ignorant is this comment. Do you even work with mathematics? The symbols used in mathematics are jargon to be sure, but every (non-trivial) field of endeavours has its jargon. And that jargon makes mathematics significantly easier to work with day-to-day for its practitioners.
You make it sound like mathematics deliberately chose symbols and syntax that was difficult to implement in a programming language, as if that's the pinnacle of the written form. Of course, mathematics predates programming languages by centuries if not millenia.
The problem is that these symbols are no longer suitable for the modern world. They were fine at the time when they were conceived, but technology has moved on and requires something better.
And the symbol it uses are part of a standard language character set, just not those that has yet been popular in the (relative) young computer world. You're comparing mathematics to a single programming language. You should instead compare mathematics to every programming language combined.
The criticism was not that the symbols are undisplayable, it is that their use is not consistent and not possible as part of a computer program, aside from very special languages which specifically cater for Math. A few attempts have been made to reconcile these (for example RPN and stack-based languages like Forth) but
Re: (Score:1)
The problem is that these symbols are no longer suitable for the modern world. They were fine at the time when they were conceived, but technology has moved on and requires something better.
These symbols were difficult when computers were new and slow. Nowadays, there are things like Unicode, LaTeX and MathML which partially solves those problems. You make it sound like we should adapt to computers, that's understandable when computers were expensive, but they're now cheap and we should optimise for humans in my opinion.
The criticism was not that the symbols are undisplayable, it is that their use is not consistent and not possible as part of a computer program, aside from very special languages which specifically cater for Math. A few attempts have been made to reconcile these (for example RPN and stack-based languages like Forth) but have not seen widespread adoption so far.
With regards to the GP, I think that the inconsistency is especially bad. For example, whether N is meant to include 0 or not often depends on whether the author thinks that the natural numbers include 0 or not (which are two totally different things). Then many authors use trigonometric functions like operators to avoid writing parentheses, but without formally specifying the binding/precedence level. So when one reads "sin^2 x*y" does that mean "(sin(x)^2)y" or "sin(x*y)^2" or "sin(sin(x))*y" or "sin(sin(x*y))"? The list goes on.
That's because of the limitation in conveying Mathematics in ASCII as well as either people writing the mathematics being insufficiently clear (which can happen in English or p
Re: (Score:3)
Re:Math symbols are so archaic so who gives a F (Score:5, Informative)
You just showed that you don't know enough mathematics.
The input to the sine function is not an angle, it is a real or complex number. If real, this number often (but not always!) describes some angle. If complex, it obviously won't describe an angle.
The sine function is defined as
sin x = (exp(i x) - exp(-i x)) / (2i)
where i is the imaginary number, and exp(x) is defined by the series
exp x = 1 + x + x^2/2 + ... + x^n/n! + ...
Note that, since the convergence radius of the exponential series is infinite, and the sine is just a linear combination of exponentials, the sine is defined on all complex numbers. Since it is complex-valued, sin sin x is indeed well defined for all complex numbers x.
Moreover, if you restrict the sine to real numbers (that is, only accept real numbers), you still have a well defined sin sin x, because the real sine function is also real-valued (more exactly, its values are restricted to the interval [-1,1]).
Also, the output is in general not a rational number (the only thing you could have meant with "ratio" that makes sense in this context).
Re: (Score:2)
You've argued effectively that the domains of the input and output of trigonometric functions are unbounded, but not against the interpretation of their meanings. Complex angles occur in total internal reflection, for example.
Even if sin sin x is well-defined, it doesn't have any natural utility. I'd be really surprised (but interested!) if you could show me an example of it being used in a proof.
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
So "sin^2 x*y" means "(sin(x*y))^2", it's a pretty strong convention. If you meant "(sin(x)^2)y" (as "(sin(x^2))*y"), you'd write as "y sin x^2". If you meant "sin(sin(x))*y", you'd write as "y sin(sin(x))". If you meant "sin(sin(x*y))", you'd write as that or "sin(sin x*y)". Sure, it's a bit odd for people unfamiliar with mathematics, but those people are never going to do mathematics anyway.
But could you code this convention into a compiler, e.g. by formally specifying precedence for trigonometric operators? It would have to account for the most common interpretations:
sin x*y = sin(x*y)
sin x * sin y = sin(x)*sin(y)
sin^2 x = sin(x)^2
sin^(-1) x = arcsin(x)
Now continue this for log, lim, summation notation, and all the other clever ways mathematicians have devised in order to avoid writing parentheses. It will quickly become clear that this is an arduous, error prone task and the time better b
Re: (Score:1)
So when one reads "sin^2 x*y" does that mean "(sin(x)^2)y" or "sin(x*y)^2" or "sin(sin(x))*y" or "sin(sin(x*y))"? The list goes on.
Why would it be anything other than the "sin(x*y)^2"?
Because in other contexts, (f^2)(x) means f(f(x)). And there is sin^(-1) which is a popular way to denote the arcsine. So the superscript after a function can mean totally different things which the compiler will have to figure out from the context. Concerning x*y see my other reply further below.
The author always defines what N actually means. Guessing from the context you are using it in N is the count.
The problem is not that it isn't properly defined, the problem is that it is not consistent.
Re: (Score:1)
In the one corner case where f(f(x*y)) would have some utility
Such "corner cases" include for example iteration or recursion which I'd say is a pretty common thing to do for computers nowadays. Generally you can write
f^0 = id
f^(n+1) = f(f^n)
which is consistent with sin^(-1) notation, and is especially common in areas of mathematics that are close to computer science.
The problem is not that it isn't properly defined, the problem is that it is not consistent.
Amazing how Math people seem to be able to handle such inconsistencies then. /sarcasm
The readability or usability by humans was never questioned. The only argument is about whether the notation can be used for writing computer programs. To keep compilers simple, they need to build a synt
Re: (Score:1)
Why would it be anything other than the "sin(x*y)^2"?
I have seen authors write "sin a * sin b" and mean "sin(a)*sin(b)", not "sin(a*sin(b))". So there is some further inconsistency in the implicit precedence rules for the sin operator.
Re: (Score:1)
Now, if you think that everything should be expressible under ASCII and easily readable by humans, pray tell, how you could express:
No, the question was not about readability by humans, but instead suitability to be part of a computer program. I give to you that the class builder { : } or the \mapsto operator would possibly become unwieldy.
1. Integration and limits or related symbols (e.g., area integration)
These are just functions with (commonly) three arguments. Not much different from if conditionals or for loops in a computer program.
2. Absolute vs. vector length
What is wrong with abs()? Also |x| notation creates an extra difficulty for compilers because opening and closing delimiter are the same.
3. Set theory symbols (membership, subset, etc.)
Write as predicates.
4. Logic symbols (and, or, xor are easy, how about http://en.wikipedia.org/wiki/List_of_logic_symbols [wikipedia.org] )
5. Convolution related symbols
I don't see
Re: (Score:2)
You make it sound like mathematics deliberately chose symbols and syntax that was difficult to implement in a programming language, as if that's the pinnacle of the written form.
Not deliberately, but a significant part of the mathematical notation actually doesn't make sense from the POV of formal languages - probably because the notion of formal languages didn't exist at the time. :-)
Mozilla? Pff.. who cares? (Score:1)
When Chrome devs sneeze and accidentally create some flimsy new voice API that does things remotely anyway, the web gives them a shoulder rub.
When Chrome devs give up and fork their browser, that's a big thumbs up.
When Opera gives up the ghost and chooses Google's engine, it's "good job, Google!"
But when Mozilla listens to users and shrinks their memory usage to the point where Chrome can't even compete, "who cares"?
When Mozilla diligently catches up in Javascript performance, even overtaking Google with a
Re: (Score:2)
When Mozilla proves they've solidified a piece of web tech that many people already rely on, "who cares?"
Define "many". Before today, as a geek and a software developer, I've never heard of MathML before. Now that I have heard about it, and know what it's for, I find it completely useless to me, and I suspect the vast majority of people. I think that a tiny fraction of a percent of people will find MathML useful.
LOL! What a bunch a losers! (Score:1)
Haha! What a bunch of losers. Psssst! What's he talking about?
if you want MathMl enabled in Chrome (Score:3)
How does this affect me *now*? (Score:2)
.
On the other hand, it would be really nice if the Firefox developers fixed their proxy issues, and fixed the javascript engine choking on sites.
The problem with the testerone-induced rapid development cycle is that it apparently leads to a lot of bravado (we're better than Chrome") and little ongoing maintenance of browsing issues.
No fate. (Score:1)
FWIW, Chrome's result is identical to my default, pre-Chrome, Android 2.6.3 browser. This would make sense if Google had removed the code from Chrome rather than a half-assed version; this must be the default infinit incompetence look.
I take that back. Infinite incompetence would crash. Possibly also infecting the Internet.
O want musicXML in my browser ;_) (Score:1)
You're thinking of Chrome and Safari (Score:4, Insightful)
Webkit was caught patching to specifically pass the Acid3 test. [vasanth.in]
Re: (Score:2)
That should surprise exactly no one.
Page displays correctly in FF3.6? Hack? (Score:2)
The page @ https://eyeasme.com/Joe/MathML/older_MathML_browser_test.html [eyeasme.com]
Displays correctly in FF 3.6.