Linked by Thom Holwerda on Tue 14th Nov 2017 13:13 UTC
Android

This is horrifying:

But even with the data we have, we can take a guess at how many outdated devices are in use. In May 2017, Google announced that there are over two billion active Android devices. If we look at the latest stats (the far right edge), we can see that nearly half of these devices are two years out of date. At this point, we should expect that there are more than one billion devices that are two years out of date! Given Android's update model, we should expect approximately 0% of those devices to ever get updated to a modern version of Android.

Whenever I bring up just how humongous of an issue this is, and just how dangerously irresponsible it is to let average consumers use this platform, apologists come out of the woodwork with two arguments as to why I'm an Apple shill or anti-Google: Google Play Services and Project Treble.

Google Play Services indeed ensures that a number of parts of your entire Android operating system and stack are updated through Google Play. This is a good move, and in fact, Android is ahead of iOS in this respect, where things like Safari and the browser engine are updated through operating system updates instead of through the App Store - and operating systems updates present a far bigger barrier to updating than mere app updates do. However, vast parts of Android are not updated through the Play Store at all, and pose a serious security threat to users of the platform. Google Play Services are anything but a silver bullet for Android's appalling update situation.

Project Treble is the second term people throw around whenever we talk about Android's lack of updates, but I don't think people really understand what Project Treble is, and what problems it does and does not solve. As Ron Amadeo explains in his excellent Android 8.0 review:

Project Treble introduces a "Vendor Interface" - a standardized interface that sits between the OS and the hardware. As long as the SoC vendor plugs into the Vendor Interface and the OS plugs into the Vendor Interface, an upgrade to a new version of Android should "just work." OEMs and carriers will still need to be involved in customizing the OS and rolling it out to users, but now the parties involved in an update can "parallelize" the work needed to get an update running. SoC code is no longer the "first" step that everyone else needs to wait on.

Treble addresses an important technical aspect of the Android update process by ensuring OEMs have to spend less time tailoring each Android update to every specific SoC and every specific smartphone. However, it doesn't mean OEMs can now just push a button and have the next Google Android code drop ready to go for all of their phones; they still have to port their modifications and other parts of Android, test everything, have it approved by carriers, and push them out to devices worldwide.

Project Treble addresses part of the technical aspect of Android updates, but not nearly all of it. While Treble is a huge improvement and clearly repays a huge technical debt of the Android platform, it doesn't actually address the real reason why OEMs are so lax at updating their phones: the political reason. Even in the entirely unrealistic, unlikely, and honestly impossible event Treble solves all technical barriers to updating Android phones, OEMs still have to, you know, actually choose to do so.

Even the most expensive and brand-defining Android flagships - the Note, Galaxy S, LG V, and so on - are updated at best only six months after the release of a new version of Android, and even then, the rollout usually takes months, with some countries, regions, carriers, or phones not getting the update until much, much later.

This isn't because it really is that hard to update Android phones - it's because OEMs don't care. Samsung doesn't care. LG doesn't care. HTC doesn't care. They'd much rather spend time and resources on selling you the next flagship than updating the one you already paid for.

Treble will do nothing to address that.

But let's assume that not only will Treble address all technical barriers, but also all political barriers. Entirely unlikely and impossible, I know, but for the sake of argument, let's assume that it does. Even then, it will be at best four to five years before we experience these benefits from Treble, because while Treble is a requirement for new devices shipping with Android 8.0 out of the box, it's entirely optional for existing devices being updated to 8.0. With the current pace of Android updates, that means it will be no earlier than four to five years from now before we truly start enjoying the fruits of the Treble team's labour.

At that point, it will have been twelve to thirteen years of accumulating unupdateable, insecure Android devices.

The cold and harsh truth is that as a platform, Android is a mess. It was quickly cobbled together in a rushed response to the original iPhone, and ever since, Google has been trying to repay the technical debt resulting from that rushed response, sucking time and resources away from advancing the state of the art in mobile operating systems.

