Today Apple released its next major update to their mobile device operating system iOS4.3. It brings to mind for me the discussion between two separate camps - the tethered update and the over the air update. Traditionally all updates have been done with a wire connecting the device because there was no wireless option. With WiFi and 3G/4G networks wireless becomes an option.
Currently Android updates are done over the air over the mobile phone carriers network. It’s great for Google because it only needs to provide its update to its mobile phone partners (HTC, Motorola etc.) who then add their own updates (HTCs popular Sense UI for example) who then pass on the update to the carriers who sold the phone to be updated. So many hands to pass through takes more time with not all updates being passed on to the end user and whilst this is okay for Google to point the finger if there are delays it’s bad for the end user. In addition just because the carrier has the update doesn’t mean it will push it out to all of its customers phones - in fact updating thousands of devices all at once could overload their network, so they ration it out over several days or weeks. In addition the update takes up valuable data bandwidth that the carriers can’t charge for that slows down all of their other users. It is possible to upgrade Android firmware by downloading the update yourself (if you can find it somewhere online for your phone - some carriers post it online and others don’t) and updating it using a USB cable.
iOS updates however can only be performed over a USB cable. Apple provides a semi-automated system whereby the user is prompted they have new firmware available (“Software Update”) when they plug their device in on USB and iTunes starts. More recent updates sometimes also require the latest version of iTunes to be downloaded first. Once this is done installation is very straightforward. This is easy for the end user, provided they connect their device to their PC/Mac running iTunes periodically. Many users purchase their iOS device, tether it once (usually at an Apple Store) to activate the device and never connect it again.
The best system takes the best from both approaches. Software updates for a phone should be sent via a system message directly to the device when it connects to a network to inform the user an update is available. From that point the user can choose to update over the air or to update later when next they connect their device to their PC/Mac via USB. If an update doesn’t work, the user should be able to seamlessly return to the previous version of the OS.
From Apples point of view such a solution is ideal as many users will be brought onto the latest version of the operating system where currently they stagnate on a older and sometimes less secure version of iOS. From Googles point of view such a solution is also ideal but the problem of customization prevents Google from fast-tracking their software updates. If their partners allowed Google to host their firmware update files on Googles servers they could handle the “last mile” of the update as it were for wired updates at least.
From the carriers point of view it’s not a good idea as it puts the control of when updates are fed across their network into the hands of users - which could bring down their network if everyone updated at the same time. Having said that a time-delayed system, if provided by the OS manufacturer, where that the user could delay installation over the network until a time the carrier agreed to, would alleviate this problem.
Whatever direction they choose I don’t mind so much so long as they consider the end user first. Based on the current situation with the two leading modern mobile OSes, who do you think will be first to lead the charge? Oh, and it’s not Google.