TiPb Answers: Why over-the-air iOS updates matter
With rumors that Apple might be exploring over-the-air (OTA) updates for iPhone, iPad, and iPod touch in iOS 5, we're going to take the opportunity to go over how OTA updates work, what the advantages and disadvantages are (there's always a mix of both), and why they should matter to you.
For the answer, follow on after the break.
Currently if you want to update iOS, you need to plug your iPhone, iPod touch, or iPad into iTunes via the USB dock cable, hit the Update button, and watch as your iOS device is backed up, a roughly 500MB firmware file downloads to your Mac or Windows PC, the firmware completely replaces the contents of your iOS device, and then your data is restored from the previous backup and your content is synced back from your iTunes library. It's a great, tested and true process that results in backups for users, fresh installs for Apple (which are typically more reliable), and a device that is completely updated and restored to exactly its previous data state for the user.
The OTA advantage
If the current iTunes-based update process just works. So why OTA? What's wrong with the current process?
- It requires you to get to a PC with iTunes. And not just any PC, but the "one" PC that contains your iTunes library or you won't be able to re-sync your content (thanks Hollywood!). If that PC with iTunes isn't handy, you can't properly update.
- It requires full firmware replacements. That means even if Apple only needs to fix a single Safari exploit or location database bug, you need to download a roughly 500MB firmware and go through the same update process, detailed above, as if you were updating to a completely new OS, like going from iOS 3 to iOS 4.
OTA updates would mean you could update anytime, from anywhere, without having to tether to your iTunes PC. If you're at work -- or on vacation -- you don't need to wait until you're home.
It also means that Apple could, if they chose to, do smaller and more frequent patches when security issues arise or when critical bugs are found.
In fact, Apple's already doing them in 2 instances:
- Apple TV (2010). It runs iOS, but rather than plugging into iTunes, it handles iOS updates right on the device. However, it is always plugged into AC power, and it's always on Wi-Fi or Ethernet. (We'll address why that's important later.)
- Carrier Setting Files. Since iOS 4, Apple has been updating the files that determine, for example, tethering and mobile hotspot availability, group SMS functionality, and other carrier-specific settings.
Competitors like Google's Android and HP/Palm's webOS based phones have been doing OTA updates as well. But it's not without its problems.
The OTA disadvantage
Since other smartphones have been doing OTA, we can see some of the problems that have arisen:
- 3G/cellular data. Once you start allowing OTA updates, users might really expect them to be available everywhere, including when they're away from Wi-Fi and on 3G connections. If Doing them over 3G can mean longer download times, the possibility of hitting up against data caps (if you're on a 250MB plan, you couldn't even download the firmware once), and carriers refusing to allow large downloads (like they do now with the 20MB iTunes/App Store limits.) Apple's install base scares the network out of them. Likewise, If 3G updates are allowed, and if someone accidentally does a large update while roaming, their bill could be excessive. Conversely, if someone doesn't have 3G but gets stuck on EDGE, GPRS, or 1xRTT (see our networking glossary) they could be painful to the point of impossible.
- Delays/rollouts. When Google or HP roll out an Android or webOS update, not everyone seems to get it at once. Indeed, it took my Nexus One a couple weeks to pop up the OTA update for Gingerbread. iTunes delivers updates the instant Apple releases them. Why other platforms have used rollouts instead of just releasing their updates all at once, I'm not sure, but if the same factors (and/or carrier demands) force rolling updates for iOS, people who aren't used to waiting may not be happy about waiting.
- Restores/Re-syncs. As mentioned above, currently iTunes backs up and restores your iOS device while updating the full firmware. (Apple TV OTA updates don't do this because it's streaming-only and so doesn't have to worry about local content). Handling a roughly 500MB firmware update is one thing. Handling up to 64GB of content backup and restore is another. Of course, Apple might switch from full firmware backups to a patching system, or require iTunes for major updates (iOS 4 to iOS 5) and do patches for minor ones (iOS 4.1 to iOS 4.2, or iOS 4.1.1 to iOS 4.1.2). This would result in smaller updates and remove the need to backup and restore. Except for...
- Failed updates. If something goes wrong and you're connected to iTunes, in the worst case scenario you can just restore (or even go into DFU mode and restore). If you're out and about, doing an OTA update, and something goes wrong, your device is effectively dead unless and until you can get back to your iTunes PC.
The Jailbreak factor
When Apple began doing carrier file updates OTA, it became an immediate concern for unlockers. While that hasn't turned out to be a real-world problem yet, it doesn't mean it won't.
Since Jailbreak depends on exploits to inject code, and updates patch exploits, more frequent and more targeted updates could kill existing Jailbreak exploits faster.
OTA updates are a bright, shiny future for iOS. It would further dismantle the iTunes tether, give more freedom to users, and more flexibility to Apple. But with great power comes great responsibility -- to make it an easy, robust, and mainstream friendly solution. Apple is usually great at solving these riddles, but online has never been their forte. And OTA device updates need to be nailed.
(Yes, we really made it all the way through this article without once mentioning the giant new Apple Data Center in North Carolina -- can you believe it? Oh, wait...)
Have something to say about this story? Share your comments below! Need help with something else? Submit your question!