Applications of MathML

(Excerpt from "The MathML Handbook" by Pavi Sandhu)

The applications of MathML can be divided into five main categories.

  • Displaying mathematics in Web pages
  • Creating dynamic math Web sites
  • Publishing technical information electronically
  • Exchanging mathematical data between applications
  • Rendering mathematics in non-visual media

Some more details of each of these applications are provided below.

Displaying mathematics in Web pages

Using MathML, you can display even the most complicated mathematical notation in a Web browser, and it will be properly formatted according to the standard conventions of mathematical typesetting. Equations can be properly integrated with the surrounding text and can automatically inherit information about fonts and alignment from their environment. Thus, MathML is well suited for scientists, engineers, and other researchers who want to post technical documents on the Web without compromising on the quality of the presentation. At the same time, the equations are "live" and can be copied and pasted from a Web page into another application, allowing formulas to be exchanged and re-used as easily as text or allowing them to be evaluated by mathematical software.

MathML is a convenient medium for educators who want to post assignments and quizzes to support their teaching efforts. MathML is also useful for universities and corporations that provide Web-based instructional courseware. For example, many universities now offer calculus courses over the Web, and many corporations provide technical training to their employees using instructional materials over the Web.

Creating dynamic mathematical Web sites

The above uses of MathML involved the passive display of mathematical content on a Web page. However, MathML can also be used to add interactivity to Web sites. The display of interactive equations is of great importance for applications like educational courseware, online testing, or mathematical bulletin boards, which are useful in a wide variety of academic and professional contexts.

In the last few years, many sophisticated tools have become available for developing dynamic Web sites, which respond to user input. Such Web sites make use of scripting languages like JavaScript or Java applets that can be embedded in Web pages to perform actions in response to specific user actions such as clicking or moving the cursor over some piece of text. It is possible to connect scriptable actions to HTML controls like buttons, text fields, and pull-down menus.

MathML, being a fully Web-compliant language, is well suited for integration with these technologies. Using MathML in concert with scripting languages and applets creates many interesting possibilities for delivering dynamic mathematical content. Some possibilities for interactive behavior are:

  • Changing the size or appearance of an equation
  • Bringing up a pop-up window or a menu to let the user choose from various options, such as changing the display size or color
  • Toggling between different displays, for example, to expand or collapse a large expression
  • Using formulas as hyperlinks to jump to a different document or location
  • Clicking a button to bring up the next step in a solution
  • Entering the solution to a problem in a text field, and then clicking a button to find out if the solution is right or wrong

You get an additional level of control and flexibility by adding scripts and programs to process mathematical input on the servers. For example, a user can click a button to send mathematical input to a computer algebra system running on the server, which then evaluates the input and returns the result for display on the user's Web page. Such applications are already possible using specialized proprietary software like WebEQ or webMathematica. The use of MathML can provide a common standard for implementing such solutions, which will lead to greater interoperability between software from different vendors, as well as for existing programming languages such as Perl, PHP, and Java.

Publishing technical information electronically

A significant feature of scientific publishing in the last few years has been a gradual shift towards archiving and distributing documents in electronic form. Two notable examples are the physics preprint server arXiv, housed at Cornell University, and the database maintained by the AMS, which contains over a million mathematical documents.

Almost every major publisher of scientific journals is moving towards providing access to journals in electronic form via a Web site. As a result, the number and size of databases of scientific information, both commercial and academic, are steadily growing. It is vital to have a way of searching, archiving, and indexing the information stored in these databases, and the information needs to be as useful and accessible as possible. Because of its ability to encode the content of equations as well as their appearance, MathML provides an ideal data format for storing mathematical information.

There is also a growing demand for electronic versions of print books that can serve as interactive textbooks. MathML meets the needs of commercial publishers since it provides high-quality rendering of mathematics, is robust enough for large-scale use, and is compatible with SGML-based production systems that are currently in use.

Exchanging mathematical data between applications

