While Apple can update half of its user base to the newest code within two months, and almost all within a year, Android lags far behind. Many phone-makers consider their job done once the device leaves the factory, while many more offer an update or two shortly after launch and abandon the user after that.

Why? They don't regard the extra pennies on making a phone even a little bit future-proof as worth it, and there are often hairy code dependencies, as the phone maker has added their own code. Today, only a tiny number of Android users get any OTA (over the air) updates at all. Fragmentation is a consequence as developers have to target older code, leading to cruftier code.

Project Treble was announced back in May, and restructures the code base with clearer partitioning between what the phone-maker can do and what Google can do. The idea is to lessen the dependencies so Google can push out major updates to phones more quickly.

Developers have found that porting the open code Android base to a new device now takes much less time.

"After 20 hours of work researching, developing, and debugging with me, phhusson created a system image that can be booted on multiple devices from different manufacturers and with completely different SoCs. For example, the same system image that I booted on my own Huawei Mate 9 also boots on the Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact, and the Essential Phone. That’s 3 different OEMs (Huawei/Honor, Sony, and Essential) and 2 different SoCs (HiSilicon Kirin 960 and Qualcomm Snapdragon 835) where this single system image can successfully boot," the XDA Developers site notes.

"It’s possible that in the future, we could be seeing a single system image that can work on dozens of different Android smartphones, much like how Microsoft Windows can run on nearly any computer hardware."

Back in the Jurassic era of smartphones – a time now longer forgotten – "Base ports" between different processors used to take years, not days.

"The time Apple made its first iPhone was about the first time that anyone who wasn't already incumbent could," former Symbian CTO Charles Davies recalled a few years ago. "Why? Because of the IP, and the signalling stacks".

Android has two advantages - it's essentially a Java phone, and Java was designed to be portable, and the base is open source code. But even so, it has not been trivial to support because of driver issues. Treble should make updates easier. Depending on how much cruft a phone-maker has added, of course.®