I’ve recently been researching ways of displaying math equations online. To my surprise I have found that the packaged options for doing this are quite limited, especially on the Microsoft technology stack. There is fairly good coverage for Java and in the form of php and perl scripts, but very little natively for the .NET framework. As usual there are several formats for storing equations, including OMML from Microsoft, a recommendation from W3C called MathML and what is best described as the lingua franca in the form of LaTeX.
Native Browser Support
Several google searches showed that I was not alone in this search. However, most of the solutions I found came with caveats about which browsers they would work with and required the installation of additional software on client machines in order to work. Installing additional software on client machines defeats the purpose of providing a browser-based experience and in some environments isn’t even an option. I needed to find something that would work all modern browsers without requiring changes on the client.
Internet Explorer – MathPlayer
Design Science (who originally created the Equation Editor that is now part of Microsoft Office) offer a product called Math Player. Math Player is an ActiveX control that renders MathML equations within Internet Explorer. It provides good accessibility support, is free for non-commercial uses, and as ActiveX controls go it was a painless installation. However, because it is an ActiveX control is requires a client installation and only works in IE. Furthermore, the player only seemed to work for pages with the .xhtml extension that declared that XHTML doctype and exhibited some strange visual artifacts if either the MathML or containing page were not formatted correctly.
FireFox MathML Support
FireFox has made some good progress towards natively supporting MathML. However, at present it does not contain a full solution and instead requires downloading the latest nightly build and the installation of several fonts.
Chrome MathML Support
Despite being widely requested, Chrome does not natively support MathML. I could not find conclusive information either way as to whether MathML support is on the Chrome development roadmap.
For the next part of my research I’m going to look into LaTeX as it really seems to be the de facto standard from a tools and community support perspective. I have seen several examples, including WikiPedia that stores equations and diagrams in LaTeX format and then renders them to images on the fly as part of the page. That sounds like it could be a good way to go.