Hacker News new | past | comments | ask | show | jobs | submit login
The state of Android updates is still dire (theverge.com)
141 points by pjmlp on Oct 13, 2019 | hide | past | favorite | 151 comments



While writing about this [1] recently, I made a chart which shows the adoption rate of each version of Android, X months after release, according to Google's own numbers.

It is indeed dire.

Each new version of Android is typically reaching less and less devices, X months after release.

For example Android M, released in 2015, was on 24% of devices accessing the play store 12 months after release.

Android O, released in 2017, was on 14.6% of devices 12 months after release.

Here's the chart: https://i.imgur.com/yRDIEAs.png

Google stopped releasing these numbers on their developer dashboard, and I think it's possible that the reason is because they're terrible.

[1] https://unlikekinds.com/article/android-updates-are-getting-...


Part of the reason for slow updates may be that new versions of Android really aren't bringing a lot of user-visible new features anymore. Android 10 brought dark mode (which is still only supported by a small subset of Android apps), but not much more that the end user can see. Are the users still "languishing" in Android Pie really clamoring for Android 10?


The lagging updates has nothing to do with users, it's a corollary of Google having strategically chosen to build a fragmented ecosystem, whereas Apple built their walled off garden.

Apple can incentivise updates much better because they control the whole ecosystem. To achieve this, Google would need to somehow _force_ OEMs to update Android, but the fragmentation makes this a herculean task.


It's not Apple vs Google. Google has a second operating system, Chrome OS, and that team does a very nice job at keeping all the Chromebook up-to-date.

It's one of those old early Android mistakes that were never really fixed. I think the root issue is that they were never even fully acknowledged.

I wrote about this here:

https://dev.to/jmfayard/android-s-billion-dollar-mistake-327...


As opposed to computers running Windows? or Ubuntu?

More fragmented than Android. Continuous updates even for hardware from the year 2000 (a few paid along the way).


Actually Windows and Ubuntu are not a good example because the end user can easily perform updates without the computer manufacturer having anything to say. I would upgrade my mom's Android 8 phone, but I cannot. It is not the fragmentation, it's who's in control of the updates.


Heh, after years of prodding, my mom finally gave up her Android 4.4 phone last month. Instagram stopped allowing her to sign in from it. It was replaced by a Pixel 3, which no longer allows her to easily set up her third-party ringtone app among a plethora of other annoyances and disappointments.

"This is why I never want to get new phones or computers" was muttered probably about 15 times in the two hours I was helping her salvage content from the older device.


Users don't really choose when updates are available for their phones, so I'm not sure that this explains a lot.


Most users probably want security update.

I believe it is hardware vendors that don't want to support update. It is a lot of works (costs) for them with little and no return. It might even be negative returns since a phone with updated OS might delay that user purchase a new phone every 1-2 years.


I bought, very unaware at the time of the tots redic state of Android updates, a brand new, 9 months from release, Samsung Androd tablet.

The release of Android (5.x) was obsolute at initial product release.

There has been no update. There is no update path. The device is locked down to the point that I have been unable to root or re-ROM it.

I'd been under the impression at purchase time that 1) OEM updates would be provided, 2) rooting was possible, and 3) re-ROMing was an option. All three beliefs proved false.

Samsung are directly to blame.

But Google can fix this. Google haven't. Google aren't.

Google can pleasure itself.


I think the rate of change has slowed somewhat in terms of big visible changes. Although 10 dramatically improved gesture navigation, afaik.


Oh but there are user-visible changes - just not good ones. Good and useful features are destroyed every update: Miracast, system backups, a whole bunch of widely-used APIs are crippled (SMS, WiFi scanning, drawing on top, clipboard...) to give Google's apps an advantage... That, along with some really bad UI changes, makes people dislike updates and/or actively avoid them.


There are privacy improvements.


The ability to allow apps to use your location only while you're using the app is particularly useful. iOS has had this for a while now.


Percentage of overall devices is going to slow down just as a rule the more devices Android sells though... as an extremely simplified example: it's easier to hits 100% of devices when there are only ten of them to update.

Showing the total number of Play Store devices used to calculate each percentage would be useful to compensate for this, but Google is probably reticent to divulge such information.


This information is available in the play console (where people can submit apps to the play store), and there's tens of thousands of targetable devices

The vast majority of Android devices in use are Samsung devices though.. judging from my own apps' stats and other stats I've seen around over the years


Dashboard doesn't even show Vulkan support across devices, most likely because beyond Samsung and Google almost no one else cares to support it, hence why now starting with Android 10 it is a required API for all OEMs.

Thing is, many of them are still happily producing Android 5 and 6 devices.


My theory is that people are keeping devices longer; which leads to being stuck on an old release.


Not by their choice and this is the main problem. I have about 10 Android phones and tablets in the house, a single Apple device and I can keep the Apple device current, but I cannot choose to do the same for Android, the manufacturers do.


