Skip NavigationDesign Science: How Science Communicates
Products Solutions Store Support Reference Company View Cart
 
 

PDF version (495 KB)


Math on the Web: A Status Report
September, 2002

Focus: The Second International MathML Conference

by Robert Miner and Paul Topping, Design Science, Inc.

MathML [1] users, vendors, and supporters gathered at the Second International MathML Conference [2] in Chicago on June 28-30 to hear presentations on the expanding world of MathML technology. The mood was decidedly upbeat, driven by the recent advances in MathML support within web browsers. In particular, the availability of Design Science's MathPlayer extension for Internet Explorer, Netscape 7 (based on Mozilla) with built-in MathML support, and David Carlisle's Universal MathML Style Sheet (UMSS) signaled to the conference attendees that the "MathML browser problem" was now solved and that it is time to turn our attention back to the original motivation behind MathML: its ability to serve as an interchange medium for mathematics.

Since MathML equations embedded in a web page carry mathematical meaning and structure, in theory they allow the readers of such pages to work with them as math, rather than just look at them. In this edition of the Status Report, we will focus on the Second International MathML Conference, while also examining the proposition that the HTML+MathML Platform allows STM (Science, Technical, and Medical) publishers, both organizations and individuals, to add value to their publications over media like Adobe's PDF [3]. This added value comes in the form of math that is not only pretty to look at, but with which the reader can also calculate, graph, analyze, search, and copy into new documents.

The HTML+MathML Platform

In past editions of this Report [4], we have been calling the collection of W3C [5] Recommendations which, in combination, enable math in web pages, "The HTML Platform". In this Report, we'll (hopefully) make this concept a bit clearer by renaming it to the "The HTML+MathML Platform". The main technologies comprising the platform are XML, HTML (or XHTML), and MathML for encoding content, XSL and CSS for styling and processing documents, and JavaScript and DOM for scripting of dynamic features in a page. It is our belief that the HTML+MathML Platform is now fully supported in popular, modern web browsers and is well-positioned to become the dominant medium for online delivery of technical content, for both traditional, static research papers and dynamic interactive presentations.

Browser Support for MathML

Although past issues of this paper have reported extensively on browser support for MathML display, we will cover it briefly here for the sake of new readers and to firmly establish that MathML support in browsers is here and ready for prime-time.

Microsoft Internet Explorer and MathPlayer

MathPlayer [6] is Design Science's MathML Display Engine for Microsoft's Internet Explorer (IE) [7] web browser. It currently requires IE 5.5 for Windows or later. Design Science is committed to making MathPlayer available free-of-charge as a service to the community. As of this writing, MathPlayer is in the final stages of a public beta program and is available for free download. The final release of MathPlayer 1.0 is expected to be available by the time you read this.

While MathPlayer is an Internet Explorer "plug-in" in the sense that it is additional software that must be installed that Internet Explorer invokes to perform a task that it cannot do by itself, MathPlayer is not a "Netscape plug-in". MathPlayer uses technology that has none of the limitations (inability to resize, align to the baseline of surrounding text, access the rest of the document, etc.) of the plug-in technology introduced in the original Netscape browser (and still supported by Internet Explorer). Instead, MathPlayer implements each equation as an object that Internet Explorer treats much like the other kinds of object (e.g., images, paragraphs, etc.) it directly supports.

Although Internet Explorer is available for platforms other than Windows, Microsoft has not implemented the key technology, "Behaviors", that makes MathPlayer possible on those platforms. Design Science is committed to providing MathPlayer for those platforms when Microsoft makes Behaviors available in those versions of Internet Explorer. Until that time, the Mozilla and Netscape browsers will be the browsers of choice for the scientific, technical, and education communities using platforms other than Windows.

One of MathPlayer's key features is a right-click menu that allows users to copy an equation's MathML into any software application that accepts MathML via the clipboard (drag-and-drop is also supported). This enables a user to copy mathematics from the web page into programs like Mathematica, Maple and Mathcad for calculation, graphing, and further analysis. Math can also be copied into authoring packages like Design Science's WebEQ Editor [8] or any HTML or XML editor. Design Science has plans to expand this menu in future versions of MathPlayer to include commands that work with other MathML-enabled applications directly an "Open With Mathematica" or "Graph with Maple" command, for example.

Mozilla and Netscape 7

