I mentioned before that I’m working on a new project that combines two big interests of mine, programming and running.
Whenever I run I use a Garmin device for timing and recording. It’s GPS-enabled, so also tracks my location, evelation, speed and pace. It also has a wireless heart-rate monitor. Once I’ve completed a workout, it’s logged in the desktop software they provide, to track my progress and compare with similar activities.
It also provides an option to export the activity as an XML file. This is usually for transferring to other devices, but as a developer, presents a huge opportunity to mess around with the data.
Plenty of people have created mashups with run data (usually map-based) and I’ve often wanted to try my hand too.
I’ve entered the ballot for the London Marathon for the past three years but haven’t ever been successful. I figured if I ever did run, the race would give me a huge volume of data to play with — and besides, would would be far too big an occasion to pass up doing something.
I was unsuccessful this year too, but a friend of mine gained a last minute place at the end of January, so the spotlight turns to her to be the star of the show.
Gemma doesn’t train with a Garmin, she uses the RunKeeper Elite iPhone app which records the same kind of data, so we can perform the same kind of analysis.
Brilliantly, it also publishes the activity to the RunKeeper website live as she’s running.
Where my data would be only accessible after the race, to manipulate and visualise after the fact, her data will be readily available as the marathon is being run.
This means we can map her progress around the course on race day, tracking her position, so we’re able to watch from home or on a mobile device at the event. We will have real-time access to her elapsed time, total distance and metrics like current pace, so we can keep up-to-date with her performance as the race is run, rather than retrospectively look back on the result.
RunKeeper isn’t the only toy to play with.
Gemma is running the race for the charity Rett UK and hopefully, if the application is interesting enough, we can drum up some additional fundraising contributions. She has a Just Giving page, who offer an API to access their data. We can show to-the-minute fundraising levels and take donations from our site.
She’s also inseparable of her iPod when running and has asked friends to contribute tracks to a race day playlist. We’re considering using either the Soundcloud API or Mixcloud API to stream this playlist on the site, synchronised with her start time so visitors can hear exactly what she’s listening to.
Knowing when and where she is on the course, we are able to Tweet updates such as mile paces and intermediate timings, when she’s passed notable landmarks or approaching the finish line. Collecting good-will tweets is also pretty easy with a hash tag or mention.
Another idea is to pull in photos taken on the day, using the time and location data around busy spectator spots. For example, Instagram have recently released an API to retrieve their geolocated pictures.
By querying the API at certain locations at the time we know Gemma has passed them, we can create our own gallery of Where’s Wally style photos in case anyone paps her — if not, we’re left with some nice pictures of the race.
So an assortment of APIs to play with, we should be able to produce something pretty cool. I’ll likely be blogging my experiments with each platform, none of which I’ve worked with before — other than Twitter, back when it was Basic Auth.
Less than three weeks to go, can’t be as hard as actually having to run the twenty-six miles can it?