Ghost from the Past

Recently Apple added the ability to download older versions of apps for users who are not on the newest version of the OS. To me this feels like a reaction to automatic app updating, which is new in iOS 7. At the surface this sounds like a great idea, and it is, mostly anyways, for users and for Apple.

Downloading an old version of an app to run on iOS 5. Image taken from Macrumors.com although seems to originally be traced to reddit user "AutumnStrings"

Downloading an old version of an app to run on iOS 5. Image taken from Macrumors.com although seems to originally be traced to reddit user “AutumnStrings”

It is no secret that developers are the bottom of the pecking order, first and foremost Apple cares about Apple, then about consumer users, and finally developers. The news broke to very excited users, message boards quickly filled up with comments such as, “This is actually a really big deal.” and “HOLY SHIT THIS WORKS…… Thank you Apple my iPod touch 2g is useful again!”. Users are happy, Apple is happy, developers get more downloads, so where is the problem?

No one ever told us [developers] about it. Let me rephrase that, because it sounds pretty entitled. No developer expects Apple to run this kind of stuff by them ahead of time. The problem is no one ever thought this was a possibility. The common misconception here is when an app is updated it is updated to add new features and maybe some bug fixes. These new features may require a newer version of iOS so old users are left in the cold. The truth is a lot happens under the covers during updates, API endpoints are updated, data models changed, multiplayer protocols changed, even legal issues are addressed.

The likelihood of any complex app, especially anything API driven, working after several years of neglect are slim. Those that do work may be incredibly unreliable and buggy. Where does this leave things? Users will blame the developers for releasing substandard products, because the average user doesn’t understand the process of software development. This will result in apps being reviewed poorly and an increased support load for developers.

There are solutions, none of which are in place insofar as I can tell.

1) Allow developers to specify if a previous version is still valid. Being able to mark apps as non-functional would go a long way at combatting these concerns. Currently you can only access the most up to date app (and any pending updated versions) in Apple’s portal.

2) Allow developers to remove old versions of apps, those of us that needed to modify apps for legal reasons may find ourselves in hot water when these suddenly become available again.

3) Allow developers to submit different binaries for specific versions of iOS. It would be handy to be able to submit an iOS 6 and an iOS 7 version that will appear as one in the App Store.

There are other smaller considerations that could be applied such as ignoring reviews from out of date versions, which doesn’t address the increased support load. As it stands there is not even an easy way to tell which version is the one that will be downloaded, I certainly haven’t kept track of which versions I dropped previous iOS support in.

While I always assumed that Apple had copies of all the old binaries for the apps I have submitted over the years, it never occurred to me that they may start distributing them again. A person downloading Trivium 1.0 from 2008 may be very disappointed when they believe they are getting the 2013 version.

The bigger problem is these issues aren’t new, despite everything I just said. It has always been possible for someone to have an old copy of an app in iTunes and be able to restore it, the problem is now the process is easier and first time users may get an old binary. This issue is reminiscent of Rate on Delete, negative reviews aren’t good for anyone involved, especially developers who did not plan for this new functionality.

Updated 9/19/13: Apple has announced they will be implementing solution #1 above although no roll out date has been provided. At the time of this update the functionality is not yet available.

Updated 9/20/13: As pointed out by several sources this functionality is accessed in the Rights and Pricing section of the app details. From there select “Indicate a legal issue with iCloud for this app”. I would still very much like to see the ability to submit older binary updates to fix API and security issues, right now I have the feeling that most developers are just pulling all the old versions offline, which isn’t the end result anyone wants.

If you enjoyed this article consider sharing it:

Kyle Richter

Kyle Richter is the Co-Founder of Empirical Development an iOS and Mac consulting firm and Founder of Dragon Forged Software an iOS and Mac Product Company. He has been developing indie Mac software since 2004. He is available for speaking and birthday parties.

Latest posts by Kyle Richter (see all)

Have something to add?

Loading Facebook Comments ...

