Hello everyone!
This thread has raised my attention and I would like to share my
opinions, maybe as a "school child" who used mathematical software for
WYSIWYG editing (not only reading!), as the primary way of editing any
math, as a primary/fundamental tool for computer-aided learning. I was
(un)lucky enough to be forced by my situation to learn using *only*
computers in the late 1990s and early 2000s. That experience has taught
me the importance of WYSIWYG editing for HTML and maths.
I feel it's not easy to me to reply to this thread - seeing other people
who are technical experts that I admire have already replied, providing
proper arguments for their reasoning. Please excuse my, perhaps, less
formal, less backed-by-arguments reply.
This thread shows that there's some misunderstanding on the performance,
styling and editing requirements for math. I can say that I spent months
trying software to find the best one fitting my requirements. It wasn't
easy.
I haven't seen good (La)TeX WYSIWYG editors, but lately I haven't tried
any such software - now I write LaTeX manually. Still, in the early
2000s I did see and use one WYSIWYG editor that was really good:
Wolfram's Mathematica. It had fast rendering, good set of keyboard
editing shortcuts allowing fast input in WYSIWYG mode. Really good math
WYSIWYG editing is very much possible.
Performance matters not only for the initial document rendering. When
you do WYSIWYG editing performance characteristics matter in a lot more
subtle ways. When you are editing big equations, or some really big
document updates need to happen as close as possible to instant. I have
tested software like MathCAD and Maple that did not seem slow at all
when loading documents. Editing math, however, proved to be quite slow.
Very good editing is *not* about "click and point" - this was one of the
biggest failures of MathCAD's UI: it encouraged the click-and-point
editing which meant you had to switch between the keyboard and the mouse
all the time. Word 97 (before Word 2007) forced you to manually switch
between the equation editor and the normal editor, which was a huge
problem, and so on.
Styling is really important when you collaborate with others and you
need to highlight relevant parts of the math output. I am surprised this
is even put up as discussion.
Similarly I am surprised that the need for WISYWG editing for math is
being discussed. I am being subjective here: I believe that mathematics
should be first-class citizen on the web. Mathematics is a fundamental
domain of study in all schools, in all forms of education throughout the
world. Mathematics is the basis for many other fields, see physics,
computer science and others.
Back in those days when I was writing math homeworks with Mathematica I
was very glad and I appreciated a lot that people write software that
can benefit my niche needs, it was invaluable for me. It made possible
things that were not possible. Microsoft's Word was not even close to
being as usable as Wolfram's software. Word 2007 has, indeed, improved
math editing a *lot*, today it's certainly usable.
Microsoft's work on improving math editing in Word shows there's a real
demand for math in documents. I don't see why we would believe otherwise
about the web. We should not need to include half-baked* JS libs to
render math in a document.
* I'm not claiming that MathJax is half-baked - I am simply pointing out
that once people have the choice of which JS lib to use for math
rendering they may (and will) fail to pick the best one.
I do not care about the technology here - MathML or TeX. What I care
about is for the web browsers to meet the technical demands for
producing really good math rendering and editors. I want this not for
the academics, not for professors who can write TeX documents. I want
this for school children who cannot write math on paper, who are blind,
or who have other physical disabilities. Manually writing LaTeX does not
"cut it" at early stages, when children learn maths. Such tools are
invaluable for them.
At the moment, removing MathML support from Gecko would make it harder
for web app developers to create (really) good software for math
editing. It may certainly have its problems, but its benefits are
greater. Before MathML is removed people should look into defining the
requirements, the APIs needed to be implemented in the browser such that
JS-based math rendering can be equally fast and versatile (eg. styling).
Font metrics stuff is, I believe, only a part of the problem that makes
JS-based math rendering slower than native. After requirements are
defined, those things should be implemented. After that, yes, remove MathML.
Back in the days when I was testing math software, I was also testing
MathML rendering in Gecko - it was slower than in specialized software.
I don't know how it is today, but keep in mind that native software like
Maple and MathCAD was not usable due to performance issues, during fast
editing of small to medium sized documents. It may take some time before
web apps can become as fast as Mathematica at rendering math, and as
good at editing -- even with MathML rendered natively.
Editors are really hard and it is unfortunate to note here that browsers
do not even do good enough at HTML editing. If we can do something to
improve the situation we should do that - not the opposite. The removal
of MathML would most-likely make things worse/harder for web-based math
editors.
Probably there is not much "value" from maintaining MathML - browser
competition happens in other areas, other APIs and technologies.
However, please let the volunteers do their work, maintain their work
and so on. From reading this thread I understand MathML support in Gecko
was implemented mostly by volunteers. It would be a big disappointment
to volunteer efforts to see that work goes away, especially without
anything better replacing it.
I doubt that if we keep MathML some day some people would like their own
niche markup language - eg. for domains like chemistry, biology, music,
etc. Did you see anyone doing that?
I find it surprising that HTML5 caters to advertisers/trackers by
introducing the ping attribute for anchors, yet here we question the
use/need for a standard way to write mathematics on the web - the
initial email in this thread questions the need for anything to replace
MathML, as writing maths is over-specialized.
Thank you for reading. Feel free to take these thoughts with a grain of
salt: I am biased, I was a user of native math software and I would like
the web platform to provide equally good software.
Best regards,
Mihai