Google I/O is just around the corner and it only makes sense to learn about something related to Android while the Search Giant gears up to take the wraps off the new release of Android.
Ever since it’s inception, Android has been all about openness and ubiquity. It’s been about giving people choice and the power to do more. This would be probably the 100th time I’m writing about Android and every time I write about it, it’s crucial to throw light on what Android stands for. Android currently runs on more than 80% mobile devices and is by far the largest mobile platform. It serves well over a billion users daily and it’s on track towards becoming the platform that would bring the next billion users online
Android has conceived well over a decade ago and in the ten years of its existence, it’s matured a lot, both internally and externally. Initially Android shipped with not the best design possible but 3 years ago Google revamped the entire system with Android 5.0 Lollipop and Material Design. Today Material Design defines standards of the web and mobile design. It’s kind of amazing to look back at how much the platform has expanded. A mobile OS that was exclusive to mobile devices, today supports a spectrum of devices and form factors. It powers devices ranging all the way from smartphones to tablets and smartwatches. And in recent years it’s expanded support to TVs, Cars and smart home appliances.
As the saying goes, “With great power comes great responsibilities”, Android has the responsibility of operating elegantly at scale. That being said, it is not far from troubles. It is quite obvious that managing such a large platform brings with it, unforeseeable challenges. Today we’ll be taking a look at one of the biggest problems that have plagued the platform since its early days.
If you are an Android aficionado, you would have probably already guessed what I’m talking about. I’m talking about the Android fragmentation.
Android has an annual release cycle with new releases coming out towards the end of the summer / early fall each year. This means that every year users get to taste the latest and greatest features from mother Google. While the thought may seem lucrative it actually isn’t so. The entire ecosystem is kind of fragmented by various versions of Android (Android fragmentation) which we today consider legacy. Now on the other side, if we compare the condition to iOS, it’s a completely different story. Well over 90% iOS devices run on the latest and greatest version of iOS. That’s because Apple has full control over the platform and updates when compared to Android where the entire update situation is closely controlled by silicon vendors, carriers, and OEMs.
The very fact that Apple manufactures it’s own hardware and develops the software powering it, gives it an edge over Android on the updates end. The company can literally roll out an update and bring a majority of its users onto the latest version of iOS whereas Google, which has the most used mobile OS on the market, has to wait around for carriers to bring users to the latest version of the OS.
Before we dig deeper into the cause of this situation we need to take a look at a typical Android release cycle and how each entity plays into the delays.
The Android team pushes out new code for an Android release towards the end of the year into the open source branch. Once the code is out, it’s picked up by silicon vendors like Qualcomm, who unpack the code to make optimizations to the OS to better serve their lines of SoCs this is the first part of the entire delay process. Once the vendor pushes the modified code, it’s picked up by device manufacturers, or OEMs which would be your Samsung and LG. They take the code and modify it to best suit their brand. This includes both internal modifications and external visual changes. This is one of the biggest delays in the update cycle.
The update process gets delayed by around 90 days because of OEM. Once the OEM is done modifying the code it is passed on to the carriers. The carriers may or may not carry further modifications to the code to add their own apps and services to an Android which has already been heavily modified by the previous handlers. Device makers and carriers then perform tests to certify the new release. After all of the above-mentioned steps, the company finally releases it to the consumers. Now the process may visually look small and short term but it typically spans over several months because each individual device from a device maker goes through the same process. And typically one Android manufacturer makes multiple Android devices.
If you’ve made it this far into the post you may be wondering why hasn’t Google solved it, after all, they are experts at fixing problems at scale.
You may be right on the fixing problems at scale part but when it comes to Android updates. Google barely has any control and this again boils down to Android’s most fundamental principal, “Openness”. The companies which ship devices with Android on them are part of the Open Handset Alliance. The Open Handset Alliance was conceived with the vision of unifying the platform on which developers build software while still offering users choice of picking a device. If you can recall, the days before Android were daunting for developers who wanted to serve users. Every device manufacturer had their own version of an operating system and to build an app meant literally writing multiple apps for multiple platforms. While the Open Handset Alliance solved the problem of platform unification, it left Google in a position with literally very little control.
I know that doesn’t really answer the question but magnifies the one that already exists. What’s the solution?
To accelerate the update cycle the obvious choice would be to accelerate the release cycle and Google actually did that with Nougat. Instead of releasing the new version of Android in November they were 3 months ahead of schedule with Android Nougat and shipped the code in September. But as we all know that really didn’t solve the core problem much.
So what now? Will the Android ecosystem, remain like this? Will users keep suffering due to slow and uncertain updates?
Introducing Project Treble
Project Treble is Google’s latest attempt at fixing version fragmentation by making the entire update process more seamless and speedy. The initiative was announced just a few days ago and while we will definitely hear more about it during Google I/O which is just hours away now, here’s how it actually works.
Project Treble will achieve for the Android Framework what the Compatibility Test Suite did for apps. It’s an attempt at breaking the OS into layers. With Project Treble, the low-level software which is written by silicon manufacturers would be separated from the Android OS framework. Now I agree that’s a lot of technical jargon, but here’s the crux of the whole thing.
As of this writing, whenever a new Android version is shipped, a lot of the internal code gets updated. This means that layers which are independent of the underlying core also get dragged along in successive modifications, and result in a delayed update cycle. With a stable vendor interface, the OEMs can essentially skip 2 iterations of rework and just update the Android OS framework without requiring any work on the silicon vendor’s end.
This modularity is radical. And if things go as planned, update cycles will be way faster. The only caveat here would be the fact that Project Treble would be coming to devices launched with Android O and above so this already leaves the existing user base behind. But in the longer run, I guess it would make the Android experience more streamlined.
Conclusion – Android Fragmentation and How Google Fixes it
Updates and release cycles are one of the key things that have set iOS apart from Android. Apple’s full control over their device ecosystem makes it easier for them to fix an issue or release a new feature without carrying the baggage of legacy OS. Version fragmentation has been a historic problem with the Android problem and finally, we may have a solution to it. If the Android team succeeds in fixing this issue, it will make the experience across the Android ecosystem be at par with its competitor, iOS.