Hacker News new | past | comments | ask | show | jobs | submit login
App Store Bit Rot (undsoversum.de)
127 points by kronawetter on Sept 18, 2012 | hide | past | favorite | 53 comments



I doubt this will ever be fixed by Apple because this issue affects so few people. The overwhelming majority of iOS devices in active use can run at least iOS 4.3[1], and I’d guess that the users that don’t upgrade to the latest iOS version are the same ones that don’t update all their apps through iTunes. I’m guessing that the number of users who update their apps through iTunes but don’t update their device (or can’t update their device) to the latest iOS is very small.

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.

[2] https://ironmoney.com/ios/


I don't see how there are so few people given the success that iPhone has been: http://en.wikipedia.org/wiki/File:IPhone_sales_per_quarter_s...

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.


The problem that Apple is avoiding though is having a bad experience because you have an outdated OS - this occurs on the desktop with OSX as well. Because older OS won't handle newer software gracefully they just "Force" the upgrade. Not saying I agree with it, but that's the assumed policy.


While [1] may be true, many people never upgrade their iOS.

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.


"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 worth remembering that many, many people experienced horrible performance problems on the iPhone3G under iOS4.

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.


Many people can't upgrade their iOS because Apple doesn't support it. Example: my second generation iPod Touch is stuck at iOS 4.2.


I don’t think that would magically make them upgrade either, although they might be willing to do so since the only thing we can do is not upgrade our apps to support them.

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?


I can collaborate that data somewhat - across the US apps I have access to stats for (a sizeable number of users) I see a similar figure (~6.5%) running iOS 4.3 and lower.

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.


It's from my most popular app (game), but they're all similar in terms of audience.


What time period are these stats from? Last week, last month, last year? I have <4% of my users on anything < iOS 5. I only have 1.3% using < 4.3 over the last month.


They are my "active" users as defined by Flurry - not sure what that window is.


Has that number changed much over time? The iPhone 3 hasn't been for sale for over 2 years at this point, so I'm curious if you're seeing the number go down at all.


Not everybody can afford a new iPhone and buying one second hand is a way for people who can't afford a new one to get one. It is entirely possible that those number stay right around where they are at because of 2nd hand users.


What are you referring to when you say the iPhone 3? I'm assuming a typo but not sure if you meant the iPhone 4 (on sale for 2 years) or the iPhone 3GS (on sale for 3 years and oldest version to support iOS 4.3 and up).


I mean the iPhone 3G.


Just reading between the lines on your post: don't think that iOS < 4.3 implies iOS 3. I think you'll find a much higher per centage of iOS 4.2.1 users. This the latest version supported by iPhone 3G.

egb more or less addressed this but I thought I'd make it explicit.


4.2.1 is indeed the largest piece (exactly 50%) of my users that are on iOS less than 4.3, with other versions sprinkled in. And as it happens, looking by device, 87% of my <4.3 users are on 3G devices.


The idea that Xcode 4.5 is required for iPhone 5 development is incorrect. If iOS3-4 & ARM6 support is needed, Xcode 4.4 could be used (at least for now) to build iOS3-5 apps. The trigger to make an app use full iPhone5 screen is to include Default-568h@2x.png into the project. Of course, you'll need to modify screens to adjust layout depending on screen size.

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+.


> Even though about 8% of our users are on <iOS4.3, we would be fine when Apple drops them

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. :(


> The trigger to make an app use full iPhone5 screen is to include Default-568h@2x.png into the project.

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.


Yes, it's been confirmed to be 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.


With the iPad3 launch, existing applications would not use retina graphics even if they included them. They had to be re-linked with the latest SDK.

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.


Do you know how to run Xcode 4.4-compiled binary in Xcode 4.5's iPhone simulator?


Okay, I was able to confirm sergeo's statement. Here's what I did:

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.


This isn't Apple's style. Apple has planned obsolescence.

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.


Also note that the iPhone4 is now offered for free with most upgrade plans. If you have a 3G still kicking around on a regular plan, the upgrade path to (at least) the 4 isn't painful.


It's not free per-se. It requires a 2-year commitment (3 years here in Canada). Agreeing to a 2-year commitment to get a 2-year-old phone is probably a bad deal (especially given Apple's lack of support for the less-than-4-year-old iPhone 3G). I don't expect a high percentage of people to go for that one.


