The entire google OS stack is a mess. Most of the problems that the device manufactures are being blamed for can be traced back to the core model.
AKA the idea that the firmware/os/drivers are all bundled together and hacked to work on a given device simply doesn't scale. Its employment for engineers because very security patch, every upstream refactor, requires all those closed source patches to be rebased on the latest version. This might work ok if the underlying technology (linux) didn't change their driver APIs at the drop of the hat, or the device manufactures didn't play throw darts at the soup of ARM interconnects, ram controllers, and devices, everytime they spun a new generation of phones/tablets/chromebooks.
Apple can get away with the monolithic model because they have a half dozen fairly similar devices to support. There are android manufactures which have released more devices in the last 6 months.
Yah, google is trying to fix that, but without a hard line in the sand with respect to pushing non-core OS/driver functionality into standardized runtime firmware APIs (think powermgmt) and locking down the driver API (userspace or otherwise) and assuring that it takes a long time for API's to be replaced/upgraded/deprecated. The hardware/upgrade story will continue to be a mess.
Yeah, Google needs to make this move on Android. If they're just say "okay, if you want Android 10, you need to provide your drivers in this exact ABI way, no more custom software crap, we push the updates", that'd be awesome - basically, use the Windows model.
I believe the only reason they didn't do this out of the gate is because device manufacturers wouldn't have signed on for it. Android is establish enough at this point that it's not like many device manufacturers could really step back from it at this point.
Treble is a strong step in this direction - but they need to take it farther, open up customization APIs and drop the garbage manufacturers pump into devices. The way Treble is right now it only benefits power users who have their devices rooted - who could update without the manufacturers permission anyways.
I wonder if their only hesitation at this point is the mess they're making with ChromeOS and all their other garbage... I think the Android roof was the right one to bet on, massive numbers of users with primary devices running it, but I fear they've done significant damage with their other offerings.
There were some statements that they were updating the Play Store contracts to impose this, specially after GSI.
Because the uptake from IO to IO has been diminishing, as Android is already good enough for the purpose of selling phones, so most OEMs aren't even bothering with Treble (Android 7+) for new devices, other than flagship ones.
So Google is now forced to do exactly that if they want OEM to actually care about new versions.
AKA the idea that the firmware/os/drivers are all bundled together and hacked to work on a given device simply doesn't scale. Its employment for engineers because very security patch, every upstream refactor, requires all those closed source patches to be rebased on the latest version. This might work ok if the underlying technology (linux) didn't change their driver APIs at the drop of the hat, or the device manufactures didn't play throw darts at the soup of ARM interconnects, ram controllers, and devices, everytime they spun a new generation of phones/tablets/chromebooks.
Apple can get away with the monolithic model because they have a half dozen fairly similar devices to support. There are android manufactures which have released more devices in the last 6 months.
Yah, google is trying to fix that, but without a hard line in the sand with respect to pushing non-core OS/driver functionality into standardized runtime firmware APIs (think powermgmt) and locking down the driver API (userspace or otherwise) and assuring that it takes a long time for API's to be replaced/upgraded/deprecated. The hardware/upgrade story will continue to be a mess.