|Mathematical equations on your web page|
is MathML ready for use?
I'm redoing doing a website that requires a few equations. The current pages simply use GIF images for the more complex equations. I was wondering if I could find a more accessible and standards compliant way to put some of these equations onto the web.
What I've found is the MathML recommendation [w3.org] by the W3C that was released on 21 Feb 2001. Unfortunately I am only seeing partial support for this standard in FireFox. IE and Opera fail at MathML miserably...at least on the examples I've tried.
How do you go about putting mathematic equations on your HTML or XHTML pages? Is there any hope for me to move away from the GIF solution yet?
It depends on your audience, Bill. The W3C has a list of broswer support:
You'll notice that IE 5.5 has no support, and it's still pretty widespread. However, if your audience is tech savvy (very possible) and wants your information, than this may be one of the rare instances where you can go with a "you need browser X" to display this site properly" message.
I haven't done any testing, however, and if your tests are failing as miserably as you say, then it sounds like the W3C list was made with more hopefulness than rigor.
I had only very limited experience with this problem, and it is a tricky one to solve. Also, I'm far from being an expert in this field, so take what I say with a large pinch of salt!
You can get MathML to display OK in Mozilla/Firefox when sending a mixed XHTML 1.1/MathML 2.0 document as
application/xhtml+xml, but IE will offer a download prompt. You can use
text/xml and an XSL stylesheet and get it to display in both, but even then, you have another problem: fonts. You can download the Mathematica [support.wolfram.com] set of fonts (useful even if you resort to GIFs), but usually your visitors won't have them. See also the Mozilla page on the subject here [mozilla.org].
If you are talking about just a few equations, you could simply use the character entities for Greek characters (eg. Σ for sigma), and use a bunch of spans with inline styles to hack something together - but you'll probably still find using a graphic much easier, sadly.
If you're talking about a site with a significant quatity of content being equations, then as tedster suggests, you may be forced into only building for one browser - probably Mozilla. For more information on MathML in Mozilla, see here:
And try this MathML/XHTML 1.1 page here:
This particular site would be targeting the industrial engineering type visitor. They would need these formulas to calculate various tensions and loads for their machinery. I have other sites dealing with this product group, and FireFox is not used by even 4% of visitors. IE 5.x has about 11% share, and IE 6.x has the lion's share, so it's a bit disheartening. The engineering types I've met in this industry don't seem to be too savvy when it comes to browser software. They just use what's on their PC and expect it to work.
I've always been one to shy away from plug-ins. I wonder if it would be worth it to experiment with the MathPlayer or Techexplorer plug-ins recommended by the W3C for this. The end result would be legible mathematical equations for my IE visitors albeit on a very few pages of the site.
My other option is to use some MathML software to output some new GIF or PNG files for me. (The current site uses equations scanned from a book. Those have to go regardless.) I was thinking that maybe I could link these images to a MathML page as an alternative. It doesn't seem that there's a way that I can simply put the MathML into my XHTML without various browsers acting up. One standards compliant page for all browsers doesn't seem to be possible if you want to include scientific notation.
|The engineering types I've met in this industry don't seem to be too savvy when it comes to browser software. |
That's been my experience, too. I think most engineering fields are too "mature" for engineers to appreciate the youngster status of web technologies. My clients in engineering fields have required much more "education" than, say, retailers.
|One standards compliant page for all browsers doesn't seem to be possible if you want to include scientific notation. |
I looked into this a bit more since my first post, and I think you've come to an accurate conclusion, for now at least. Standards-compliance is a good vision, but we're really not there yet in a few situations and MathML sure looks like one of them.
I guess the question now is whether the sort of people who would look at scientific notations and mathematical equations would install one of these plug-ins. Given that a lot of these types of engineers aren't the web savvy type will a plug-in dialog box thwart them? I get the feeling from my experience that relying on a plug-in might be too ambitious for this group.
I really feel like I'm reverting to the stone age by using images for this. <sigh>
Personally, I'd go with MathML and include a discalimer similar to "a standards-compliant browser must be used". As noted above, IE5 is on the decline, and maybe this in the type of motivation we need to get people to upgrade to something decent. (indeed, if you're gonna complain that you must have 100% compatibility, remember that some browsers don't support images!)
The possibilities for MathML are endless (styling, animations, copying directly to/from TeX/engineering/algebra software, whatever), but unless authors start to use it, then it won't fully take off. It's truly a great technology. Using the excuse of "IE isn't compatible" is getting us nowhere, and is one of the reasons so many people have stuck with crappy gifs for so long. Indeed, this seems to be the main reason Opera haven't implemented it yet. It's just a vicious circle. And considering that the internet was invented by engineers for engineers, I don't really think it's fair to be held up for so long.
But weighing up the potential benefits, there is so much to gain that 30 seconds of confusion seems to me to be entirely worthwhile. If MathML is something the end users will be using a lot, then they can't really afford not to use it.
Having said that, I've worked in a science lab for the last 5 years, and most people seem reasonably aware of browsers and plugins...
Jacques Distler’s Musings blog may be the best source for information on “real world” MathML deployment. Google his name and spend some time searching and viewing his archives if interested in this subject.