In “Welcome to fragmentation-land Apple“, Ben Smith of The Really Mobile Project has commented on a consequence of the iPhone OS 4.0 announcement. Ben points out that your favourite fruit-logo’d mobile maker will not be providing the oldest iPods and iPhones with the latest operating system. So for the first time we’ll have some iPhones running 3.x firmware, and some running the 4.x release. Oh, and don’t forget iPads will be thrown into the mix.
I want to have a look at this in more detail, and see what it means for both developers and users. Is fragmentation of the iPhone platform all that bad?
What is meant by fragmentation?
You’ve got an iPhone, but can it run everything that’s developed for the iPhone? Not necessarily. What your particular iDevice can do is determined by:
- form factor (since the introduction of the iPad)
So how many combinations of these three things can developers cater for at the moment?
iPod touch: 1st, 2nd and 3rd generation models
– Running firmware 3.1.3
iPhone: Original, 3G, and 3GS models
– Running firmware 3.1.3
To which has recently been added:
iPad: Wifi-only version
– Running firmware 3.2
If developers want to hit all these devices – the whole iPhone OS platform – then they have to develop for different hardware and screen resolutions.
- iPod touch and iPad have no cellular connectivity
- iPhone 3GS and iPod touch 3rd gen. have faster processors and more memory than earlier models
- iPad has an even faster CPU, greater screen resolution, a larger form factor, and a different user experience paradigm
There’s also more fine-grained differentiation. For example, original iPhones can run firmware 3.1.3, but not all of it e.g. they can’t send picture messages (MMS). The iPhone 3G can also run the latest firmware – including the ability to send MMS – but can’t edit video, or take advantage of the latest graphics acceleration.
But you, as the user, see all these apps in the all-encompassing iPhone App Store, yet not all of them may not run on your device – or they may run in a slightly degraded fashion.
This isn’t counting the iPod touch users who’ve decided not to pay £5.99 for the upgrade from iPhone OS 2, nor the iPhone users who’ve (for whatever reason) not to click “Upgrade” in iTunes to iPhone OS 3. There’s more on iPhone OS adoption rates on the Tapbots blog. So not everyone is running the latest iPhone software.
In other words, subtle fragmentation of the iPhone platform predates the iPhone OS 4.0 announcement.
It’s not that bad for developers. Most devs are only producing iPhone OS 3 versions of their apps, leaving those who refuse to pay or upgrade to the latest firmware somewhat behind.
But this situation is going to change soon.
iPhone OS 4.0 is going to be out in late June / early July. If the iPhone and iPod touch follow their hardware upgrade cycles, then there will be new versions of each of these in June/July and September, respectively.
And the iPad will benefit from the new software. But as it was developed in secrecy (even from the iPhone team) the software branches probably won’t merge until iPhone OS 4.1 is released, around September this year. Until that time, the iPad is likely to be stuck on the 3.2 branch of the OS.
There’s going to be an interregnum while the various branches of the operating system shake out. But when iPhone OS 4.0 is released, we’re going to start to see some older models fade into the hinterland. For some this will be rapid: Steve Jobs has confirmed that original iPhones won’t be supported or updated. For the iPhone 3G and iPod touch 2G, the fading will be slower but still noticeable: they will run OS 4.0, but not all of its features. We don’t yet know exactly which features (apart from multi-tasking) will not be available.
After the release of iPhone OS 4 (around June), the situation will be:
iPod touch 1st gen, original iPhone
– Running firmware 3.x (with some limitations)
iPod touch 2nd gen, iPhone 3G
– Running firmware 4.x (with some limitations)
iPod touch 3rd gen, iPhone 3GS, unannounced 2010 iPhone and iPod touch models
– Running firmware 4.x
iPad (Wifi-only and 3G version)
– Running firmware 3.2
– Probably running firmware 4.1.x from September
All iPad users will get the next major OS upgrade (to 4.0) free, but after that, it’s likely that they’ll have to pay. Some won’t, and again, we’ll have users left behind, albeit by choice.
The original iPhone was released in June 2007 in the US, and later around the world. That means it’s taken only three years for it to reach obsolescence. That’s not very long, especially considering the high cost that early adopters paid. My MacBook is about the same age. If Apple discontinued support for my MacBook, I’d be spitting feathers. But this isn’t unusual in the mobile world – Ewan Spence has just written an article for All About Symbian on Nokia dropping support for the N95.
What does this mean for developers?
They already had to target different hardware. Now they will have to consider if they wish to continue supporting original iPhones and iPod touches that Apple has decided to abandon, i.e. produce an iPhone OS 3.0 version as well as a 4.0 version.
I understand that their apps will have to support all models of iPhone and iPod that can run OS 4.0, otherwise the app will be rejected from the App Store. So, they can’t decide to target only newer hardware, but they can tweak their apps to provide the best experience on whatever device the app is running. Although some devs won’t have physical access to all models of iPod, iPhone and iPad.
They will have to decide whether to make their apps run on iPads as well – and whether to produce separate iPhone and iPad versions, or combined apps.
iPad apps are not about scaling up iPhone apps. The iPad calls for a new approach more akin to developing a desktop experience. Users may perceive a degraded experience if devs do not create at least an iPad-capable version of their app.
So that’s potentially three versions of the same app that developers may have to churn out.
But I anticipate most devs will probably just roll with 4.0, and gradually or immediately drop 3.0 support. The extra work is mostly for the iPad, which they can choose not to target if they want.
What does this mean for users?
I believe people with devices running 3.x will be quickly left behind. Apple is maturing the iPhone OS, and won’t support customers for long, it seems. If you have an older device, you’re out of luck.
But the main problem I foresee is confusion in the App Store. How do you know if a particular app is going to run – and run well – on your device? I think Apple needs to tweak the App Store experience to reflect this. Perhaps iTunes could allow a preference to only show apps to the user which the developer has indicated will run on their device, e.g. don’t show apps that require mobile data to iPod touch users. Or perhaps the Store needs to show more notes regarding which OS version/hardware combo an app is suitable for. The again, this may exacerbate fragmentation of the platform, as developers may choose to leave some users out in the cold. It may also cause more confusion for users.
I don’t know the answer is. Not everyone’s going to upgrade. Apple will continue to roll out new features, and is likely to be more aggressive in cutting off older customers than they have been with their desktop OS. Maybe fragmentation is another way of saying, “You’ve had your time in the sun, but the party’s moved on”. I’m sure Steve Jobs won’t object if you decide to buy a new iPhone…
A final consideration
If you think jailbreaking is all about piracy, you’re wrong. Apple told owners of original iPhone owners that their devices wouldn’t be able to send picture messages, that their devices weren’t technically capable. But the jailbreak community quickly found a workaround, and guess what? MMS works fine. The same seems to be true of multi-tasking on the iPhone 3G – it’s already been found that enabling multi-tasking is as simple as changing a reference in a .plist file to “TRUE”, and that it works ok. This feels like a case of trying to force users to upgrade to newer hardware. They hacking community has already jailbroken the iPhone OS 4.0 beta, so we may yet see unsupported iPhones and iPods running 4.0.