Update 07/02/2013: Google giveth, and it taketh away. MathML support in Chrome has been disabled until it’s “production-ready”.
Putting maths on the web has always been a tricky proposition. Typesetting notation is a highly complicated procedure, so for years people have got by either by compromising on aesthetics and writing equations in plain, unadorned text, or by using off-line LaTeX compilers to make blurry images of what they’re trying to say.
Here at The Aperiodical, we use the excellent MathJax to automatically convert the LaTeX we write into beautifully clear typeset notation in a format that’s accessible to screen-readers and doesn’t resemble mouldy bums when you look closely. But we still get the occasional complaint stemming from the fact that it isn’t built in to the browser, so it doesn’t get loaded when reading our articles in Google Reader and adds more stuff that needs to be downloaded before the page can be seen.
For whatever reason, most browsers don’t have a built-in method of representing and rendering decent-looking maths. Quite a few years ago, there was a solution to the problem – MathML was meant to be the standard way of representing maths for use on the web. Sadly, uptake was pretty limited – Firefox has had nearly-complete support for a while and third-party browser plugins exist, but nothing you can depend upon. It might have had something to do with the fact that MathML is basically impossible to write by hand. Who knows.
Progress is being made, however! The latest version of Google Chrome has basic support for MathML, thanks to the efforts of a volunteer called Dave Barton, who’s been adding support to the Webkit engine used by Chrome and a few other browsers. There’s still a long way to go until we can send maths to each other completely unimpeded, but it’s good that people are still working on it.
Webkit MathML project page
W3C MathML Home
StackOverflow post by Dave Barton explaining what he’s doing
See how your browser displays MathML at the Mozilla MathML Torture Test.
via Peter Krautzberger on Twitter