|
We collect potential features. This is not a discussion area but a presentation area for review. Each feature should be accompanied by a short description outlining its purpose and functionality (possibly [a user story](https://en.wikipedia.org/wiki/User_story)).
|
|
We collect potential features. This is not a discussion area but a presentation area for review.
|
|
|
|
|
|
|
|
|
|
|
|
The future development tasks for MathJax fall into three broad
|
|
|
|
categories that are closely intertwined.
|
|
|
|
|
|
|
|
1. Continuing the original project goals
|
|
|
|
2. Adapting to the constantly evolving state of art on the web
|
|
|
|
3. Expanding our goals
|
|
|
|
|
|
|
|
The following is out of our development backlog. The color codes
|
|
|
|
indicate how they relate to the overall goals. The asterisks give an
|
|
|
|
indication of each deliverable’s complexity.
|
|
|
|
|
|
|
|
1. Completing the MathML implementation
|
|
|
|
|
|
|
|
1. elementary math O (\*\*)
|
|
|
|
2. more mtable attributes (e.g., rowspan, colspan) O (\*\*\*)
|
|
|
|
3. in-table alignments O (\*\*\*)
|
|
|
|
4. right-to-left support OO (\*\*)
|
|
|
|
5. improve annotation-xml OO (\*\*)
|
|
|
|
6. improving ContentMathML support O (\*)
|
|
|
|
|
|
|
|
2. Speed Improvements
|
|
|
|
|
|
|
|
1. “simple” (fast but lower quality) HTML-output OO (\*\*)
|
|
|
|
2. Caching APIs for local storage and mobile device storage OO (\*\*\*)
|
|
|
|
3. Move towards “jquery of math” by implementing a “tweaked” native
|
|
|
|
MathML output that works around browser implementation deficiencies.
|
|
|
|
OOO (\*\*\*)
|
|
|
|
4. server-side preprocessing (TeX to MathML, MathML to SVG etc) OO
|
|
|
|
(\*\*\*)
|
|
|
|
|
|
|
|
3. Accessibility
|
|
|
|
|
|
|
|
1. Add APIs for accessibility tools (AT) to interact with MathJax
|
|
|
|
rendering as if it was native MathML. This includes
|
|
|
|
|
|
|
|
1. compatibility to user style sheets (used for improved readability)
|
|
|
|
OO (\*)
|
|
|
|
2. interact with accessibility preferences coming from AT O (\*\*)
|
|
|
|
3. handing MathML over to AT O (\*\*)
|
|
|
|
4. embed speech-text generation from AT O (\*\*)
|
|
|
|
5. enable synchronized highlighting O (\*\*\*)
|
|
|
|
6. enable user navigation O (\*\*)
|
|
|
|
|
|
|
|
2. basic math-speech extension
|
|
|
|
|
|
|
|
1. collaborating with other open source solutions from Benetech and
|
|
|
|
Google’s ChromeVox O (\*\*\*)
|
|
|
|
|
|
|
|
3. accessible MathJax menu O (\*)
|
|
|
|
4. embedding alternative source formats of math (TeX, MathML, OpenMath,
|
|
|
|
computer algebra notation) O (\*\*)
|
|
|
|
|
|
|
|
4. Outreach activities O
|
|
|
|
|
|
|
|
1. Math accessibility workshop at AIM O (\*\*)
|
|
|
|
2. MathJax community meetups -- virtual and real-life O (\*\*)
|
|
|
|
3. MathJax in education (web literacy, authoring, annotation) O (\*\*)
|
|
|
|
4. MathJax in authoring tool chains for research and publishing O
|
|
|
|
(\*\*\*)
|
|
|
|
|
|
|
|
5. Content Testing OO
|
|
|
|
|
|
|
|
1. server side testing OO (\*\*\*)
|
|
|
|
2. production environment testing OO (\*\*\*)
|
|
|
|
3. enable MathJax outside the DOM (\*\*\*)
|
|
|
|
|
|
|
|
6. Internal Testing
|
|
|
|
|
|
|
|
1. fuzz testing OO (\*\*)
|
|
|
|
2. integrating MathJax testing into other testing environments O
|
|
|
|
(\*\*\*)
|
|
|
|
|
|
|
|
7. Interface improvements OOO
|
|
|
|
|
|
|
|
1. better interface on mobile devices O (\*\*\*)
|
|
|
|
2. improving copy&paste (share mechanisms, microdata, rdf) OO (\*\*)
|
|
|
|
3. improve discoverability of math on the page OO (\*\*)
|
|
|
|
4. menu extensions
|
|
|
|
|
|
|
|
1. search menu (enabling math search engines such as symbolab, wolfram
|
|
|
|
alpha, Springer LaTeX search etc) O (\*)
|
|
|
|
|
|
|
|
8. Fonts OO
|
|
|
|
|
|
|
|
5. Asana fonts OO (\*\*)
|
|
|
|
6. DejaVu fonts OO (\*\*)
|
|
|
|
7. crowdsource font-metric generation for local fonts O (\*\*\*)
|
|
|
|
8. find ways to make use of commercial local fonts that we can’t
|
|
|
|
deliver as webfonts but which are ubiquitous O (\*\*)
|
|
|
|
|
|
|
|
1. Lucida Sans
|
|
|
|
2. Apple symbol fonts
|
|
|
|
3. Arial unicode
|
|
|
|
|
|
|
|
9. Output extensions OO
|
|
|
|
|
|
|
|
9. Canvas output OO (\*\*\*)
|
|
|
|
10. VML output for old IE OO (\*\*\*)
|
|
|
|
11. fluid output choice (content-dependent choice, mixed output modes) O
|
|
|
|
(\*\*\*\*)
|
|
|
|
12. “tweaked MathML” output (\*\*\*)
|
|
|
|
|
|
|
|
10. Input extensions OOO
|
|
|
|
|
|
|
|
1. crowd-sourcing TeX-macro extensions O (\*\*)
|
|
|
|
2. integrating XyJax (mixed), mathapedia (PStricks), graphing tools
|
|
|
|
(d3.js, three.js, asciisvg), computer algebra tools (e.g. Sage Cell,
|
|
|
|
R-notebooks, ipython notebooks) OO (\*\*)
|
|
|
|
|
|
|
|
11. Documentation OOO
|
|
|
|
|
|
|
|
1. building more community involvement OO (\*\*)
|
|
|
|
2. good code examples, moving towards a proper SDK OO (\*\*\*)
|
|
|
|
3. document plugin using MathJax in other systems, e.g., CMS, LMS. OO
|
|
|
|
(\*\*\*)
|
|
|
|
|
|
|
|
12. Native browser MathML development in Gecko and WebKit O
|
|
|
|
|
|
|
|
1. This would be a major expansion of our mission -- but an overdue
|
|
|
|
one.
|
|
|
|
2. re-enabling MathML support in Chrome / Blink (\*\*\*\*)
|
|
|
|
3. Developing Gecko/Firefox at least on the level that allows us to
|
|
|
|
keep a “tweaked” MathML output. (\*\*)
|
|
|
|
4. Continuing WebKit implementation.
|
|
|
|
5. 6. 7. 8. NEED: list of features in FF & webkit, rough development
|
|
|
|
plan etc
|
|
|
|
|
|
|
|
13. Outreach to other sciences
|
|
|
|
|
|
|
|
1. CML (chemistry) O (\*\*\*)
|
|
|
|
2. CellML (computer modeling in biomed) O (\*\*\*)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## User stories
|
|
|
|
|
|
|
|
Collecting [user stories](https://en.wikipedia.org/wiki/User_story)).
|
|
|
|
|
|
### Localization
|
|
### Localization
|
|
|
|
|
... | | ... | |