23 thoughts on “Ghost from the Past

  1. Pingback: Apple Offers Legacy Apps for Old iPhones and iPads - John Paczkowski - News - AllThingsD

  2. Wasn’t it always this way? Shouldn’t people who cannot upgrade to iOS 7 still be able to get apps for their device? While I understand this will be an issue for apps that connect via a web based API, for standalone products, especially games, this is a boon! As long as developers don’t leave users hanging (Fix all bugs on a current OS before bringing out a newer version for the newer OS) this should cause no problems – again, as far as the app does not depend on APIs on servers that change…

    • Yes this is certainly good news, but it has a lot of bad news attached to it. A lot of bugs may not be related to the OS itself and may be API or server driven problems. Since it is impossible for developers to update previous versions if we miss a bug it cannot be fixed. Additionally no one mentioned this was going to happen so we have 5 years of bugs that cannot be fixed stored up.

  3. Couldn’t you fake something close to solution 3 by in rapid succession submit an app version which supports iOS 5, and then one which requires iOS 7?

    • Sort of, at the current time we cannot submit iOS 5 supported apps in anyway. Apple quickly removes the ability to develop for as well as submit for older iOS versions.

  4. Apple has long supported marking the binary you’re replacing as “updating due to a legal issue” (I forget the wording). If you select that option, that version of your app will presumably become unavailable.

    Absolutely, we’re missing a UI to go back and mark old versions as nonfunctional. But as you noted, this isn’t a new, out-of-the-blue problem.

  5. Pingback: Apple Offers Legacy Apps for Old iPhones and iPads | Shopping ITs

  6. Pingback: Michael Tsai - Blog - Downloading Old Versions From the App Store

  7. Pingback: Apple’s ‘App Resurrection’ Feature Great For Customers, But Opaque To Developers | TechCrunch

  8. Pingback: Apple's ‘App Resurrection' Feature Great For Customers, But Opaque To Developers | Modulates.com

  9. I don’t see what the problem is. We’ve always had to consider the possibility of old versions of our apps still being used by people who don’t upgrade (and there are a lot of those). If your API (that you control) changes and leaves old versions of your app (that you controlled) in the cold, then your API was really badly designed. As for legal problems: we’ve been able to mark versions of apps as having a legal problem for some time now in iTunes connect to prevent people from downloading them form the “purchased” section on iTunes in the cloud.

    • My point exactly.
      I believe this solution is going to stick, because i’ve had users complain that the application failed to work on older os, if you start using the new os api.

  10. Pingback: Wednesday Morning News

  11. Coming from someone who has many different iOS devices which run from iOS 3 and forward, I see this as a welcome addition. I now can get the last relevant version on the OS that my first gen iPod touch used all the way to my iphone 5

    I get the problem from a developers point of view, but I’m willing to risk the bugs that may be in the older version. It is better than being told that since you may have reimaged your itunes or ipod that you can’t get back the apps you originally used since only the latest OS version are available.

  12. Pingback: Apple AppStoreの「アプリ復活」機能は、ユーザーにとってはすばらしいが、デベロッパーには災難 | TechCrunch Japan

  13. This feature was a life saver for me. Recently I updated the apps on an original iPad and one app installed its iOS 6 version, but the original iPad is stuck on iOS 5. When I launched the app it just crashed, and I was unable to regain the use of that app, which turned out to be the app this iPad runs about 50% of the time. So just now I was able to go to App Store and reinstall the app and instead of saying, “this app requires iOS 6” it now asked me if I want to download the older app for my device and I’m back up and running.

    If you’re running a device that is essentially the same as it was in early 2012, it makes sense to feed it the app that it would have received in early 2012.

  14. You clearly know what you’re talking about, and you are correct about the technical issues caused by the new feature in the App Store. Apple should have made this feature voluntary and opt-in for the developer.

    However, despite this valid criticism, you open your post with some absolute nonsense:

    “It is no secret that developers are the bottom of the pecking order, first and foremost Apple cares about Apple, then about consumer users, and finally developers.”

    Let me give you a little nudge here, I’m sure you already know this deep down: The results that come from Apple do not indicate a company that is navel gazing.

    Why taint an even and fair-handed article with this subjective nonsense?

  15. Pingback: iOS 7 is Here; Now, Please Don't Install It Yet - Create Digital Music

  16. Hi,
    I have iPod Touch 1G(iOS 3.1.3), so I tried to install Twitter of an old version. But AppStore said that Twitter needs iOS 5.0.
    My iPod Touch is not jailbroken.
    Why did AppStore say so? Isn’t iOS 3.1.3 supported to install older version’s apps?

  17. “Isn’t iOS 3.1.3 supported to install older version’s apps?”

    Doesn’t look like it. I got the same error on my iOS 3 iPod. But the App Store did give me an option to download an older version of an app onto my iOS 4 iPhone 3G.

    Regarding Kyle’s comment “first time users may get an old binary”, I can’t imagine Apple is allowing outdated devices to purchase an older version of an app. Although I guess I user could essentially do that by purchasing on a current device, then re-downloading onto the outdated device. But if someone is sophisticated enough to figure that out, they probably know older versions of the app are not supported.

    Regarding bugs users may find in older versions, isn’t the answer still the same? Update to the latest version? (Sorry if your device too old to do that?)

  18. Pingback: Apple Gives Some Love to Older Devices | Nick Hart

  19. Pingback: Apple’s New Support For Older Devices | Elia Insider

  20. Pingback: #20: Greg Pierce | Release Notes

Comments are closed.