We all normally want to have each new OS update available on our mobile phone , being it an Android device , an iPhone or even a Windows Phone lately . Surely enough we have paid some money for each device and we feel like making some more use of it for some more time , and we all want to have new features without actually having to buy a new phone . On top of everything else , it's also a good way to renew our interest for this small (or big ) device that we carry around with us all day .
Upgrading the firmware on a mobile phone , is a task that requires some effort from the phone makers side . Except from major OS upgrades there are always cases where a firmware upgrade is necessary to correct something that is not working correctly , or to just optimize the way a certain device operates .
Let us take things from the beginning . Each new device requires a lot of resources in time and man power to create both the hardware and the software part inside it . Being future-proof in OS upgrades is up to one point a hardware design issue but most of the work has to be done on the software side .
Long before the official availability of each device to the consumers , a lot of different software versions are created and then recreated , to iron out all the software bugs and optimize the phone's performance . This procedure is more "elegant" and carefully performed for more expensive high end devices , but it is also performed on low end ones too . When a phone is finally released to the market , some more software (or even hardware ) issues become apparent , ones that internal testing could never find , since even with their best efforts , engineers can not operate each phone in so many different situations as the final consumers .
When this happens , depending on the phone's popularity or even the deals the maker has with some networks for example , those issues have to be fixed and a new software release has to be made available to the end consumers through various means like OTA updates , support centers or the network operator itself .
All of this has nothing to do with upgrading a phone to a newer OS version and is something done on most devices available without changing the operating system .
Let us now jump to the upgrading the OS version issue . Some of the bugs/issues found on the current version a phone is running on have to be fixed right away and are given higher priority . When a firmware upgrade based on a newer software version is developed , all those issues that are now known are tested and fixed before the new version is released to the public . This is sadly the easiest part of the upgrade process . Next in line is the fact that the new OS version may contain several changes that have to be incorporated to the device and some of those changes have to be tailored to a specific device and it's hardware . In android's case this is most apparent since Google makes everything work on the hardware design they have at hand at the time of the release of each newer version . Many parts of the OS have to be then re-written or changed to work on different hardware , the hardware that each device of each phone maker runs on . Some of those parts may be easy , some of them are not . Re-writting the Wi-fi module driver may be simple enough for example especially in minor OS upgrades , but the Kernel operating the phone's hardware may require substantial changes .
When everything is ready up to the point that the phone can actually boot with the new OS version , everything has to be then optimized to work properly or just even work . This may bring to the surface new issues and bugs that were not present on the older OS version or even bring back some of the ones that were corrected . When all of these issues are corrected , each phone maker has an extra work load to complete , at least in Android's case where most phone makers apply their own User Interface on top of Android it self.
When Google makes substantial changes to the OS itself , re-writting some of those applications that are changed by the phone maker may also require a lot of work to design , test and finaly make them suitable for everyday operation .
Let us now assume that all of those steps are completed , everything is done the right way , and the actual device runs on the new OS version with the customizations made by the phone maker without any problems . Ideally this is where everything should be considered complete and the new version could be made available to the final user . Sadly enough this is far from the real world .
When key features of the OS are changed and along with them some of the hardware has changed the way it's operated , the device may have to go through certain certification processes once again .
Wi-fi and Bluetooth modules may have to be re-certified just to make sure that everything works as it should or even to test that some new abilities added work the way they should .
In some rare cases , even the Network radio part may have to be re-certified and tested in order to make sure that it operated inside the required limits .
But... when all of those tasks are completed , nothing comes to an end . Most network operators that offer the device also require the device to be tested by them and they also want to make sure that everything works correctly on their network infrastructure and provided services . This applies at least to major network operators and in smaller ones when the device is sold through their supply chain .
Yes , the network operators have departments that deal with these things , from the early software releases before the device is made available to the public to the OS upgrades that each device may get in the future .
The available staff for this task is rarely enough to test each device from each phone maker in a shot period of time . This creates one of the following or both of those problems at the same time . Either the firmware upgrade is delayed because the testing process takes more time or it's not thoroughly tested and it gets out in the public with some issues still present . Or both of those things happen at the same time and then the phone maker has to go through the whole process once again to fix something , then re apply it to the network operator for testing .
When all of those steps are finished and consumers are granted access to the new software release containing an OS upgrade , the same thing will happen again , and some problems will be found , with some of them minor and not planed to be fixed but some of them will be serious enough and will require some extra work from all the involved parts .
Yes , this article is not finished yet , although it may already be too lengthy and complicated .
All of those steps require time , money and of course staff members none of which most phone makers have in abundance . And on top of that all of those task have to be carried out with new devices designed and developed at the same time which also requires time , money and of course staff members .
Since developing newer devices is always a more important task for all phone makers if they do want to stay competitive , the upgrading procedure for older devices have to either be given lower priority on the same developer team or to be given to a seperate team ideally the one that designed the device in the first place and has more knowledge on it . Some of the engineers and developers involved in designing a new device that later has to be upgraded to a newer OS version and are essential in this task , are also essential in designing new devices so correctly organizing this work force is no easy task and can at times be done incorrectly .
One last complication is the fact that major OS upgrades are presented to the public between device life circles . In this case when a phone maker has already presented a new phone that is not yer available to the public and it has "promised" that it will run on the new OS version with some new features of it's own added , the upgrade of the device the new one will replace may have to wait even longer . This is done because phone makers make a living by selling phones , new and old ones and not by upgrading older ones . Upgrading old ones helps them create a good image to the public but only costs money and rarely increases the sales of older devices .
Adding new features and a newer OS version to an older device is something that most of the times has to happen after it's successor is made available to the public in order to insure it will actually sell the same or even better that the older one .
While this may sound "wrong" and "cheating" to the owners of older phones , it's one of the key business models that provide each phone maker with the money to carry out the design of even newer phones and having the resources to upgrade the older ones at the same time .
This article will come to an end with just one remark . Not all phone makers are the same , and not all of them are "big" enough to have the resources easily available to keep up the upgrading older devices process at the same pace . Regardless of this fact , they all do make and sell devices that are expensive enough to justify the consumer's demand for future upgrades . While it is not our business and we should probably do not care for those things , it does remain a fact that not all of them can keep up with this task at the same time .
For some companies just designing and developing newer devices that are competitive with the ones from larger from every point phone makers is a hard task by it's own it alone makes everything even harder .
While I do understand that those choosing a Sony Xperia T for example instead of a Galaxy S III are not required to care for any of these factors , it does remain an issue for Sony (which is the same small company that made Sony Ericsson phones with just some extra help from Sony itself ) to be able to keep up with Samsung that sells more phones , spends extremely more money in development and research and at the same time can employ substantially more people to carry out everything .
From this point of view , the phone makers ability to upgrade a phone in a short period of time should either not be considered at all from a potential phone buyer or just become a major decision factor when he wants his device not to be just hardware wise future-proof but also being made by a maker that can actually deliver this future upgrade soon enough .