> I don't expect a high percentage of people to go for that one.

"People" are irrational. If you offer something "for free" today, with a long, expensive contract, they will be all over it.


If they were planning to have a cell phone for the next two years anyway, then it makes little difference. The commitment reduces their choices, but if they weren't planning to change then it doesn't much matter.


If they were planning to stay with their current provider on their current plan, perhaps.

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!


At this point, I have <2% users on something < iOS 4.3. I have 0 users < iOS 4.0. There are a few users out there I'm sure, but it's so small of a number as to not be worth supporting as either Apple or as an app developer. 95+% are on 5.0 or better, and I'd be willing to bet >80% will be on iOS 6 in the next month. Supporting iOS 3 at this point is silly.


I've considered using source control on my IPAs just in case I want to roll-back an app. It's happened a few times, like when developers break compatibility, or when they introduce ads and/or IAP, or sometimes I just don't like an update.


I ONLY update programs through iTunes. When it sticks the old version in my trash, I grab the ipa and put it into my "backups" directory.

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.


That's exactly the method I use as well. There's one app that I use that an old update adds advertising, and breaks most of the functionality. Based on the reviews, further updates do nothing to improve the broken bits, and made the advertising even more intrusive.

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.


Sounds like Angry Birds.

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.


A unit conversions utility that has a very nice, clean UI with a focus on functionality, not on "what trendy widget can we force in there next?"

Well, had, anyway.


I am pretty sure that if you update an app on device and sync it with iTunes, iTunes will also put the old app in the trash.

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...


I have a permanent "70" (or more) badge on my app store icon because of that =-(


As much as I agree that Apple should keep support, I am not upset they're not keeping support for a phone from 2007. We live in an age where most people replace there phone every 1-2 years. 3 at a very big stretch.

While you may not replace your phone that often, a very large majority do.


> I am not upset they're not keeping support for a phone from 2007.

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...


While i agree that (planned) obsolescence is a bad thing, Apple/iOS is still in a way better shape than Android where some devices never ran a current-gen version of the OS and never saw an update to a new major version.

http://theunderstatement.com/post/11982112928/android-orphan...


That chart is seriously wrong.

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.


Your nice list is missing one data point: iPhone 3GS, released in 2009 will get the latest version of iOS (albeit not all features are supported).


a) It's not a list.

b) The iPhone 3GS was on sale, new from Apple, until September 12th, 2012.


My iPhone 3GS is dying, I bet there are a lot of iPhone 3G customers that are either changing phone because their beloved iPhone does not work anymore or are using their iPhone so lightly that the only application they use is Safari (no apps installed). So I guess there will be no problem at all or the problem will affect a tiny portion of the % of people that have an iPhone 3G that it will just not matter at all.


Apple is not just in the business of selling iPhone, its in the business of selling New iPhone to old customers. It makes sense to keep reminding your old customers that "hey you got old phone, you need to upgrade your hardware to use this new awesome app".


The last time I restored an iCloud backup, it actually redownloaded older versions of the apps (specifically, the versions I had installed when I made the backup). So I think the answer is "use iCloud backups".


iOS 4.x doesn't have iCloud.


Huh, guess it's been a while since I used that. Oh well.


When developing anything for any platform as developers we all make a conscious decision about our cutoff points. Do we attempt to support as low as we can go? Do we get progressive? They're all tradeoffs that we have to make, and have to decide on.

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.


Apple does not support devices older than 24 months. It has always been this way. I say this because we've seen this pattern with older iPhones and iPod Touches losing features and functionality since the very beginning.

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.


Also no way to stop an app from appearing in the update list even if you consider the latest update a downgrade




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: