In March 2016, when the Android N developer preview was released, we noticed something was different. With Android Marshmallow, Google had inserted a new partitioning structure that included a vendor partition. This held some files that had previously lived in the "regular" core OS folders in the system partition, as well as some files from the company who made the phone itself. But in the Android N developer preview, things changed even more and there were also files in this new partition that duplicated and overwrote pieces of the core OS when the phone was booted up.
At the time, we put our heads together and did some extra digging and came to the conclusion that this was the first step towards making Android easy to update by giving companies like Samsung or Qualcomm a place to call their own and splitting the system into two parts: a vendor area and an Android core area.
Project Treble splits Android into two parts: The Google part and the hardware support part.
Google announced Project Treble today, and everything has come full circle. This is exactly what that vendor area is for, and we get to see just how it can change the problem of phones not being updated fast enough.
The Vendor Interface and VTS (Vendor Test Suite) are coming with Android O, and it looks like this will take away any excuses for being slow with the updates. It's a fairly technical thing to describe, and if you're technically inclined, you should have a look at Google's blog post on it all, but we can break it down so that everyone can understand what this is and why it can make a big difference.
We all know Android comes from Google. Plenty of other companies work with Google to make Android better (and Google has invited companies to do even more of this), but the code is finalized and hosted by Google. Anyone can download it and build it into Android, but this Android on its own is not a complete phone operating system.
To get Android to do anything, you need support from companies like Qualcomm, Samsung, and every other company who makes the individual parts. The software that makes those parts work is separate, and the way things are before Project Treble mean that those parts need to be built into Android's code when the companies making a phone build the operating system. Each time Android is updated, whether it be a full platform update, like the jump from Marshmallow to Nougat or a security update that only affects a few parts of the system, the parts that make the hardware work need to be incorporated.
Android itself is not a complete operating system. You need support from hardware vendors to do anything.
That slows things down considerably. Instead of Google being able to send a single update for every phone running Android to the companies that make them and have it work, they send a non-complete operating system that needs the rest built into the new base, then it needs to be compiled and tested. Samsung (for example) needs to do this for every model of the Galaxy S8 they make before they can even think about sending that update to you.
With the new system, Google's portion of Android can live in its own space and the parts from Qualcomm and Samsung and HTC and everyone else can live in their own space. In theory, the update is already tested and will "just work."
That's what the new VTS is for. Think of the VTS as the rulebook about how to make Android. If everyone follows these rules, the changes Google makes and tests will work exactly the same on every phone running a particular version of Android. And with updates easier to build and send to us users, most new phones will all be on the same version. This is great for us, and it's great for the companies involved because it lets them work on their area of expertise while someone else works on their stuff.
The Vendor Test Suite is designed to make sure every company builds Android the same way.
To check that the rules work and everyone is following them, a series of tests can be done on a new device before it goes up for sale and each time the system is overhauled. These test will make sure that Samsung's TouchWiz Android and HTC's Sense Android both work with Google's Android the same way and a single update from Google works on both. This is how things are done to make sure all the apps in Google Play will work, and, for the most part, it's a great system.
We don't have the full details yet, but we're told that everything will be published and pushed to the open source code for Android once Android O launches later this year. This will make for a very interesting time at Google I/O, and we'll continue to check out this new way of doing things and what everyone else involved in making the phones we love is doing with them.