I did some research this morning, since I might be doing some Android work soon. As of May 1 2012, about 5% are on any version of the latest major release: Ice Cream Sandwich. About 3% are on the previous major version: Honeycomb. The rest, a whopping 92%, are still two or more major versions behind.
By developing against the latest major version, you are going to reach 5% of Android users. Compare that to iOS, where developing for the latest major version (5.0+) means reaching maybe 80% of users.
You're mixing things up, so I'd suggest going back to do more research. Honeycomb was tablet-only, it was never released for handsets. That's like complaining that only 7% (or whatever) of iOS users can run iPad apps, it's meaningless.
ICS uptake, however, has been ploddingly slow. It's finally breaking through now as the vendors clear out their holiday inventory and start pushing new models.
Yeah, I'm not up to speed on Android. But, so, that only accounts for 3% of the users. It still means only %5 are on ICS, and the rest are basically on 2.3.
So the process for developing a new iOS app today is:
Pretty much, yes. New features in ICS need to be viewed as optional and probed if you're going to use them. Though to be fair there really aren't that many you'd really want -- ICS focused more on the core apps and user experience than it did on extending the platform APIs.
Also, my memory is that something like 20-30% of iOS users weren't on 5 yet. Is that wrong?
About 80% of users are on iOS 5.0+, so, 20% are < 5.0. But the 20% that are < 5.0 are not the ones that will be downloading and installing fancy new apps. If they were big app consumers, they would update the OS.
The iPhone 3G is stuck on iOS 4.2.1. When I still had my 3G, I happily bought apps if they still ran.
We also had quite some support requests for a three digit dollar app (!) because customers never bothered to update their iPad, the OS versions were all over the place.
The compatibility library gives a developer a lot of pieces from the latest versions of the SDK that one might wish to use. Also ActionBarSherlock (http://actionbarsherlock.com/) is an excellent library that will allow one to create solid looking apps using Fragments and the ActionBar on older versions of the OS.
See what you wrote though ? "As vendors .. start pushing new models".
There seems to be this acceptance on the Android platform that in order to get the latest OS you basically have to buy a new phone. It's quite extraordinary.
I don't disagree at all; you're inferring an argument I didn't make. Nonetheless uptake of ICS is increasing, and the driver is that vendors are shipping new handsets.
But they're also shipping at least as many new handsets with 2.3. Sony, Samsung and Motorola have all released new handsets in 2012 running 2.3. Until vendors stop shipping 2.3 on their new phones fragmentation will simply be a fact of life for android developers.
If I where to make a prediction, I suspect we're set for a future where Android 2 is the OS of choice for low end smart phones and Android 4 is the OS for high end smart phones, and developers who want to target both the high and low end of the market will be required to support both Android 2 and Android 4 for years to come.
Honeycomb was not the previous major version. It was a version released only for tablets. The previous major version for mobile/tablets was Gingerbread (2.3).
By developing against the latest major version, you are going to reach 5% of Android users. Compare that to iOS, where developing for the latest major version (5.0+) means reaching maybe 80% of users.