London Undersound & Oyster Challenge - My openHackDay apps

Last weekend I was lucky to attend Yahoo!’s OpenHackLondon. The event is a contest to see which team out of the hundreds of attendees can build the most interesting apps in 24 hours. 51 hacks were built, and I walked away with “Best Local Hack” for mine.

[photo by codepo8]

My Hack(s)

I spent the weekend experimenting with what could be done using the Oyster card. Most users of public transport in London use these cards to pay for travel. Whilst you travel around a log is kept of which stations you passed through at what times.

I built London Undersound on top of this. It let’s you see your travels in a number of ways, such as most frequent routes, recent trips, your probable home location, how many stops you’ve ever passed through and how many minutes you have spent on the tube in the past month. It even lets you import your last.fm data to see what music you were listening to whilst travelling.

Whilst getting feedback on this app Mark Ng pointed out that the most compelling item on the page was the tiny “Visited 17 stations out of 270 total”. So I built a second mini-app:

The Oyster Challenge

The Oyster Challenge lets you see how much of London you’ve travelled through. There’s a leaderboard to allow competing with others. It encourages people to break out of their routine and go exploring new areas of the city, turning London into a big adventure game.

I’m going to add twitter integration and pretty it up before unleashing it for people to play with. Let me know if you’d like to beta test it.

How It Works

The backend system is written in the Recess PHP framework connected to MySQL. The data is imported from Oyster via a greasemonkey script that runs when you log into your online TFL account. This avoids the password anti-pattern keeping the users data safer.

The design was inspired by the wide maps on Django People, the pretty charts on BBC Radio Pop and the standard TFL style.

The Future

I want to tidy up the code before releasing it. I’ll also be releasing a separate jQuery plugin that makes cross-domain post requests easier.

I’d like to continue improving the apps functionality. It gets interesting when there’s a lot of users and I can play with aggregate data. I could then see if the genres of music listened to differ between stations, eg Camden vs Sloan Square or what routes are most popular overall. Also bus journey integration would be nice.

I shall have to rename the app, since Undersound appears to be used already, and restyle the site to avoid complaints from TFL.

The Oyster Card.

Oyster Card is actually quite a nice platform to build upon. There is no official api but it’s ubiquitous across London. I’ve seen it used for a loyalty card scheme in restaurants, to generate snowflake graphics and to secure access to office space. It would be nice to wire it up to Fire Eagle but currently the location data is delayed by 48 hours to prevent tracking peoples current location.

The Hack Day

The hackday was wonderfully run. Food and drinks were plentiful and there were many smart interesting people to talk to. There was trouble with the wifi, which was quickly fixed by what seemed to be the yahoo’s ripping out their office infrastructure and replacing the conference venues own gear with it! The organisers were very quick at spotting potential problems and fixing them, even better than any paid conference I’ve been to. The only complaint I had of the event was the overly loud bands playing. I like to see bands perform, but during a coding session when people are trying to chat or concentrate is not the right time. At least the building didn’t flood like back in 2007!

Overall a great weekend, and I’m glad I made it throught the two days without sleeping. Looking forward to Music Hack Day now.

Update: You might be interested in another Oyster based app I made, FourTap, which lets you check in to Foursquare venues with an Oyster card

blog comments powered by Disqus