Mozilla [9] is an open-source project derived from the complete rewrite of the Netscape 4 web browser, which Netscape made public in 1998. The Mozilla approach to providing MathML support has been to build it directly into the browser. MathML support is now enabled in Mozilla 1.0 which was released in April, 2002. It is available for the Windows, Macintosh (Classic and OS X), and Linux operating systems.

MathML is also supported in Netscape 7.0 Preview Release 1 (PR1) [10] which is based on Mozilla code. The inclusion of MathML support in this browser is an important milestone for the MathML community. We thank Netscape for having the vision to properly support the science, engineering, and education communities. Together with Internet Explorer/MathPlayer, we believe that Netscape 7's MathML support finally succeeds in resolving the problem of MathML support in web browsers.

The Universal MathML Style Sheet (UMSS)

Given the advances in rendering software and coding standards, only one obstacle to ubiquitous and effective math support remains: different rendering technologies require bits of "glue code" to signal the browser how to handle the MathML equations it might encounter in a document. In some cases, this extra code takes the form of special declarations in the document header. In others, special wrapper code is required around each equation. In still other cases, a little code is required in both places. On the surface, this would seem to make it impossible for an author to publish a single document that simultaneously works in all rendering environments.

The solution envisioned in the HTML+MathML Platform is a standardized way of transforming parts of a document on the fly according to rules in a stylesheet. This powerful new stylesheet language is called Extensible Stylesheet Language (XSL) [11], which became a W3C Recommendation in October 2001. XSL rules can take into account what browser is being used to view the page and what add-on rendering components are installed. This enables authors to ignore the "glue code" that used to be necessary to fire up a specific rendering component to handle math notation. Instead, authors generate documents which are strictly standards-compliant, and at run time, the stylesheet running in the reader's browser adds whatever glue code is necessary to render MathML based on what is installed on the reader's system.

Internet Explorer 6 and Netscape 6/7 are the first browsers to fully implement XSL, the last major piece of the HTML+MathML Platform. To capitalize on the new technology, the W3C Math Working Group has recently released a "Universal Math" XSL stylesheet (UMSS) [12], developed by David Carlisle of LaTeX fame and an editor of the MathML 2.0 Specification. The stylesheet currently works with IE6 and Netscape 6.2 and 7.0 PR1, and produces legible renderings of strictly standards-compliant web documents on a wide variety of platforms.

The Universal Math Style Sheet searches through a list of possible rendering configurations and uses the first one that matches the reader's system. Authors can customize the order of the search, to specify a preferred rendering configuration on systems that have more than one available. In general, the stylesheet attempts to use native implementations and add-on renderers first. If that fails, it will generate HTML/CSS/JavaScript code on the fly to approximate traditional math layout in 6.x browsers.

The math rendered by the stylesheet ranges from crude but legible to very high quality depending on the combination of browser, operating system and add-on software. But for the first time, with the Universal Math stylesheet an author can be relatively certain that most of his or her readers will actually be able to see MathML equations in a web page.

MathML Adds Value to STM Publishing

STM (Science, Technical, and Medical) publishers and content providers currently publish documents containing math using Adobe's PDF (Portable Document Format) or, sometimes, as HTML with GIF images for the equations. Many of them are aware of MathML but have adopted a wait-and-see attitude due to the long delay between MathML's initial conception and its recent arrival within the web browser. Now that browsers can display MathML, it is time for publishers to re-examine the benefits of publishing in HTML with math expressed in MathML.

Today's publishers are competing with each other on many levels. One of the most important is that of adding value to their publications. Many publishers find their content overlaps with that of other publishers and are looking for ways in which they can add value to their products that will cause readers to favor their products over those of their competitors. The interactive nature of the web greatly increases the scope for such value-adding when compared to the traditional paper medium. We believe that MathML represents a significant opportunity for STM publishers to add value to their content.

What are the Benefits of MathML?