Not even with LineageOS? I've got a OnePlus 2 and OnePlus 3 I'm still keeping updated thanks to custom ROM support. Similarly my router can still get new software thanks to OpenWRT. I would not want to rely on a company to keep my stuff up to date.


Using LineageOS and other custom ROMs isn't straightforward even for technical people. And Google is actively making the experience worse in the name of "security". Installing a custom ROM introduces an artificial delay while your phone displays a FUD screen telling you that your phone can't be trusted.

They are not lying, of course. A well-known advertising company known for its engine[1] has installed a rootkit on it. Of course, this warning is about rootkits Google doesn't trust (either).

If security was the objective, Google could easily improve it without compromising freedom. Let people choose who they trust.[2] Encrypt the OS so attackers can't modify it. Or not telling attackers that there's an unlocked backdoor they can use.

[1] Missing: <s>search<s/>

[2] Technically, Android supports enrolling your own key. But that's optional for device makers and I haven't found any useful documentation. You also still get a warning on boot, this one is yellow.

[3] Replacing it is easy to detect unless you somehow manage to replicate the phone state as it was. Part of that state could even be a kind of reverse password that the phone uses to authenticate itself to it's owner.


I used CyanogenMod (LinesgeOS) in the past on older phones, but it is not for the average use to download, install and configure all the bits and pieces needed for this. The support for the phones is also very limited, half of the phones in my house are not supported (and they are manufactured by Asus, not by a very small manufacturer).


That is the point though - fragmentation on Android. Keeping an old device should not mean you get "stuck" with an old OS - I have the latest OS on my 2013 Macbook.


A quick aside - don't buy an android TV unless you want to run a tv with very quickly outdated software.

I think I got 2 years of updates on my TV, and it's not like I'm going to want to throw it out and get a new one, so I have to put up with outdated software.


I think that a lot of people miss the point that most people don't care about updates. Most people want a phone that does the same thing when it was bought and as many years later as possible, as the battery allows.

It's the same thing around passwords. People don't use weak passwords or reuse their passwords because they don't know any better, they do it because they do not care about whatever is protected by the password. I personally couldn't care less if someone stole my Facebook or that some bad actor may abuse something in my phone to send something to China. These digital things rank very low on the list of my priorities, and like me are a lot of not very technical interested people.

Some people buy cheap phones knowing they won't get updates, we know, we don't care. And we are happy to have the option not to care, we do not want more expensive phone with constant updates, just like we don't want the mandatory use of password managers. If we cared we'd buy/use them.


> It's the same thing around passwords. People don't use weak passwords or reuse their passwords because they don't know any better, they do it because they do not care about whatever is protected by the password.

This is quite often false from my experience talking with people using bad passwords. The most frequent reason seems to be a basic misunderstanding of the problem, i.e. "But who would ever think of trying and manage guessing CowMilk76$ as my password."

So it mostly boils down to not being aware of computer assisted cracking, let alone modern cracking techniques with rules and statistics. They are imagining someone targeting them specifically, using their own hands and imagination. From that perspective, it is quite ludicrous to think someone would be able to crack CowMilk76$ as their password practically.


IME people choose weak passwords because they need to be able to remember them and technical people seem to forget this. If they're complicated or too long then the forgotten password option becomes how they log into things, making the password essentially useless.

I'm not sure what the answer is, but longer and more complicated passwords aren't.


Seeing that 80%+ of iOS users update to the latest OS within the first 3 months according to Apple’s charts, why would you think that if Android users could update they wouldn’t?


In less than a month iOS 13 has already passed iOS 12.

https://mixpanel.com/trends/#report/ios_13


Yes, if users get a notification that says "hit this button to update" they'll do it. The question is whether they see that as a substantive benefit. I would predict that most users don't care, just like most don't care about filesystem access or sideloading.


The Apple iPhone event gets millions of views every year. People know that their is a new iPhone OS coming out.


I'd say this is one of the things Apple has been very successful at. Releasing a new version of iOS has become a highly anticipated event for a staggeringly large portion of the user base. From the way they handle updates on a software level (auto-updates and persistent notifications) and on a social level (turning it into a large PR event tied to their new generation of devices). It's something Google was never able to do, and I don't think it's any accident that Android updates are lagging so badly.

I think there'd be a veritable shitstorm if, say, AT&T suddenly decided to withhold iOS 13 for 6-12 months, while it's effectively SOP for Android devices (where you have manufacturers needing months to release a new version, then providers who delay it even further to test ... something).


Apple did it right by completely cutting carriers out of the update loop. I don’t think AT&T could possibly do that even if they wanted to.


Well put. Apple _pushes_ OS updates to OEMs/Telcos. Google _hopes_ the OEMs/Telcos _pull_ the updates.


iOS is very annoying about updating. It's much less work to update than to constantly ignore warnings. High adoption rates therefore don't invalidate OPs point.


