A while back Lothian Buses fitted some fancy GPS tracking to all of their fleet enabling real-time tracking. Then LCD screens appeared at (selected) bus stops giving you a list of incoming buses and their ETA. All very clever. Then, at last they launched a web site which gave access to the same data: mybustracker.co.uk.
I think that making the website resemble the signs from the street is a poor design choice. Why not work with the medium you are presenting information over (the web) rather than trying to make it resemble something else? They constrain information into a tiny space, put it in a stupid font, make the background looks like all lcd-y, use excessive popups and it takes forever just to get to the basic information.
In shock news, this isn’t just a whiny post with no actual action. I present the beginnings of a “Bus Tracker API”. Think of it as a “cleaning” of the data for a fresh beginning. If we can get clean data out of the system then we can build a clean interface on top of it. My API is REST-ful and inspired by the flickr API. I have one method so far “bustracker.departures.getNext” which takes one parameter: the bus stop code. It shows you all of the incoming departures for a given bus stop. Here it is working for the stop nearest my flat. Feel free to change to bus stop code to another one by digging around the Bus Tracker website. I’ll hopefully have some other, more useful methods done soon and maybe some nifty google maps visuals…
Update: Source code now browsable at: http://trac.ollyjackson.com/bustracker/browser/trunk
Warning: Invalid argument supplied for foreach() in /usr/local/vhosts/ollyjackson.co.uk/wordpress_svn/trunk/wp-content/themes/cyber-junky/theloop.php on line 23

This is a great new API. Once all the bus stop codes are in the OSM data, I’m sure it will be easier to use the osm maps instead of the Google Maps that they supply.
by Shaun McDonald - June 29th, 2008 @ 9:17 pmBloody genius! I totally agree with your points about the mybustracker design - so unusable.
What I want to know though, is will your API actually report the ACTUAL FREAKING TIME THE BUS WILL ARRIVE AND NOT MAKE ME MISS IT EVERY TIME?
Somehow I doubt there’s much you can do about that one!
by Alex - July 2nd, 2008 @ 10:33 pmBTW, have you thought of writing an iPhone app with this?
by Alex - July 3rd, 2008 @ 9:42 pmYeah, considering it. I really need to write some more useful methods before getting distracted by the shiny stuff
by Olly - July 9th, 2008 @ 3:57 pm[...] horrible, in fact, that I’m not the only person to have issues with it, or to try writing a slightly more friendly interface to it. Olly Jackson has started writing a [...]
by Looking Out To Sea » Bus tracker user application (Haskell) - July 24th, 2008 @ 7:31 pmThanks for the handy API Olly. The lack of anything on the mybustracker site quite odd as on the partners page they include this aim:
by Kes - November 28th, 2008 @ 12:33 pmencouraging businesses to provide BusTracker information in the workplace through real-time signs and intranet facilities
Surely an API would make it easier for others to consume the information and share it with employees ?