# RE: Help get math turned back on in Chrome

From: Paul Topping <pault@dessci.com>
Date: Sun, 17 Feb 2013 00:40:07 +0000
To: Terry Wallwork <terrywallwork@netscape.net>
CC: "www-math@w3.org" <www-math@w3.org>, "paul@hoplahup.net >> Paul Libbrecht" <paul@hoplahup.net>
Message-ID: <B6C5B1ABA88AF446821B281774E6DB710BA992@FERMAT.corp.dessci>
Terry,

You are obviously correct here in what you say about MathML and MathJax but I can add a little to it.

You mentioned the problems of including MathJax in an ebook file. It is possible to minimize MathJax by discarding things that are not needed within such a restricted context. The details are written up somewhere in the MathJax docs and I believe they trim it down to 1.5 MB.

MathML support should really be in the ebook reader, rather than included in each ebook that contains math. In fact, the EPUB3 standard requires that ebook readers support MathML. Most ebook readers are built on top of WebKit. WebKit includes MathML support if the right configuration is chosen but its MathML support is not very complete and not as good as Firefox's.

(BTW, the MathML support in WebKit is what Chrome has turned off. So even if it hadn't been turned off, it leaves a lot to be desired. Our pitch to Google and/or Apple should not be just to turn it back on but to fund the development needed to complete the implementation.)

An ebook reader can use MathJax to implement its EPUB3 support. As a proof-of-concept, the MathJax people did this in the Readium ebook reader that IDPF maintains as a prototype for others to build on. I believe there are a couple of commercial ebook readers that have also used MathJax in this way. Such an ebook reader will support MathML without needing to include any JavaScript in each ebook. And, reading an ebook using such a reader won't require an internet connection. Finally, since MathJax code is part of the reader, performance should be good. It is helped by the fact that an ebook page will not have as many equations on it as a paper done as a single web page so the difference between MathJax performance and a native MathML implementation in an HTML engine should not be as noticable.

All that said, we should all push Apple, Google, and Microsoft to support MathML natively in their browsers.

Paul Topping

From: Terry Wallwork [mailto:terrywallwork@netscape.net]
Sent: Saturday, February 16, 2013 4:01 PM
To: www-math@w3.org; paul@hoplahup.net >> Paul Libbrecht
Subject: Re: Help get math turned back on in Chrome

HI Paul,

First off let me say MathJax is a very nice piece of software.  The people who made it put a lot of time into making it almost a complete drop in replacement for native MathML support for Chrome, and you really couldn't make it any easy to install and get up and running with.

The limitations that I noticed are small but still they require you to do some none standard things.

The first and most obvious one is that when using MathJax in its CDN mode where you are basically contacting an online content delivery server to download the MathJax Javascript code to use it.  it's very quick but it requires you be connected to the net to use this method to get MathML support.  If you want to read a html page offline (ie in ebook type form).  This could be a problem.

The second problem (which sort of solves the first limitation but introduces another), is that you can download the MathJax code for local use (which means you don't need to be connected online).  The problem here is if I want to use MathJax in a document for say an ebook to provide decent MathML support.  That automatically adds about 16megabytes in file size to any project that uses MathJax.  As this is the current site of the latest version of the MathJax Full version.  16megabytes now a days is not a lot to store, but if you had to ship it with every ebook you made that needed MathMl that adds up.

The third and probably most serious problem is the fact that you cant use the standard methods of css styling to alter the style of MathML output that is produced by MathJax;  At least not in the standard MathML way.

For example let say that I want to alter the font size and type of font used in MathML screen display; Using the native MathML way.  All I would have to do is add css entries to a css style sheet file:

math {
font-size: 10pt;
font-family: "Liberation Mono";
}

This would be enough with Native MathML to have it change the font used to Liberation Mono with a font size of 10points.

Unfortunately MathJax doesn't take notice of the restyling of the math element so it carries on using its default font sizes and font type.

Now I am sure that it is not difficult to configure MathJax to use what ever style and size of font you want.  But the point is to get it to do it you can't use standard MathML css style sheets as you can with native MathML.

Those are the issue I noticed within 5 minutes of installing and using it.  And I want only the simplest functionality.  Some one with more demanding MathML needs may well find a lot more things that do not work in a standard way.

Again I want to make it clear I am not knocking MathJax it's very impressive that they were able to make a piece of software do such a good job of getting around native MathML implementations;  It makes me think that maybe the Native MathML people should have the same dedication to MathML that the MathJax people obviously do  But it comes at the price of some non-standard configuration methods, possible requirement of having to be online, or having to put up with increased ebook file sizes.  Plus if there are any bugs found in the version of MathJax updating would have to be carried out for every document that uses a local version.  Where as the Native MathML support would just require an browser update and every document that uses MathML would benefit.

Sorry for the rambling Paul,  I just wanted to make clear why I think MathJax is a possible limitation even though its a very impressive piece of software.  MathML to be fully useful has to be native to the browser, I can't really see a way around it.

Given the competition between Chrome people and Firefox people I am amazed that the Firefox people aren't using this MathMl situation against Chrome.  It's a big bragging point for the Foxers.

Also Paul I posted another MathML "bug" report to the issue tracking page, Chromium just for good measure :)