“6 plus users are getting just the tiniest, tiniest taste of android hardware spec fragmentation hell right now” (@zpower)
“Even after an hour of use I’m annoyed with apps that haven’t been updated for the iPhone 6 screen size. Hurry devs!” (@isrob)
Just some of the comments on the iPhone 6 release suggest that fragmentation woes have come to the iOS platform.
With the release of the iPhone 6 and 6 Plus, Apple have for the first time departed from the default 320px viewport width of the device in portrait mode. It has increased to 375px and 414px for iPhone 6 and iPhone 6 Plus respectively. This has caused some apps to not scale well on the new devices. And because of the secrecy surrounding the specs of the new devices right up until launch, developers do not get advance warning that they may have to update their applications.
|Device||iPhone 5||iPhone 6||iPhone 6+|
|Logical Portrait Resolution||320||375||414|
|Devices||iPhone 5, 5C, 5S||iPhone 6||iPhone 6+|
|Resolution||1136 x 640||1334 x 750||2208 x 1242|
|PPI||326 ppi||326 ppi||401 ppi|
Up to now, Apple have been careful keep to a screen pixel density of 326 pixels per inch, for iPhone, making the task of iOS developers that much easier. Even when screen size increased between the iPhone 4S and the iPhone 5, pixel density remained unchanged. Apple clearly think carefully about this stuff – the introduction of the iPad Mini also featured the same relative pixel density as the iPad Air.
Both of the new iPhone 6 devices have a higher resolution than previous iPhones, with the iPhone 6 Plus tipping over into the “phablet” category which developers may need to target separately to avoid adverse affects on UX. And while Apple do provide the Auto Layout framework to help developers design for elements of their apps across different screen sizes, the introduction of the iPhone 6 and 6 Plus has understandably caused some rumblings about fragmentation of the iOS platform.
iOS Fragmentation: fact or faked?
So does this new complexity on iOS mean that the platform is headed for Android-like fragmentation? In a word, no. At least not yet.
Android’s model is completely different to Apple’s. And while Google are making progress in tightening control over the Android ecosystem (see last week’s article on Android Forking for more), it remains comparatively open.
Android developers have always had to address a complex environment with multiple devices, from multiple OEMs and multiple versions. Aside from the plethora of different screen sizes and device capabilities in the market, there is a very uneven distribution of Android versions as attested to by Google’s own Android Developers dashboard.
The latest figures show that KitKat, the most up-to-date Android release has reached only 24.5% of devices. Most users are still one step behind with 53.8% of users still using some version of JellyBean. Ice Cream Sandwich and 4-year-old Gingerbread make up another 21% of devices. For some reason, Honeycomb does not figure at all in Google’s stats.
On iOS, the picture is roughly 50/50 between iOS 7 and iOS 8. 47% of iPhone users are of iOS 8 and 47% are on iOS 7. Only 6% of devices accessing the App Store on earlier versions.
This is of course explained by the fact that Apple controls its own ecosystem directly with none of the intermediaries – handset manufacturers and network operators primarily – that slow the roll-out of new versions on the Android OS. In many cases it can take months for Android users to get OS updates from their operator – and some devices will not get updated at all.
Compare that to iOS where OS updates proliferate relatively quickly. At least they have done until now. Uptake of iOS 8 has been much slower than in the past: iOS 7 was adopted by approximately 70 per cent of the iPhone users only two-and-a-half weeks after release. Over 4 months on from iOS 8’s June release, and still the new OS version has not hit 50%. This will be a worrying statistic for Apple strategists.
UX is really at the heart of all this. It’s a critical concern for developers, to ensure they maximize the engagement of end users with their applications. These changes undoubtedly increase the complexity of design decisions that they must make across different platforms. Designing differently for multiple iPhone devices pushes the platform closer to Android, even if the comparison still favours iOS.
Apple iPhone 6 on the web
In the web world, there are equally valid reasons to target various larger iPhone hardware differently, assuming a responsive site is not going to cut it. iOS 8 does not change anything in terms of being able to identify underlying hardware server-side. There is no unique token in the User-Agent headers that can be used to discern hardware version.
iOS 8 Uptake and beyond
Apple will be hoping that adoption of iOS 8 ramps significantly in the weeks and months ahead, especially given the bumpy take-off, which has forced Apple to release 2 bug fix releases to address various problems with the new OS.
From a developer point of view, one of the biggest boons of the Apple ecosystem has always been the ability to address one single OS version, without the versioning nightmare of Android. And although that hasn’t stopped developers making apps for the Android ecosystem, it has long been understood that iOS is where the money is in terms of premium apps.
For Apple, they not only want user’s to continue upgrading their devices to newer Apple models, but they’ll be keen to put the iOS 8 debacle behind them before the upcoming launch of Apple Pay and a media event on October 16th which is thought may include more new product launches, possibly new iPads and Macs, in the run up to the busy Christmas market. The press invites to the event contain the intriguing strapline “It’s been way too long”. We’ll find out what exactly that means very shortly.