I hate that iOS downloads the updates in the background and uses up data quotas without warning and without consent from the user. The only solution to prevent inadvertently updating is to go to the storage settings and delete the downloaded update, only to have it get downloaded automatically again in a matter of days or weeks.


Low Data Mode in iOS 13 should make this stop (although they don't say it on the support page, it shouldn't do it if they are blocking App Store/iCloud updates...)

https://support.apple.com/en-us/HT210596


I'd go one step further and say that most people don't want updates, precisely because updates will potentially break things they rely on, and the Android ecosystem moves so fast that it's almost always the case, at least in my experience. I never had an Android update without having several apps breaking.


I think you're right and I'd go even further and say most people don't want updates because they know that basically anything could change. I imagine non-IT folk look at computers like appliances, and so I can sympathize because If I woke up every 6 months to find all my appliances interfaces had rearranged themselves, I'd never update anything.


I work in IT and I absolutely loathe Android updates, every time I update my phone the update will break something, or at least the interface for something I use frequently will change again, I absolutely hate it. I still install them because it's impossible to get just the security patches without the rest, but if I could I would go back to the OS my phone shipped with in a heartbeat.


Updates are a vehicle, what people want is new shiny things and their pains eased.

In my experience, people don't want updates until they want some emoji, app, UI animation etc. that is highly desired but they cannot have it.

When they encounter such a situation, they hate it and feel bad for their poor choice of device. It is very off-putting when you cannot have that small thing that all your friends have without making a serious investment of time and money to upgrade to a new device.

iOS users very rarely have those bad experiences, when the new iOS is out even many non-technical users will get excited because they will be exploring the new shiny features and designs with their friends and nobody is left out. If some feature is missing, they will understand that their device is old but they will still get some shiny things and almost never missing stuff that is alienatingly bad.


Just a quick note about the passwords. If a bad actor steals your Facebook password and then messages all your contacts saying he (you) is on holiday and his cards have been stolen, but PayPal is accepted at the local restaurant...could he lend you some money until you get back. Are you bothered now you know that your friends are protected by that password too?


I wonder how common that is. I believe I had a trivial password on HN and on Facebook. Six zeroes on HN and dictword121212 on Facebook and no one ever did anything.


I used a weak password for some throwaway account many years ago (I think it may have been Yahoo). Now I'm receiving daily ransom demands from someone quoting this password back to me threatening to expose my porn habits and whatnot :-)

That email comes in so many variants it's really entertaining. Someone is really trying hard to find the magic wording that gets through spam filters and makes people pay. It's not getting through my spam filter sadly, so when I want to read the latest episode I have to go look for it in the spam folder.

So I think what's far more important than choosing strong passwords is choosing different ones for each account.


That exact scam has happened to people I know. I don't think anyone actually fell for it, though -- the fake distress call wasn't very convincing. It's easy to imagine how it could have been.


I think it's more likely that people don't know or think about updates.


It’s more because the manufacturers and service providers (some would say intentionally) make Android updates much more difficult than necessary. It’s one of the (many) trade-offs between a walled garden like Apple and an “open” ecosystem like Android.

If the manufacturer still imposes this level of control over the average user, it’s sort of just a worse version of a walled garden, isn’t it?


The update situation being such a mess on android has very little to do with it not being a walled garden, Windows manages to not be a walled garden and still have updates.


And Microsoft has now become quite infamous for forcing updates on the unwary--to the point that people now produce webcomics about it. I don't see that as an improvement.

The real problem with updates is all the crapware that companies like Samsung foist on people. It's shitty software that never works right but still gets delivered and then its brokenness is in the way of an operating system update because of how shitty it is.


No, the real problem with updates is that they don't exist.


