I develop for both the Android the iPhone platforms in Java and Objective-C. When it comes to Android, I’ve always considered Android 1.6 (API level 4) a good development target because so many devices were released with that version and I was ensured my apps would work going forward. However, perhaps the inexpensive phones are helping the Android market maintain an equally aggressive refresh cycle.
As of today, inzi.com’s minimum Android target is 2.1.
Google has a webpage for developers so they can get visibility into the Android marketplace. If you create Android applications, and you want to focus on the platform, this site is an important quarterly consumable.
As you can see, a vast majority of all Android devices are now on Android 2.1 or higher. It’s a big majority, almost 90% (89.08%).
If you think this is fragmentation, let me tell you about the old school mobile app market. J2ME fragmentation was horrible in the previous generation. During that time, J2ME fragmentation referred to incomplete and / or incompatible APIs. One app might work on one phone but not another. Sun didn’t require a minimum level of compatibility or API by the phone manufacturers. So they’d make their own APIs. It was a nightmare.
However, just because Android 1.6 exists in the wild, that doesn’t mean the android market is fragmented. Consider that iPhone developers focus on version 3.x and 4.x. Additionally, Android APIs are forward compatible, so is fragmentation real or FUD?
This interesting piece on computerworld.com ought to tell you everything you wanted to know. Spacetime Studios, maker of the popular Pocket Legends 3D MMO game for both iOS and Android, says Android usage is double that of iOS in practically every measure. Their CEO is quoted as saying “Android has become our primary interest.”
The current 90% 2.1 or better status is a big improvement over July 2010. At that time, just over 55% of devices were running Android 2.1. The shift to the current state may have been helped by a few factors such as the delay of Android 2.3 and the aggressive pricing on Android based phones.
Granted, this information changes with the release of new devices like the Xoom and other tabs. However, right now, if you’re thinking of writing software for the Android, this information should tell you want you want to know.
This info tells us, as Android developers, what to target with our code for apps being released today:
A) Code to Android 2.1 minimum
B) Design your UI for mdpi and hdpi.
In doing so, we’ll cover a vast majority of modern Android devices. Additionally, the marketplace will hide our app from older phones ensuring no one installs it and experiences force closes.
These two pieces of information are critical to establishing a baseline from which to work. This affords us the opportunity to focus on use experience and Application features.
Considering that user interface design is one of the more challenging aspects of Android development, focusing only hdpi and mdpi will save us all a lot of headache. However, the smaller displays mustn’t be forgotten. There are still Android users out there.
Feel free to ask questions about this below if you’re considering moving into the Android space.