Until Christmas last year, I'd never even thought of writing software for an Android phone. Yet within a month of googling "Android development quick start" I was committing code to the CycleStreets Android app. This indicates two things – writing code for Android is pretty easy to get in to, and the chaps at CycleStreets are pretty welcoming.
I don't remember quite how that happened. I'd used the website for a while and probably registered in the back of my mind that an Android app was in the works. When I wanted something more substantial than a toy example to play with, there it was on GitHub just asking to be forked. The basic shape of the code was there, laid down by Theodore Hong and incorporating pieces from Jono Gray's BikeRoute and Christopher Fraser's Cycloid. I made a little change and submitted a patch, something GitHub makes very easy, and that was that.
Because I have a job, and kids, and a dog, and the other joys and encumbrances of modern life I worked on the app in my space in between. Half an hour in the evening perhaps, an hour on the train. Bit by bit, piece by piece, it came together and really quite quickly. Because the heavy lifting of mapping and routing, provided respectively by the osmdroid library and by the CycleStreets website via its API, work could concentrate on wiring things up and making things happen. It wasn't without incident, of course, but the Android platform is well documented and surprisingly few quirks. Most of the time it was more a question of "how do I do this?" rather than "why is this happening?"
The app went live in the Android Market last month. At time of writing it's installed on around 3,250 people's phones. It might not (yet) be the most widely used piece of software I've worked on, but it's by far the most useful, and one of the most fun and satisfying.
Android developers: come on in
If you feel like dipping your toe into Android development but didn't know where to start, come and have go. If you're already swimming around in there, but fancy working on something that really does make a difference to people's lives this could be the project for you.
- Install the app so you know what it does
- Grab the code from GitHub: firstname.lastname@example.org:cyclestreets/android.git
- Have a read through the current issues list or just get in and start working the code.
- and .. Say hello [info@] – we'd love to hear from you!