Android and iOS fragmentation
A CEO of Blue Frog Gaming talks about Android fragmentation:
One thing I always hear when reading about mobile development is fragmentation. Steve Jobs, who talks about Android so much because he isn’t worried about it, harps on it relentlessly. Just today I read, on an Android blog, the following quote:
“In an iOS world, you only have to write code once and know it is optimized for every phone that’s been sold.”
Bahahahahaha. Yeah right. I do iOS development, and let me tell you, fragmentation there is a huge problem. First off, there are different OSes on different devices. Here’s a chart of that:
Compare that to Android:
Pretty similar. Android in this case has the benefit of having fewer OSes in play.
Our newest app (not yet released) uses Gamecenter, which runs on iOS 4.1 or later only. Which means that when we move to the iPhone we’ll have to do two apps or simply be unavailable to half of the population. Even on the iPad, where we are developing now, it remains to be seen how many people will upgrade to 4.2.
Then there’s the hardware. Good luck developing anything for any iPhone before the 3Gs. I can’t find how many of those are left on the market (thankfully probably not too many, at least in the US) but if you want to support them you’re going to be adding a decent amount of extra work. Same for the first couple generations of iPod Touch which, by the way, don’t get upgraded nearly as quickly as phones.
And then there’s the display. We’re making a universal binary of our game that we want to work on the iPad, the iPhone 3GS, and of course the iPhone 4. As a result we have to do a bunch of extra work to get things to display properly on both handsets.
There’s plenty of fragmentation on iOS. It might not be as bad as Android. It just depends on what you’re doing. For some apps it won’t matter much at all on either platform. For some it will be impossible to support all devices. For many it will fall somewhere in between.
As an Android developer I can add that, up to this point, we have had no problems with fragmentation. Our apps have been downloaded over 1 million times and we have received only one report of looping sound on a Huawei U8230 phone. An extra line of code and this minor problem was fixed too.
Moreover, we have written not one line of code aimed at specific devices, and our apps only have two sets of graphics (mid- and hi-res). Of course some additional work is required to adapt the UI for a 10-inch tablet screen, but that’s about it.
Max Howell, TweetDeck:
Fragmentation is not really an issue, despite what you might hear. The underlying Android layout system scales your app almost perfectly for the different screens. Some tweaking is inevitably required, but web-development is certainly more difficult. Writing code that works on 1.6 but takes advantage of 2.2 is really easy, and the sort of thing you have to do on iPhone too. Nobody has to compromise. The fact that multiple vendors have customized their Android distribution is barely a problem. Custom UIs like Sense have to be taken into account, but you have two options really: do your own assets for controls, or do it 100% with native ones. So the only time we had trouble was with the black status bar region that Sense has, so we had to rethink our notification icon. www.androidpolice.com