Firefox OS Math Virtual Keyboard Project

This is a little long description of my Math virtual keyboard proposal for GSOC.

Some screen shot of TeXZilla webapp demo with some math keys.

To try explain why I believe that Firefox OS need a math virtual keyboard it’s important that you know how math expressions can be virtually stored.

Plain text world

In the first years of the digital ages, when only a few can use a computer, the only way to store information was in plain text files or binaries.

In the last years of this world, Donald Knuth release TeX, a typesetting system with amazing mathematical support that use plain text files as input. For example, the following code represent the root of a quadratic equation.

$x = {{-b \pm \sqrt{b^2 - 4 a c}} \over {2 a}}$

TeX became very famous and still be using nowadays in many places, e.g. Wikipedia, because is one of the ways to store mathematical expressions in plain text.

GUI world

With the appearance of the personal computer and graphical user interfaces (GUI) we saw new ways to store information. Every program had their own file format/type that can only be read by the program that wrote it.

Screen shot of LibreOffice, example of GUI.

The great advantage of GUIs is to make easier to user execute some jobs. Instead of learning a “crip” language like TeX to write some mathematical expressions the user can clicks in some GUI and have the expression they want.

Web world

Today we want that many programs, in different devices, open the same file and for that some organizations wrote documents about how information must be stored. For mathematical expression one of this document is the recommendation wrote by W3C named MathML 3.0.

In the case of some devices, e.g. cell phones and tablets, we only have available a virtual keyboard what is bad because, normally, we don’t type as fast as we do in a real one but have the advantage of be easily customized.


In the previous months I and Frédéric work in a Javascript parser from TeX to MathML and some demos that use this parser. One of this examples is a mathematical expression notebook webapp for Firefox OS. Unfortunately, type TeX’s long commands is painful in current virtual keyboard and because of it we want to add math support to the keyboard.

Home of webapp demo with math keys prototype.

We could wrote the math virtual keyboard in a another app but we believe that the user experience will be better with native support and other apps could take advantage of this feature.

Current native keyboard in our demo.