Wednesday, December 02, 2020

Planned obsolence for Android phones

Four years ago I bought a OnePlus 2 for 319€, nowdays it still is good hardware, it's better or as good as most of the mid to low end phones in the market.


But it has a big-ish problem, it is stuck on Android 6, which not only is old and probably full of security holes, it is starting to not be supported by some apps.

Solution: LineageOS.

It provides Android 10 for my phone and works flawlessly (from what i can see, only been using it for 4 days), so the fact that "some randos" (with all my love, I'm a rando) can make it work, means that the manufacturer could have if they wanted, they just chose not to.

It's really sad because if i wasn't a geek that knew how to put LineageOS on the device i would have probably ended up buying a new phone, making the world be fill with more junk.

Let's hope the more open devices like the PinePhone KDE Community Edition put an end to this :)


Zanny said...

It gets a lot worse than the manufacturer just "didn't try" when you start going down the rabbit hole of how consumer / user / reusable hardware these phones are. Their firmwares are designed to be irreparable, every board is custom modules with no source release or compatibility across devices, partition tables are burned into the boot firmware, and more insanity.

They are fundamentally designed and meant to become unusably obsolete through software abandonment. It isn't negligence, its malicious intent. Mainline kernel developers and the entire ecosystem has put in a million man hours of work trying to standardize Android against the desires of hardware manufacturers, Google, and phone retailers. Its resistance at every step and its why incentives like Pinephone, Librem 5, and RISC V are so critical to the future of something as simple as sustainable computing going forward.

96Trees said...

Gee, and I'm sitting here with a 5 year old Moto E running Android 5.

Oded said...

As an open source lover, lineageOS user (it was a while ago) and a commercial software engineer, I empathize with both sides of the argument and while things can be made sightly better - the situation is what it is and there's nothing fundamental that can be changed, and I'll explain:

Software development is expensive - massively more so than hardware development of your plan for years of support. If OnePlus had to budget 5 years of Android upgrades for each device they sell, they wouldn't have been able to afford creating a new device every year, possibly at all. The situation with companies like Samsung is worse as they put out a dozen or more new devices yearly.

In order to afford development of a new software stack that takes advantage of new hardware and offers new exciting features, companies *must* abandon old systems, otherwise they wouldn't have enough resources.

The situation can be improved somewhat, and Google has been doing their part with things like the new ODM layout, but some of the problems, such as those Zanny noted, are due to companies trying to move fast instead of doing future-proof engineering (which is - let's face it - more expensive), and the upstream architecture (from Google - and it was also a lot more monolithic and not friendly to future-proof engineering in the past, and had improved a lot since Android 6)

All this to say - this is very similar to the how the PC businesses was running in the early 90s, with different hardware vendors trying different incompatible things - but this was at a time where you had one simple ISA and it took 3 years between minor operating system versions (compare Windows 4.0 (95) and 4.1 (98)). Today, you expect a new device with at least 50% better hardware and a new major OS revision to go along with it and offer big new features - every year and at a price point that is a quarter of a the price new computer in the 90s (less if you consider inflation). All this progress has costs that are currently not borne out by owners of new devices, but by owners of old ones.

All this is to say that the economics of supporting older devices just do not work in the current system and it is up to volunteers like the Lineage project to make up for it - and Google at least tries to make their work easier as time goes by, and this slowly trickles down to OEMs. It will take a few more years, but I believe the smartphone market will stabilize like the PC market did. In any case, I expect the Pixel 4a I got earlier this year to survive (software-wize) much better than the LG I had 4 years ago.

Andrius Štikonas said...

I have mixed experiences of being able to stay on newest Android with Lineage OS...

It is supported for a tad bit longer than official images but once official images stop being officially supported, it doesn't take that long for Lineage OS to stop supporting those phones too (and in any case you are stuck with an old kernel).