You're not wrong, really. But what Microsoft has always done differently is control the distribution and installation of their own updates. With Android it's always been up to a combination of Google releasing the update, the manufacturer putting their touches on it and then the service provider releasing it. Of course a savvy user could get the update as soon as it is available in some cases (in other cases it'll break your phone).

I'm not advocating for really any particular way of doing it, but rather just noting how Apple definitely has the opportunity for making OS updates a smoother experience than either Microsoft or Google because of their level of control at the hardware level. Apple doesn't always get it right (see Catalina), but they could do better than they do.


Same kind of customization could be done with Windows CE and PocketPC devices, yet there were updates available.


Or just that those updates don't exist? My phone will probably be never updated to Android 10.


Totally. I wonder if the wrong people at Apple and/or Google drank their own cool aid. Maybe they truly believe that the majority of their users wait for the next OS version with baited breath, ready and willing to incorporate whatever new features/apps the update force-feeds them into their "digital lifestyle", and truly learning and savoring all the new UX-mechanisms and redesigns they're handed. From the way these things are presented, it seems that they truly believe this. And some years ago there were many users like this.

These days, most people I know, both on the iOS and Android side of things, approach updates with a resigned sigh of "what are they going to make me relearn for no reason this time?" with a healthy pinch of "man I hope this doesn't break anything." If Apple/Google owned up to this reality, maybe the updates would be smoother.


> And we are happy to have the option not to care

Good for you. But those that do care have worryingly few options.


What is missing from this article is that many manufacturers “force” you to buy a new phone, in order to get the latest Android version and security patches. It’s implied indirectly, where the author states that we as users keep our (expensive) phones for longer, hence being left behind on updates. The fact is that manufacturers want us to buy new phones so as to make profits and stay in business, even though most of our “old” phones are capable of running newer versions.


>even though most of our “old” phones are capable of running newer versions.

Its astounding what older devices are capable of with the right software. I installed the community supported version of ubuntu touch on a nexus 5 phone which is about 7 years old now and was stunned to see it was buttery smooth. This device was running faster than my pixel 2. Even web browsing and web youtube worked fine. Apart from the horrible camera and lack of an sdcard slot you could actually use this as a main phone quite easily.


> ou could actually use this as a main phone quite easily.

except it has none of the apps you need if you belong to 99% of typical users.


Seems to me like the focus of his comment was the phone, not the OS. You could just as easily install a custom ROM like Lineage on it and it’ll run perfectly fine (aside from maybe the camera, which is quite outdated and poor in comparison with new phones and I guess in our modern culture is probably a severe negative).


It really is a shame that it is not realistically possible to upgrade phones. Its somewhat simple to remove the camera and replace it with the same one but it is just about impossible to put a different camera in.

The only way I see this could be done is if every oem committed to standard shapes for every part but that would never happen because they shape and layout of a phone is the only way they can make visual changes so people know its a new phone.


Agreed. Even just a phone where only the camera is modular would be a fantastic step. I've had 4 year old phones that run just fine but the camera is unbearably bad. While I do have a DSLR, it's not something I have with me very often.


Most phone apps don't actually have any real purpose other than time wasting. The primary useful functions of a phone are the camera, phone calls, IM, navigation, and calendar. Almost all of these functions can be done on this OS other than maybe IM depending on what you do so I would call this functional.

You would probably find your days more productive and enjoyable if your phone didn't support the general garbage people install.


You’ve heard of a little service called Uber?


Not needed in my area. Google maps shows public transport directions pretty well.


So now we are judging what is useful to the entire phone using population by what is useful to you personally?


Literally no phone is suitable for the entire phone population so I am not sure what the point of this comment is. For me and likely many other phone users, uber is not an essential app.


Well, I didn’t mention a particular phone, but since the worldwide penetration of adult smart phone users is close to 90%, don’t you think you might be the outlier? Obviously most people find a use for them.

And since smart phones can run different apps, it’s not about the “one true phone”.

It’s like the old Slashdot feigned ignorance meme “Do people still watch TV? I haven’t owned a TV in 10 years”.


I really haven't owned a TV in 10 years!


Do you watch videos on a computer monitor or a tablet or a phone? They are all the same thing these days.


Not really. I don't see ads on monitor (thank you UBlock Origin and Pi Hole) and don't see news either.

On monitor I choose what to watch, on TV I am forced to watch what someone else chosen.

I didn't own a TV ever (well, since I went to college), I see it only in my parents house when I visit.


That’s what I meant by it’s the same thing. All TVs are just monitors with small embedded computers with your standard streaming apps.


Well, the difference between TVs and computer monitors is about as big today as it was in the 90s, right?

Back then, they were also essentially the same technology (cathode ray tubes), but the TV had tuner and some analog circuitry to decode the signal.


The TV in the 90s didn’t have a computer built in where you could download apps nor did have an internet connection. You unfortunately can’t buy a TV today that isn’t “smart”. The same video sources that you watch on your computer, are usually available on TVs - YouTube, Netflix, Hulu, etc.


> the apps you need

People don't really need most installable apps. Just about every tool I use has a mobile website/PWA.


Snapchat? Instagram? Say what you will about these closed networks but they're a non-starter if you don't have them. It's why Huawei is doomed to utter failure in US/EU.


I was replying to the part about whether "you could actually use this as a main phone quite easily."

Some users might "need" Snapchat and Instagram (if we really stretch the meaning of "need"), but not 99% of them. A person who is willing to use old phones is probably more likely to not use those apps. I'm sure that many people wouldn't use them if it made their old phones work better. People who want those other kinds of entertainment apps can still spend money on new phones if they want.


This is completely the fault of Google. This is a solved problem with Windows and has been since the mid 90s.


Yes — it’s utterly irresponsible. Even with Android One, you get something like 2 years of OS updates and 3 years of security updates. Windows XP got better than 7 years of security updates, by comparison.


> The fact is that manufacturers want us to buy new phones so as to make profits and stay in business, even though most of our “old” phones are capable of running newer versions.

That's not the only logically sound story one can tell. Another story might be: porting OSes to old hardware raises their resale value, which means your new phones won't be competing against a cheaper version of itself. And people will be willing to pay more if they trust the phone they buy can be sold years later, or handed down their family.


The article is written by implying the wish of the author is the wish of the users. No, users don't want updates. They get annoyed.

I am on Android 10 and honestly I wish I didn't update. The update bricked by phone until I went in the bootloader to reset it to delete my data. Was it great to have it on day 1 (essential ph-1)? Maybe 5 years ago I would say yes, but now no. It wasted 2 hours of my time. Next time I will buy a phone with a good camera instead.

My experience with Android 9 was similar, but didn't break anything. The UI changes were just not good. I personally know the reason (worked with some of them) - all (unfortunately really all, no idea why this wasn't fixed) designers at Google are Apple users and have a bit if Apple envy. Apple can change the UX for everyone and make users get used to it (even if it is less efficient for everyone, which it is). Why wouldn't Google be able to do it? So Android had the best app switcher, but converged to the iOSish variant. I wish Google would just ignore Apple like Microsoft does it in their Windows.

