A MathML Progress Report: More Light Than Shadow
An anonymous reader writes "Recent reports of MathML's demise have been greatly exaggerated. Given the amount of marketing dollars companies like Apple, Google, and Microsoft have spent trying to convince a buying public to purchase their wares as educational tools, you'd think they'd deliver more than lip service by now. MathJax team member, Peter Krautzberger, has compiled a great overview of the current state of MathML, the standard for mathematical content in publishing work flows, technical writing, and math software: "20 years into the web, math and science are still second class citizens on the web. While MathML is part of HTML 5, its adoption has seen ups and downs but if you look closely you can see there is more light than shadow and a great opportunity to revolutionize educational, scientific and technical communication.""
Nobody likes math. Serves them nerds right!
No, seriously, I just come here for the articles.
Have you ever tried to write anything in it?
It doesn't flow for shit. Compare that to (La)TeX, where it flows not completely naturally, but it makes sense and actually writes in the order it will be, and mostly the order it's said when you say it.
All the visual equation editors I have seen, including MathML editors, are utter crap. There's a reason why even Wikipedia uses it: http://en.wikipedia.org/wiki/Help:Displaying_a_formula .
Mozilla's PDF renderer has trouble with larger math symbols, like sigmas and integrals.
Typical open source bug handling - reported in May 2013, somebody whines that that the test case for the bug is too big, someone else provides more details, bug is marked as confirmed, somebody tries it on OS-X, where it works, someone else demonstrates the failure with a small test case, posts screenshots, and shows that the PDF works on Linux Firefox but not Windows Firefox. After six months, zero progress on fixing it.
http://www.w3.org/TR/REC-MathML/#abstract
"While MathML is human-readable* it is anticipated that, in all but the simplest cases, authors will use equation editors, conversion programs, and other specialized software tools to generate MathML."
Or, in other words, not intended for use by humans. The web absolutely needs a way to display complex mathematical content, but you have to marvel at how the inherently broken paradigms of the web deal with new challenges. More XML for the fire, I guess.
* (it really, really isn't)
And here's an article about MathML in WebKit from another source. http://www.maths-informatique-jeux.com/blog/frederic/?post/2013/10/12/Funding-MathML-Developments-in-Gecko-and-WebKit
Note that Google removed MathML from their hostile fork of WebKit, Blink.
Maybe it's just because I'm unfamiliar with MathML, but this seems like a *very* verbose way of writing equations. One of the examples in the article is the quadratic formula:
<mtd><mrow>
<mi>x</mi><mo>=</mo>
<mfrac>
<mrow><mo>-</mo><mi>b</mi><mo>±</mo>
<msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>-</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow>
<mrow><mn>2</mn><mi>a</mi></mrow>
</mfrac>
</mrow></mtd>
That's 236 characters (ignoring whitespace) to write a 13 character equation, which is around 5% efficiency. Maybe that doesn't matter so much for bandwidth, but forget writing it by hand. (When would you do that? Well, commenting on web forums, for one thing...) Granted, there's some text formatting, but does every character really needs a separate tag around it?
Visit the
Somebody has not read Flatland.
I read TFA and all I got was this lousy cookie
While MathML can be used to describe stuff related directly to computation (like for example 1+2+3+...+n written with the big sigma symbol) more often is used for things that aren't computations and don't have a program equivalent (or at least not a useful one).
Try to use a program to communicate some abstract theorem you just discovered.
I'm sure this will get modded down but why does MathML need to built into the browser? It's only used on some very small percentage of pages so why bloat the browsers with something almost no pages need. Especially since the JavaScript implementation works just fine. Even better the JavaScript implementation can be updated and modified at any pace the MathML proponents want where as that's not true with built in implementations. The markup is the same regardless so what's the need for it to be built in ?
HTML5 is seems to be headed the same way as VRML and the Dodo Bird. Vendors are squabbling like Congress over the details, and there are some security worries over some of it's features.
What are the Vegas odds on it? I'd like to put some money down.
Table-ized A.I.
Sorry about the typos. What HTML 5 really needs are a grammar checker :-)
Table-ized A.I.
Is there some reason they're not using LaTeX. The computers now are warp speed fast and powerful versus the speed available when LaTeX was written. Write a LaTeX plugin already, problem solved.
How did Scotty put it, "The more they overthink the plumbing, the easier it is to stop up the drain." I believe it was Star Trek III: The Search for Spock.
Compared to 2539 bytes for the gif currently used on Wikipedia. That's a 90% improvement. A short trip to http://www.jpegreducer.com/ and I got the JPEG down to 960 bytes ~ http://s23.postimg.org/v7ut4927v/image.jpg ~ without any visible degradation
Granted, it's still larger that the original 236 characters.
There are many cases where the symbolic formula is much simpler than the equivalent program. Take any matrix factorization for example (QR, LU, SVD, etc), the programs to obtain them are rather complex (take a look at a good implementation of the divide and conquer algorithm for eigenvalue decomposition), while the equivalent formula is nothing more than 3 or 4 characters.
Video of some good progressive thrash music
We've been waiting for math rendering support in HTML for slightly over 15 years (MathML came out in 1998, and there was HTML 3 math before that).
We've given up. Both the scientific and the higher education communities are using PDF almost exclusively, and our respective userbases (fellow scientists and students) have accepted PDF as the format of choice. At the same time, PDF support in browsers and on tablets has become good enough to make that a reasonable proposition.
But yeah, let's write blog postings about why MathML is not dead, it only smells funny.
Ehm, correct me if I'm wrong here, but is that not a fungtion that is petter imolemented in the browser? Last time I checked HTML5 wast just a markup language.
(define f (lambda (problem) (find-solution problem)))
Now for any given mathematical problem statement x, no matter how complex, we can describe its solution in programming notation using 5 characters.
(f x)
Well of course if you define an arbitrary deformed Greek letter to mean solve a problem, it will be a very concise notation for solving that problem.
The GP is complaining that mathematical function(in the programming sense) definitions given to the learning human interpreter are all written in a very terse esoteric programming language which can't be trivially parsed without knowing all of its grammar and definitions in advance.
Any programmer will agree that abstraction is generally desirable, but if you have lost 99.9% of your audience before starting, you basically have what we have now. Which is most people can't access all knowledge they could because it is encoded in a language useful only to a few.
I guess someone will have to invent a MathJSON to make MathML acceptable for the hipsters.
Wait, so there are people who can understand what a function is, but only if all of the parameters are in one line, in a row? The vast majority of math symbols can be interpreted as functions, you just have to know where the parameters are, and it should take a whole 15 seconds to explain or label them in an image.
Are you going to argue that infix notation is universally retarding too because parameters are on the sides instead of after the effective function name? I like my RPN calculator and have used lisp plenty, but I don't prefer prefix notation when working out math on paper. Likewise, despite having programmed a lot of numerics, I still prefer and am much faster at reading and using the traditional symbols. The time it took to learn what the symbols mean is dwarfed by the time I've spent debugging code, or trying to read other people's code, because a dense and uniform block of function calls can be slower to scan over, either requiring a large, spaced out code style for clarity or amounting to a block that is easy to lose place in.
I would still find it odd that someone can understand the idea of breaking a function up into chunks, taking the limit of number of chunks of chunks to infinity to get an exact area under some curve, (assuming by "interval calculus" you mean integral calculus), but struggle with the idea that you need to take one number from the top of a symbol and one number from the bottom. Our minds are typically great at processing 2D visual information, and except for those unfortunate enough to have a disability in that regard that might slow them down a little bit, most of us want to keep going at full speed.
Actually, the Curry-Howard correspondence means that every proof can be translated into a program (and vice versa as long as you're working with the right computational model).
Of course the programs you get when translating the proof of a normal theorem won't be things like "use the machine add instruction to add two native floating point numbers" - instead they'll be e.g. some lengthy computation in a typed lambda calculus with extra control instructions, which you can run on a computer with the right interpreter. Not necessarily the best, as you say, for communication about the theorem.
There seems to be a lot of misunderstanding in this thread about what MathML is for. What we are wanting, what we need, is for modern browsers to support the rendering of mathematics. To even get off the ground, we need a markup language for the browser to interpret. Since browsers already know how to speak XML, it only makes sense for the markup to be some flavor of XML. Those who are suggesting LaTeX instead are really missing the point here. We aren't solve the problem of a lack of human writable markup. That problem has been solved many times over. The problem we are trying to solve is rendering mathematics in the browser. Period. THAT is what we need MathML support for.
Again, the problem is NOT a problem of AUTHORSHIP. Authorship is easy. It's a problem of DISPLAY. And it is a serious and important problem to be solved. The web was invented to share scientific information. Education on the web is huge--and growing. Academic publishers, mathematical software, and software shims that display math in a browser all use MathML extensively. It's a ubiquitous technology precisely because it fills a need in the industry, and it fills it well. What's more, MathML is important for an accessible web.
PDF is clearly not good enough for digital consumption. PDF is great for print but totally sucks for screens. MathJax is amazing (as are the people behind it), but it is a huge, complicated, and inefficient solution to the problem of math in the browser. The author of the linked article in the submission works on MathJax professionally and is advocating MathML support in the browser. That should tell you something. (In fact, MathJax itself uses MathML both internally and as an input/output format.)