As an aside, I have the suspicion Google has already set an internal timeline to move away from Android as we know it today, and move towards a new operating system altogether. I have the suspicion that Treble isn't so much about Android updates as it is about further containerising the Android runtime to make it as easy as possible to run Android applications as-is on a new platform that avoids and learns from the mistakes made by Android.

Each and every one of you knows I'm an Android user. I prefer Android over the competition because it allows me to use my phone the way I want to better than the competition. Up until recently, I would choose Android on Apple hardware over iOS on Android hardware - to use that macOS-vs-Windows meme - any day of the week.

These days - I'm not so sure I would. Your options as an Android user today? A Pixel phone you probably can't buy anyway because it's only available in three countries, and even if you can buy it, it falls apart at the seams. You can buy a Samsung or HTC or whatever and perpetually run outdated, insecure software. Or you can buy something from a smaller OEM, and suffer through shady nonsense.

You have to be deeply enveloped in the Android bubble to not see the dire situation this platform is in.

Thread beginning with comment 650861
To read all comments associated with this story, please click here.
Android is a mess
by martini on Tue 14th Nov 2017 14:04 UTC
martini
Member since:
2006-01-23

"Android is a mess" and that is why it had been so successful.

Remember that when Android was released we already have Blackberry and iOS on the market. I thought it was too late and that the market had been already taken.

What it happens from there is what people called "the mess". Since Android was open source anybody building cheap phones in China can bundle it on phones and cheap tablets. Loosing control of Android was what it helped to the worlwide adoption.

When we talk about fragmentation (different Android devices with older OS version without the possibility to update), who we have to blame about that?

The first to blame is the Manufacturer. The manufacturers just want to sell hardware and don't want to spend money on supporting the hardware with periodically software updates forever. It is as simple as their business case. On the other hand Microsoft owns Window on the PCs, so when manufacturers sell hardware, MS make money with the OS and have the business to maintain it, and it also (used) to make money with the updates.

But I think we also need to blame Linux. I think that part of the fragmentation problem is also in part of Linux monolithic kernel design. The Linux kernel is so customizable (which should be good) that allowed it to be compiled on every processor architecture, but it also mean that on each update needs to be recompiled with all the required drivers for each phone. That means you can not generate a standard binary to update the kernel of all phones. We are used to think of an OS like Windows, when you get the standard CD of the new version and you install it over the old one. But that is not the way how a monolithic kernel works with different process architecture, and for sure, you don't get an Android CD each year to update to the new release.

So, Android is different. If you want an update model like Windows, maybe the phone processor architecture needs to be standardized and the kernel should be Microkernel.

Reply Score: 8

RE: Android is a mess
by martini on Tue 14th Nov 2017 14:06 in reply to "Android is a mess"
martini Member since:
2006-01-23

...and the kernel should be Microkernel

Project Zircon (magenta): https://fuchsia.googlesource.com/

Reply Parent Score: 3

RE[2]: Android is a mess
by grat on Wed 15th Nov 2017 12:53 in reply to "RE: Android is a mess"
grat Member since:
2006-02-02

And what problem would that solve?

Would it magically make Samsung, HTC, etc., commit to security updates for the next 3 to 5 years?

Because that's what's needed.

Reply Parent Score: 4

RE: Android is a mess
by The123king on Tue 14th Nov 2017 15:21 in reply to "Android is a mess"
The123king Member since:
2009-05-28

The NT kernel is hybrid monolithic. NT never has been a microkernel. Same goes for the MacOS and iOS kernels. And anyway, like the poster below me, moving to a microkernel is not going to help

Reply Parent Score: 3

RE: Android is a mess
by zima on Wed 15th Nov 2017 23:15 in reply to "Android is a mess"
zima Member since:
2005-07-06

Remember that when Android was released we already have Blackberry and iOS on the market. I thought it was too late and that the market had been already taken.

Blackberry and iOS - perhaps from US & Canada perspective. The rest of the world was mostly on Symbian WRT smartphones and on "feature phone" platforms such as Nokia Series40, Sony Ericsson A200 ...hell, even some touchscreens like LG Cookie; and it moved from them to Android.

Edited 2017-11-15 23:16 UTC

Reply Parent Score: 5