App Store Bit Rot
undsoversum.de
undsoversum.de
I wasn’t particularly thrilled that I was forced to drop support for iOS 3, but looking at the number of active users of my app[2] that were running the current version, I saw that none of them were on iOS 3. This was probably the right time for Apple to drop support for < iOS 4.3.
[1] I don’t have stats to back this up, but seeing that iPhone 3GS is the lowest hardware to support iOS 4.3, and they’ve sold way more devices since then than original iPhone and iPhone 3G, I think it’s fair to assume that the vast majority of iOS devices in use can run iOS 4.3 or later.
A 3-5 year old phone should do the job just fine.
I gave an old iPod Touch 2nd gen to a relative and was super annoyed that a 2 year old device doesn't have Skype anymore. I'm pretty sure it had at some point but since the device is stuck on iOS 4.2.1 I can't find the old Skype versions on AppStore anymore.
My stats are such that 8% of my users are using < iOS 4.3, and of that 8% slice almost 3/4 (or 6% of my total users) _could_ update to something newer, but they're happily running old iOSes.
If I were to cut them off, would that magically make them upgrade? I don't think so. They'd just be bummed that their apps stopped working.
Remember, the problem listed will only take effect if:
* Their iTunes has downloaded the latest version, and
* They have to restore their device from a backup
Doing an update to your app to remove iOS3 compat won't remove it from folks' devices, iTunes won't push it to their device, and it won't magically stop working. Seems like such a small thing to worry about, especially given all the cool things in iOS4 and above...
It's entirely possible that your 8% of users avoiding 4.3 despite its availability aren't tech-newbs, but are making a conscious effort to not update their OS.
In which case nothing short of "finally decided to get a new phone" is going to get them to upgrade.
Obviously this will vary from app to app, but I’m surprised that you have such a high number of users with an older version of iOS. Is that across all of your apps/games?
However, only 0.7% of devices are iPhone 3G and lower, so the majority of users I see running <4.3 are not updating out of choice.
This is all anecdotal, though - figures will vary dramatically across apps/demographics/etc.
egb more or less addressed this but I thought I'd make it explicit.
Having said that, Apple typically pushes everyone to upgrade to the latest Xcode, and OS/X, so I'd expect that Xcode 4.5 will be required rather sooner than later. IMHO, this is a good thing in the long run, better than supporting multiple generations of hardware and software - it's better for the ecosystem. Even though about 8% of our users are on <iOS4.3, we would be fine when Apple drops them - they would provide us more users on iOS6+.
I see that this is a no-brainer for new apps.
But anyone writing (typically free) iOS apps as a service will have a hard time telling their clients "this is your app maintainer, I'll lock 8% of your existing users out, ok?".
This is a huge PITA in the making. :(
Have you tested that without using the new SDK, or is that a theory? The Default-568h@2x.png might be required-but-not-sufficient.
As an additional evidence, one of our apps that included this file received "required screenshot is missing" iTunes Connect status upon update upload today, and it had all regular screenshots, but not iPhone5 ones.
Apple has a long history of doing `linked-on-or-after` checks for compatibility with various older paradigms or iOS versions. As such, I don't think throwing a screenshot into a directory will make the app actually run at full size. It might mollify iTunes Connect, but mollifying iTunes Connect is just one facet of shipping an app: the runtime is a completely different animal.
This is even a difficult condition to test, as installing an app in the 6.0 simulator without rebuilding it for the 6.0 simulator and thus passing the linked-on-or-after checks (and as such, with Xcode 4.5) is nigh-unto impossible, as the 6.0 simulator does not quite predate Xcode 4.5 as the beta versions could very well fall under the "or after" part of the link condition.
1.) I compiled my app with a 4-inch default image using XCode 4.4.1 with iOS 5.1 as the base SDK and ran the app in Xcode 4.4.1's iOS simulator.
2.) I copied the resulting i386 app folder from /Library/Application Support/iPhone Simulator/5.1/Applications/[app uuid] to /Library/Application Support/iPhone Simulator/6.0/Applications/
3.) I started XCode 4.5's iOS Simulator and ran my app from Spring Board.
The result? It did work. I was able to see my Xcode 4.4.1-compiled app in 4-inch display mode.
I can't say for sure if this will work on the iPhone 5 hardware, but I'd bet the answer is yes.
I guess with this finding, if you're not using any iOS 6.0 features, it may be better to continue to compile your app using Xcode 4.4.1 since that lets you more easily produce app with armv6 support.
The other thing is that there has been over the air upgrades since iOS 5, so people do upgrade their iOS version.
From my multiple app stats (thousands of users), less than 2 percent run iOS < 4.3.
98% run iOS 5 or higher.
"People" are irrational. If you offer something "for free" today, with a long, expensive contract, they will be all over it.
Off-contract: Customer: "I'm thinking of switching to provider B as my bills are high." Provider: "I'm sorry to hear that, can I knock $15 off your bill?"
On contract: Customer: "I'm thinking of switching to provider B as my bills are high." Provider: "Certainly, that'll be $200." (Or your remaining ETF amount.)
But hey... free phone!
I've known way too many people who have been burned by things like "ugh, this version doesn't work on my phone, but I have no way to get the previous version!"
Also, there are cases where a feature is removed from the new version, thus making it useless. My system helps fight against that.
I see no need to update a perfectly functional piece of free software and turn into a crippled piece of ad-delivery-software.
If I get careless and hit the "update all" button, or get click-happy in the list of updates, the old version ends up in the trash can. If I still don't catch it and dump the trash, I can still go back because I've got the old ipa sitting in my "Old IOS Apps" directory.
There was one game that I had (Clickomania HD?) that went from a full version that cost money to a free version with 3/4 of the functions removed and ads added in one update. It's been sitting in the "hey, update available!" section of my iTunes for close to two years.
Well, had, anyway.
I love to update apps on the iPad - it makes it the easiest to see all changes at a glance.
And I don't love how I cannot get rid of the update badge on the App Store app. Now I have to remember how many of these are updates I don't want...
While you may not replace your phone that often, a very large majority do.
Except that sales of the iPhone 3G seized... on June 4th, 2010. Of the iPod Touch 2G, with the same CPU, on September 1st, 2010.
This isn't about not keeping support, this is a bit more fundamental. This is about no longer being able to get things onto devices that were sold barely two years ago any longer. And possibly not even being able to compile things for those devices.
Two years. That's the lifespan Apple gives your devices. Two years and a few weeks and it's obsolete.
The iPad 1 was introduced on April 3rd, 2010. And that was the Wi-Fi version, in the US only. The last update for the OS it'll ever get was released on May 7th, 2012.
Two years, plus a few weeks, and it's obsolete.
Two years is how long Apple plans for your device to last before they want you to buy a new one.
----
In fact, if you bought a brand new iPod touch 2G from Apple, on September 1st, 2010, you got your last OS update on November 22nd 2010. That's less than three months. And people say that Android doesn't support its devices with updates...
http://theunderstatement.com/post/11982112928/android-orphan...
For starters, not least of all due to the definition of "major version".
And also because being stuck on one Android version is not so bad since apps from the Android Market have way more control over the OS than Apple's. If the built-in WebKit is a security risk, you can download Firefox or Opera or a browser that comes with its own WebKit or whatnot, and will be able to do so forever. You can sideload it, if you're so inclined. On an iPhone 3GS, you'll be stuck with that version of WebKit forever.
And ever.
Until Apple shuts down their authentication servers (or 404s/times out a certain URL on their servers for that model of phone) for that phone and what you'll have then is a brick.
Your iPhone will last as long as Apple chooses. And if Apple doesn't choose, they're gone and it's a brick. Either way, Apple got your money.
b) The iPhone 3GS was on sale, new from Apple, until September 12th, 2012.
Apple might not be making it easy to stick with a low as we can go but it's still doable, so I'd guess the developers have made the decision and taken the tradeoffs.
For example, I was very disappointed when Apple made changes to iOS 2 so that the original iPod Touch couldn't change it's volume. The newer iPhones and iPod's had hardware volume controls so iOS removed the easy volume adjustments from the software. The iTunes app could still adjust volume and that must've been good enough, because I didn't see many people complaining.
The customer experience matters a lot to Apple, and they are awesome at it. However, I agree with that article and I would love if they started also maintaining the experience of their older existing customers.