In a similar way, most journalists are Apple users and there is one "right" way to do things. So we get this nonsense in articles and blogs.


You don't mention a big part of the puzzle : security updates.

Given the current state of infosec, any OS that has not received any security update for a year or two is doomed to become a sitting duck for malware. Device security is a whack-a-mole game where new vulnerabilities are found daily and security updates are the only way we have to keep our computers secure.

In a perfect world, UI-and-features-related updates would be optional while security updates would be seamless. Also in a perfect world, older OS releases would receive long term security support and you should not have to upgrade to a more recent release to be secure.

Alas, we do not live in a perfect world. Apple doesn't provide any easy way to accept security updates but refusing others. Android just doesn't seem to provide a seamless update experience, either for security updates or not.

So you should really apply security updates, and if it takes getting other updates for that, then so be it.


If you are Apple, you cannot ignore the security updates. If you are one of the 100 small vendors that sells some cheap Android phones, you offer no support and nobody will complain. If most of the Android phones have no updates, the entire market will not provide security updates, except a few flagship models where Samsung and a few more top manufacturers will have to do it to maintain the brand equity. This way you get to live in a world where "no updates" is the norm and there is no incentive to change that: the people buying $100 phones will not care about updates that they don't understand, but will increase the price by $10-20. When sub-$200 market is 80-90% of the market by volume the gold standard of no updates is set.


The Venn diagram of security updates and UI / UX updates has some intersection, but I agree that they should be as separate as possible.

If I were in control of the Android update release cycle I'd try to force this separation, but I'm sure it's more complex than it seems.

Still, the ideal, as ever, probably lies somewhere between the status quo and my over simplified dream!


This seems a particularly odd take.

You weren't forced to upgrade. It was offered and you accepted. You would have still got security upgrades on V9 (from Google) for some time. Many people don't get an upgrade, let along a choice of refusing it.

Re UX, you don't have to use gestures. You can opt into the "traditional" three-button system.


UX: no, you have to take the bad and non-intuitive UI.

the three buttons no longer work as before - e.g. long press no longer does split-screen. Furthermore, the UX before was cards one on top of each other, the open app is the topmost. The current "logic" is with cards sideways. Which is ugly, non-intuitive and copied from iOS. If you move left to take another card, suddenly your previous card does not remain on the right side. How is this intuitive? Even from business perspective this does not make sense, because once I got used to the new non-intuitive and less efficient UI, the switching costs to iOS for me will be lower.


Install "Split Screen Shortcut", turn it on in the accessibility settings.

When you say non-intuitive, you're not talking about intuition. Holding a button for split screen not intuitive, it's just something you've learnt. Rows vs piles of cards are essentially the same thing, each with slight benefits.

Reforging muscle memory is an inconvenience, but if Google thinks it has a better UX (copied or not) for non-indoctrinated users, maybe it's worth learning another way.

And the similar-UX business case works both directions.


We may keep arguing about what is better. But even if I accept your argument, we will conclude that there was a change for the sake of change. Not something that the users wanted.


I think very little macro design is driven by users. Somebody has an idea, they try it out and iterate.

We wouldn't have the things you're hanging onto without that sort of development.


I've owned a Nokia 6 Plus for the last year and I've been pleasantly surprised to receive the monthly security patches within a week of them being released. If I buy another Android device it will probably be a Nokia for this reason. My previous Samsung and OnePlus devices seemed to receive updates fairly sporadically for the first year, and then nothing after that.


I feel that Nokia has really filled the hole that the Nexus phones used to provide at the mid-range price point. When the only better alternative is from Google themselves (Pixel 3a) that is pretty impressive.


Aren't Android One devices even better (including some Nokias)?


Most Nokia bootloaders are locked. Otherwise a great phone lineup.


I only hope they start supporting CDMA across more models, or Verizon finally axes CDMA. That's the rather large obstacle that has stopped me from getting a Nokia.


You can already use phones without CDMA radios on Verizon, they're requiring all new phones to support VoLTE and axing the CDMA network entirely next year.


