A few weeks ago, I wrote: A couple weeks ago, MG wrote: “Android development itself remains a huge pain in the ass. I hear this again, and again, and again.” Which took me a bit aback. I’ve developed numerous Android and iOS apps (though not games, so I can’t speak to the differences there) over the last few years, and neither set of developer tools seems to me to be hugely superior: both have their strengths and their really irritating failings.
Oh, the irony.
Up until recently all the Android apps I’d worked on had had fairly vanilla graphics requirements. But over the last few weeks, for my karmic sins, I’ve been in crunch mode developing an Android app with moderately elaborate graphics — and. Well.
I stand by what I said, to a point: the developer tools for the two platforms are comparable. But Android’s fragmentation has become a giant millstone for Android app development, leaving it worryingly behind its iOS equivalent. It’s not the panoply of screen sizes and formats; the Android layout engine is actually quite good at minimizing that annoyance. It’s not the frequent instances of completely different visual behavior on two phones running exactly the same version of Android; again, annoying, but relatively minor. Device fragmentation is just an irritation.
OS fragmentation, though, is an utter disaster. Ice Cream Sandwich is by all accounts very nice; but what good does that do app developers, when according to Google’s own stats, 30% of all Android devices are still running an OS that is 20 months old? I sure would have liked to stop caring about Android 2.2 bugs fixed in 2.3. It would have been awfully nice to be able to use the animation libraries from Android 3.0, described in this almost-a-year-old blog post, to say nothing of Ice Cream Sandwich’s features; but at this rate, Android developers aiming for a mass audience will have to wait another year, if not longer, before they can actually build apps that take advantage of all the shiny new features.
More than two-thirds of iOS users had upgraded to iOS 5 a mere three months after its release. Anyone out there think that Ice Cream Sandwich will crack the 20% mark on Google’s platform pie chart by March? How about 10%? Anyone? Anyone? Bueller?
OS fragmentation is the single greatest problem Android faces, and it’s only going to get worse. Android’s massive success over the last year mean that there are now tens if not hundreds of millions of users whose handset manufacturers and carriers may or may not allow them to upgrade their OS someday; and the larger that number grows, the more loath app developers will become to turn their back on them. That unwillingness to use new features means Android apps will fall further and further behind their iOS equivalents, unless Google manages – via carrot, stick, or both – to coerce Android carriers and manufacturers to prioritize OS upgrades.
Thus far Google’s attempts to do so have been an ignominious failure. Well, “fail fast” has always been their motto, but I sure hope they get it right the next time. Me, every other Android app developer … and every other Android user. The latter group isn’t missing out on anything huge, yet; iOS isn’t that far ahead. But if Google can’t solve the problem, and OS fragmentation remains an ever-growing millstone on Android’s back, then iOS — and maybe even Windows Phone — will nimbly scamper ever further forward, while Android can only limp and trudge.
Image credit: Laura Billings, Flickr.