MathML can encode both the appearance and meaning of equations, so it can provide a complete and detailed description of all aspects of mathematics. It is thus an ideal format for exchanging mathematical content between applications such as Web browsers, equation editors, computer algebra systems, statistical and data analysis packages, and other scientific software. As the importance of MathML grows and as it is used more frequently, most applications will likely be able to at least import and export mathematical formulas in MathML.

Rendering mathematics in non-visual media

All the applications of MathML discussed above focus on printed and online documents. However, MathML also provides excellent support for rendering mathematics in other media, such as sound and Braille. Being able to support aural rendering of mathematical notation was an important criterion in the design of MathML. Hence, many of the notational conventions of presentation markup were designed to provide enough information to software for creating sensible audio rendering of equations.

For example, proper MathML usage requires that character entities such as ⁢ and &FunctionApply; be used in presentation markup to indicate common operations (such as multiplication or function application) that are not readily apparent from the visual display. This provides information about the meaning of the notation that can be reflected in the corresponding audio rendering by changes in intonation or rhythm or the length of pauses.

There has also been a great deal of effort in converting mathematical equations into Braille. For example, using a system called MAVIS developed at the University of New Mexico, you can convert equations in LATEX into digital instructions for embossing Braille documents. MathML provides enough information about an equation that it should be possible to create software tools that can convert the MathML markup for any given equation directly into Braille output. Such tools do not currently exist, though MathML provides a good foundation for their development in the future.

The future of MathML

MathML has the potential to transform the publishing, processing, and distribution of technical information. However, the extent to which its potential can be realized depends on the number and quality of available software tools. As we saw earlier in this chapter, MathML is not suitable for direct authoring by users. Instead, it is a low-level format that will typically be generated by specialized software tools, such as equation editors or computer algebra systems.

MathML is still in its early stages of development. Its adoption by a large number of users is limited by the lack of available software, and the development of the required software is limited by the small size of the user base. Several excellent applications for authoring, editing, and viewing MathML documents are already available. However, most of the applications are still evolving and vary considerably in their level of support for MathML and the exact details of implementation.

As with other Web technologies, the initial use of MathML is likely to be confined to specific groups and organizations that have a pressing need to take advantage of the benefits it provides. For example, a college instructor may start using MathML to circulate quizzes and assignments to students of a mathematical course. Or a publisher of research journals may decide to use MathML internally for archiving articles. Such individuals will have a stronger motivation than the average person to invest the time and effort needed to implement customized solutions based on MathML. Also, the small and focused nature of the target audience means that all of the potential users can be guided to install the browsers or other add-on software needed to view MathML.

Modern versions of most browsers already support the display of MathML either directly or with the help of add-on software. However, until the newer browsers become more widely deployed, it will be necessary to support older ones as well. During the initial transitional period, individuals and organizations that post technical documents on the Web can also provide both a MathML version and an image-based version of the same document so that users can choose the version they are comfortable with. This is analogous to Web sites that offer users the option of viewing content with and without frames, a scenario that was very common during the late 1990s.

Initially, MathML use will therefore be confined to small pockets of people who are willing to experiment with this new and developing technology. However, as the number of users grows, the network effect is bound to kick in. The larger number of users will stimulate the development of more software tools, which in turn will provide greater incentive for more people and organizations to adopt MathML as the medium of choice for displaying mathematics on the Web. Once that happens, MathML will finally be able to fulfil its potential. By facilitating the free exchange of mathematical information over the Web and between applications, MathML promises to open up many new possibilities for scientific research, education, and publishing.


<< back next >>





Copyright © CHARLES RIVER MEDIA, INC., Massachusetts (USA) 2003
Printing of the online version is permitted exclusively for private use. Otherwise this chapter from the book "The MathML Handbook" is subject to the same provisions as those applicable for the hardcover edition: The work including all its components is protected by copyright. All rights reserved, including reproduction, translation, microfilming as well as storage and processing in electronic systems.

CHARLES RIVER MEDIA, INC., 20 Downer Avenue, Suite 3, Hingham, Massachusetts 02043, United States of America