Let’s be honest. We all love software updates on our smart devices. Be it Android, iOS or Windows Phone, we all love to run the latest OS version. It is surprising because, not so long ago when we were all using feature phones made by Nokia or Sony Ericsson (now Sony), we never bothered about any such OS updates. But the smartphone era has changed the way we see our handsets. We do a lot more than making a call or sending a text message on a smartphone.
OS features define which platform we choose. And new updates to the system software means new and improved features. But getting updated to the latest OS on your device is not fun always. Especially if you are on Android. Take for example Android 4.4 KitKat, the latest version of Android which debuted at the end of October 2013. As of May 2014, only around 8.5% of Android devices run KitKat (4.4.x). On the other hand, iOS 7, the latest version of Apple’s iOS, which saw public release in mid September, 2013, runs on at least 88% of iOS devices(7.x.x).
Yes, Apple does have an advantage since they build their own hardware and software. On the other hand there are a number of manufacturers (or OEMs – Original Equipment Manufacturers) with 100s of Android devices under their brand name with varying hardware specifications. And providing the latest software to all those devices is harder than you might think. But lets focus on high end devices or flagships. You spend a good amount of money. But there are times you have to wait for months to receive your updates from the date Google announces a new version of Android. So why does this happen? Why does it take so long for your OEMs to provide software updates? Few months ago both Sony and HTC tried to shed some light into what actually goes behind the whole process. I’ll try to present a breakdown based on these reports:
Before we get into the process, note that android devices can be categorized into 4 main categories.
1- Carrier Devices - Devices that are released for/by a particular carrier (like the Dialog branded devices in Sri Lanka). These devices are locked to the network, most of the time. They may be sold on a contract at subsidized prices. And the updates are pushed by the carriers with support from OEMs. (This category is not seen in our local market. Even Dialog’s self branded devices are not latest flagships)
2- Unlocked Devices – the regular devices you get in the market. Sold by country dealers or distributors for the manufacturers. The OEMs are responsible for updating these devices.
3- Nexus Devices – Sold directly by Google via Google Play (There were times before Google Play, when manufacturers sold it. Still some do in countries where Google Play is not present). Updates are pushed directly by Google. Updates usually arrive as soon as a new Android version is announced.
4- Google Play Edition Devices – Once again, sold by Google via Google Play, These devices are based on manufacturer models (i.e flagships) except they run mostly pure Android. Updates are mainly pushed by Google, with help from the OEMs.
Now to the process. Carrier edition devices go through a complex process to get updates. We are not going to talk much about them since they are not much relevant here. Also the carrier branded ones are locked to that particular network, so you can’t use them in a different country.
The regular unlocked devices have the largest market here. Nexus devices too are catching up locally, as of late. Even though Google Play edition devices are not widely available, that does not mean they cannot be used here. They are basically unlocked flagships with a nexus feel.
The update process can be divided into 5 phases.
Phase 0 – Evaluation
This is when Google releases the Platform Development Kit (PDK) to the OEMs or hardware partners. The PDK is usually released at least 2 months before a major android version is announced, enabling hardware manufacturers to come up with innovative ideas for their devices. This also means the hardware partners will actually know what’s in store for the next big OS release. And some time after (around two months) the PDK is released, Google announces the newest version of Android. Major android versions are usually released along with new Nexus hardware (smartphone/tablets). And Google also announces update to existing Nexus devices. This updates starts rolling out (via OTA) globally within few days of the announcement. This actually completes the update process for Nexus devices, which is pretty fast.
Once the OS is announced, Google provides source codes to the OEMs and the chipset manufacturers (like Qualcomm). The OEM will evaluate the source code to see the requirements. The chipset manufacturer plays an important role here. they will evaluate and decide whether to support the newest version on their chipsets and if so which models will actually support. (In the case of Nexus devices, these are done in-house at Google before announcing the updates). The chipset manufacturer may take their time delaying the process.
Phase 1 – Development.
At the early stages of this phase the chipset manufacturer will announce (to the OEMs) which of their chipsets will support the new OS. If any of their chipsets are excluded from this support, then whichever the device that is powered by that chipset, will be excluded from the update. If the chipset manufacturer decides to support the OS, they will go ahead and release the necessary drivers along with optimizations. And the chipset manufacturer will release what is known as a Modified Board Support Package (MSP) to the OEM.
Much of the work required to update the Google Play Edition devices ends here. Since they essentially run an unadulterated version of Android, the process is shorter, and goes directly to Phase 3.
Phase 2 – Integration
This phase involves the regular devices and the ones specially designed/modified for carriers. It is in this step that the OEMs decide whether to support the new OS and if so on which devices. They also release a maintenance release (MR) and assign teams to work on integrating the OS with their own custom UI skins (i.e Sense by HTC, TouchWiz by Samsung). This is an important step since this defines how the OS will look and function on the device. If the OEM decides to exclude support for certain models, those devices will not get any update. They do it for various reasons, including that – continuous updates to older devices has a chance of affecting sales of newer models. It is also in his phase that OEM works with carriers to add any modifications to the OS to support carrier exclusive features (read: bloatware).
Phase 3 – Testing/ Certification
During this phase all versions of devices (including GPE) go through internal testing. If any issues or critical bugs are found, a newer version is created and tested again. Once done,more testing and certifications are done by Google and other players like regulators. If this process is a success, then Google issues a Technical Acceptance (TA). For carrier versions, a TA is issued by the carrier too.
Phase 4 – Push to end users
And now it is time to roll out the update! Updates are mostly done as OTA (Over The Air) and carrier updates are handled by carriers along with OEM. OEMs handle the updates for the regular devices while Google come into play when GPE devices are updated.
So, now you get an idea as to how the update process works in the background. It is obvious such a lengthy process requires time, since it involves multiple parties. And there is no surprise that the OEMs take a long time to release updates. Sometimes Google might actually release another version of android by the time this process comes to an end. All hail Nexus!
Check out the detailed infographic by HTC, describing the process, here.