Screenshot by Stephen Shankland/CNET

MathML, a years-old technology for displaying mathematical equations and formulas on the Web that has strong advocates at scholars and researchers, stands at a crossroads.

Firefox and Safari support it, but Internet Explorer does not. Google could help tip the balance in favor of MathML, but it's concluded the technology isn't justified. It's supporting a workaround called MathJax that instead uses JavaScript, the Web's programming language, but the company's position has displeased some who want mathematics to be a native citizen of the Web, not a slower-performing outsider.

Google -- a company with a research culture of its own -- didn't come to its decision lightly. It rejected MathML because of concerns involving security, performance, and low usage on the Internet.

"MathML is not something that we want at this time," said Chrome programmer Ojan Vafai in a comment last week. He suggested instead the use of MathJax, freely available JavaScript code that can process layout instructions and render the mathematical content: "We believe the needs of MathML can be sufficiently met by libraries like MathJax and doesn't need to be more directly supported by the platform."

The position displeased MathML advocates. Web support for mathematical expressions could help liberate a sector of publishing that today relies on formats such as PDF.

"I'm really disappointed to hear this. MathJax isn't a good solution for a number of reasons," wrote one commenter who said MathJax is slow and doesn't work well in offline situations. "This is really a big issue for those who hope to use HTML for serious academic writing."

Another commenter from "a large academic journal site" was displeased because using MathJax means people will have to download a lot of data to load Web pages. MathJax means "extra JavaScript downloads and processing on all our pages, even though most don't actually have math on them," the commenter said.

But MathJax, however imperfect, could ultimately help MathML's prospects. It provides a way to use MathML on the Web, and ultimately such usage is a major factor in whether browser makers support it. In other words, it could help solve the chicken-and-egg problem where browser makers don't support a technology because it's not used on the Web, but developers don't use it on the Web because it's not supported in browsers.

MathML browser support

Math Markup Language is a years-old standard designed to handle the complex typographic and formatting demands of formulas, equations, and other mathematical content published in places like textbooks and research papers. Chrome's support for MathML came from the open-source WebKit browser engine project that is the foundation for Apple's Safari and which Google used as the basis for its own Blink browser engine.

Screenshot by Stephen Shankland/CNET

MathJax offers a way to handle MathML content without needing MathML support in the browser itself. The American Mathematical Society and the Society for Industrial and Applied Mathematics support the project; MathWorks, publisher of the MatLab software for computation and visualization, signed up as a MathJax backer in October. Several publishers also are sponsors.

One prominent Web site switched on MathJax support in October: Arxiv, a Cornell University repository of innumerable research papers in many scientific fields.

Mozilla has been a longtime supporter of MathML in Firefox, as evidenced by its long track record at Can I Use site for tracking Web standards support. However, in a detailed assessment of MathML, MathJax team member Peter Krautzberger described Safari's support as "partial and...not ready for professional production," though and holding good potential for improvement and overall helping MathML. Microsoft also isn't pushing hard: "Microsoft is still not showing interest in adding MathML support to IE," Krautzberger said.

Chrome, therefore, could help tip the balance in MathML's favor. But there aren't any Google programmers maintaining the MathML support, and it's clear MathML raised concerns.

Google decided against including MathML in Chrome for reasons that surfaced in recent days on Chrome's bug and feature tracker, where Vafai and Justin Schuh, a Chrome security leader, detailed Google's reasoning.

Why Chrome kicked out MathML

"Right now performance is our number one priority, not features," Vafai said in a comment Tuesday.

Screenshot by Stephen Shankland/CNET

Chrome performance might well be better without MathML, but performance is an issue for MathML fans, too. For an illustration of how long it can take to show a formula-heavy Web page, try loading this Web version of a paper by J. Funke and J. Millson, "The Geometric Theta Correspondence for Hilbert Modular Surfaces." And watch your CPU usage tick upward, too.

Google also is worried about security, though. Schuh said:

The MathML code had fundamental architectural issues...that are guaranteed to introduce security vulnerabilities... Assuming that those issues were resolved, there was still the concern of ongoing ownership.... We don't ship code in Chrome unless we have an owner who is responsible for its long-term viability. Anything less would be grossly irresponsible. ...Fixing the issues would require a significant time investment and deep knowledge of WebKit/Blink layout and rendering. To put it in context, several engineering weeks had already been spent trying to resolve the security issues before we were forced to disable the code.

Researchers better off with MathJax?

All this distresses MathML fans.

"I'm extremely disappointed to hear this. Researchers, educators and students have been waiting for a decent way to communicate on the web about technical topics for the better part of twenty years. MathML provides that," one commenter said. "Can we please prioritize a feature that actually has, you know, an actual social benefit?"

Vafai, though, said in a Google+ post, that he thinks Google's decision actually aligns with the interests of those who want better math on the Web.

"I don't think disabling WebKit's incomplete MathML code in Chromium holds back the scientific community at all," Vafai said. "They are already much better off using MathJax than the WebKit-native implementation, and, in my opinion, MathJax does a great job. In fact, I have yet to find an equation where MathJax does a poor rendering."