Skip to main content.

Since Umm is still in the beta phase, and is largely experimental in many ways, many important features may be left for the future.

Improvements for version 1.0

Get GTKMathView in full working order as a renderer
On our test systems, we had extensive issues trying to get the Umm using GTKMathView to properly render equations that included characters outside of Latin-1. This is the most significant known issue with the software.

Make transformations completely DOM-based
Parts of the current architecture transform the document through string manipulation, as it was felt that the DOM may be too expensive for large documents. However, some later changes the architecture have made this irrelevant. In the next release, Umm should only use the DOM for document manipulations.

Switch database over to Pear::DB
It was felt that Umm should have as few prerequisites as possible, so a quick-and-dirty database abstraction layer is provided with Umm. However, future versions will use Pear::DB, and provide support only for MySQL if the user does not wish to install pear.

Improve data on Browser CSS behaviour
Since browsers vary somewhat in how a given page is displayed, data on various browsers is necessary to match equations to their surroundings when they are rendered to images. However, we only currently have data on a limited number of browsers.

Add support for SVG
Umm's architecture could easily be adapted to also handle SVG. Thus, by 1.0 Umm could also support XHTML+SVG and XHTML+MathML+SVG documents (so long as XHTML is the host language). The primary obstacle would be in SVG which contains XHTML sub-elements, which may not be supported.

Client-Side CSS Evaluation
Use getComputedStyle for those browsers known to support it.

Synura/Hypotrich

Significant parts of Umm are not suited for implementation in PHP. The CSS engine especially belongs in a language more like C. Two options are currently being worked on to address this which will make Umm, or something like it, suitable for more high-traffic pages. First, Umm may be significantly more capable if it instead relied on a PHP extension for the parsing and evaluation of CSS, possibly using libcroco (Synura). Also, we are currently working on a C/C++ based framework for performing the kinds of transformations that Umm does (Hypotrich). Part of this framework will be the ability to use these transformations as an apache filter, which would replace Umm (at least for users who have administrator access on their servers). However, in order for this to replace Umm, we'd have to perfect our data on the MathML capability of various browsers, or find a foolproof way of automatically inserting the selection menu.