I like Caltrain. However, using the traditional paper schedules is hard; you can generally expect to take a minute to determine when the next train will run. This is where software can help.
I started on the Python version since I wanted a schedule for my Cingular 8525 PDA/smart phone running Microsoft Windows Mobile device after I had migrated away from a PalmOS device which had a great Caltrain schedule application. It was the inspiration for me starting this project.
The GUI is done using the Tkinter package. Unfortunately Python doesn't run very well on Windows Mobile, which lead me to start working on the Javascript version (see below).
It would be interesting to see if the Python versions works well on OpenMoko. PyGTK might be a better option than Tkinter in that case, at least if I am reading the OpenMoko Python page right.
CaltrainPY version is available from the Python Package Index aka Cheeseshop, just easy_install caltrain.
The Python version can also work as a library to screen scrape the online Caltrain schedules and provide output in various formats, including JSON.
I used the JSON output from CaltrainPY as basis for the Javascript version. The main targeted platform is Microsoft Windows Mobile 6, but it works equally well in desktop clients and should work in WM 5 as well. Unfortunately the experience is not good in an Apple iPhone, but since I don't have an iPhone I haven't been able to debug the issues fully. Any help with iPhone support appreciated.
The Javascript version is available online at caltrain.heikkitoivonen.net.
The source code is available under the MIT License.
The source is available from Subversion at http://svn.heikkitoivonen.net/caltrain/trunk/
If you notice any problems or have suggestions for improvement, please let me know. --Heikki Toivonen.