If you have never used XPP before, we strongly recommend you download a copy (http://www.math.pitt.edu/~bard/xpp/download.html) and try it out! There is plenty of documentation (http://www.math.pitt.edu/~bard/xpp/help/xpphelp.html) and hundreds of example ODE files (http://www.math.pitt.edu/~bard/xpp/odes/). If you have any questions, don't hesitate to contact either of us: bard@pitt.edu or ashutoshmohan@gmail.com. If you have any ideas other than the ones below, let us know!
Idea 1: Web port
The overall goal of this project will be to port XPP so that it runs as a web application. The web application should mimic all aspects of the desktop and web versions of XPP.
Idea 2: Android port
This will be similar to the XPP iOS port.
Both the above projects will be along the following lines.
Phase 1: Batch mode
User uploads an ODE file with any additional data files.
Gets back the results as a text file
For phase 1 you will need to be able to set up a server and get the core XPP code to compile, run and serve requests (for idea 1).
Phase 2: Batch mode with plotting
Can plot results in either the browser (idea 1) or the device (idea 2)
Can tweak the plot, change plot settings (what to plot, colors etc.) and export as image.
For phase 2, you should be able to set up plotting (probably using something like (http://whiff.sourceforge.net/).
Phase 3: ODE editor + separate sessions for users
Users should be able to sign up/login and save ODE files in the server. (idea 1)
Editor to type in ODE files.
Autocomplete, error reporting, export files.
Run ODE files
Phase 4: Implement nullclines, direction fields, 2D/3D graphing settings, graph size settings, numerics settings.
Most of these variables can be set/get using the core XPP library.
Should rethink XPP GUI for web applications (idea 1) and android (idea 2; though this one might not be too hard. We are expecting the android interface will mimic as much as possible the iOS interface).
All functions should be accessible using shortcuts.
Phase 5: Implement animations, SET files, array plots. Testing
Most of these functions can be easily accessed from the core XPP library.
The web application should work on all major browsers (idea 1) and major devices (idea 2).