Over the past couple of days, first-generation iPhone and iPod touch owners have been unable to purchase or download apps from Apple’s App Store.
Attempts to download apps fail with errors, however, the problem can be worked around by downloading applications from iTunes on a Mac or PC, and then synchronizing over-the-wire to the affected device.
Many have questioned how Apple will maintain discontinued versions of iOS. PhoneNews.com does not suggest anyone use first-generation iPhone or iPod touch devices in a production environment, due to gaping security holes that could allow a standard website to take over a device. The first of these security holes, a PDF exploit, was disclosed within weeks of Apple abandoning support for these devices.
Apple has refused to implement a software lifecycle policy for its devices, preventing users from having assurance about the long-term security support and viability for their hardware purchases. This has allowed Apple to thrive in the consumer world, where consumers are more inclined to embrace new technology over support contracts. However, it has stifled Apple in the corporate world, where rivals Microsoft and Research In Motion both offer security support and lifecycle policies that are publicly available.
Additionally, it remains difficult at an architectural level to support old iOS versions. Apple makes it easy for developers to support the current, and recently-discontinued major versions of iOS, but does not offer clear framework support for older branches beyond iOS 5 and iOS 4.2.1. iOS 4.2.1 is the last version supported on iPhone 3G and the second-generation iPod touch, as well as the 8GB variant of the third-generation iPod touch.
It is still possible to build an iOS 3.1.3-compatible app, but users must vet their application to only support old implementations of APIs, and only use APIs as they were developed in iOS 3.1.3. Xcode does not provide any form of validation check or analysis to aide developers in supporting old iOS devices.
Worse, Apple prevents sideloading, maintaing a walled garden on all iOS devices. This makes it impossible for developers to create supported IDE environments for aging devices, which would enable old iOS devices to thrive in secondary markets, such as the developing world.
There are two potential paths that may develop for these devices. One path is that developers may begin to support old versions of MobileSafari, and create HTML5 development tools that embrace the limitations of older iOS devices. This path would be in-line with the WebApp model that Apple originally offered, prior to the App Store.
Another is with middleware solutions such as Adobe AIR. Companies like Adobe could offer API subset support for older iOS versions, allowing variants of apps to be maintained long after they are no longer sold, and the vendors refuse to offer firmware updates.
Affected users of these iOS devices have not received a response from Apple, the company has not responded to requests for comment on the status of the App Store for these devices.
Update: Within hours of this post, Apple has restored on-device App Store access to first-generation devices without an explanation on why it was non-functional for the past couple of days. The issue may have rested at the feet of Apple from the beginning of the situation, though the sudden restoration is still cause for concern.
I think it has to do with the size of the market. If a large percentage of users still bought apps from iPod Touch 1st gen devices, then Apple would support them. Apple probably doesn’t have a policy because it isn’t needed in their opinion.
Jeff,
The problem with that premise is that Apple makes it near-impossible for app developers to support iPhone OS 3 anymore, without essentially building a second app from scratch.
Apple created the system for which users no longer want to download apps on iPhone OS 3 devices… because most apps when run on iPhone OS 3 devices typically crash on launch due to the lack of supporting APIs.
And Apple also refuses to review apps built with old versions of Xcode that properly supported iPhone OS 3, stacking the deck more in Apple’s favor to make such assertions as yours.