2 Firefox OS

2.2 Math Suite

According to Wikipedia, “an office suite […] is a collection of productivity programs intended to be used by knowledge workers”. Similarly, we would like to develop a “Math Suite”, that is a collection of software tools intended to be used by someone who makes intensive use of math.

The basic components of a Math Suite are a text processor with math support and a symbolic math programming language, like Mathematica, but the suite could also have:

  • copy & paste;

  • search engines for math expressions;

  • a WYSIWYG math editor;

  • markup converters (e.g. LaTeX to MathML and MathML to LaTeX);

  • handwriting recognition;

  • a 2D drawing tool that helps with, for example, demos/2-mathml-in-svg.svg;

  • a 3D drawing tool that helps with, for example, demos/6-mathml-in-webgl.html;

  • a scripting tool that helps with, for example, demos/3-mathml-javascript.html;

  • accessibility to users with disabilities;

  • a virtual keyboard for math

  • and more.

Many of the applications, whether or not they are part of the Math Suite, share a set of functions. For example the search engine can be used by a text processor and by an ebook reader. Having these functions available in an open source Javascript library will make easy to develop new Web applications that can be customized into standalone applications to run on desktop and mobile devices. Figure 1 illustrates some of the applications that can compose the Math Suite, the features made available by the Javascript Library and which feature is used by which application.

Copy/Paste

Insert

Interact

Search

Math Javascript Library

Editor

2D Drawer

Animation

Reader

Math Suite


Figure 1: Illustration of Math Suite.

The authors of this work started writing this Javascript library as small independent modules together with some prototype demos that use them. The prototypes described below were developed for Firefox OS but also work with any browser that supports HTML5 with MathML and are available on the Firefox Marketplace.

One of the authors will also implement a virtual keyboard for Firefox OS as part of the 2014 edition of Google Summer of Code [Bugzilla1004057]. So far the most used method to input math on the Web is LaTeX, e.g. Wikipedia and phpBB. Unfortunately typing LaTeX code on a mobile device is hard because to access some useful characters, e.g. ^, _ and \, the user needs to switch the keyboard. This virtual keyboard project is intended to help writing such mathematical expressions faster.