Mobile devices, in particular smartphones, are growing more complex. As they do, they increasingly resemble small computer more than the hoary old feature phones of the bad old days. They run recognizable operating systems, they support apps, they have a file system and, just like their desktop brethren, they seem to need increasingly frequent updates.
The need for updates and more of them is pretty understandable from a statistical standpoint. More lines of code mean a greater chance for one or more of those lines to contain errors of some sort. More features and capabilities mean more things that can be broken.
In the bad old days, grunting savages huddled around the fire, sucking marrow out of cracked bones would set aside the stone hand axe from time to time and cable in to their mobile device to perform updates. This would usually involve a desktop system, typically Windows, running some sort of update system. The most famous of which is probably Nokia's (News - Alert) NSU, but there are others. Some easier to use than others, some downright horrors from an ergonomics and usability standpoint with special drivers and techniques required and all sorts of dire warnings around the unhappy results of a loss of power or disconnected cable should such happen in the middle of the update process. A very cromag way to risk bricking your precious, often preceded by a quest, not for fire, but for drivers and a wandering search through stacks of pretty bad support sites.
The sideload model, sometimes called, FOTI, Firmware Over The Internet, also introduced the need to not only support the mobile device, but also to support a number of desktop OSs. The NSU utility, for example, had trouble with Vista. Some of the Samsung (News - Alert) updates have also been fussy of which flavor of Windows you had, say nothing of Mac, Linux or Solaris.
To be sure some sideload approaches are more painful than others, but the best way to ensure the best possible experience for the user is to do it over the air on the device, an approach which has been called FOTA or OTA updates. Under the hood, there actually are differences between the two, with FOTA typically involving updating the system ROM by sending a delta package or a diff file containing the changes between the current ROM and the updated ROM, which are then used by a dedicated client on the device to update the on-device firmware. This is in contrast to other OTA approaches which can be as simple as patches which are applied to the file system. Regardless, this approach is a win for the consumer because it makes no assumptions about which, if any, additional hardware you may or may not own and does not require a complex chain of dependencies.
Of course the current generation of devices presents challenges to those trying to architect OTA update systems. Android (News - Alert), in particular, tests the scalability of OTA servers with very large (100mb+) package sizes. These large packages have been a challenge not only for the operators who will have to send them over the network but also for OEMs. As an example, it seems that Sprint (News - Alert), with the THC Hero and the Samsung Moment, is at least giving subscribers a taste of Éclair but that flavor will have to be savored over the wire and not over the air because the packages are at 80Mb and 117Mb too large for Sprint's current OTA server to handle (evidently the stuff they have in place goes up to 9Mb, too small by factor of 10-20x).
In the best of all possible worlds I suppose that the OEM or service provider would have a system capable of supporting all their operating systems and doing full FOTA in addition to OTA updates. You would probably hope for some sort of distributed or multi-node download architecture, supporting large package sizes and large update campaigns. The ability to tune and throttle the pace of updates to avoid hammering the network would also be nice, keeping in mind the idea is to provide a better user experience, not launch an internal denial of service attack. Top things off with the ability to do things like update all three images, system, boot and radio and you have a recipe for success.
Jason Lackey is marketing manager at Innopath Software.Edited by
Michael Dinan