Chromium: "MathML is not something that we want at this time"
code.google.com
code.google.com
One of our goals is to make it possible to layer technologies as complex as MathML on top of Blink without requiring Blink to ship everything and the kitchen sink. See new technologies like Custom Elements (http://www.w3.org/TR/custom-elements/), which are part of this story.
Less code with direct OS access sounds good to me.
So far as direct OS access, I'm having trouble envisioning a situation in which the layout code for MathML would be any more vulnerable than SVG (or the rest of the layout engine for that matter).
It undermines the process to go around cheering for HTML5 and then later decide that you don't like it after all.
HTML went the same way other popular languages (e.g.: VB, PHP, Perl), they got broad adoption because the compiler/interpreter/renderer would be too kind in working hard to fix user mistake instead of reporting them.
And then, when they tried to fix it, the same user base complain (despite being bitten many times by the language) that it should stay like it is, because it has always been like that.
When bad habits became traditions, you are really in a bad position.
"The client is the wrong place to enforce data integrity. It’s just the wrong place. I hear otherwise intelligent people claim that if everyone did it, it would be okay. No, if everyone did it, it would be even worse. If you want to do it, of course I can’t stop you. But think about who it will hurt."
For the developer/tester of Typepad (the blog software) to catch the bug, they would have had to trigger this bug in development/testing before it made it into the wild. While we always hope developers will catch as many bugs as possible, some will always slip through. Strict validation on the client means that even the slightest bug can make the website 100% down/unavailable, even though the browser would be perfectly capable of displaying something that 99% works.
Modern web sites are huge amalgamations of dynamically-generated content using umpteen templating technologies and aggregations of data that come from sources that the page's authors do not necessarily control. Guaranteeing that their output will always be valid XHTML is not trivial.
It IS a bug that the blog engine developers should have catch, in the same way they should have protect the trackback from XSS injection.
Guaranteeing your output will always be valid might not be trivial, but it is way less harder that some people pretend it to be.
The question is, when they do, will you let the browser gracefully recover, or will you demand that the browser show an error page, even though it could do something reasonable?
The security analogy would be to let all your code run as root, because the main security mechanisms should prevent users from executing arbitrary code. But this is fragile, because any security bug would compromise the security of the system completely.
What we do instead is have defense in depth: even if the first layer of security is compromised, there are other layers of security that can (hopefully) contain the damage. Permissive client rendering likewise limits the damage that one bug can do.
That said, even if we choose a defense in depth, it still is not a valid reason to throw away XHTML as it was done.
The same way you will not remove your firewall because it does not block dormant viruses, but add an antivirus, the browsers could have still continue putting effort in rendering the correct, and powerful, XHTML, while setting down some decent fallbacks to recover. Being we a be red warning to raise awareness that something need to be fixed.
An inability to guarantee valid output hints that inputs aren't being properly analyzed and sanitized, with terrible security consequences. Both developers and users of pages should be made aware when these errors occur.
If the error messages are too intrusive, adoption of browsers displaying them would of course suffer greatly.
It very probably was. The path we're going down with HTML5 and "modern" browser technologies is taking a muddled clusterfuck of a mess, and making it even more muddled and even more of a clusterfuck. It'll work, but only through heroic effort and sacrifice.
I feel like we're painting ourselves into a corner with the web these days, and actually reducing choice and flexibility on the web. One thing that is clear, is that we've lost sight of the distinction between a document and an application, and have managed to turn a pretty good hypertext platform into a Dr. Frankentein's Monster that combines hypertext browsing and a poor man's X-server in eldritch and grotesque ways.
https://groups.google.com/d/msg/mozilla.dev.platform/96dZw1j...
Here[1] they refuse to add support for SIL Graphite[2], which is essential for making text in certain languages render correctly. (Of course, Firefox already supports it.)
Comment #9 was the same guy ranting against libgraphite2's code quality, but it's been deleted now.
Thankfully, they've since changed their mind on that one. We might still see Graphite support in Chrome.
[1] http://code.google.com/p/chromium/issues/detail?id=140007#c7
[2] http://scripts.sil.org/cms/scripts/page.php?site_id=projects....
Is there anything to say he was wrong?
"Thankfully, they've since changed their mind on that one. We might still see Graphite support in Chrome."
So what your saying is that after the serious code quality issues he apparently ranted about disappeared, they reconsidered (that's what the comment stream seems to say ...)?
We'll see what happens here, its a pretty vague comment right now. What does "at this time" really mean? Is it just delayed so other things can be focused on? I could understand that. Things like the new input controls should be a bigger priority, they are more important for 99% of all users.
Very interesting, it makes it hard for Chrome to criticize any other implementation.
That would be a Chrome-specific non-standard feature. If JavaScript implementation of TeX is too slow, a Chrome-specific solution would be NaCl/PNaCl.
But I really recommend to evaluate how to generate high-performance javascript code (like with Emscripten) and have it working fast enough.
MathML is a joke compared to LaTeX. HTML + canvas, SVG, or PNG is preferable.
As long as you're converting TeX math to something else, MathML is preferable only because it may look nicer rendered than an image raster from TeX.
This, coupled with the fact that WebKit MathML wasn't up to snuff, is a pretty good rationale IMO.
Standards-compliance is a means to an end (interoperability), doesn't mean browsers should implement every niche spec that someone comes up with. I want my VRML first, at least ;)
Why not <tex>E = mc^2</tex>?
MathMl, despite being in the spec does nothing to this end.
While researchers have to search for publications all the time, I don't see many use cases for a code search engine.
Since Google is a software company as well as a research laboratory (though I would say it is more prominently the former), I would be surprised that they would kill Code Search but keep Scholar alive as a hiring cost.
If you want a mailing list discussion, did you start a discussion on chromium-dev, or is your complaint that nobody else did?
From what I see, the discussion existed on a bug report because that is how it was reported by a user as a feature request. Support was never complete, the person maintaining it stopped doing so, etc.
(However, I guess Wikipedia has a MathJax option; I wonder why it's not enabled by default.)
How else will we improve the existing features? If we don't change existing things, the browser will stay the stinking ball of backwards compatible code it is today.
This argument is never accepted when it comes from Microsoft. When they refuse to implement a standard it's an 'attack on the web' and MS trying to 'kill' the web for their own commercial interests. When Google rejects a standard and their public reasoning is that they can't be bothered to finish the implementation (it was already in Webkit after all) then we should just accept it. But why? Because Google is 'good' and Microsoft is 'bad'?
The reality is that MathML isn't in Googles commercial interest so it won't get done. That is the real story behind all the happy sing-alongs about the open web: it is ruled by a couple of teams in large powerful corporations who have the power to kill any part of the standard that conflicts with their commercial interests, or even just fails to promote their commercial interests.
Yes, the spec is run by corporations. No, that's not evil. Yes, they'll probably promote their own interests. No, that's not the end of the world.
>Yes, the spec is run by corporations. No, that's not evil. Yes, they'll probably promote their own interests. No, that's not the end of the world.
It's fine as long as we have native open platforms that we can use instead. However Google and Mozilla want us all to be running web based OSs. In that world yes it would be a huge deal for one player to block a standard.
The point is why do we need something specific for math. Would people be OK with a musicml? Or say chemicalml? And that's a good question. Why is math so special? Let's try to solve the problem more generically instead of adding specialized domains in the browser.
Asked at Hackernews?
Really?
Of course, Chrome could implement whatever it likes if it drops any claim to be standards compliant, but until that happens...
The impression I got was that they would never implement it.
I'd also add that there is a W3C Math WG, and has been for over a decade. I would have thought the question of whether or not MathML is desirable would have been answered at some point in that time frame before it became a W3C Recommendation.
[1] https://groups.google.com/forum/#!msg/mozilla.dev.platform/9...
to quote one rebuttal of every point the thread op made:
1.1. you make a point against adding unnecessary typography. Mathematics is text, but adding new requirements. It's comparable to the introduction of RTL or tables much more than musical notation. It's also something that all school children will encounter for 9-12 years. IMHO, this makes it necessary to implement mathematical typesetting functionality.
1.2 you claimed MathML is inferior to TeX. I've tried to point out that that's not the case as most scientific and educational publishers use it extensively.
1.2.1 you claimed TeX is the universal standard. I've tried to point out only research mathematicians use it as a standard. Almost most mathematics happens outside that group.
1.2.2 You pointed out that MathML isn't friendly to manual input. That's true but HTML isn't very friendly either, nor is SVG.
1.2.3 You argued TeX is superior for accessibility. I've pointed out that that's not the case given the current technology landscape.
2 You wrote now is the time to drop MathML. I've tried to point out that now -- as web and ebook standard -- is the time to support it, especially when your implementation is almost complete and you're looking to carve a niche out of the mobile and mobile OS market, ebooks etc.
2.1 you claim MathML never saw traction outside of Firefox. I tried to point out that MathML has huge traction in publishing and the educational sector, even if it wasn't visible on the web until MathJax came along. Google wants MathML support (they just don't trust the current code) while Apple has happily advertised with the MathML they got for free. Microsoft indeed remains a mystery.
2.2 you claim MathJax does a great job -- ok, I'm not going to argue ;) -- while browsers don't. But we've used native output on Firefox before MathJax 2.0 and plan to do it again soon -- it is well implemented and can provide the same quality of typesetting.
3. Well, I'm not sure what to say to those. If math is a basic typographical need, then the syntax doesn't matter -- we need to see it implemented and its bottom up layout process clashes with CSS's top down process. No change in syntax will resolve that.
You seem not to have been around when we had to do it over plain text. It sucked. MathML is a huge gain for sharing thoughts over scientific matters. Of course, they aren't as important to today's "open web" compared to, say, ads and making text rumble with JS, but they shouldn't be relegated to an entirely unimportant position, especially considered they're part of the famous HTML5 standard that should supposedly deliver us from the dreaded fractures between platforms.
Considering that the roots of the WWW are in a scientific research organization (CERN)[1], and considering how much scientific users use maths, then yeah, I'd say it makes sense that maths should be a native part of the WWW platform.
It combines the best parts of binary and text formats!
It's slow to parse just like text and impossible to change by hand just like binary!
But seriously. MathML is a huge mistake. They could've designed an actually writable format, but they didn't. It's one of the best examples of XML architects going over the top.
I would love to see somebody fork Firefox or Chromium and create a browser that:
a. does implement all the relevant web standards ( like MathML, SVG, etc., etc.)
b. is more responsive to the community than current Firefox or Chrome
c. can serve as a testbed for experimenting with new web based technologies.
Sadly, a lot of that is what Mozilla purported to be waaaaayyyy back in the early days (I'm talking 1998 or so), but at some point they (Mozilla) decided that competing with IE for market-share was the #1 priority.
Of course part of the problem is that browsers are big, complicated, difficult projects, and it takes a lot of resources to maintain and build one. So I'm not too optimistic about seeing this mythical "more community driven browser" emerge anytime soon. sigh
All of that said, I'd love to see some experimentation around actually making a sharp distinction between documents and applications and some mechanisms for "handing off" application "stuff" to something other than the browser where the goal is to remote out the UI to an app. JNLP was a good start on that, but Sun's failure to deliver something like the Consumer JRE about 7 years sooner, and then the rash of JRE security bugs, more or less killed that as a viable possibility. But something like JNLP, not tied to Java, and with fast startup times and without the security bugs, could be very interesting.
I just wish I had time to experiment with this myself, but sadly I'm too heads down grinding on other things. :-(
http://www.maths-informatique-jeux.com/blog/frederic/?post/2...
It's not clear what other issues are causing them to not adopt MathML, but this was at least a severe one, and nobody in any of these comments seems to have acknowledged it. The sentence quoted in the title may have been a bit of a mis-statement, since every other bit of discussion is about maintenance and security issues, not a philosophical rejection.
(I'm not sure I understand this correctly, but the other comments here have not helped at all.)
Seriously, the only cross-browser way left to have nice looking equations without MathJAX is to make SVGs with dvisvgm, of course for the cost of interoperability.
Yes, there are solutions for MathML for accessibility.