Yup, good phone. Very happy with mine as well.


"can't" is such bs. Make it so that the kernel and OS can be fully updated independent of device drivers and bypass manufacturers for distribution. Why does nobody remember that Windows updates come directly from Microsoft and that third party webcams just keep trucking along?


The Linux kernel doesn't provide a stable ABI for modules so they have to be atleast recompiled each time. There are some workarounds such as DKMS to rebuild the interface when the kernel updates but I don't know if Android provides it.

Last I checked a big issue was Qualcomm doens't support their SoC for very long so manufactures have to tweak each devices 'tree' (it's unique kernel and drivers) for each kernel update.

The whole point of project treble was to disconnect the Android version from the kernel version so that manufactures could keep using the existing kernel and drivers and would only have to recustomize the new OSI to their liking.

Turns out a lot of device manufactures still don't see much value in providing timely updates since the general public doesn't even know what version their currently running and are just as likely to hate an update than like it.

Personally, I feel Google's sluggishness to enforce update policies or change how Android works is out of fear that Samsung will break completely and launch their own app store and not have the Play Store, or rather Play Services which is what Google needs if they want to power many of their online platforms (where do you think Google map road conditions come from?, Or that feature that shows how busy restaurants are?). Without play services on every Android device, Android looses it's profitability.


Yet Apple manages it, and they use Qualcomm components. What happens to the Qualcomm drivers when Apple releases a new iOS version that works across multiple generations of devices, are they updated by Apple or does Qualcomm provide a new driver to Apple ? I am not 100% accepting the ABI argument the drivers in the Linux kernel are not getting rewriting every release, sometimes there are changes and I don’t know if applying those changes to drivers is such a burden otherwise the kernel will be always broken


> I am not 100% accepting the ABI argument the drivers in the Linux kernel are not getting rewriting every release, sometimes there are changes and I don’t know if applying those changes to drivers is such a burden otherwise the kernel will be always broken

I think you may be mixing up “ABI” and “API”. If you change internal kernel APIs, you’d break a lot of code and have to go in and fix it. If you change the ABI, you just have to recompile. The ABI does change pretty often and as a rule of thumb there is no effort to keep it stable, the way you would if you were writing a shared library (which ideally has both a stable API and ABI). Drivers in the kernel are not broken because they are recompiled with the rest of the kernel. Kernel modules from different kernel versions ARE broken and this is why we have DKMS.

But just to talk about what happens here—Apple is the only developer of the XNU kernel, and they have a fairly short list of iOS SKUs in the history of iOS, and only a small portion of those get iOS 13 support—something like 12 iPhone models. So the support for all of these devices is right on the mainline kernel development tree.

This is not how Android development works. You generally have a bunch of different manufacturers, who get a team of engineers to get a fork of the Linux kernel working on each device, and then they drop it and move on to the next one. There will be various binary blobs involved, and integrating the changes back upstream or downstream ends up being a pain.

And just to return to the original point, the Linux kernel developers are actively hostile to any attempts to make the kernel ABI stable enough for binary blob drivers to work. This is not a question about whether it is technically possible.


Android has a stable ABI, it is called Treble HAL.


My guess is that Apple writes the drivers themselves. That makes sense because iOS isn't like Linux or Windows where there are public resources on writing drivers. Because they write the drivers, it's very easy to port over to the next iOS version because all the expertise is already at Apple.

In contrast, Qualcomm gives the OEMs a copy the custom Linux kernel that works with their SoC[1]. The OEMs then use that source to build their kernel, probably making minimal changes to it. Once Qualcomm stops selling that SoC, they stop releasing updates to their custom kernel because there's no pressure from OEMs to keep it patched.

[1] eg. https://github.com/MiCode/Xiaomi_Kernel_OpenSource/tree/ceph...


Microsoft bundles drivers for most of the popular hardware. I was able to stick a Windows 7 DVD in my Core Duo Mac Mini, install it and it recognized all of my hardware - FireWire, Ethernet, sound, WiFi, Bluetooth and it sort of recognized my IR port used for my Apple Remote.


Sadly, it would not work in Windows 10 though. I know because I tried with Mac Mini 2011.


> Personally, I feel Google's sluggishness to enforce update policies or change how Android works is out of fear that Samsung will break completely and launch their own app store and not have the Play Store, or rather Play Services which is what Google needs if they want to power many of their online platforms (where do you think Google map road conditions come from?, Or that feature that shows how busy restaurants are?). Without play services on every Android device, Android looses it's profitability.

Hasn't Samsung already tried that with Tizen (and didn't do well), which was also put on its Gear smartwatches?


> The Linux kernel doesn't provide a stable ABI for modules so they have to be atleast recompiled each time. There are some workarounds such as DKMS to rebuild the interface when the kernel updates but I don't know if Android provides it.

