Sunday, 29 November 2009

iPhone upgrades - a one-way control-freak street

By Rik Myslewski in San Francisco • Get more from this author

Comment For over 30 years, your personal computer has been, well, your personal computer. You could install whatever software you liked - provided it was compatible. After installing an app or an operating system, if you then decided you preferred the previous version, you were free to uninstall the new and revert to the old.

But nowadays, that's not entirely true. You can't revert software on your iPhone. Why? Because Apple doesn't trust you.

Last month, after Apple unveiled the new iPhone 3.1 OS, more than a few Reg readers asked how - or, indeed, if - they could revert their iPhone operating systems back to version 3.0 when they experienced battery, WiFi, and other problems after upgrading to version 3.1.

The answer is they can't. At least not officially. And much the same goes for iPhone applications.

After our recent story about Rogue Amoeba - the iPhone App developer who was snuffed for too much Appleness - one reader pointed out the simple truth: "If an update [to an iPhone app] introduces a bug, then you're screwed until the developer fixes it and the fix is approved by Apple (say 3 weeks). In contrast on any other platform you could just revert to the previous version immediately."

What does Apple say about this? Very little, of course.

Focusing first on the ability to revert to a previous version of the iPhone's OS, we contacted Apple with three quick questions:
1. What is Apple's official position on reverting from a current iPhone Software version to a previous one?
2. If such a reversion is not supported by Apple, does doing so void any existing and current iPhone warranty?
3. If such a reversion is supported by Apple, does Apple offer any tools/advice/support for such a reversion?

Simple and straightforward, don't you think? But nothing is ever simple and straightforward when dealing with Apple.

After over a week of back-and-forth exchanges with an Apple spokeswoman who wanted to know why we were asking, what kind of a story we were planning, and the like, we finally received a one-line response: "Apple always recommends that iPhone customers keep current with software updates for the best user experience."

Now, we have no personal beef with any Apple spokesfolks. They do their jobs, and we do ours. And their prime directive is to not deviate from the oh-so-carefully controlled company line. If anything, we look upon their daily deflection duties with sympathy.

To be honest, we didn't expect much help from Apple, so while we were waiting for the spokeswoman's non-response response we conducted a series of tests that led us to suggest a one-word edit to her statement: "Apple always requires that iPhone customers keep current with software updates for the best user experience."

Operating-system reversion can, indeed, be accomplished - but no thanks to Apple. In fact, in our experience Apple makes it as difficult as possible to install a previous version of your iPhone's OS then restore the iPhone's iTunes backup of apps and data.

Our test iPhone was a 3G model running iPhone Software version 3.1.2. We first backed up the phone using iTunes 9, then followed instructions published on BenM.at to revert the iPhone from 3.1.2 to 3.0.

Doing so was not rocket science - the most difficult part was timing the button dance needed to slip the phone into DFU (device firmware update) mode.

But whether performing this relatively simply hack is easy or not isn't the point. What is the point is that it's not supported by Apple - and that for the vast majority of iPhone users, using the command-line Terminal utility to run iRecovery is an unfamiliar, not to say daunting, task.

Why doesn't Apple make it easy to switch back to a previous version of the OS if you're dissatisfied with an upgrade? Because "Apple always recommends that iPhone customers keep current with software updates for the best user experience."

Our annoyance with Apple's heavy-handedness increased when we tried to restore our backed-up apps and data onto the now-3.0-equipped iPhone 3G. When we connected it back to iTunes 9, we were curtly informed that our iPhone OS wouldn't work with that version of iTunes, and should upgrade to 3.1.2.

Fair enough, we thought - although irritating. If you revert one aspect of a sync system, needing to revert the rest of that system might be a reasonable request. So we downloaded a copy of iTunes 8, and attempted to install it. No dice - we were told that was a no-no since we already had iTunes 9.

"Apple always recommends that iPhone customers keep current with software updates for the best user experience."

So we tried to install iTunes 8 on a different volume. No can do - iTunes must be installed on the boot volume. Okay, so we booted from an external FireWire drive and installed iTunes 8 on that volume. Success - but our backup was on the original boot volume, tied to iTunes 9.

After numerous frustrating and eventually futile attempts to associate the iTunes 9 backup with iTunes 8, we gave up. Possibly that feat is, indeed, possible, but we couldn't crack the code.

And we're willing to bet that your Average Joe can't, as well. Which is just the way Apple likes it. After all, "Apple always recommends that iPhone customers keep current with software updates for the best user experience."

This is ridiculous - and the ridiculousness extends to the inability to revert to previous versions of iPhone apps as well. Once an app has been upgraded on the iTunes App Store, its previous version is gone, extinct, kaput.

We asked a few iPhone devs if they knew of any way in which an iPhone app could be saved and then restored to the phone through the standard syncing process, and they each threw up their hands in defeat.

As John Muchow, founder of iPhoneDeveloperTips.com told us: "Working within the standard app delivery method provided by Apple, I don't believe there is any means to install a previous version of an application." He added, however, that "a release could be submitted to the App Store that roles back to a previous version."

But, of course, that version would have to pass muster with the App Store police - and we all know how time-consuming and uncertain that process can be.

Paul Kafasis of Rogue Ameoba fame knows exactly how unpredictable the App Store police's decision-making can be, but he doesn't know how a user can revert to an older version of an iPhone app. He does suggest one possible work-around, but one that requires a close working relationship with the app's vendor: Ad Hoc app delivery.

Apple allows developers to distribute apps outside of the App Store for beta-testing purposes. This so-called Ad Hoc process is a wonky one, but it does - in most cases - work.

"With Ad Hoc," Kafasis told The Reg, "developers could [distribute an old version] on a one-off basis. Basically, if the user gets an Ad Hoc build, it can be any version, and it comes from outside the store. Developers are limited to 100 Ad-Hoc users, however, and the process is clunky." Promising, maybe, in extreme cases, but as Kafasis admitted, "This really isn't a viable solution."

Muchow agrees. "A developer could create an earlier version and provide that to users as an Ad Hoc release, yet the limitation here is that there is a finite number of devices on which an Ad Hoc build will run."

Neither Muchow and Kafasis claimed to be absolutely 100 per cent positive that there is no way to revert to a previous iPhone app version. But that proves our point. If there is such a mechanism, it's not immediately apparent - and Apple isn't helping.

One more time: "Apple always recommends that iPhone customers keep current with software updates for the best user experience."

The key to Apple's official position is that they use phrase "iPhone customers." Not "iPhone owners."

We're being told that such control is for our own good. As Apple's marketing veep Phil Schiller recently told BusinessWeek, "We review the applications to make sure they work as the customers expect them to work when they download them."

That's kind of you, Phil, but there are many of us who would prefer the freedom to take our own chances. Feel free to keep close tabs on the apps that you choose to sell to run on your company's smartphones, but let us yank 'em and replace them with previous versions as we see fit, and add - and subtract - any others without having to jump through jailbreaking hoops.

After all, it's my iPhone, isn't it? Or is it? ®

emails

a

The Register - Security

IQ test

The Register - Security: Anti-Virus

HackWire - Hacker News