Monday, 9 May 2011

Mobile software development evolution

Yesterday was Düsseldorf's yearly Marathon and in good tradition, several runners from Vodafone tackled the full track or the famous relay run.
In 2007 I developed a J2ME application which transferred the current location from each runner to a server, so that the guys at our camp could watch the runners on Google earth.
Thursday evening I decided to implement the same functionality using today's mobile and server platforms (android and Google App Engine).
Long story short: The thing which took 5-6 days of development in 2007 (not inculding several test-runs outside) and which was still very shaky and unstable at the end, was build in 26 hours today.
Why? Mainly becasue server and client development has become so much easier. On the server side a deployment to app engine only takes minutes. In the past I had to set up my Jetty somewhere, re-configure the frontend apache, deploy a new DB to MySQL and create the schema etc...
On the client side android enables quick turn around times and most important: A stable runtime compared to the J2ME implementations which often crashed or looses connections.
The hardware of course is getting better, where in 2007 nearly no phone had GPS, I had to connect to an external one via bluetooth and implement the NMEA protocol, today's GPS location is just an API call away.
The good news: You get way more things done in less time than 4 years ago ;)