3808
Comment: First import from SageUsability.
|
4755
Continued import.
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
== General Must-Read == | == General == |
Line 8: | Line 8: |
* [[http://groups.google.com/group/sage-devel/browse_thread/thread/258c07ae672a3617 | Sage Forge]]. |
|
Line 74: | Line 76: |
* Keys: intuitive, splash-screen. | * Keys * Insert new cell after current cell. * Use js-hotkeys. * Splash-screen with common keys. |
Line 90: | Line 95: |
* Cells: Select, delete, (un)group, move [[http://boagworld.com/demos/sitemap/ | multiple cells]]. * Published worksheets: * RSS feeds. * Live cells, e.g, interacts. * jsMath fonts: * Ship with Sage. * Clear install directions. * TinyMCE [[http://groups.google.com/group/sage-devel/msg/e2eb3f848a21faa3 | synchronization]] [[http://groups.google.com/group/sage-devel/browse_frm/thread/4cd1cc188470c723/c2477e1bdba68028?q=tinymce+bug+group:sage-devel#c2477e1bdba68028 | problem]]. |
|
Line 104: | Line 121: |
* Migrate to another server and/or framework: [[http://docs.djangoproject.com/en/dev/ | Django]], [[http://pylonshq.com/ | Pylons]], [[http://pyjs.org/ | Pyjamas]], [[http://www.tornadoweb.org/ | Tornado]], etc. * [[http://routes.groovie.org/ | URL routes]]. |
|
Line 106: | Line 127: |
Sage Usability Tasks
Source: Sage Usability Improvements List. This is an attempt to organize the desired changes into tasks of varying difficulty (e.g., easy, medium, hard).
1. General
Y. Aner's notebook threat model (PDF).
2. Documentation
3. Notebook: Admin
- Dashboard for server settings / status.
- View logged-in users, load, processes, etc.
- Backup all critical data.
- Configure thresholds, alerts, snapshot behavior.
- Manage user accounts, groups, privileges.
- Restricted version for users.
Selective registration with reCAPTCHA, challenge questions, admin approval, and/or revokable custom codes.
- Custom authentication: LDAP, UNIX accounts, etc.
- Recovery passwords.
- Email address as username.
- User groups.
- Privileged users, e.g, admins.
4. Notebook: Introspection
- Use Sphinx for sagenb.org docstrings.
- Live introspection cells.
- Introspection cross-links.
New documentation browser. Send docstrings to this browser.
- Better error detection, e.g., for Maxima command completion.
Matrix B mentioned twice in B.solve_left?: B.solve_left(B, ...).
5. Notebook: Special modes
Graph editor - #1321.
- reST editing.
%rest cells (auto-hide, double-click to show) sent to Sphinx on-the-fly.
6. Notebook: User Interaction
- Automatic tips for keyboard shortcuts, editing features, etc. Opt out.
- Friendly bug buddy that emails reports, bundles session history, etc.
- Easy backups of own work, with or w/o data, output, snapshots, etc.
- Toolbar with buttons to interrupt running code, save, get key help, etc.
- Easily identify idle, queued, and running cells.
- Keys
- Insert new cell after current cell.
- Use js-hotkeys.
- Splash-screen with common keys.
- Interactive 2D/3D plots
coordinates, zoom, pan, annotate
matplotlib, canvas, SVG, Flot, Open Flash Chart.
Animated 2D/3D plots using only JavaScript.
- Always show long output links, regardless of interrupt or length.
- Custom window close callback.
- Suppress browser warning for Konquereor.
- Unique cookie for each login.
Cells: Select, delete, (un)group, move multiple cells.
- Published worksheets:
- RSS feeds.
- Live cells, e.g, interacts.
- jsMath fonts:
- Ship with Sage.
- Clear install directions.
TinyMCE synchronization problem.
7. Notebook: Under the hood
- Smartly manage Jmol applet count, or memory use.
- Cythonize pexpect.
- Client-server synchronization: TinyMCE problem, fail-over servers.
- Balance server pool loads.
- Load JS / CSS components on demand.
Migrate to another server and/or framework: Django, Pylons, Pyjamas, Tornado, etc.