I'd expect it to be technically possible, and for Google not too difficult, to pick a version of the Linux kernel module ABI to define as the Android module ABI, and then for newer kernels with newer kernel module ABIs add an adapter layer that can translate from the old ABI to the new ABI.


You think you want a stable kernel interface, but you really do not, and you don't even know it. What you want is a stable running driver, and you get that only if your driver is in the main kernel tree.

— Greg Kroah-Hartman <greg@kroah.com>

https://www.kernel.org/doc/html/latest/process/stable-api-no...


> and you get that only if your driver is in the main kernel tree

And fuck the billions of people with CVEd kernels because of it; they're just collateral damage, right? /sigh/


care to explain?


Project Treble, introduced on Android 7, is exactly that stable ABI for Android.


What happened to that? Have we seen any positive effect stemming from that? I haven't heard much about it since.


It is now the modern way to publish drivers for Android, either in Java or C++, implemented as kind of micro kernel architecture, where drivers get each their own process, and talk to the Linux kernel via Android IPC.

Classical Linux drivers are considered legacy on Trebelized devices.

https://source.android.com/devices/architecture/hal#hal-modu...

The big problem is that in spite of having a standard ABI, Google does not require OEMs to actually push updates, so everything stands as before for consumers, while OEMs have even lower development costs.


It is the abstraction layer that will let Google swap in Fuchsia and de-GPL their platform.


As the article says, Google can't force manufacturers to follow strict update policies because manufacturers can just fork Android like Amazon did.

I can't think of any open source software vendor that is able to force its customers to accept strict policies, because forking is always an option.

Windows updates work for years because manufacturers maintain Windows drivers for their hardware. The Android ecosystem is more like the Linux desktop one -- each manufacturer sells a different Android distribution with their own custom stuff mixed in.


Windows has a relatively stable driver ABI. Old drivers can run on new builds of the system.

Linux doesn't. So OS updates leave behind old drivers.

So manufacturers don't have to do anything for their drivers to continue working on Windows, and it is often the case that updates will stop shortly after hardware is released.


Why can't Linux provide a stable driver ABI for compatibility? E.g. in addition to the unstable one. Like FUSE.


You think you want a stable kernel interface, but you really do not, and you don't even know it. What you want is a stable running driver, and you get that only if your driver is in the main kernel tree.

— Greg Kroah-Hartman <greg@kroah.com>

https://www.kernel.org/doc/html/latest/process/stable-api-no...


Redhat EL provides this. There are various engineering reasons for why they don't care for it in the Linus kernels. So it seems nobody wants to invest the engineering effort to do this for Android.


They did it already, Project Treble.


> manufacturers can just fork Android like Amazon did

This is a pretty weak argument against doing the right thing by taking control of system updates. Even stock Android devices stop getting updates very quickly because of how tightly coupled to the hardware drivers Android is. It doesn't have to be that way.


Even if the driver situation was improved, manufacturers just don't want to provide support for older devices.


Android phones wouldn’t sell in the west without Play Services. Google has a lot of control over Android manufacturers. They were just forced into a consent decree by the EU - because they were forcing manufacturers to not sell non Google Android forks if they wanted to sell phones with Google Services.

Amazon is doing okay with cheap tablets but their phone was a failure.


Google can force a lot of things. Android manufacturers can’t realistically sell a phone outside of China without Google Play services. Google just got in trouble with the EU for strong arming Android manufacturers with respect to making Google the default search engine and not allowing them to both sell official Google Android phones and forks.


> Make it so that the kernel and OS can be fully updated independent of device drivers and bypass manufacturers for distribution.

This would mean that you'd have to commit to a stable ABI for device drivers, forever.


Or maintain device drivers in mainline. Anything less is irresponsible and "designed to fail".


This is why it is so important to buy a device that has open source drivers. If your device can run mainline linux without any patches then you can be pretty sure it will be easy to update for a very long time.

The only phone I know which fits this description is the Librem 5. Unfortunately it would currently be a lot cheaper to just buy second hand android phones every 2 years than to buy one of these but hopefully they can get the price down later.


The postmarketOS project is working on mainlining drivers for other devices. They're almost done wrt. the LG Nexus 5, which is their current flagship (though mobile voice/data support is still problematic)


I tried installing PMOS 5 on a nexus 5 and it seemed a long long way away from being usable.


Well there is also the fairphone! And pinephone in the future (based on rk3399, so not bad mainline support). Peripherals are always iffy, but sometimes you need to make sacrifices.


Not forever. Windows XP drivers don't work in Windows 10.

5 years of support for a driver ABI seems achievable though. Especially for basic things like proximity sensors, touch screens, buttons etc.

How often is the ABI for a button going to change?


And?


The mainline kernel doesn't have a stable ABI, so you're stuck maintaining a fork, forever.


What it would mean is committing to supporting previous interfaces for some window of time when introducing new ones, not one interface ever.


Android kernels are routinely provided by the OEM and are usually an unholy cocktail of old Linux, with fixes backported from upstream. These kernels are checked into the Android source repo as binary files.