Please note that most of the benefits listed here are valid for a wide audience, from the largest publishing house down to the individual researcher putting research on their own web site.

  • Since MathML encodes more mathematical structure than PDF files or GIFs, MathML can be used for computation. Major computer algebra systems, such as Mathematica, Maple, Mathcad, now support cut-and-paste of MathML into their documents enabling their users to transfer math from web pages and other sources into their documents for further calculation, graphing, searching, and analysis. These vendors have also deployed MathML-aware web services for dynamic math on the web applications.
  • MathML is a public standard, so there are a variety of interoperable tools and solutions available from a number of vendors. MathML also satisfies requirements in a number of highly-regulated industries, where documentation must be in standardized formats. Because it is a standard that is not owned by any one company, users of MathML will not be at the mercy of a single vendor.
  • Since MathML is part of the XML world, math can be handled as part of a publisher's regular XML-based production stream. This makes possible re-purposing of content (including math) for various media (web, paper, CD-ROM). Future XML-based technologies, such as structured searching, will also seamlessly apply to MathML.
  • MathML separates mathematical content from visual presentation. This enables content providers to customize notational conventions, etc. by merely changing a stylesheet and not the source document.

Although the authors of this report believe that the HTML+MathML Platform provides huge benefits over other formats, they recognize that these formats may still make sense in some applications. PDF is still a strong choice when exact typographic control is necessary, when faithfulness to a printed version of a publication is a strong priority, or when converting from legacy formats such as TeX. GIF images are still the best choice when compatibility with the greatest number of browsers is paramount.

Static Math Doesn't Need to be so Static

