|
|
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 (\*\*\*)
|
|
|
|
|
|
|
|
|
* Completing the MathML implementation
|
|
|
* elementary math
|
|
|
* more mtable attributes (e.g., rowspan, colspan)
|
|
|
* in-table alignments
|
|
|
* right-to-left support
|
|
|
* improve annotation-xml
|
|
|
* improving ContentMathML support
|
|
|
|
|
|
* Speed Improvements
|
|
|
* “simple” (fast but lower quality) HTML-output
|
|
|
* Caching APIs for local storage and mobile device storage
|
|
|
* Move towards “jquery of math” by implementing a “tweaked” native MathML output that works around browser implementation deficiencies.
|
|
|
* server-side preprocessing (TeX to MathML, MathML to SVG etc)
|
|
|
|
|
|
* Accessibility
|
|
|
* Add APIs for accessibility tools (AT) to interact with MathJax rendering as if it was native MathML. This includes
|
|
|
* compatibility to user style sheets (used for improved readability
|
|
|
* interact with accessibility preferences coming from AT
|
|
|
* handing MathML over to AT
|
|
|
* embed speech-text generation from AT
|
|
|
* enable synchronized highlighting
|
|
|
* enable user navigation
|
|
|
* basic math-speech extension.
|
|
|
* collaborating with other open source solutions from Benetech or Google ChromeVox
|
|
|
* accessible MathJax menu
|
|
|
* embedding alternative source formats of math (TeX, MathML, OpenMath, computer algebra notation)
|
|
|
* Outreach activities
|
|
|
* Math accessibility workshop (AIM)
|
|
|
* MathJax community meetups -- virtual and real-life
|
|
|
* MathJax in education (web literacy, authoring, annotation)
|
|
|
* MathJax in authoring tool chains for research and publishing
|
|
|
* Content Testing
|
|
|
* server side testing
|
|
|
* production environment testing
|
|
|
* enable MathJax outside the DOM
|
|
|
* Internal Testing
|
|
|
* fuzz testing
|
|
|
* integrating MathJax testing into other testing environments
|
|
|
* Interface improvements
|
|
|
* better interface on mobile devices
|
|
|
* improving copy&paste (share mechanisms, microdata, rdf, shadow dom, web components)
|
|
|
* improve discoverability of math on the page
|
|
|
* menu extensions
|
|
|
|
|
|
* search menu (enabling math search engines such as symbolab, wolfram alpha, Springer LaTeX search etc)
|
|
|
* Fonts
|
|
|
* Asana fonts
|
|
|
* DejaVu fonts
|
|
|
* crowdsource font-metric generation for local fonts
|
|
|
* find ways to make use of commercial local fonts that we can’t deliver as webfonts but which are ubiquitous
|
|
|
* Lucida Sans
|
|
|
* Apple symbol fonts
|
|
|
* Arial unicode
|
|
|
* Output extensions
|
|
|
* Canvas output
|
|
|
* VML output for old IE
|
|
|
* fluid output choice (content-dependent choice, mixed output modes)
|
|
|
* “tweaked MathML” output
|
|
|
|
|
|
* Input extensions
|
|
|
* crowd-sourcing TeX-macro extensions
|
|
|
* integrating XyJax (mixed), mathapedia (PStricks), graphing tools (d3.js, three.js, asciisvg), computer algebra tools (e.g. Sage Cell, R-notebooks, ipython notebooks)
|
|
|
|
|
|
* Documentation
|
|
|
* building more community involvement
|
|
|
* good code examples, moving towards a proper SDK
|
|
|
* document plugin using MathJax in other systems, e.g., CMS, LMS.
|
|
|
* Native browser MathML development in Gecko and WebKit
|
|
|
* re-enabling MathML support in Chrome / Blink
|
|
|
* Developing Gecko/Firefox at least on the level that allows us to
|
|
|
keep a “tweaked” MathML output.
|
|
|
* Continuing WebKit implementation.
|
|
|
|
|
|
* Outreach to other sciences
|
|
|
* Chemistry: chemdoodle, kitware
|
|
|
|
|
|
|
|
|
|
... | ... | |