The Disappointment and Embarrassment of MathML
- update: Including Reactions and Answers
Thomas Cool, April 11, update April 16 2000
Report 2000-04-11 & 16
JEL A00
Abstract
W3C is about to release MathML 2.0. This should have been
a joyous occasion, but it appears to be a horror. They created a horrible
way to do mathematics on the internet. It is Byzantinely complex, unintuitive,
unesthetic, highly undocumented, it requires complex software support,
etcetera. A quite perfect alternative already exists in Mathematica:
simple, elegant, intuitive, highly documented etcetera - and users of Maple
may think similarly about Maple. W3C is reinventing the wheel, making it
square, and putting the horse behind the cart. Their talk about providing
a ‘service to the scientific and educational community’ is pure nonsense,
as they precisely do the opposite. The real reason why W3C developed MathML
is (a) that they didn’t do their homework, (b) that they didn’t really
deal with the makers of Mathematica (or Maple). We can only solve
this situation by have a serious discussion of the copyright status of
mathematics. A short run pragmatic solution is to use a <mathematics
use=Mathematica> and </mathematics> bracket in HTML (with possible other
values, like Maple). This may be ‘expensive’ in the short run, but much
cheaper and beneficial in the longer term. Update: This discussion now
includes answers to reactions of others. Readers should keep in focus that
this paper concludes to the proposal to the scientific community
that we have a discussion on the question: Are we going to accept this
gift from W3C, or is it something like the Trojan horse, that will actually
destroy the intellectual freedom of mathematics ?
Introduction
The WWW Consortium (W3C) is about to release MathML 2.0.
This proposal for incorporating mathematics in HTML turns out to be quite
a disappointment and embarrassment.
(Discussion)
We should be grateful, and immensely grateful indeed,
for W3C - the guardians of the WWW - in general - and Tim Berners-Lee in
specific - but in this specific case of MathML we should be very critical.
We should be grateful for the work that they did, but we should not stop
here. There is more involved than just a programming language. We are also
discussing mathematics here - and the whole of science that depends
on math. Let us hope that W3C understands the issue !
You can only properly understand these lines if you go
to http://www.w3.org/TR/2000/WD-MathML2-2000328/
or download that document as zip or pdf. Yes, we are using the W3C tools
for communication here - which is why they deserve our deep gratitude in
general.
Who reads the MathML document about the difficulty of
‘doing math on the computer’ is struck by the resemblance of Stephen Wolfram’s
description of Mathematica. But Mathematica is so much more advanced
! See http://www.wri.com. Of course this discussion is not about math only.
It is also about doing something with math. Scores of programmes have been
written in Mathematica - see for example my own Economics Pack, at http://thomascool.eu.
All that software becomes inaccessible in MathML - needs to be retranslated
again. Similarly for Maple, Reduce, etc.
Below, we will consider the history of the various developments,
the criteria for mathematics on the WWW, consider the situation, and arrive
at a suggestion.
The general idea of this paper is that dealing with the
language of mathematics is an issue of market structure. The current W3C
solution is to "program around" market structure. The W3C solution would
be 'open', and all other languages might be turned into property rights.
This is an approach that is in direct violation with the tradition of mathematics
itself, and that might indeed cause a market structure that we would not
want.
Note: The "Discussion" links refer to the Reaction and Answer section
in the Appendix.
History
MathML has been developed over the last five years, and
the 2nd version is close to becoming definitive. The key historical
comment is:
"The World Wide Web Consortium (W3C) recognized that
lack of support for scientific communication was a serious problem. Dave
Raggett included a proposal for HTML Math in the HTML 3.0 working draft
in 1994. A panel discussion on mathematical markup was held at the WWW
Conference in Darmstadt in April 1995."
In the five years since then they succeeded into:
-
reinventing the wheel
-
making it square
-
and put the horse behind the cart.
This, dear people of W3C, is not providing a Service To Mankind.
Yes, you have done it once, with the development of HTTP and HTML, but
this does not mean that Whatever You Do is such a service.
It turns out that both Wolfram Research and Waterloo Maple
have been advising the W3C working group. One can only suppose that the
W3C wants to keep an impartial position towards these apparently commercial
interests. But the proper historical point of view is that this has actually
caused
an engagement with such interests. This is a ‘paradox’ that will be
explained below.
Reinventing the wheel
In the past five years we have seen the advent of Mathematica
3.0 and even Mathematica 4.0. See e.g. the Ron Shone (2000) software
review. Currently, Maple 6.0 is put onto the market.
W3C supposedly comes up with all kinds of subtleties.
But it appears that such issues, and even more, already have been covered
in Mathematica.
Mathematica is an enormous system. A standard edition
takes about 150 MB. The MathSource library is huge. The experience
on the programme is huge as well. Now, supposedly, everything is going
to be reinvented. Where a mathematics user will have a huge support from
Mathematica,
all this will have to be developed again for MathML. And surely, MathML
is not going to provide that service. They ‘only develop a standard’ and
other - commercial ? - institutions will need to provide the real services.
(Discussion)
All the good elements of MathML are already in Mathematica
:
-
transferability over platforms
-
distinction between semantics (Mathematica: InputForm)
and representation (e.g. TraditionalForm)
-
translation into TEX, etc..
-
translation into computer algebra
-
etcetera.
Let us verify this. Specifically, the W3C document gives
the following goals. All these goals have already been achieved, basically,
by Mathematica.
BEGIN QUOTE
1.2.5 Design Goals of MathML: In order to meet the diverse
needs of the scientific community, MathML has been designed with the following
ultimate goals in mind.
MathML should:
-
Encode mathematical material suitable for teaching and scientific
communication at all levels.
-
Encode both mathematical notation and mathematical meaning.
-
Facilitate conversion to and from other mathematical formats,
both presentational and semantic. Output formats should include:
-
graphical displays
-
speech synthesizers
-
input for computer algebra systems
-
other mathematics typesetting languages, such as TEX
-
plain text displays, e.g. VT100 emulators print media, including
braille
-
It is recognized that conversion to and from other notational
systems or media may entail loss of information in the process.
-
Allow the passing of information intended for specific renderers
and applications.
-
Support efficient browsing of lengthy expressions.
-
Provide for extensibility.
-
Be well suited to template and other mathematics editing
techniques.
-
Be human legible, and simple for software to generate and
process.
No matter how successfully MathML may achieve its goals
as a markup language, it is clear that MathML willonly be useful if it
is implemented well. To this end, the W3C Math Working Group has identified
a short list ofadditional implementation goals. These goals attempt to
describe concisely the minimal functionality MathMLrendering and processing
software should try to provide.
-
MathML equations in HTML pages should render properly in
popular Web browsers, in accordance with reader and author viewing preferences,
and at the highest quality possible given the capabilities of the platform.
-
HTML documents containing MathML equations should print properly
and at high-quality printer resolutions.
-
MathML equations in Web pages should be able to react to
user gestures, such those as with a mouse, and coordinate communication
with other applications through the browser. Equation editors and converters
should be developed to facilitate the creation of Web pages containing
MathML equations.
END QUOTE
Hence, W3C could reach its objectives by including <mathematics
use=Mathematica> and </mathematics> brackets around Mathematica
statements. And similarly for Maple, Derive, TEX, etc. Note that there
is a MathReader for Mathematica, usable free of charge, so no-one
is excluded. One would suppose that the Browser preferences allow the user
to specify how to react to whatever 'use=...' value.
It would be helpful if there also would be a file reference,
such as <mathematics use=Mathematica file=myfile.nb> so that such a
file would be interpretated by the use-program but the whole displayed
in the browser.
(Discussion of quality of languages)
(Discussion of objectives)
(Relation to CA)
(Discussion of object tag)
(Discussion of finite set)
(Relation to Mathematica)
Making it square
The Byzantine Moguls of MathML want us to tell the computer
that ‘2’ is a number. And we have to tell the computer that it is math.
‘Math-number’ becomes ‘mn’. These guys also know how to use the < >
signs. So they want us to write ‘<mn>2</mn>’.
The expression (a+b)2 in MathML is to
read as (see op.cit. for the explanation):
<msup>
<mfenced>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mrow>
</mfenced>
<mn>2</mn>
</msup>
Conversely, the Mathematica Inputform is: (a+b)^2.
We also see that MathML is starting to deviate from the 'mark-up' idea.
The mark-up idea is that the browser is intelligent enough to make all
kinds of decisions, and that the information sent over the web is minimised.
I think that the browser (or the help program) should be intelligent enough
to know that 2 is a number and + an operator. Suddenly, we repeatedly must
send over the internet that 2 is a number ! They have been doing something
else than making a mark-up language.
OK. The idea is that a user will not see the MathML
input. As they say, fallaciously:
"In some ways, MathML is analogous to other low-level,
communication formats such as Adobe’s PostScript language. You can create
PostScript files in a variety of ways, depending on your needs; experts
write and modify them by hand, authors create them with word processors,
graphic artists with illustration programs, and so on. Once you have a
PostScript file, however, you can share it with a very large audience,
since devices which render PostScript, such as printers and screen previewers,
are widely available."
This is purely fallacious. The PS standard is intended for
printers. You cannot compare Mathematica’s InputForm (semantic level) with
printers ! It is like arguing: "females can join beauty contests, some
fish are female, so fish can join beauty contests". In concreto:
-
Yes, it is true that HTML is intended for browsers, and not
for humans. But that does not mean that it should be wholly intelligible.
Please, if Mathematica can read "(a + b)^2", why should MathML make
it so difficult ?!
-
You might think that you would seldomly look into the HTML
code. However, I think that there would be value into being able to read
HTML code, or to directly paste a Mathematica expression into a
HTML file, or conversely. There will be numerous occasions when the source
code will be looked at. And if the source is simple, it will be used more
often. As W3C is proposing, this would no longer be possible. They must
hate math.
-
The MathML document correctly explains that mathematical
expressions can create precision. There is a difference between f(x)
as a functional expression or as multiplication of f times x.
There appears even to be a difference between italics x for symbols
and italics for emphasis. But, if the human writer does not generate
that precision, the computer will not be able to reproduce it. Hence, precision
mathematical input will always be human. And there is no reason why the
‘MathML’ language should differ from this human input. The analogy of the
PS file that is used, is purely fallacious. I can understand that human
language needs to be translated from the alphabet into binary code, if
we want computers to deal with that. But it is strange to suggest that
translation of human language can create more precision.
(Discussion of quality
of MathML.)
(Discussion of software
dependency)
(See the fallacy again)
(Bizantinely complex)
Putting the horse behind the cart
What will put the horse behind the cart is that MathML
creates the illusion that mathematics as a language is copyrighted - as
the language for example is used in Mathematica.
W3C never openly discusses this issue of copyright of
the commercial vendors.
Isn’t it curious that they don’t ?
Instead, we should have a discussion !
Do we all really think that (a + b)^2 has a copyright
attached to it ?
Mathematics is a language, and a language cannot be appropriated.
The fact that Mathematica copies the language of mathematics, does
not mean that it can be regarded as a private property. (Discussion)
For example, Sin[x] or Log[x] are universal expressions of math, and free
from copyright etc. The only commercial avenue for the makers of Mathematica
- Wolfram Research Inc. - exists in the programme that interpretes such
statements. But W3C may have shied away from dealing with that issue -
and implicitly may have attributed WRI ‘property rights’ to the language
of math ! (Discussion)
Instead, we should have a mathematical language for use
on the computer that is an ANSI standard just like Fortran or C, and freely
usable everywhere. A language cannot be property-righted.
The mathematical language looks very much like Mathematica,
since, apparently, Mathematica has been written to capture math.
They were one of the first on the scene, and MathML comes onto the trail.
But it would be wrong to conclude, for copyright issues, that we need something
else than mathematics.
(Discussion: WRI's position)
(Discussion: There is something like
MINSE - that mirrors my criticism!)
(Discussion: is Mathematica
an alternative ?)
(Discussion ANSI)
We should be aware of the ramifications. Let us for example
take the simulation software of "Taylor". This packages allows the simulation
of queueing or waiting line problems. They have developed a ‘Taylor language’.
The program is good, but the language is a bit crummy. The whole would
be much more agreeable if we could use mathematics (i.e. Mathematica) as
the language. And for sure, we would be longer away from home, if we would
have to use MathML.
Hence, in this way, W3C is not providing a service to
the community, but making things worse.
In line with Mancur Olson's "logic of collective action", the delusions
of a small but active minority group will be at the cost of the unorganised
mass - so it is dubious whether the situation can be changed.
Conclusion
We thus reach the following conclusions:
-
There should be a discussion about the copyright status of
the language of mathematics. An ANSI standard should be developed that
takes its point of reference in the history of mathematics and not in commercial
developments of the last 10 years.
-
In the short run, MathML is best reduced to the statement
<mathematics use=... file=...> and </mathematics>, and the browser should
have to capacity to call onto the computer language package.
-
In the mean time, the MathML proposal as in the draft paper
of course should be published: but not as a new standard but as a contribution
to the discussion.
If you agree with this general line of reasoning, it is advisable
that you link to this paper very visibly on your website, and call it to
the attention of your acquaintances as well.
(Discussion)
(Discussion)
References
Cool, Thomas (1999a), "Beating the software jungle", ewp-get/9904001,
http://wueconb.wustl.edu:8089/eps/get/papers/9904/9904001.html
- note: see new speed records at http://www.scientificweb.com
Cool, Thomas (1999b), "The Economics Pack User Guide -
Applications of Mathematica", Thomas Cool Consultancy & Econometrics,
http://thomascool.eu
F&H Simulations, http://www.taylorii.com/
or http://www.taylor-ed.com/
Olson, Mancur (1965), "The logic of collective action",
Harvard
Shone, Ron (2000), "Mathematica v4.0 for Windows 95/98/NT",
The Economic Journal Feb. 2000 pp F171-186 (this has also a short comparison
with Maple)
US. Dept. of Justice, Antitrust division, http://www.usdoj.gov
W3C (2000), "Mathematical Markup Language (MathML) Version
2.0", http://www.w3.org/Math
Wolfram, S. (1996), "Mathematica 3.0", WRI / Oxford, http://www.wri.com
Appendix: Reactions and Answers
The choice of words in above paper may be a bit rash for the designers
or active users of MathML. They have been working hard, and their goal
has been to provide a service to the scientific community - which is a
noble enterprise indeed. All this now seems to be under attack.
Yet, obviously, a noble intent does not necessarily imply a noble result.
This incongruity also puts a burden onto the messenger of the bad news.
Some indiplomacy is likely to occur. Luckily some reactions remain agreeable
and diplomatic. Yet others mirror the indiplomacy that I could not avoid.
Other reactions show that the paper is not read well.
But all reactions can be answered, and my conclusions still stand. Perhaps
that it helps to fully answer to these reactions, since this emphasises
the content of what I have to say.
I thank Ka-Ping Yee, Pankaj Kamthan, Andreas Strotmann, Neil Soiffer
and Luis Alvarez for their reactions. They are not necessarily on
the Working Group. The reactions are given fully on the www-math
discussion site.
Below, I will not use the personal names here but will use "person i"
labels instead. I have the impression that this helps us to focus on content.
"MathML reinvents the wheel" |
Reaction Person 1: truth is that pretty much all existing CA
system languages have been seriously deficient with respect to fundamental
design principles
for content markup languages[1]. OpenMath and MathML are
the first to
fix at least some of the most problematic of those errors.
[1] L.J. Kohout, A. Strotmann: "Understanding and Improving Content
Markup for the Web: from the Perspectives of Formal Linguistics, Algebraic
Logics, and Cognitive Science." in: ISIC/CIRA/ISAS '98 Joint
Conference on the Science and Technology of Intelligent Systems (IS'98),
Gaithersburg, MD, 1998. |
Answer:
-
You should substantiate "deficient w.r.t. fundamental design principles".
-
You don't deny that we could use Mathematica in the short run - so why
don't we ? (Or other languages.)
-
It is an entirely different kind of discussion if you were to say:
(a) Let us use Mathematica, in the short run,
(b) Let us deal with issues of design and copyright in the longer run.
|
Second Reaction Person 1: Lack of a willingness to do background
research is further evidenced by your asking for proof when I'm explicitly
giving reference
to the paper that contains that proof -- which you therefore obviously
didn't deign to read. |
Answer:
-
Why is the crucial information not included in the MathML document ?
-
Could you provide me with a link to the paper on the Web ?
-
Do you reject Mathematica because of copyright or because of design ? To
me this seems rather hazy, and apparently neither issue is discussed in
the MathML document.
-
If Mathematica is not copyrighted, and your reason is only design, then
let us first start using Mathematica, and deal with your design argument
in that situation. So that we don't have to use <mn>2</mn>
and &label; uglies.
|
copyrighting the language
of maths |
Reaction Person 1: as anybody in the CA field
can tell you, it is extremely ironic to put forward Mathematica as an example
for a language that cannot
be copyrighted. Indeed, the infamous mma/mockmma
incident a few
years back (where a well-known researcher was told off
by Wolfram
lawyers for using Mathematica's proprietary syntax for
his own
CA system and algorithm design environment) is an immediate
refutation, and a direct argument for the need(!!!) for
an open(!!!) language. Experience has shown that
copyleft is a
necessary ingredient in maintaining openness. |
Answer:
-
This is very interesting. Now you are talking. So the real issue apparently
is not the design, but the legal discussion.
-
Do you have a web-link for this legal incident ?
-
There is a huge need for an open language. But the answer is not to run
away from facing WRI, and then making something that is crummy 'but open'.
-
When I say that Mathematica cannot be copyrighted, then I mean this on
logical and historical grounds. I don't know about the US legal system.
But perhaps all math teachers need to write to the US dept. of Justice,
Antitrust
division, http://www.usdoj.gov
?
|
Reaction Person 1: Trust me, we considered a serious
offer of
Mathematica to do exactly as you say five years ago, and turned them
down
because the quality of their product was insufficient for our purpose
(it did not properly support a declarative semantics). |
Answer: wow. This is a serious decision
that you made then !
-
Did WRI really state that there was no copyright on Mathematica, and did
they really allow participation in its development ?
-
The WRI documents that I find on the MathML site do not suggest this !
Instead, they contain <brackets> and &labels; that
are not Mathematica.
-
I don't think that I should trust you here. Prove it.
|
Reaction Person 4: "What will put the horse behind the
cart is that MathML creates the illusion that mathematics as a language
is copyrighted - as the language for example is used in Mathematica."
There is no illusion. MathML Specification, like all W3C technical reports,
explicitly state legalities surrounding it. See, for example,
http://www.w3.org/Consortium/Legal/ipr-notice . |
Answer: This does not answer the question about the supposed
copyright for Mathematica (or Maple, or ...) Rather than working hard on
making something else (crummy but open), we should focus on the real issue. |
Reaction Person 4:
Nobody is saying mathematical notations are owned!
Mathematical notations -> MathML -> Use it the way you want.
Mathematical notations -> Mathematica's symbolic language which
you see
for example in the "notebooks" IS proprietary. I can not implement
it and not
pay a dime (or guilder) to WRI! This is a huge difference.
There is a catch: if WRI implements MathML in Mathematica software
system, that
implementation IS copyrighted; but then MathML can (and is) implemented
in
various other software with source code available. |
Answer: Finally, you are responding to the content of my paper
!
I see no difference between mathematical notation and Mathematica. You
apparently do. Please consider: Why do you think that there is a difference
? What is your definition of mathematics ? I think that you have been seriously
'brainwashed' - if I may use that indiplomatic term - into thinking as
you do.
This is the issue that W3C should tackle - and not start to program
another language that actually cements the current misconception. |
"the MathML group didn't deal with the
makers of Mathematica (or Maple)" |
Reaction Person 1: oh yes they did, even as far back as the
beginnings of the OpenMath project that provided many of the MathML researchers
responsible for
Content-MathML. Collaborators have included people
with close ties
with: Maple (Gonnet, who initiated the OpenMath project),
Mathematica
(several developers are members of the MathML WG), Axiom
(Sutor),
REDUCE (Strotmann, Neun, and others)... |
Reaction Person 4: Representatives from both Mathematica and
Maple are (have been) on the W3C Math WG. |
Answer: Including product vendors at the table is not 'dealing
with'. My analysis acknowledges this involvement, but reaches a different
conclusion - by looking at the end result. 'Dealing with' is to be read
as 'facing up to'. |
Objectives |
Reaction Person 1: It should be noted also that the very idea
of OpenMath (and Content-MathML) is
- to get away from the babel of CA languages, and define a language
all can agree on
- to get away from the unnecessary details that some of them
need
for operational purposes (e.g. Axiom's very detailed
type system,
or the distinction between int and Int in Maple)
- to get away from an operational view of maths and towards
a
declarative one
- to go beyond Computer Algebra and into the rest of mathematics |
Answer:
-
If there are more objectives than stated in the MathML document, then this
document needs to be adapted.
-
My idea is that this entire discussion is less relevant if we don't take
CA as the target. We shouldn't be satisfied with a 'formula editor' only.
-
Yes, we want to get rid of Babel and superfluous detail. So this reaction
cannot be seen as criticism.
|
Relation to CA |
Reaction Person 1: The paper is furthermore rife with misunderstandings
of the concepts employed in the definition of MathML and their relation
to concepts in
Computer Algebra languages. Most fundamentally, the distinction
between a
declarative semantics of MathML and the operational semantics of a
Computer Algebra system's user language is completely ignored (see
e.g.
the introductory chapter on the design decidions for the KIF (knowledge
interchange format) language -- "why not LISP"). At another place,
it
fails to distinguish between import and export convertability. |
Answer:
-
This is below the belt. This person is suggesting that I do not know the
distinction between a text editor and a 'calculator'. Or between reading
and writing.
-
My idea is that this entire discussion has little meaning if we don't take
CA as the target. We shouldn't be satisfied with a 'formula editor' only.
-
Note for example that the distinction between declarative and operational
can be subtle. Also operations are math. So Expand[(a + b)^2] is a declaration
- defined as a^2 + 2 a b + b^2. Since it is the computer that does the
translation (execute the definition), we are wise to target for CA.
|
Second Reaction Person 1: My "below-the-belt" comments
I am willing to substantiate as soon as you show any willingness for serious
research and discussion. |
Answer: I am serious. I think that you don't understand my argument
that you should not 'program around an issue of market structure'. |
object tag |
Reaction Person 1: The author apparently also fails to realize
that his proposal for a <mathematics use=Mathematica> ... </mathematics>
already exists: it is
called the "object" tag.
Your research into the background surrounding MathML has obviously been
lousy -- recognizing that plugin technology already implements exactly
what you're asking is something that one can easily ask of a serious
researcher, indeed any HTML novice. |
Answer:
-
Well, I don't know everything. I hope that it is possible to give a criticism
on the general objectives and results without being pinned down on a detail.
-
So this object tag allows me to paste Mathematica code into HTML ? If I
look at the HTML
4 specification, I am not convinced.
-
For the record: I use HTML for 7 years now, at more than a novice level.
Anyone can see my credentials on the web.
-
Really, if such an object tag already exists, and could be used in that
manner, why then continue with the rest of the circus ? Why not tackle
the copyright issues, and why proceed with re-inventing the wheel and creating
<brackets>
and &labels; for which we already have better readable expressions
?
|
Reaction Person 4: "In the short run, MathML should be
reduced to the statement <mathematics use=...> ... </mathematics>
and the browser should have to capacity to call onto the computer language
package."
MathML (and other external) objects can be incorporated in XHTML via
the
object tag. However, this plug-in/helper application view has several
(by now,
well-known) limitations. |
Answer: OK, so my impression was correct that there are limitations
for the existing code. Let us focus on eliminating those limitations before
we continue on re-inventing the wheel. Really, there are a lot of universities
who use CA programs, and their purchase departments can have a good discussion
with the software vendors ! Don't turn something into a programming problem
which is essentially a management problem and a problem of market structure. |
quality of MathML |
Reaction Person 1: MathML may not be perfect, as I'm the first
to conceed ;-), but it is very well designed (compared to, say, Mathematica
or REDUCE input languages), and it should be published, even in its imperfect
state, as soon as
possible. |
Answer:
-
Its design is criticised - and the criticism is not really replied to.
-
The working group has not been impartial - but an arena of different interests.
-
I am always in favour of publishing, so that people can be informed. But
W3C should not support it as a 'standard', subject to further evaluation.
The only standard that needs support is the <mathematics use=...> bracket.
|
From a Mathematica user |
Reaction Person 2: Thank you for your ringing endorsement
of Mathematica.
Let me assure you that the work you have invested in Mathematica is
not wasted. MathML is not meant to replace Mathematica or any
other
software system. It is a low level communication and archival
XML-based
language. Indeed, because of MathML, documents you write in Mathematica
can be exported to a variety of other applications, including browsers.
In Mathematica V4, simply choose File:Save as Special:HTML/MathML
and your notebook, math included, will be exported as HTML with MathML
for all StandardForm and TraditionalForm cells. Similarly, documents
containing math exported by other MathML-enabled applications can be
pasted into Mathematica and used as part of a computation. |
Reaction Person 4:
1. Mathematica documents can be made available on the Web (via plug-in
solution).
2. Mathematica 4 provides support for Mathematica document conversion
(import/export) to MathML. |
Answer:
-
I am pretty certain that WRI will cope with MathML.
-
I am aware about the Save and Import features.
-
I am not worried about my own work invested Mathematica - for these reasons.
-
I am worried about the general situation as expressed in the paper.
-
Indeed, rather than that we get a good discussion about the language that
people use, we will see people converting into MathML. The plug-in facility
might be used less often, since MathReader will be regarded as something
alien to mathematics rather than as its prerequisite.
|
Potentially infinite ? |
Reaction Person 2: The MathML *standard*, as opposed to your
suggestion of using <mathematics use="xxx"> and </mathematics>
means applications only need to understand one language, not a potentially
infinite number of languages. |
Answer:
-
Is this a criticism or a support ?
-
My suggestion is that the various software producers (Mathematica, Maple,
TEX, ...) all have 'readers' (like MathReader) and that Browsers can call
onto such readers. For editing, everyone uses the program of his or her
choice. For copying results of others, there are ample conversion programs.
So there is a potential infinite number of programs that can be used. The
only thing is that the preferences-file of the browser must be able to
add new readers. Yes, I am still talking about the short term solution,
till we really have that open standard.
|
Software dependency |
Reaction Person 2: Furthermore, the use of XML notation
means that the math is not invisible to standard XML processing tools.
This feature is used in the production of the MathML draft, whereby
a
common XML source is processed by XSL transformations to produce HTML
(for the Web) and TeX (for print) versions of the draft. It is
also
planning on being used, I believe, by the Mozilla MathML implementation
to translate content MathML into presentation MathML. There are
many
things that I and others in the MathML group dislike about the SGML/XML
syntax such as its verbosity. But these dislikes are vastly outweighed
by the benefits of having a large and rapidly increasing number of
tools that deal with this syntax... which as I mentioned earlier,
includes Mathematica. |
Answer:
-
This shows that people are made dependent upon another set of software.
We already have Mathematica (or Maple, or ....) and we can read (a+b)^2,
and suddenly we need three or four additional programs ! (Except perhaps
Mathematica that can do all.)
-
So the development of the future is: Do everything in MathML, since this
saves conversion. Forget about readable source code. Use lots of 'tools'.
Accept the myth that is created here. Mathematics is not a language, but
something created by clicking on menu buttons. Is that the future that
we want?
|
WRI's position |
Reaction Person 2: Wolfram Research understood early on
the importance of designing and supporting a standard for mathematical
representation on the Web in
particular, and in XML in general. We have participated since
the
beginning of the MathML group to help craft the standard and are on
the whole, quite pleased with the result. I believe that the
other
industrial members of the committee are also pleased with the result. |
Answer: If WRI says something, we better pay attention.
Yet:
-
That the industrial members are pleased, is not an argument in itself.
As long as the new standard does not 'infringe' on the presumed copyrights,
the new standard helps to create the illusion that such copyrights are
real.
-
The standard is so awkward that software tools are required to deal with
it, creating another barrier. Curiously, such a barrier does not exist
for the Mathematica language, where one can type, read and evaluate expressions
directly ... (Mutatis mutandis for Maple, Derive, ....)
|
Fallacy again |
Reaction Person 2: As a Mathematica user, you will probably
never need to see the MathML anymore than you need to see the Postscript
used for graphics in
Mathematica. But just as with Postscript and graphics, in the
future,
you will benefit from what will hopefully be the universal acceptance
of MathML as a common interchange format for math. |
Answer: Well, the paper above explains that this is a fallacy.
If I have the expression in Mathematica "{a, 2} . {3, 4}" and I change
this into MathML, send it to you, and you read the MathML into your program,
let's say Maple. Who is going to guarantee me that Maple will not present
this as "{{a . 2}, {3 . 4}}" ? I don't use Maple, I am not going to check.
Yes, this is a silly example. But it is an example nevertheless. You want
a complexer example ? Let me define a certain symbol in Mathematica. Then
I must hope that such freedom of definition is properly supported by MathML
and Maple. There will be people who will use both programs, and who will
communicate about such translations. Perhaps we have an interchange then.
My reasoning however is different. I think that we need a common interchange
format for math for people. Not for printers. If people use the
same language, then we can write computer programs to support that language.
Computer Algebra vendors should compete on such programs, not on syntax. |
Reaction Person 4: "The idea is that a user will not see
the MathML input."
Why not? It can (and has) been done. Use, for example, Form +
CGI/[Programming Language of Choice] + MathML-aware parser. |
Answer: I hope we are not getting confused. As the MathML
group presents it: Most users will generally not see MathML. Of course
some can - I never said that nobody can read hieroglyphs. |
MINSE |
Reaction Person 3: Have you heard of MINSE? See: http://www.lfw.org/math/
This system was designed, implemented, and deployed in 1996,
many years before MathML came together as a standard. Today
its implementation is still much more widely accessible than
MathML's -- ever since it was deployed, it has enabled the
display of math expressions at reasonable quality in any
graphical browser, and the easy writing of such expressions
by document authors (neither readers nor authors need install
any software at all).
For the MathML
<msup>
<mfenced>
<mrow>
<mi>a</mi>
<mo>+</mo>
<mi>b</mi>
</mro>
</mfenced>
<mn>2</mn>
</msup>
the corresponding MINSE form is simply
(a+b)^2
as anyone might reasonably expect.
You quoted the design goals of MathML in your document, and
i agree with you that Mathematica meets most of them -- but
not all of them. Mathematica notation isn't extensible to
support new expression forms in general, simply because all
the Mathematica forms are required to be implementable with
a real algorithm (as far as i know). You can't just make up
a new kind of form to represent a concept by itself, or a type
of value that is not already part of Mathematica's type system.
Of course, it is also the case that since Mathematica is
tightly controlled by a single company, it is difficult for an
individual to extend the system even within its assumptions.
MINSE addresses that goal by allowing extensible representation
(you can add new compounds) and an extensible stylesheet
mechanism for presentation. Its attempt to provide a generic
hierarchical structure for data with a generally applicable
transformation mechanism, though not as popular, predates the
arrival of XML and XSL on the scene. When it was presented to
the MathML group the goal of extensibility was scoffed at,
though it is clear now that others have finally come around to
recognizing the importance of extensibility and flexibility,
leading them back to XML. It is comforting to see that we have
at least this goal in common, even if it is four years later.
All we need now is a short form for XML -- like MINSE -- that
is readable and enterable by humans, and we will have come
full circle back to achieving the dreams of MINSE in 1996,
except that this time around, there is all the hype necessary
to provide a greater chance of success. |
Answer: I hadn't heard of MINSE - but these points make
sense. No doubt people will argue that MINSE 'has fundamental design errors'
? This is something that the math world (AMS) should look into. |
Reaction Person 4: "Please, if Mathematica can read "(a + b)^2",
why should MathML make it so difficult ?!"
MathML is based on XML syntax. This can (but not always) lead to verbosity.
This is an issue but there are several benefits (such as, more precise
resource discovery) as trade-offs that outweigh that. It, however,
remains an
issue (typing errors, "too much" markup for "too little" result) if
you insist on
text-oriented editing (such as, via Emacs). Whether mathematical notations
should be based on XML or whether embedded markup is the right direction,
is an entirely different issue. See http://www.xml.com/pub/w3j/s3.nelson.html
. |
Answer: That MathML is based on XML does not answer the question
posed: why would you want to do that ? Why not use Mathematica ? |
Reaction Person 4: Good question. There are several reasons
that I'll not mention here. (Look into any introductory books, overviews.)
But if you can come up with a
reason of not using XML and something else which is feasible
and open, that
will be important.
Why not use Mathematica? I am repeating; it is proprietary. The
the 2D symbolic language it uses is not open for public discussion, the
software costs, there is no reason of getting locked into ONE company's
vision of computing, and so on. |
Answer: So it seems that the issue boils down to copyright anyway.
And my paper concludes to the proposal to the scientific community: Are
we going to accept this gift for W3C, or is it something like the Trojan
horse, that will actually destroy the intellectual freedom of mathematics
? |
"It is Byzantinely complex, unintuitive,
unesthetic, highly undocumented,
it requires complex software support, etcetera." |
Reaction Person 4:
What exactly is complex? [Re]presenting mathematical notation on the
Web
for subsequent actions is a nontrivial problem. Nontrivial problems
can have
nontrivial solutions. (Now, if only there were (on a 8 1/2 x 11 inch
paper) a
one-line proof of the Fermat's Last Theorem or one-line numerical solutions
of
bifurcation problems in nonlinear elliptic partial differential equations
...)
MathML is not designed (only) for aesthetics. Aesthetics in mathematical
notation have no known bearing towards human understanding or machine-
based "intelligent" searching. Whether raw MathML is/is not "aesthetically
pleasing" is subjective. The burden of aesthetics is on the processor
at the
delivery-end (renderer, printer). If needed, MathML can be transformed
to
"aesthetically pleasing" formats, including [La]TeX and/or PDF.
MathML is not "highly undocumented"; see the pointers at
http://www.w3.org/Math/ .
In particular, (aging) http://indy.cs.concordia.ca/mathml/
and
http://www.webeq.com provide documentation
on various aspects of MathML.
|
Answer:
-
It is highly undocumented compared to e.g. the documentation for Mathematica
-
Yes, I understoond that 'aesthetics' have not come into play. My paper
above specifically quotes the MathML paper on the PostScript analogy. However,
I have explained that this line of reasoning is a fallacy. Let me try again:
In Excel I can create a formula by clicking on buttons. I can turn on the
recorder, and thus I get a series of commands. That series can be regarded
as the "PostScript" for creating that formula. The MathML working group
of course has been working in a more systematic manner. So, I hope that
it is clear that I understand the concept of the PostScript analogy. (And
I am happy that there is GhostScript !) The point that I make in the paper
however is that this analogy is a fallacy - and that the proper language
for math on the web should be human readable and quite alike Mathematica.
-
Yes, we should not let us be seduced into a discussion of 'complexity'.
What I mean to say is that (a + b)^2 is simpler than its translation into
MathML. I know that computer input differs from what people are used to
- for example 2 1/2 is two-and-a-half for people and two-times-a-half for
Mathematica. I even consider such things the real challenge of the use
of math on the web, rather then the Bizantine complexities that MathML
is creating.
|
"A quite perfect alternative already
exists in Mathematica: simple, elegant,
intuitive, highly documented etcetera - and users of Maple may think
similarly
about Maple." |
Reaction Person 4:
1. Mathematica or Maple are not perfect alternatives to MathML. They
all serve different purposes (though overlap in intent) and are complementary.
This judgement is based on experience with all three, and not heuristics.
2. Mathematica and Maple are both proprietary solutions. MathML is
not.
3. Simple, elegant, intuitive, ... are all subjective terms. Arbitrarily
complex
Mathematica or Maple programs can be written and so can MathML
documents. |
Answer:
-
I say "quite" perfect. So let's use these in the mean time.
-
What is proprietary: do you think that the Mathematica language is
a property of WRI ? Wow ! You give away the history of mathematics to a
person or group who once happened to type it over into a computer ?
-
Simple, elegant, intutitive ... are perhaps subjective, but also inter-subjective.
The MathML document itself recalls the dx/dy dy/dz notation. Please don't
dodge the real issue by sophistry.
|
Reaction Person 4: Mathematica has a bent towards symbolic computation.
Now they have added some numerical computation routines which are fine
at an undergraduate level but not at higher level. Complex problems in
ODEs and PDEs can not be solved by Mathematica. Yes, it has a programming
language but like any other programming language, it has its limitations.
MathML is a markup language. It has NOTHING
to do with computation. It is designed for semantically-oriented typesetting
and extensibility. Mathematica is not a data format but MathML is. That
is why Mathematica and MathML are complementary: use MathML (instead of
TeX) for typesetting and Mathematica for computation. If one doesn't find
Mathematica good enough for the application in question, replace it by
another engine: use Maple, REDUCE, MACSYMA, ... If everything was proprietary,
things would be less flexible. |
Answer:
-
It is a bit curious to say that MathML needs only representation, and criticise
Mathematica for not being able to solve issues (though I don't know what
you mean by ODE or PDE).
-
Mathematica can also be used for representation. Let us do this in the
short run. And repair the supposed design problems.
-
There is good reason to target for a representational language that also
can be evaluated. See my comment on market structure.
|
"W3C supposedly comes up with all kinds of subtleties. But it appears
that
such issues, and even more, already have been covered in Mathematica.
They ‘only develop a standard’ and
other - commercial ? - institutions will need
to provide the real services." |
Reaction Person 4:
W3C has developed:
1. Amaya, which provides rendering for MathML Presentation Markup.
2. EzMath, which provides a plug-in and an editor for MathML Content
Markup. |
Answer:
OK, W3C does a bit more.
I was speaking 'relatively'. I really doubt whether you can provide
the same service as users really would like. And for support I call your
phone ?
OK. So in Word for Windows, there is a formula editor, and when I convert
into HTML now, I get a GIF. In the future, I suppose I still cannot paste
a Mathematica cell into Word, and I still get MathML when I convert to
HTML again. I suppose that I must export from Mathematica to MathML, use
the EzMath to correct it, and import it into Word - and then Word's formula
editor should be able to handle this ? |
Reaction Person 4:
Don't be sarcastic. Now, this is indiplomacy. Free and Open Source
software has lot of benefits, but who said there are no trade-offs. I can
use a variety of software to do different things with MathML (or other
formats). I can not with Mathematica files unless you point me that a large
base of free Mathematica file processing software. Cost is always an issue. |
Answer: My suggestion for market structure is that the language
of mathematics is open and free, but that programs for handling it - e.g.
editing, printing, evaluating - could be proprietary. Vendors could compete
on the quality of their editors or evaluators or speeds. The question on
support may come across as sarcastic, but is a real one. In a school I
would learn mathematics (at a cost, too), and there would be support for
math and the language of math. But I doubt if there is support for MathML.
So, what about saying that it is free ? OK, so there is also ExMath. But
my experience with Mathematica is that help files are quite important here.
Perhaps MathML creates a common conversion standard - which is nice for
the industry. But for someone who is doing math ? |
"... An ANSI standard should be developed
that takes its point of reference in
the history of mathematics and not in commercial developments of the
last 10
years." |
Reaction Person 4:
MathML Specification takes into account and makes several references
to
mathematical development that go beyond the last 10 years. See, for
example,
http://www.w3.org/TR/MathML2/appendixi.html
.
The power of MathML comes from several sources, including:
1. MathML is an open, extensible format that leverages on other (open)
standards. Nobody "owns" SGML, XML or MathML.
2. Based on XML syntax, as well as with the induction of semantics
for both
presentation and content MathML provides data (machine-to-machine
interface) and as well as document view (human-to-machine
interface) of the same MathML file, MathML record in a relational database,
MathML object delivered by an Object Request Broker, and a MathML stream
of bytes arriving at a network socket. Since the structure is separated
from
presentation, you can author MathML once, and use it in various contexts:
present it (using CSS, XSL) on different devices (on desktop, PDA),
manipulate/interact with it (using Computer Algebra Systems, DOM, XSLT),
print it (by MathML -> PDF), exchange it between two MathML-aware servers.
In conclusion, MathML related issues remain (and are being addressed,
within
or outside the scope of MathML Specification), including:
1. A robust infrastructure for large-scale, transparent (minimal, ideally
zero
loss of information) and automated (such as, by batch processing) legacy
(say, [La]TeX, RTF) document transformation to MathML Content Markup.
2. Native rendering support in "popular" user agents to ensure a broad
accessibility of MathML.
3. Mathematics-specific metadata that conforms with RDF Schema and
takes
into account existing metadata efforts (such as, Dublin Core, IMS metadata).
4. A stable list of MathML Content Markup elements that addresses
localization. (It takes into account basic and widely-used mathematical
notations used around the world (and not just those in USA or Europe.)
5. Semantic bindings for representing mathematical notations within
the XML
architecture that are external to the list of MathML Content Markup
elements
as well as external to OpenMathML CDs.
A (constructive) criticism is useful but your work, unfortunately, misrepresents
the capabilities of both MathML and Mathematica (as well as, other
Computer
Algebra Systems), and does not address the essence of the issue well.
The horse is in front of the cart and galloping.
|
Answer:
-
The logic of this argument is not sound.
-
This is not answering to the criticism, but just repeating what was criticised.
-
My paper is accused of misrepresentation, but no example of misrepresentation
is given.
-
As e.g. Mathematica is based on ASCII only, Mathematica can be embedded
into HTML, and if the Server (Browser) is Mathematica-aware, the browser
can represent the math. You can do with Mathematica whatever is claimed
for MathML. (WRI will make sure of convertibility.)
-
The statement that MathML is not 'owned' suggests that Mathematica
is 'owned'. But mathematics cannot be owned, and Mathematica is mathematics
(as WRI itself admits). W3C does not provide a service to mankind if it
helps creating the illusion that the language of mathematics (e.g. Mathematica)
is copyright.
-
I can see something galloping - into the direction of a ravine. I hope
it are not lemmings.
|
Reaction Person 4: Yes, it is probably not answering to
the criticism completely. No it isn't repeating what was criticised as
you did not mention the points I did. |
Answer: The structure of our communication here is:
-
I: "We should not use this car. For today, let's use the train."
-
You:"The car is blue."
-
I: "You don't reply to my criticism. You repeat what is criticised."
-
You: "You didn't mention the points I did."
|
Why write this paper |
Reaction Person 4:
If you don't believe XML works, nothing can change it. If you don't
believe MathML works, nothing can change that either. Then why write this
report? If you think they are "reinventing the wheel" why should that affect
you? You can keep on using Mathematica; there is nothing stopping you ...
unless WRI stops the Mathematica line of products (and support). You and
I can not control, predict or dictate that it will not happen. THAT is
the power of an open standard. If W3C does not come out with iterative
versions of MathML, no problem, we can make our own extensions, by oneself
or by collaboration and put it back in the public's eye instead of locking
it with patents. If one company stops producing a software, others may
already be there. If not, we can write our own. |
Answer:
-
I write this paper because I am concerned about losing the intellectual
freedom of mathematics. The use of the computer should increase that freedom,
not reduce it.
-
I am concerned about the situation that people think that the language
of mathematics is proprietary - and the MathML project seems to enhance
that thought. (See here.)
-
If the MathML community speaks about the elegance of math, and then produces
its ugly language, then they deserve some criticism.
|
Embarrassment |
Reaction Person 4:
Disappointment is a two way channel: I can be disappointed by my work
and you can tell me that you are disappointed by my work. Embarrassment
is not. It is a personal experience. I can be embarrassed by my work and
but why should you be embarrassed by my work (if we are not related at
all)? Whether W3C should be embarrassed is a different matter and a strong
statement. If they are not embarrassed, why should you impose upon them
that they should be? Would you like it if I told you that your report is
an embarrassment for you, for me and for the entire publishing industry,
and published this? The point is: not everything we think has to be put
on the paper. There are limits but I will not dictate them. You should
be wise enough. |
Answer:
-
Dutch culture has the concept of "being embarrassed for someone else".
Suppose some person is to give the keynote address of a convention, and
it turns out that he or she has not really prepared it. In Dutch culture
you might feel embarrassed for that person. I suppose that it is part of
the process of starting to take part of the blame - for one shouldn't have
invited that person or have gone to that presentation anyway.
-
I would not like being told that a performance is an embarrassment.
-
Yes, the scope of having an impact with this paper is low. But I'd rather
write it and publish it, than not doing so. Since I think that the story
needs to be told.
-
I hope that W3C does not like being told that their performance here is
an embarrassment. And that they reconsider what they have been doing.
|
Reply |
Reaction Person 5:
"You are probably under the impression that MathML is a good idea."
MathML is an attempt to standardize mathematics in a medium where protocols
and standards are fundamental in order to join the millions of machines
and users around the world. The Internet is a connection between so many
different computers and systems that if we want two random machines to
communicate we need a common interface.
MathML is a good idea because it proposes a solution taylored specifically
for the web. It was inspired by OpenMath's ability to allow communication
between computer algebra systems, and adds a presentation component which
is aesthetically pleasant to the user. Especially on the Internet where
good presentation goes hand in hand with success.
"It is Byzantinely complex, unintuitive, unesthetic, highly undocumented,
it requires complex software support, etcetera."
As was mentioned before, the verbosity of MathML might seem at first
decouraging for any user. But MathML was not designed to be handwritten
directly by a human. This is why there has been a boom in different MathML
compliant applications which intend to edit and produce MathML, read-in
MathML, display and render MathML.
All of this without the user needing to directly deal with the verbosity
of the MathML notation. However Mathematics are complex and do not lend
themselves easily to representation. Developing a representation which
englobes semantic meaning in a way computers can understand is a non trivial
task.
Furthermore the boom of MathML compliant applications is just the proof
of the communities' approval of the MathML idea. I have been involved in
the development of MathML applications for REDUCE, and believe that MathML
has helped push down many barriers. Mainly it has enabled communication
between different systems, just as other standards have done in the past
for other purposes (ie TCP/IP). It has imposed a common representation
between so many applications. REDUCE, just as other computer algebra systems,
can now benefit of the sharing of mathematics, and thanks to the applications,
it imposes no heavy burden on the user.
Finally your proposed <mathematics use="..."> ... </mathematics>
tag is a curious idea but for it to work, it would need a browser or a
computer algebra package to have interfaces with all the different computer
languages. This would be problematic when new computer algebra packages
would appear or when existing ones would modify their languages as they
evolve in time. Not all browsers and computer algebra systems would be
able to posses the large amount of interfaces and finally only the most
used languages would succeed, leading perhaps to the adoption of a few
as standards. Simply a long path to where we are now.
I believe a few of your comments do have a constructive value, but many
others need revising and a better understanding of the history of mathematics
publishing on the web, OpenMath and MathML.
|
Answer: This is not answering to the criticism, but just
repeating
what was criticised. |