## Post-Summit Thoughts on the MathML Project

By fredw on Monday, October 7 2013, 18:06 - Permalink

I'm back from a great Mozilla Summit 2013 and I'd just like to write a quick blog post about the MathML booths at the Innovation Fairs. I did not have the opportunity to talk with the MathML people who ran the booth at Santa Clara yet. However, everything went pretty well at Brussels, modulo of course some demos failing when done in live... If you are interested, the slides and other resources are available on my GitHub page.

Many Mozillians did not know about MathML or that it had been available in Gecko since the early days of the Mozilla project. Many people who use math (or just knowing someone who does) were curious about that feature and excited about the MathML potentials. I appreciated to get this positive feedback from Mozillians willing to use math on the Web and related media, instead of the scorn or hatred I sometimes see by misinformed people. I expect to provide more updates on LaTeXML, MediaWiki Math and MathJax when their next versions are released. The Gecko MathML support improves slowly but there has been interesting work by James Kitchener recently that I'd like to mention too.

Let's do an estimation à la Fermi: only a few volunteers have been contributing regularly and simultaneously to MathML in Gecko while most Mozilla-funded Gecko projects have certainly development teams that are 3 times as large. Let's be optimistic and assume that these volunteers have been able to dedicate a mean of 1 work day per week, compared to 5 for full-time staff. Given that the Mozilla MathML project will celebrate its 15 years next May, that means that the volunteer work transposed in terms of paid-staff time is only $\le \frac{15}{3\cdot 5}=1$ year. To be honest, I'm disregarding here the great work made by the Mozilla NZ team around 2007 to repair MathML after the Cairo migration. But still, what we have achieved in quality and completeness with such limited resources and time is really impressive.

As someone told me at the MathML booth, it's really frustating that something that is so important for the small portion of math-educated people is ignored because it is useless for the vast majority of people. This is not entirely true, since even elementary mathematics taught at school like the one of this blog post are not easily expressed with standard HTML and even less in a way accessible to people with visual disabilities. However, it summarizes well the feeling MathML folks had when they tried to convince Google to accept the volunteer work on MathML, despite its low quality.

As explained at the Summit Sessions, Mozilla's mission is different and the goal is to give people the right to control the Web they want. The MathML project is perhaps one of the oldest and successful volunteer-driven Mozilla project that is still active and demonstrates concretely the idea of the Mozilla's mission with e.g. the work of Roger Sidge who started to write the MathML implementation when Netscape opened its source code or the one of Florian Scholz who made MDN one of the most complete Web resource for MathML.

Mozilla Corporation has kept saying they don't want to invest in MathML developments and the focus right now is clearly on other features like FirefoxOS. Even projects that have a larger audience than the MathML support like the mail client or the editor are not in the priorities so someone else definitely need to step in for MathML. I've tried various methods, with more or less success, to boost the MathML developments like mentoring a GSoC project, funding a summer internship or relying on mentored bugs. I'm now considering crowd funding to help the MathML developments in Gecko (and WebKit). I don't want to do another Fermi estimation now but at first that looks like a very unreliable method. The only revenue generated by the MathML project so far are the $2\frac{\lfloor 100\cdot \pi \rfloor}{100}=2\cdot 3.14=6.28$ dollars to the Mozilla Fundation via contributions to my MathML-fonts add-on, so it's hard to get an idea of how much people would contribute to the Gecko implementaton. However, that makes sense since the only people who showed interest in native MathML support so far are individuals or small businesses (e.g. working on EPUB or accessibility) and I think it's worth trying it anyway. That's definitely something I'll consider after MathJax 2.3 is released...

## Comments

Hi, Frédéric. Sorry I didn't get a chance to cheer you on - I was thirty feet away running my own Innovation Fair booth. MathML matters to me, and I wish I could lend a hand.

If I ever get my own project going and funded, rest assured, MathML support is going to be very high on my list of priorities.

"However, it summarizes well the feeling MathML folks had when they tried to convince Google to accept the volunteer work on MathML, despite its low quality."

There are two ways to interpret this statement. One is that "the MathML folks" felt like Chromium rejected the MathML work "because it is useless for the vast majority of people". As far as I am aware, this is absolutely untrue. As posted on the bug, we would like to ship MathML. Indeed, we _did_ ship MathML. Then my understanding is that we realized it caused security problems, which were not easily fixable in the current architecture. Some Chromium folks tried to address the worst issues anyway, switching tasks from what they'd been working on to attempt to give the MathML folks a hand. When they weren't able to address things in the time available, we reluctantly decided to unship MathML because we cannot afford to have known security vulnerabilities. We'd love to re-ship when something about that situation changes.

The other way to interpret this is that having volunteers work on MathML is _inherently_ an indictment of the Chromium community's priorities, because there should be paid dev time put behind MathML. In this sense, though, MathML is hardly unique; all sorts of features like Kiosk Mode or the Chromium Embedded Framework were developed or are maintained by volunteers, just like many Firefox features have come from volunteers. It seems reasonable for browser vendors to devote paid engineering time to the broadest-impact work (e.g. crash fixes or development of features that affect all users) and try to make it possible for other community members to help fill in the gaps.

@Alex: Thanks for your kind words. It's really helpful to have Mozillians like you who are supportive of the MathML project. I hope you'll succeed with your Verbosio project, editing is a feature that matters to me and probably other Mozillians. BTW, I was in Brussels so I'm assuming the "you" was the MathML folks in general.

@Peter: Thank you for your message. In the past few months, I have studied this more carefully and worked with Martin Robinson to fix the Chromium developer's concerns. First, I think Google developers should stop claiming there were "known security vulnerabilities" and rather say there were only "design issues". I agree that these issues might potentially lead to security problems, in theory. However, I didn't find any, Chromium developers were not able to provide me a concrete testcase and other WebKit/Apple developers disagree about the existence of such security vulnerabilities. The only thing I found is a performance issue with stretchy operators which was not directly related to these design issues and unknown to Chromium developers. Also, these "design issues" are not specific to MathML, for example the CSS counter code in WebKit also has (had?) these issues and AFAIK Chromium developers did not drop the CSS counters from Blink. A patch finally landed yesterday in WebKit to fix these design issues so if you are really willing to enable MathML again (which I doubt is the case) then someone could import the MathML code in Blink again (however, last time I tried there were some conflicts due to divergences between Blink and WebKit, so that might be a bit tedious). It remains to address the other point made by Ojan: the WebKit MathML support is of low quality. The MathJax project has allowed me to work at most one day a week on browser development but that was not enough to do serious progress on WebKit or Gecko. MathML is not just a third-party extension or and isolated component but a core feature of HTML5 that has strong interaction with other components of the layout engine. Moreover (good) mathematical layout is something difficult by itself. Hence we can not expect MathML to be entirely driven by volunteers only and it's incredible that Mozillians have been able to reach that level of quality & completeness by that mean. Even if I'd like to, I don't believe browser vendors will devote paid engineering time to MathML anytime soon. So the point I have tried to make in this blog post is that the MathML folks should try to get together and fund the MathML development in Gecko and WebKit (and thus potentially Blink) if they really want to see improvements.

It was good to meet you in Brussels, and it was nice to see your table was quite busy, at least while I was there ;) Thanks for all your work on making MathML better!

@aleth: thanks, it was nice to meet you too! and funny to show you your own InstantBird add-on :-)