After two weeks, iOS 9 adoption appears to be chugging along significantly faster than iOS 8 adoption. First, I'll show you with some pretty, pretty graphs how much faster iOS 9 is being adopted than iOS 8. Next, I'll talk about some of the reasons why that's been the case. Finally, I'll discuss what that means for developers and app owners.
iOS 9 Adoption in Pretty, Pretty Graphs
However, this pie chart doesn't account for people who don't visit the App Store terribly often, but are still using apps. There's also no indication whatsoever of the sample size they used for this chart - and if you're a veteran of Introduction to Statistics (or a fan of Five Thirty Eight), you know that makes the numbers a bit harder to rely on.
Analytics company Mixpanel has done an analysis of iOS version adoption for the last several years with the same method: They take a look at everyone using any application which uses their analytics engine on any phone, and examine what individual devices are being used.
For the 13 days since the iOS 9 release, that gives them 32 billion records to work with, which is a very large sample size. And those numbers are still pretty solid, though not as good as those directly from Apple's tally of visits to the App Store:
Source: Mixpanel iOS 9 numbers
51.5% adoption as of 9am Pacific time 13 days after the release of the operating system is a very encouraging number.
How does this compare to 2014's release of iOS 8? Within the same 13 day period after initial release, the adoption rate was only at 40.3%:
Source: Mixpanel iOS 8 Numbers
And iOS 8 didn't crawl over iOS 9's present 51.5%-after-one-week mark until nearly five weeks after it was released - it only made it on October 20th, when iOS 8.1 was released:
iOS users are clearly adopting iOS 9 significantly faster than they adopted iOS 8. For further perspective, I'll also throw in every Android developer's least favorite chart: The adoption rates for newer versions of Android.
Source: Google Android Dashboards
The Android infrastructure which gets operating system updates out is considerably more Byzantine than Apple's "We own the whole pipeline, so we do what we want" approach - and the adoption numbers are where this becomes very obvious.
Where the most recent version of iOS which was released 13 days ago has 51.5% percent adoption, the more reasonably recent version of Android, Lollipop, is at a combined 21% after almost nine months of availability to manufacturers.
Why is new iOS version adoption faster this year than last year?
The biggest reason for the increased speed of adoption is that Apple slimmed down the size of the update considerably. The iOS 8 update was over four gigabytes in size. Particularly for people who only have 16GB of space on their phone, clearing four free gigabytes turned out to be a huge ask - and a much bigger barrier to fast adoption than I think Apple was expecting.
The iOS 9 update is only one gigabyte in size, and Apple also added some functionality to automatically delete and reinstall applications that are not used frequently in order to facilitate installation of updates this large. Between those two things, the number of people with enough space on their phone to install iOS 9 is significantly higher.
A second factor in the slow installation of iOS 8 last year was the disastrous 8.0.1 update which bricked (ie, completely disabled) a number of users' phones. While iOS 7 upgrades had gone smoothly for most users, this was the first time users saw major problems installing an operating system upgrade.
Anecdotally, last year was the first time I ever had non-developer friends and family asking me repeatedly if iOS version upgrades were safe to install. Apple burned a ton of public goodwill with the botched update, and it made people reluctant to upgrade their phones immediately.
This year, Apple has put an extra emphasis on quality over delivery dates, delaying the release of the watchOS2 Watch operating system by a week after a major showstopping bug was discovered.
What does this mean for developing apps?
If you have a new project starting today, strongly consider targeting iOS 9 only. By the time the application is built and out in the wild, the vast majority of users will have iOS 9 installed.
If you're nervous about supporting iOS 9 only, you can also reach out to your target demographic in a survey to verify what operating system version they think they'll be on when you are planning to release your application. Remember: Version selection should be about what users will be running when the app comes out, not when the app starts being built.
For developers, there are some significant wins in targeting iOS 9 only. The ability to use UIStackView, which vastly simplifies a number of UI implementations, is probably the most obvious example, but there are small enhancements and improvements littered throughout iOS 9 under the hood. These fixes and improvements can save your team a significant amount of development time (which in turn saves you money).
If you already have an existing project, the first thing you should do is make sure your app fully supports iOS 9. If your app was holding off on supporting iOS 9 until adoption rose, you already may be late to the party. The level of adoption we've seen through today illustrates that users are getting more comfortable upgrading their OS versions, and can be disappointed when their when app publishers don't support all the latest bells and whistles which become available.
What about continuing to support older operating systems? I strongly recommend using your analytics to help make your decision as to when to drop iOS 8 (or even iOS 7) support: Some apps with very tech-forward userbases will see a signifcantly higher proportion of their users adopt iOS 9 immediately, and can drop iOS 8 support quickly. Some apps will older or less tech-savvy populations will see adoption go somewhat slower, and will want to continue supporting iOS 8 for a longer period of time.
There are always advantages in cleaning up workarounds and taking full advantage of new features to be gained from dropping support for older operating systems in existing apps. But when you already have an application out in the wild, it's much harder to say "Only people with the new operating system will receive these enhancements" than it is for a brand new application.
The question to ask yourself for both new and existing apps is very similar: How much does it cost to continue to support the older operating system, and how much of your potential audience is actually going to be using that when the next version of your app comes out? Once you look at it from that perspective, the decision to go iOS 9-only or continue to also support iOS 8 is much clearer.