Doing this analysis by SKU (device model) makes the picture look far worse than it is. You should be looking at users. Ideally you'd be looking at your own app's users which may differ from the general Play Store usage quite significantly.

The most representative public data for a US centric app is Mixpanel's [1]. This has lined up with most of the apps I've worked on more closely than Google's own dashboard [2].

If I were starting an app today with no data, I would set my minSDK to Lollipop (21). If I had an existing app I'd be dropping support of any version used by <1-3% of my user base.

[1] https://mixpanel.com/trends/#report/android_os_adoption [2] https://developer.android.com/about/dashboards


been burned twice (Lenovo, Motorola) with "yes we will" followed by months of "we meant maybe" followed by months and then "no, we won't"

Tablets get less love than phones too. That said, my recent expriences have been better than prior, but still somewhat dire.

"two years and its junk" is a pretty bad rule. it feels like formalized planned-obsolescence.


Quick warning for anyone wanting to upgrade to Android 10, if you're using a custom alarm app, don't upgrade. The new OS has broken pretty much all alarm apps that aren't the stock clock app.


I am using "Sleep Cycle" without problems. Poco F1 custom AOSP 10 Rom .


Nice thanks for mentioning it. Just gave it a shot and it actually activates the screen correctly which the others I've tried weren't doing.


This shows Oppo as being the worst -- but I have had the last 2 OnePlus phones (6T and 7Pro) that received updates within a month of a new release (and OnePlus is Oppo).


What if Android was designed in a way that meant the device makers had to modify only the UI and not alter the functionality of the features. Wont this have solved their problems? Im thinking this because many phone makers just apply their skin on top of stock android and nothing more!

Things like settings UI can be fixed for all vendors so that we don't get confused everytime we get a different phone! I hope fushcia does it this way!


The key to driving voluntary updates is to separate the platform from the product. There's no reason that Google shouldn't be able to maintain an Android OS that looks and works just like it did the first day that the user opened the phone.

Such a standard is expected in commercial software because businesses won't tolerate expensive disruptions to placate a vendor's vanity. If Google were serious about maintaining a healthy Android ecosystem, they'd make platform upgrades mandatory and transparent. Launcher and interface "upgrades" can and should be optional.

As far as I know, Microsoft continues to fret over backward compatibility with software that's probably older than their median employee, because their customers expect nothing less. Moreover, customers demand a consistent experience and have very little tolerance for arbitrary workflow disruption (a point forcibly driven home by the crash and burn of Windows 8, in case it wasn't already obvious enough).

RHEL releases are supported for more than 10 years and they function essentially identically the entire time, somehow without leaving users in the breach to contend alone against a decade's worth of crashes and security flaws, and believe it or not, there are specialized and boutique platforms that take this type of thing even more seriously.

"Don't break the user's shit" is not only possible, it's the baseline expectation from any profesionally-managed platform.

Then we have Google saying "Hey, upgrade your OS and we'll change the whole interface, break a third of your software, and force you to learn this weird new 'no buttons' thing because buttons aren't in this year. No takebacks." When that's all vendors have to offer, it's not a surprise that consumers avoid upgrades like the plague.

While Apple is definitely closer to the Google side of the fence here, they've paid a high price for it over the decades, penetrating only those industries where the appearance of eccentric creativity is a larger asset than consistent productivity. Since iOS devices are primarily a status symbol, it appears the combination of getting the hottest thing and feeling compliant with the overlords in Cupertino is sufficient upgrade motive for the ever-dwindling number of iOS users.

Google should know their audience of "everyone else" well enough to know that for most people, that dog just don't hunt. Maybe it's time for Microsoft to draw its claws out of Nokia and see what happens if they take another pass at the market.


[flagged]


Well put.


Stop. Fucking. Buying. Non. Google. Phones.


Google wants everybody to sell Android's phones - that's how it promotes Android OS; that's how it competes with iOS. That's why Android OS open sourced by Google.

But at the same time, I think Google wants to sell it's own phones and competes with other Android manufacturers.

That's conflict of own Google interests.

And "other manufacturers" mostly care about their sales, - they don't really care about Android OS success - that's for Google to care.


Most of what makes Android, Android in non Chinese markets are the proprietary closed sourced parts that manufactures have to license from Google. Google has been abandoning more and more of the open source parts over the years.


Why would you buy a google phone? Because they promise to show you how phones "should be done"? Then they stop updates after 18 Months, and more egregiously, security updated after 3 years. Yeah, great track record google. Other manufacturers sell throwaway phones cheaper! (I am just bitter, still miss my Nexus 5)


Where can I buy new iOS devices without contract for 300 € ?


I. Might. When. Google. Sells. A. Sub. $300. Phone.


<incorrect information>


Wait what? The original Pixel was updated to Android 10. That's three years of updates.


I think you're wrong about that. My circa 2016 Pixel XL got an update to Android 10 a couple of months ago.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: