Archive for August, 2010
Back in the old days (2004) we used to make games in J2ME. We found that we had to make about 15 different versions of the game because each different handset had their own way of dealing with Java. Nokia was the king back then (and still is in many markets), but even for Nokia we had 2 or 3 builds to get the game working across series 30, 60, etc… Multiply that by Motorola, Sony Ericsson, LG, and Samsung (these were the days before HTC and the other new guys) and you have an issue.
So Android was supposed to bring a solution to this with a common platform across many devices. Sadly this didn’t happen in practice as well as it did in theory. Firstly, because updating the operating system happens slower for Android – there are big blocks of people (over 25%) with Android 1.5, 1.6, and 2.1. Secondly, there are subtle differences that exist from handset to handset. In the end, while we are in a better position than we were in 2004, there is still a long way to go.
In this respect Apple is better because. a) they standardise better (to be fair its easier, because they have one device), and b) people update to the later versions much faster than Android, so making things backwards compatible is something that isn’t as relevant.
So if you are building an app, expect Android to cost more than Apple. Finding good Android developers is also harder than good iPhone ones.
What about cross platform solutions?
There are companies that claim that they have a ‘build once, port to many platforms model’. We do this to an extent, but there is still alot of tinkering. I have looked under the hood of many of those other companies (all the ones that pitch us), and their ‘clever tech that the VCs like’ never does what they preach. The closest ones I have seen dumb down the experience which means that the app suffers.
So if you are building a solution for multi-platforms, you can ‘build once’ in terms of usability (to an extent), design, and the guts behind the app (like APIs that you create), but getting the best out of each platform requires per platform builds for the front ends. There is no easy way (yet) from my experience.