Hello, Within one year, I would like to push for SAGE to have at least ten thousand serious users instead of only a few hundred users (I estimate there are < 400 users of SAGE in the world today). I think the following are the main priorities if we want to make this happen:
1. Installation: - LINUX: We need .deb source and binary package for Debian/Ubuntu-based Linux machines that installs sage to /opt/sage. A minimum requirement for this package is that absolutely anybody on a Debian system with the appropriate Debian package tools can create this deb, e.g., by typing something like "sage -bdistdeb filename.deb"; no further work should be needed. - LINUX: We need an .rpm src and binary package for Redhat-based systems. The issues are similar to for a deb. - OS X: We need an .app bundle for SAGE, i.e., a way to create a .app directory structure, so users get a single icon that they can drag anywhere, e.g., their /Applications folder. Double clicking on the icon should start a SAGE notebook server and pop up a copy of SAGE running in Firefox, or complain that Firefox must be installed. The notebook server should just run in the background, and should turn itself off if it isn't used for 1 hour. The SAGE Notebook should very clearly report what happens if the notebook server disappears. It is critical that either this .app bundle be creatable on OS X in an automated fashion that anybody with OS X and xcode can do by typing "sage -bdistosx filename-2.4.2.pkg" say. - MS Windows: We need a .msi installer that installs cygwin and SAGE together to a uers's directory. Gary Zablackis used to make one of this, but he is no longer contributing to SAGE, unfortunately. Nobody has volunteered to take over. Creation of this installer should be as automated as possible, optimally do-able entirely from SAGE/Cygwin by typing a command in SAGE or from Cygwin. 2. The Notebook: - It *needs* to be redone using Twisted, or at least some sort of more robust multi-threaded or asynchronous I/O model that supports ssl connections. - There are several major problems with the GUI that need to be addressed: * The edit mode has two problems: (1) images aren't preserved; (2) one can't always insert new cells between html text. * The textarea's need to be replaced by a full-fledged code editor with syntax highlighting, autoindent, etc. Tom Boothby is working on this. * Saving and loading of worksheets needs to be revamped. * Printing should use pdflatex, etc.; this would look vastly better. Also, export (and import) of worksheets and notebooks to latex should be trivial. - Full text doc and source search needs to be optimized. I just wrote a 2-liner using grep, but Alex Clemesha has some good SQLite code that should replace this. Alternatively, maybe there is an indexing extension to grep (??). 3. Symbolic Calculus: - Aside from section 1 above on installation, this is the most important thing for SAGE to be useful to a wide range of people. - A first release of this is very close. I would have released it already, but when stress testing Bobby's latest version I quickly discovered some issues with the Maxima <--> SAGE interface that have to be resolved, probably via some very unpleasant and tricky pexpect hacking. :-( - Making Symbolic Calculus fast and robust enough is going to require some very serious work and minimizing or eliminating dependence on Maxima. Fortunately symbolic computer algebra is fairly well studied and well understood... 4. Bugs: - SAGE still has way way too many bugs. - The patch referee system is helping greatly so far. Many thanks for all the volunteers who have helped with this! - Everybody who considers sending me code -- please, please, please strive for the absolutely highest quality you can. Write doctests for every function. Create a TESTS section in docstrings with even more tests. Create an automated testing function. Etc. 5. Publicity: I think what is needed to grow the user base to > 10K is the following: - Please, write journal articles, books, and papers (both research and aimed at undergrads) that have snippets of SAGE code or mention how to use SAGE. Naturally, I'm doing this a lot (my modular forms book has SAGE code, and I'm redoing my elementary number theory book to use SAGE before it gets published), etc. If you write foo.tex with SAGE code in verbatim blocks, you can do "sage -t foo.tex" and it will doctest your file for you. - Articles like the blog post Georg wrote recently are excellent publicity. - We should create a nice general and very pretty SAGE poster, then print up a few hundred and send them to all people on sage-devel to post in their places of employment, etc. - Give talks at conferences and mention SAGE. 6. Commutative Algebra and Linear Algebra: - Martin Albrecht is doing excellent work laying the groundwork to make polynomial arithmetic, etc., in SAGE superb. - Linear algebra is also going reasonably well, in that the overall situation is finally reasonably good, after a year of serious pain. ----- Most development work on SAGE right now is on advanced research-related algorithms, not on the issues listed above. I'm very proud of this work, and I see it as our greatest strength -- it distinguishes SAGE as a technology from Maple/Mathematica/MATLAB. Keep up the great work! If you're interested in seriously helping with anything listed above (or have a student who can -- most work on the above points so far has been done by undergraduates!), please reply to this email and explain your interest, or email me. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [EMAIL PROTECTED] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---