This is a guest post from Nic Wise, creator of London Bike App – for the London cycle hire scheme, who is using our routing interface in his app. We asked him to tell our readers about his app, as it's another of our favourite apps of the seven(!) that have been released! He doesn't mention it, but there's also an ingenious surprise that you get when using the app … Well worth a download!
When I first thought about designing London Bike App (iTunes link: http://bit.ly/ldnbikeapp), I came up with a few simple things that I wanted in a mobile cycle app. First, I wanted to find bikes that were close to where I was right now. Second, how to get from where I am (with or without a bike) to somewhere that has bikes (or places to put a bike)? And lastly, how do I do this without getting charged (or keeping charging to a minimum)?
The main focus was always on the user riding the bike, not the user using the app. How can I get the user to a bike, on a bike, and then back to a dock with the minimum of fuss and cost?
After 2 releases, that's pretty much exactly what London Bike App does. It's not the all-singing cycle app, it's very much focused on the casual user, someone who thinks "oh, I need to go there, lets use a bike", and as such, I think the interface is simpler and easier to use for it.
There are a couple of things I still want to add, but most of those sit around this core design goal of "nearest available bike/dock to me, right now". Some people have asked why I am charging for this app. The reason is very simple: 59p is a very small amount, and it means I can dedicate some (normally paid) time to making the app the best it can possibly be.
Adding routing was something I was a little apprehensive about. I'd not used the iPhone MapKit before (which provides a lot of the grunt work for doing maps, scrolling, caching and annotation, from pins to lines to anything you can draw), or a routing engine like CycleStreets. In the end, it was quite easy – the integration between the iPhone (Google) maps and the OSM-derived CycleStreets map couldn't have been better.
CycleStreets provides a nice list of lat/lon coordinates (and a load of other stuff, which I didn't need – and thanks to Martin for creating as an API option the removal of the extra metadata, which made the download 95% smaller), and MapKit just happens to take in a set of lat/lon coordinates, so it was an easy fit. In the end, adding routing took about a day from "who even provides this data?" to fully working and debugged code. I think it's a tribute to CycleStreets API and site just how quick and easy this was.
One of the other features – unique at release, but since added to a number of other apps – is the timer. The cost of using the bikes goes up quite sharply when you go over the free period, so a timer was always a major feature from day one. One still-fairly-unique point of the timer in London Bike App is that it works even if your phone is off, in your pocket, or you are using another application. So regardless of what you do, you will always know when the hire period is about to expire.
The current version (v2.0) of London Bike App is out now, with v3 about to go in for review.
v2 includes retina display graphics (looks fantastic on the iPhone 4), as well as the much-demanded real-time updating dock information. I hope you enjoy it – I've enjoyed creating it, using it, and also seeing what all the other app developers have come up with. v3 has a few interesting features which I'm sure people will have fun using.