It has been noted many times (e.g., our "Strategies for Math on the Web" [13]) that web documents containing math can be divided into two groups:

  • Static Math: These are exemplified by technical or research papers that are the web equivalent to their printed form. The main objective is for them to simply be read.
  • Dynamic Math: These are web pages that interact with the user. Examples include online exams where answers are entered using an equation input control (e.g., Design Science's WebEQ) and a page where an equation is graphed, allowing numerical parameters to be entered and the graph to be updated accordingly.

While dynamic math can certainly add value to a publisher's content, it is usually only meaningful for K-12 education applications and can be quite costly to develop. Most STM content is of the static math variety, consisting of online versions of journals and textbooks. It is our thesis that the math in these static math documents need not really be so static and, by making this math a bit more dynamic using the power of MathML, the publisher can add value, thereby making its content more attractive to consumers.

MathPlayer's Right-Click Menu

One obvious reason to encode mathematics in a web page using MathML is so that it can be rendered in a browser. MathML does have some advantages here over other formats such as GIF images and PDF. However, because MathML represents mathematical meaning (particularly with Content MathML), there is much more that can be done than just displaying it.

MathPlayer, Design Science's MathML display engine for Internet Explorer, features a right-click menu containing a Copy command for copying an equation's MathML to the Windows Clipboard, allowing it to be pasted into any application that supports MathML. For example, an engineer viewing a web page presenting mathematical formulas used in bridge design could paste them into Mathematica and immediately use them in calculations for a new bridge.

Design Science expects to expand the set of commands available to readers in future versions of MathPlayer. Possibilities include various "Open with ..." commands, such as "Open with Mathematica", "Open with Maple", and "Open with WebEQ". In the future, it may be possible to add a "Search for Similar Equations" command that would search the web for papers with mathematics like the clicked-on equation, possibly helping a researcher get help in solving a problem.

More Value than PDF

Many online research journals now publish using Adobe's PDF. This is fairly easy to do as the document need only be designed once for both printed and online publication. However, PDF does not add much value to the content. Although the reader can copy the document's text, this is of limited interest. If the document is published in HTML+MathML, the math now becomes useful and, therefore, more desirable to the reader. We believe it is a good way for the STM publisher to make their content stand out against its competition.

Focus: The Second International MathML Conference

MathML users, vendors, and supporters gathered at the Second International MathML Conference in Chicago on June 28-30 to hear presentations on the expanding world of MathML technology. In this section, we will try to give the reader an overview of what was presented at the conference along with our interpretation of its significance. Of course, any such summary will reflect the interests and biases of the authors. Many of the papers are available at the MathML Conference web site [2]. We apologize to those authors whose work is not mentioned here.

Tutorials

The first day of the conference was devoted to tutorials [14]:

  • Introductory MathML Tutorial

  • OpenMath Tutorial (see below for more on OpenMath)

  • Advanced MathML Tutorial

The tutorials were well-attended, indicating that MathML is not just a research project but is beginning to be used in real-world applications.

MathML in Browsers

The recent arrival of browser support for MathML, principally via Netscape/Mozilla, Internet Explorer + MathPlayer, and the Universal MathML Style Sheet, was a subject for several papers as well as a topic for many conversations held between sessions. Here are some high points:

  • David Carlisle of NAG, an editor of the MathML Specification and of LaTeX fame, presented his paper, "MathML on the Web: Using XSLT to Enable Cross-Platform Support for XHTML and MathML in Current Browsers". In this invited talk, David explained how his Universal MathML Style Sheet (UMSS) adapts an XHTML+MathML document for display within the user's particular browser. The UMSS associates an XSL stylesheet with the web page containing MathML mathematics. Before the browser displays the page, it invokes the attached stylesheet which detects the browser and its installed MathML display technology and transforms the page's content accordingly. The UMSS enables the author to publish in a single format while, at the same time, allowing for readers with a variety of browsers and MathML display technologies.
  • Roger Sidje of the University of Queensland, and principal developer of the MathML support in Mozilla and Netscape, gave an invited talk: "MathML amidst Open Web Standards: Mozilla's Building Blocks for Today and Tomorrow". Roger summarized recent events culminating in the availability of MathML support in the Mozilla browser and in the presumably more mainstream Netscape 7 browser. Roger also explained that the Mozilla project was not simply a browser but a content delivery platform that could be wrapped by application-specific code. He then went on to describe how this might be of use to the MathML community. This fits in well with our thesis, described in more detail above, that MathML display in browsers is just the beginning and that it enables much more in the way of adding value to online content.
  • At the time of the conference, MathML support was missing in Mozilla for the Macintosh platform. According to Roger Sidje, the missing piece was quite small but, because he did not have access to a Mac and had no experience in Mac programming, he could not easily supply this piece. This was distressing news to many attendees, including the authors of this report, as the Mac is an important platform, specially in education. At lunch on the second day of the conference, representatives of Design Science and Wolfram Research both offered to find a solution to this problem. Wolfram Research people offered to make the first attempt and, we are happy to report, were ultimately successful. As of this writing, support for MathML is now part of the Macintosh builds of Mozilla, and Roger Sidje claims there is a very good chance of it being included in the next release of Netscape 7.0.
  • One of the authors of this report, Robert Miner of Design Science, and an editor of the MathML Specification, presented "An Object Model for Dynamic Math". In this presentation, Robert addressed the problems of creating interactive, dynamic web pages using MathML. First, he provided a taxonomy of dynamic math on the web applications and enumerated the requirements implied by these applications. He then proposed a model consisting of three collections of objects: Equations, EquationControls, and MathServices. Finally, his prototype implementation was described. The kind of applications Robert's presentation talks about are from the realm of dynamic math on the web, as opposed to the static math on the web characterized by online presentation of scientific research. However, as we described above in our section on how MathML adds value to STM publishing, even static math can have some not-so-static uses.

Content MathML

As has been covered in earlier editions of this report and elsewhere, MathML consists of two complementary sub-languages, Presentation MathML and Content MathML [14]. Presentation MathML, as the name implies, is primarily concerned with the formatting of mathematical notation rather than its mathematical meaning. Content MathML, on the other hand, is primarily concerned with mathematical meaning rather than formatting. It was expected that conversions from one sub-language to the other be possible but with some loss of precision and information. (Such conversions have, in fact, been implemented.)

At the conference, the number of presentations devoted to Content MathML was surprising. It was as if it had been designated as the theme of the conference (it was not). On further reflection, perhaps this should not have been so surprising as:

  • Presentation MathML is essentially a rendering problem. As the "display of MathML in a browser" problem is mostly solved, dealing with Presentation MathML is largely a fait accompli.
  • Content MathML is closer to the heart of what MathML is intended to supply over other languages for describing math: it captures mathematical meaning and can be used as an exchange format for applications where maintaining mathematical meaning is paramount.

Although there were many presentations involving Content MathML, here are some of the more memorable ones:

  • Sam Dooley of IBM, and of Techexplorer fame, presented "Bringing MathML Content and Presentation Markup to the Web with the IBM MathML Expression Editor". In this paper, he described his prototype interactive MathML editor, code-named Zed. One of Zed's most important and powerful features is a customizable editing mechanism for Content MathML. The MathML community agrees that the association of mathematical notation with mathematical meaning needs to be customizable within an editor due to the open-ended nature of mathematics. This concept appears to have been embodied in Zed's design and, as far as can be determined in a demo of a prototype, appears to be heading in the right direction.
  • A team from Rice University presented "Connexions: MathML and Collaborative Curriculum Development in Engineering". This paper describes The Connexions Project [16], a "community-driven collaborative knowledge creation and dissemination project." This impressive project has created 600 "modules" for teaching concepts in electrical and computer engineering, computer science, and applied mathematics. At the core of this project is an attempt to replace the traditional units of pedagogical content (principally college textbooks) by smaller modules that teach a single concept or a closely related set of concepts. Such modules can more easily be combined to form the basis of a class or a book or an educational web site. They also are conducive to the association of metadata, such as placement in an accepted and well-understood domain-specific taxonomy (e.g., the two-part Latin species names used in biology, the Mathematical Subject Classification of the AMS [17]). This work, and other work like it, signifies a departure from traditional ways of creating educational content and, perhaps, represents the beginning of a paradigm shift in higher education publishing.
  • According to the OpenMath Society, its author, OpenMath [18] is "an emerging standard for representing mathematical objects with their semantics". Its relationship with MathML could be described as taking over where Content MathML leaves off in capturing mathematical meaning. It is expected that Content MathML will make reference to OpenMath Content Dictionaries in order to make mathematical meaning more explicit. OpenMath is a subject that, while not part of MathML, is very important to the MathML community. While there were not any papers specifically about OpenMath, it was the subject of a tutorial and a poster presentation and was mentioned in many papers. Also, the OpenMath and MathML communities overlap considerably as was reflected in the conference attendance.

MathML Web Services

Web services are a hot topic in modern computing. They allow web applications to exchange information, mostly using XML-based languages. XML provides a level of generality and independence that traditional proprietary formats do not. As MathML is an XML-based language and the W3C-recommended way to encode mathematics, it is naturally brought into play whenever mathematics is part of the information to be exchanged. Both the major vendors of computer algebra systems (CAS), Wolfram Research (Mathematica) [19] and Waterloo Maple (Maple) [20], presented papers describing web services involving a browser-based front end communicating with a CAS configured as a web service.

  • "webMathematica: How to Deliver Computational and Visualization Services from a Web Server"
  • "Essential Ingredients for Mathematical Content Deployment on the Web: The MapleNet Experience"

These efforts are significant for two reasons:

  • This use of a browser-based interface interacting with a CAS on a server is one of the primary examples of MathML use, as described in Robert Miner's paper, "An Object Model for Dynamic Math".
  • It is an example of MathML use within the larger world of Web Services. As there is a lot of attention being given by the computing industry to Web Services, it signals the movement of MathML into areas other than education and technical documentation.

MathML Research

It is interesting to note the broad range of research topics presented at the conference, much of it taking place at universities. The University of Western Ontario and the University of Bologna continue to be prominent in the amount of MathML related research performed and the number of attendees sent. Research was not limited to academic institutions, as can be seen in this list of interesting research papers presented at the conference:

  • "MathML in the MOWGLI Project", Andrea Asperti and Michael Kohlhase, Università degli Studi di Bologna and Carnegie Mellon University: This paper describes the MOWGLI [21] (Mathematics On the Web: Get it by Logic and Interfaces) project which attempts to establish "best practice" in the use of MathML, OpenMath, and various metadata standards in the context of publishing, digital libraries, and computational applications.
  • "Content-Faithful Transformations for MathML", Sandy Huerter, Igor Rodionov, and Stephen Watt, The University of Western Ontario: This paper addresses the ins and outs of conversion from Content MathML to Presentation MathML while retaining the mathematical structure represented in the Content MathML.
  • "What's the Use? Analysis of Real-World MathML and Web Browser Usage", Andrew Hunt, Wolfram Research, Inc.: Statistics were gathered from Wolfram Research's two web sites that contain MathML. Among the statistics reported are browser type and the frequency of specific MathML tags and character entities.
  • "Acquisition of Content: MathML in an Academic Setting", Michael Kohlhase, Matthew Szudzik, Dana Scott, Klaus Sutner, Andrea Kohlhase, and Peter Jansen, Carnegie Mellon University: This paper reports on The CCAPS Project [22] project. Like the Connexions project, the CCaps project explores the creation of a new way of packaging educational content that gives more emphasis to the creation, storage, and retrieval of educational units.
  • "An Interactive Mathematical Handwriting Recognizer for the Pocket PC", Bo Wan and Stephen Watt, The University of Western Ontario: This interesting paper reported on a project to create a real-time mathematical handwriting recognizer on a small hand-held computer. Although it was made clear that the system was not yet useable, it was interesting to the audience as an attempt to provide what is perhaps the holy grail of mathematics user interfaces.

News Round-up

This section spotlights important developments that have been announced since the most recent edition of the Status Report was published in January, 2002 [4]. The list may not be complete, and the authors apologize in advance for any omissions. Some of these items are covered in more detail in the part of this report devoted to the MathML Conference.   

  • MathML support is included in the Netscape 7.0 PR1 web browser. This means that many in the MathML community will be able to get a browser that supports MathML via the better supported and more widely available Netscape browser, rather than via Mozilla.
  • The Macintosh version of Mozilla now supports MathML. This has been a gaping hole in Mozilla's MathML support for some time. Now, due to the efforts of Wolfram Research personnel, with Roger Sidje's assistance, the gap has been filled. Roger feels that MathML support will be included in Netscape 7 for the Mac as well.
  • MathPlayer 1.0 enables MathML support in Internet Explorer. Design Science's MathPlayer MathML display engine for Microsoft's Internet Explorer browser has been in beta test since January 2002. As of this writing, beta 5 has just been released. By the time you read this, the final version of MathPlayer 1.0 should be available for free download.
  • MathType 5.1 [23] includes support for the Universal Math Style Sheet (UMSS) and improved translation to MathML. Expected to be shipping by the time you read this.
  • MathML Central [24] introduced. Wolfram Research, makers of Mathematica, introduced a web site that makes available several MathML tools: rendering MathML, plotting MathML, etc. The purpose of these tools appears to be a sales tool to demonstrate the power of Mathematica rather than something useful directly.
  • eCollege makes use of WebEQ in their latest course management system. According to their press releases [25], their new eCollege AU+ product includes an Equation Builder feature: "Powered by Design Science's WebEQ™ technology, this tool enables users to build and edit mathematic equations through the course-authoring environment with one-click access." See also [26].

References

[1] MathML, http://www.w3.org/Math;
[2] Second International MathML Conference, http://www.mathmlconference.org/2002;
[3] Adobe's Portable Document Format (PDF), http://www.adobe.com/acrofamily/main.html;
[4] Math on the Web Status Report (all editions), http://www.dessci.com/en/reference/webmath/status/;
[5] World Wide Web Consortium (W3C), http://www.w3.org;
[6] MathPlayer, http://www.dessci.com/en/products/mathplayer/;
[7] Microsoft Internet Explorer, http://www.microsoft.com/windows/ie/default.asp;
[8] WebEQ, http://www.dessci.com/en/products/webeq/;
[9] Mozilla, http://www.mozilla.org;
[10] Netscape 7.0 Preview Release 1 (PR1), http://channels.netscape.com/ns/browsers/7/default.jsp;
[11] Extensible Stylesheet Language (XSL), http://www.w3.org/Style/XSL/;
[12] Universal Math Style Sheet (UMSS), http://www.w3.org/Math/XSL/;
[13] "Strategies for Math on the Web", http://www.dessci.com/en/reference/webmath/strategies.htm;
[14] Tutorials of the Second International MathML Conference http://www.mathmlconference.org/2002/tutorials.html
[15] Presentation MathML and Content MathML, http://www.w3.org/TR/MathML2/chapter2.html#fund_overview;
[16] Connexions Project, http://cnx.rice.edu/;
[17] Mathematical Subject Classification of the AMS, http://www.ams.org/msc/;
[18] OpenMath, http://www.openmath.org/;
[19] Wolfram Research (Mathematica), http://www.wolfram.com;
[20] Waterloo Maple (Maple), http://www.maplesoft.com;
[21] The MOWGLI Project, http://www.mowgli.cs.unibo.it;
[22] The CCAPS Project, http://www-2.cs.cmu.edu/~ccaps/;
[23] MathType, http://www.dessci.com/en/products/mathtype/;
[24] MathML Central, http://www.mathmlcentral.com/;
[25] eCollege AU+ press release, http://www.ecollege.com/stories/press_08_14_02.html;
[26] eCollege Equation Builder press release, http://www.ecollege.com/stories/press_05_15_02.html.

- top of page -
Copyright © 1996-2008 Design Science. All rights reserved.   Contact us | Privacy statement