|
|
Subscribe / Log in / New account

Project Treble

By Jake Edge
September 19, 2018

OSS NA

Android's Project Treble is meant as a way to reduce the fragmentation in the Android ecosystem. It also makes porting Android 8 ("Oreo"—the first version to mandate Treble) more difficult, according to Fedor Tcymbal. He described the project and what it means for silicon and device vendors in a talk at Open Source Summit North America 2018 in Vancouver, Canada.

Tcymbal works for Mera, which is a software services company. It has worked with various system-on-chip (SoC) and device vendors to get Android running on their hardware. The company has done so for several Android versions along the way, but Android 8 "felt very different" because of Treble. It was "much more difficult to upgrade" to Oreo than to previous Android versions.

He put up several quotes from Google employees describing Treble (slides [PDF]). Those boil down to an acknowledgment that the changes made for Treble were extensive—and expensive. More than 300 developers worked for more than a year on Treble. It makes one wonder what could justify that amount of effort, Tcymbal said.

[Fedor Tcymbal]

Google presents Project Treble as a re-architecture of Android to make it easier for vendors to update their devices to new versions of the mobile operating system. The Android Open Source Project (AOSP) architecture is layered, with apps at the top; the application framework, Binder, and Android system services in the middle; and hardware abstraction layers (HALs) and the Linux kernel at the bottom. Google provides the middle layer, while vendors provide the HALs and kernel.

He then outlined the normal pre-Treble process for an Android dessert release. When the release is made, it only runs on the reference platform (e.g. Pixel). Silicon vendors then get the kernel running for their SoC, turn it into a board support package (BSP), and hand that off to device makers to do all of the customizations for the actual device. The software is then given to the phone carriers, which get it out to the end users. This last step is not really required, but is common in North America, he said.

Each of those steps takes some time, which generally adds up to 6-12 months. In addition, those steps only happen if each participant is interested in making it happen. If the SoC or device is no longer being sold, those vendors may not do their part, so no upgrade is available to users. "Google does not like this", Tcymbal said.

In July, nearly a year after its release, Oreo was only on 12% of the devices in the field. That means that all of the new features, security upgrades, and so on, really only get to people after a few years when they buy a new device. In fact, the uptake for Oreo is roughly the same as the percentage of devices that remain on Jelly Bean and KitKat, which were released 5 or 6 years ago. That is different from the iOS world, where devices get updated right away. So Google's effort in creating new versions is largely wasted, he said; that is why the company spent so much effort on Treble.

HALs and APIs

When a new version of Android is released, all of the old apps continue to work because the old APIs are still supported. Upgrading to a new version of Android took so much time because Google did not recognize that it needed to do the same thing several layers down, Tcymbal said. The strict line separating Android system services and the HALs did not exist prior to Treble; that is the purpose of the project.

Prior to Treble, the HAL interfaces were specified as a bunch of C header files. Each new version of Android meant there were new interfaces and header files. So each HAL needed to be updated to the new interfaces and rebuilt for the new version of Android. That's the reason that vendors had to spend so much time updating.

With Treble, there is now a HAL interface definition language (HIDL) instead of the C header files. In addition, Google has several transitional steps that vendors can use to move toward the new architecture. Legacy HALs can still be called from a process, rather than from Binder, which is the way of the future. Google has created a wrapper for legacy HALs to make it easier to use those with Treble. The eventual destination that Google envisions is for the legacy HALs to be replaced with a vendor implementation of hardware services. Mera did not take that step, but continued using the legacy HALs; Tcymbal thinks that is likely what other vendors will do as well.

Treble introduces a vendor interface object that is checked before an over-the-air (OTA) update is performed. The device sends a manifest and compatibility matrix to the OTA server, which checks to see if the new version can be run on the device. The object has information about HAL versions and interfaces, kernel versions and configuration options, SELinux policy versions, and the Android verified boot version. The information provided by the device can be used to ensure that a device will not upgrade to a new Android version. Tcymbal said he does not understand why Google allowed that, because device vendors may have the incentive to block upgrades in order to sell newer devices.

There is now a "golden" /system image that gets installed on a device and it must run without modification. There is a new /vendor partition for the vendor-specific HALs. That all makes sense, he said, but it means the device must be repartitioned in order to upgrade to Android 8. However, some vendors are unwilling to allow that upgrade because they do not want to risk breaking users' working phones.

The compatibility test suite (CTS) for AOSP is meant to check that the Android framework is working as expected. Treble adds a vendor test suite (VTS) that extends the testing a few layers down into the system. It is meant to check whether a HAL is actually providing the interface it claims to provide. Vendors that want to certify their devices (in order to get access to Google Play services) need to pass the VTS. Passing that suite means that the /system golden image will run on the device.

Problems

Treble has mandated a lot of new things for device and SoC vendors, he said, which has caused some problems for some of those vendors. Normally, it would take a small team two months or so to upgrade to a new version of Android. Treble took six months for his team, he said; in general, most vendors found it took three times as long.

Another problem is with Binder, he said. The idea to have Binder mediate the hardware-specific handling, but it "is kind of slow" because it uses interprocess communication (IPC) to communicate. That is too slow for things like graphics, so there will always be a need for pass-through HALs, which is an exception to the architectural vision.

A big change like Treble can only lead to new bugs. He has heard that the Treble changes were around one million lines of code; with that size of a change, the Android developers "probably broke something". They may well have introduced new security vulnerabilities as well.

His last concern about Treble was that it might lead to more uniformity in the device space. Having to conform to various Google mandates might make it more difficult for device makers to introduce new features. Google says it wants all kinds of different devices, but Treble is a step toward standardization that could reduce that diversity.

Success?

Android 9 ("Pie") was introduced recently, but only adds a few final touches to Treble—most of the work was done for Oreo. It does give us a chance to see how well Treble is working out, he said. There are lots of devices upgrading from Oreo to Pie, which is a great result. In addition, there were 12 devices supported by the Pie beta release, where normally it would only be supported on a Pixel reference platform (or possibly one other on top of that).

While it is not directly related to Treble, Tcymbal found it interesting that the mandatory API target for new apps has been raised to API level 26 (which is what Android 8.0 provides). New apps cannot get on the Play store if they do not conform to that. This shows the overall direction that Google is headed: Treble pushes the device makers to conform, now the app makers are also being pushed. Without Treble, that would not have been possible, he said.

In summary, Treble is a bug fix for the worst kind of bug—an architectural bug. Google did not think through the implications of upgrading to newer versions and so it had to pay the price. Device and SoC vendors also paid for the mistake. Treble has clearly succeeded from a technical perspective, but it is less clear if it has succeeded from a business perspective. The idea was to extend the life of devices to four or five years, so it is too early to tell if that will be the case. We will have to wait and see.

[I would like to thank LWN's travel sponsor, the Linux Foundation, for travel assistance to attend Open Source Summit in Vancouver.]

Index entries for this article
ConferenceOpen Source Summit North America/2018


to post comments

Project Treble

Posted Sep 19, 2018 20:35 UTC (Wed) by phh (guest, #112196) [Link] (8 responses)

To make Project treble more real, here is one realization of it:
There is one "universal" Android 9.0 ROM made by the community (read: mostly me) that works on pretty much any Android device released with Project treble, be it with Android 8.0, 8.1, 9.0.
I think that currently supported devices goes well over the hundred (it already overpasses lineage hardware support)

Link https://forum.xda-developers.com/project-treble/trebleena...

Project Treble

Posted Sep 19, 2018 21:20 UTC (Wed) by khim (subscriber, #9252) [Link] (1 responses)

Also I want to point out that Google tried to make the whole process as painless as possible. The aforementioned system/vendor split was supported since Android 5.0 released four years ago (look on images for Nexus 9 and you'll see that they all have vendor partition). And I'm pretty sure many other things which become suddenly mandatory in Android 8 were supported before, too. IOW: process took much longer that usual not because Android 8 introduced many new things - but because changes which were supposed to happen in a few years only happened when Android 8 made them mandatory.

That's not abnormal, though, people rarely do optional things if they could skip them…

Project Treble

Posted Sep 19, 2018 21:44 UTC (Wed) by phh (guest, #112196) [Link]

Well, the /vendor partition isn't really an issue for OEMs.
Project Treble is NOT a requirement for devices upgrading (OTA) from older Android versions.
So basically, on old devices, OEMs don't care, on newer devices, they control the partition table however they want, so no issue.

Some OEM implemented Project Treble after upgrading from Android Nougat, and didn't have vendor partition by then.
For that, they indeed needed to make a vendor partition, so they had to repartition (but most already had useless reserved space, so it was easy)

(I couldn't agree more on your conclusion though)

Project Treble

Posted Sep 20, 2018 15:05 UTC (Thu) by virtex (subscriber, #3019) [Link] (5 responses)

That's pretty fantastic. I've long desired the ability to have a single common Android install image that would work on all (or at least most) devices out there. We've been able to do this in the PC world for decades, so I don't see why it can't happen in the smartphone world too.

Project Treble

Posted Sep 28, 2018 23:10 UTC (Fri) by sandeep_89 (guest, #127524) [Link]

It's not the same. As far as Windows and Unix distros go, they either ship with some bare minimum set of drivers that allows the most basic functionality to work, or they ship with out of the box support for a wide variety of hardware, along with that bare minimum - most of the time for Windows you need to install additional drivers to get proper functionality.

In the case of Treble, the hardware specific base (kernel + drivers + other low level stuff) is already installed and accessible through a well-defined interface - the Android framework and other high level code can be swapped in and out, as long as it can talk to the installed version of hardware specific base software.

Project Treble

Posted Sep 29, 2018 14:37 UTC (Sat) by Wol (subscriber, #4433) [Link] (3 responses)

> We've been able to do this in the PC world for decades, so I don't see why it can't happen in the smartphone world too.

You obviously don't remember the start of the PC world ...

Before the IBM PC, which foisted a de-facto hardware standard, pretty much all PCs needed their own custom operating system. Okay, we had CP/M for Z80 hardware, and then MS-DOS for 8080 hardware, but did you know that you couldn't take eg MS-DOS for an Apricot and install it on a Sirius?

Only when the IBM PC came out, and everybody started making IBM-compatible PCs, did we have the hardware standard that only one version of the OS was needed (which is seen, even today, with all the hardware that breaks specs, or has dodgy behaviour, but as long as it's compatible with Windows is seen as being okay).

And you need decent, reliable, hardware specs because even once you've got the basic system up and running, if you probe to try and detect additional hardware, it isn't unknown that sending a probe for add-on hardware X to actual hardware Y will cause hardware Y to break, or lock up, or otherwise render the computer temporarily - or occasionally even permanently - unusable.

Cheers,
Wol

Project Treble

Posted Sep 30, 2018 10:47 UTC (Sun) by anselm (subscriber, #2796) [Link] (2 responses)

Okay, we had CP/M for Z80 hardware, and then MS-DOS for 8080 hardware

8088 hardware, actually. The 8080 predates the Z80 (and IIRC CP/M would also run on 8080 processors). Unlike the 8080 and Z80, which were 8-bit CPUs, the 8088 was an early 16-bit processor.

did you know that you couldn't take eg MS-DOS for an Apricot and install it on a Sirius?

There was supposed to be a BIOS (“basic input/output system”) that hid the hardware details so the MS-DOS wouldn't need to be different between platforms. Nowadays we tend to think of the BIOS as the old-fashioned method of getting the computer to boot an operating system, but back in the old days the BIOS would actually do things like talk to the keyboard, screen, and disk drives on behalf of MS-DOS, on an ongoing basis and not just when the system boots.

Project Treble

Posted Sep 30, 2018 18:34 UTC (Sun) by Wol (subscriber, #4433) [Link]

> 8088 hardware, actually.

Whoops, my bad ...

> There was supposed to be a BIOS (“basic input/output system”) that hid the hardware details so the MS-DOS wouldn't need to be different between platforms.

In an ideal world, ...

The reality was it didn't work until Compaq took the IBM spec and wrote a clean-room clone, hence all the "IBM Compatibles".

Cheers,
Wol

Project Treble

Posted Sep 30, 2018 20:42 UTC (Sun) by nix (subscriber, #2304) [Link]

There was supposed to be a BIOS (“basic input/output system”) that hid the hardware details so the MS-DOS wouldn't need to be different between platforms. Nowadays we tend to think of the BIOS as the old-fashioned method of getting the computer to boot an operating system, but back in the old days the BIOS would actually do things like talk to the keyboard, screen, and disk drives on behalf of MS-DOS, on an ongoing basis and not just when the system boots.
In theory, anyway. In practice doing so was so slow that even before the Compaq cloning, all but the simplest software was using direct hardware access rather than the BIOS, and simply documenting that it didn't work on "non-IBM" MS-DOS machines. (Later, this changed to "non-IBM-compatible.")

Project Treble

Posted Sep 19, 2018 21:30 UTC (Wed) by Fowl (subscriber, #65667) [Link] (1 responses)

I'm sure there will be some common "/vendor" components (eg. from Qualcomm or NVIDIA) that have been included in the "Android security level" thing before- I wonder how these will be handled now.

Well I'm wondering how "/vendor" will be managed/updated in general I guess. "/system"'s quirks database will grow rapidly no doubt.

Project Treble

Posted Sep 19, 2018 21:38 UTC (Wed) by phh (guest, #112196) [Link]

Well, for the moment, independent updates of system and vendor do not exist in real life, so Treble doesn't change this:
So at the moment, if you say you have security patch level xxxx-yy-05, it means the oem included all known security patches, including vendor ones.
If it's xxxx-yy-01, it includes xxxx-(yy-1)-05 patches including vendor ones, and xxxx-yy android framework patches.

Last time I checked, Google's plan for independent updates was to add multiple lines inside the Settings application where it reports to the user the security patch level
This way, it would show independently security patch level of every partition.

Project Treble

Posted Sep 20, 2018 1:02 UTC (Thu) by karim (subscriber, #114) [Link]

Good stuff. Pretty much all on spot.

FWIW, I had done some livestreaming sessions about Treble earlier this year on Youtube covering this and some detailed walkthroughs for those who might be interested for more. Slides here:
https://www.slideshare.net/opersys/android-treble-blessin...
https://www.slideshare.net/opersys/androids-hidl-treble-i...
Videos here:
https://www.youtube.com/watch?v=2XJAdK9XKcQ
https://www.youtube.com/watch?v=UFaWqdxBW4E

An earlier detailed writeup is here in a 4 part series:
http://www.hatchmfg.com/android-treble-blessing-or-trouble/

Project Treble

Posted Sep 20, 2018 13:19 UTC (Thu) by zack (subscriber, #7062) [Link] (1 responses)

Jake, how could you miss the chance of titling this "The Trouble with Treble" ? :-)

(ob ref: https://en.wikipedia.org/wiki/The_Trouble_with_Tribbles )

Project Treble

Posted Sep 20, 2018 14:07 UTC (Thu) by jake (editor, #205) [Link]

> Jake, how could you miss the chance of titling this "The Trouble with Treble" ? :-)

heh, never even thought about it ... probably should have :)

jake

Project Treble

Posted Sep 20, 2018 17:06 UTC (Thu) by jezuch (subscriber, #52988) [Link]

It's interesting to hear that from non-Google, who would obviously present Treble in all superlatives. Seems like a step in the right direction, though. Looking forward to seeing some actual upgrades for a change ;)

Project Treble

Posted Sep 21, 2018 4:15 UTC (Fri) by ThinkRob (guest, #64513) [Link] (20 responses)

The more I've looked at and thought about Android, the more I'm wondering if the real problem with "stale" devices is economic, rather than technological.

Don't get me wrong, anything that makes it easier (and thus cheaper) for OEMs to ship updates is good. But a part of me can't help but wonder if some of the vendors don't put any effort into it because the economic incentives are totally misaligned. If $VENDOR ships a phone and stops updating it after a year, then security or performance-conscious consumers have an incentive to buy a new phone after a year. If $VENDOR supports it through several major releases of Android and lets the user get four years of use out of it, that's great for the user, but that's three upgrades that $VENDOR is missing out on.

Project Treble

Posted Sep 21, 2018 10:12 UTC (Fri) by epa (subscriber, #39769) [Link] (7 responses)

You say that, but Apple have a fairly good record of supporting older devices: iOS 12, out recently, works as far back as the iPhone 5S, launched five years ago. Apple is surely subject to most of the same economic incentives for consumers to buy a new phone.

Project Treble

Posted Sep 21, 2018 11:22 UTC (Fri) by excors (subscriber, #95769) [Link] (2 responses)

One difference is that Apple gets something like $10B/year income from the App Store (vs about $100B/year income from iPhones, but the App Store income is presumably all profit), so they make a non-trivial amount of money even when customers aren't buying new hardware. Android device vendors don't get that, since the app income goes to Google.

Apple also sells a much larger number of units of each model than most Android vendors, so they can more easily afford the per-model cost of developing updates. And their scale lets them do a lot more of the hardware and low-level software in-house, rather than relying on third-party vendors, so updates don't depend on negotiations between multiple companies with not-necessarily-aligned goals.

Project Treble

Posted Sep 22, 2018 9:41 UTC (Sat) by MarcB (guest, #101804) [Link] (1 responses)

> One difference is that Apple gets something like $10B/year income from the App Store ... Android device vendors don't get that, since the app income goes to Google.

This is so obviously a major point, and yet, I never thought of it. Thanks ;-)

Additionally, vendors do not get the ad revenue Android brings in.

Project Treble

Posted Sep 23, 2018 2:25 UTC (Sun) by giraffedata (guest, #1954) [Link]

No company can afford to leave money on the table.

Anyone at Apple who said, "we're making so much money on this other product that we don't need to concern ourselves with making money on this one" or "we're making enough profit on this product that we're not going to bother trying to sell more of them" would be laughed out of the board room.

Project Treble

Posted Sep 21, 2018 16:45 UTC (Fri) by ThinkRob (guest, #64513) [Link]

That's true. Two things come to mind:

1) Apple tries to get people to buy into an entire ecosystem. Rent some songs on iTunes, buy a Mac, get some Beats headphones. They don't really care *what* you buy if you stay within their ecosystem, they still get their cut. Most of the smaller Android vendors often don't have such an ecosystem; their profits are dependent on phone sales, phone sales, and more phone sales.

2) Even more critically: Apple gets a HUGE cut of app sales, and it's pretty much all profit. So for Apple there's a very large economic incentive to make sure that as many people as possible can run current OSes (and thus current apps.) Android handset vendors don't generally have their own app stores; they make their money from the hardware itself -- and that's a very, very low margin business.

Project Treble

Posted Sep 24, 2018 20:23 UTC (Mon) by drag (guest, #31333) [Link] (2 responses)

That's how Apple gets people to buy new phones without incurring the cost of maintaining backwards compatibility.

There are two major factors going on here:

1. Apple customers spend significantly more on their devices, on average, and have a history of hanging on to devices longer then their PC counterparts. So they have a expectation that Apple supports their older stuff.

2. Every OS update degrades the performance of the phone.

So because Apple only supports a small handful of devices, forces users to use the same version of the software, and OS updates incentive their customer base to purchase newer products... then it's pretty obvious why they have a good track record.

This is the sort of reason why people buy Apple and it is something that Linux or Android will never be able to reproduce due to the 'freedom factor'. Many companies produce Android phones for all sorts of different economic classes and nobody is forcing anybody that buys a Android phone to use the same OS version as everybody else.

To illustrate the issue:

With Android I can go out and get a smart phone for _no cost_.

Looking at Straightalk in my area there are no less then 22 different models of Android phones I can get for less then 50 dollars. 9 of those smart phones I can get for $0 dollars, mailed to my house, with a single month of pre-paid phone service. No contracts. No payment plans. Nothing. The service plans are cheap for this setup as they would be if I brought in my own device. They are literally giving smart phones away for free to get you to purchase a month of service.

And the phones that do cost more then $0 but less $50.. most of them don't even require you to purchase a single month of service. Some of them give you a 50% discount if you do, but many do not even offer that.

With smart phones that are now cheaper then the flip phones and feature phones that they replaced... they are essentially disposable items. The profit margins that need to exist only to be consumed in order to keep these sorts of things up to date are practically non-existent.

The size and scope of the problem attempted to be solved here is something that Apple has avoided entirely by focusing on a small number of devices and a specific class of customer.

I would really love if people do end up solving this issue, however. The idea of taking zero-cost or almost-zero-cost off the shelf Android devices and being able to get rid of the crapware and obsolete OS with the latest open source version is extremely attractive.

Project Treble

Posted Sep 27, 2018 8:57 UTC (Thu) by epa (subscriber, #39769) [Link] (1 responses)

From what I've read, iOS 12 is a bit faster on older devices than iOS 11. Perhaps not quite as fast as the original iOS the device shipped with, but in my personal experience I haven't noticed a slowdown from upgrading older iPhones.

Project Treble

Posted Oct 3, 2018 17:16 UTC (Wed) by jmanig (guest, #120108) [Link]

iOS 12 is a bit of an exception, though. It took two or three release cycles of people clamoring things were getting worse instead of better for Apple to finally cave in and say "OK, OK, no new features (or close to it), we'll just go through everything and make sure all the usability issues are fixed." Well, that and companies like Samsung have started making phones for that market segment that look really attractive.

Project Treble

Posted Sep 21, 2018 16:02 UTC (Fri) by MarcB (guest, #101804) [Link]

I considered it purely economic from the very beginning.

In the pre-smartphone era, vendors and network operators had total control over the features and the lifetime of a mobile phone (remember paying a premium to get more phone book entries?). Google had to make a lot of allowances, or Android would never have been accepted. Iin the end, the vendors lost this control anyway, but I can see how this might have been very significant for management, at the time.
Apple dodged this, by being the vendor themselves but even they had to bow to the network operators (see tethering). Microsoft entered the market much later, when it was obvious, that the vendors had lost their control, so Microsoft could control larger parts of the system.

And of course, it is directly about money. Not supporting it makes the phone much cheaper. But then, security is rarely an incentive to buy a new phone. People do not care, and a lot of the security issues are not that relevant in practice. People use curated apps - and usually not even a lot of them - that access data from curated services. That greatly limits the impact.

I am mildly confident, that Treble will improve the situation, namely because withholding updates to make new devices more attractive, does not work very well anyway. But Treble is also limited, as the low-level system components are not covered by it. Updating them remains as hard as ever. That can only be fixed by customers making this a major purchase factor. Also, the "Android Common Kernels" might help here.

Project Treble

Posted Sep 23, 2018 2:44 UTC (Sun) by giraffedata (guest, #1954) [Link] (10 responses)

It's a myth that companies want to sell poor quality products so that people have to buy more. In a competitive market, at least (and that's what we're talking about here), it is more profitable to sell something that has a 4 year life than something with a 2 year life. People will pay more for a 4 year life and you can save all the cost of making and selling that second unit, so both parties come out ahead.

If you made the major purchase of a phone and found you had to buy a new one 2 years later, you'd probably be strongly disposed to buying a different brand this time. A higher-priced unit that claims it will still be viable 4 years from now would definitely get your attention.

This myth was best explored in the satirical movie The Man In The White Suit, in which a person invents a suit that never wears out or stains. Overlooking fashion considerations, the suit would last forever. Clothing manufacturers do everything they can to squash the invention because they want to sell more suits. It makes a funny movie, but in reality, clothing manufacturers would be investing everything they have in developing the invention because the price of that lifetime suit would be high enough that the profit would exceed any profits they could get from traditional ones, even if they eventually stop making suits altogether.

Project Treble

Posted Sep 24, 2018 15:47 UTC (Mon) by nybble41 (subscriber, #55106) [Link] (2 responses)

> People will pay more for a 4 year life and you can save all the cost of making and selling that second unit, so both parties come out ahead.

That is not universally true. First, if consumers were planning to replace their devices within two years anyway, they may *not* be willing to pay more for a device which lasts longer only in theory. Resale is an option, but used devices sell for much less than new ones, even after adjusting for the remaining lifespan. Putting that aside and assuming that devices are only replaced when they reach their projected age limits, people may pay more for a 4-year gadget than a 2-year gadget—but not twice as much, unless replacing the device every two years was a serious inconvenience worth paying extra to avoid. There is a time cost to spending $2X up front rather than $X now and another $X in two years, plus the buyer is taking on the risk that replacement may be needed earlier than expected due to accidents or other factors beyond their control. Meanwhile from the manufacturer's point of view sales volumes have been cut in half, which means the fixed costs per unit have doubled. This is on top of the higher cost to design and manufacture devices to higher quality standards so that they last longer in the first place. The minimum viable price for a device which lasts twice as long may well be more than double the price of the shorter-lived version, which would price the more durable device out of the market.

Of course, there is a cost to frequent replacement as well; otherwise people would be replacing their phones every other week to keep up with the latest and greatest. The variable costs to manufacture each device and the inconvenience of switching to a new device keep the ideal lifetime from dropping to zero. In the end there is a balance which depends on the time value of money, the ratio between fixed and variable costs, and the expected time before the device succumbs to an accident, natural obsolescence, or the vagaries of fashion independent of the manufacturing quality.

Project Treble

Posted Sep 29, 2018 14:45 UTC (Sat) by Wol (subscriber, #4433) [Link] (1 responses)

> Putting that aside and assuming that devices are only replaced when they reach their projected age limits, people may pay more for a 4-year gadget than a 2-year gadget—but not twice as much, unless replacing the device every two years was a serious inconvenience worth paying extra to avoid.

You haven't understood the argument. Let's assume that 30% of the factory-gate sale price is profit, 70% is the cost of manufacture. If the 4-year device adds 20% to the cost of manufacture, I only need to sell the new device at 150% the cost of the old one to come out evens. If I can do it for 155% that's a 10% increase in my profit!

Cheers,
Wol

Project Treble

Posted Oct 1, 2018 0:19 UTC (Mon) by nybble41 (subscriber, #55106) [Link]

I understand your reasoning just fine, but that was not the original argument. The comment I was replying to unconditionally equated increased longevity with higher profits, arguing that (a) people will always be willing to pay more for a more durable good and (b) they will always be willing to pay *enough* more to offset the loss of volume. Manufacturing costs were completely ignored. Taken to its logical conclusion, this is an argument that every good should be made as durable as physically possible, no matter the cost. Practical evidence suggests otherwise, however, as cheaper, more disposable goods dominate in most areas.

Your argument is much more nuanced, and indeed it is not necessary to double the price in order to break on profits. However, I expect doubling the longevity of the device would add considerably more than 20% to the manufacturing cost; keep in mind that the fixed costs per unit sold (including R&D expenses) have *doubled* simply due to the decrease in volume even before adding in whatever fixed and variable expenses are involved in making the device last longer, plus lower-volume manufacturing is less efficient in general. Also, people may not be willing to pay 50% more up front, even for a device which can reasonably be expected to last twice as long. It's not exactly sound financial behavior, but given a choice between a 2-year device one can afford right now and a 4-year device which would require saving up for a couple more months (or sacrificing other discretionary expenses), plenty of people would choose the former. It's uncommon to find anyone thinking even two years ahead to when the device will need to be replaced; such far-off concerns tend to carry very little weight in the present.

The bigger issue, however, is that you're assuming you can set prices however you wish. The original scenario stipulated a *competitive* market, so you don't have that option; that nice 60% margin you get from selling at 150% of the original price isn't going to last. In a competitive market economic profits tend toward zero (i.e. accounting profits tends toward the marginal rate of return, the least return which makes the investment worthwhile compared to other alternatives) as new competitors see an opportunity and enter the market. Assuming your original 30% margin reflected a competitive market at equilibrium, can you still break even at only (approx.) 20% over the original price? Because that's what your competitors will be charging.

Project Treble

Posted Sep 24, 2018 20:31 UTC (Mon) by mstone_ (subscriber, #66309) [Link] (3 responses)

I have basically run out of phone manufacturers who haven't screwed me on promised upgrades that didn't happen. So, even though I don't want to ever do business with any of them again, I've had to circle back around. Clearly, my desire to stop buying their products didn't have any effect.

I guess the key phrase was "in a competitive market", because we don't really have one. There are a couple of big players who all have terrible long-term support policies/histories, and some small players who don't even pretend to support their devices once they have your money.

Project Treble

Posted Sep 24, 2018 21:16 UTC (Mon) by giraffedata (guest, #1954) [Link] (1 responses)

The phone market is very competitive. Even two big players is enough to kill any monopolistic effects.

The fact that no vendor will supply a phone with the longterm support you want means that it is not possible to provide it at a price you're willing to pay. You are apparently competing with millions of phone users who don't care as much as you do about upgrades.

There are lots of reasons a product with a short life can be more profitable than one with a long life; I'm just saying the opportunity to sell two phones instead of one isn't one.

Does Coca Cola sell Coke in 6-packs instead of 12 because that forces people to buy two?

Project Treble

Posted Sep 24, 2018 22:11 UTC (Mon) by andresfreund (subscriber, #69562) [Link]

> The fact that no vendor will supply a phone with the longterm support you want means that it is not possible to provide it at a price you're willing to pay. You are apparently competing with millions of phone users who don't care as much as you do about upgrades.

I don't think that actually follows. The perception of consumer desires by companies isn't even remotely close to perfect. Nor are most customers able to actually voice this desire, even if they were actually happier if the device provided longterm support. Lastly, Apple is vastly better at providing medium-long term support, and they're quite successful.

Project Treble

Posted Oct 5, 2018 17:11 UTC (Fri) by johannbg (guest, #65743) [Link]

People usually evolve from the big brands ( Samsung,LG,Sony etc) to just buying cheap chinesium phones, a.k.a flagship killers. containing the latest hardware for one third or half the price. Less loss if it gets stolen,broken or not upgraded.

The 2018 phone seems to be Xiaomi Pocophone F1 ( 1. ca $300 us dollars ) and I think Xiaomi has a decent upgrade track record on top of that aswell.

1.https://m.gsmarena.com/xiaomi_pocophone_f1-9293.php

Project Treble

Posted Oct 7, 2018 23:21 UTC (Sun) by ras (subscriber, #33059) [Link] (2 responses)

There are some well known counter examples:

https://en.wikipedia.org/wiki/Phoebus_cartel

Project Treble - planned obsolescence

Posted Oct 12, 2018 15:40 UTC (Fri) by giraffedata (guest, #1954) [Link] (1 responses)

Thanks for pointing out the Phoebus cartel. This is a cartel whose members, from 1925 to as late as 1939 , deliberately limited the lifetime of light bulbs, to increase member profits.

This is not a counterexample to my claim that deliberately limiting lifetime does not increase profits because I qualified it with "in a competitive market," which was specifically meant to exclude cartels. (A cartel is an organization whose members agree not to compete with each other).

That leaves open the question of whether my claim is relevant, if cartels exist. I read the Wikipedia article on Phoebus and it doesn't make it clear how US antitrust laws didn't stop Phoebus. Those laws are at least one reason there is no cartel of phone manufacturers, thus this example cannot be extended to phone manufacturers deliberately limiting the lifetime of phones.

Interesting side note about free market economics: I had an econ instructor once who was one of the fiercest supporters of free markets I've ever known, and he claimed even antitrust laws are not necessary because as long as the government doesn't actually enforce anticompetition agreements, they'll fall apart on their own because of the power of greed. The incentive to break a cartel, not to mention of its own members to cheat, is simply too great. Well, Phoebus seems to be an example. In 1929, a competitor to the cartel had already formed and was grabbing business and profits from it.

Project Treble - planned obsolescence

Posted Oct 12, 2018 22:42 UTC (Fri) by ras (subscriber, #33059) [Link]

> I had an econ instructor once who was one of the fiercest supporters of free markets I've ever known, and he claimed even antitrust laws are not necessary because as long as the government doesn't actually enforce anticompetition agreements, they'll fall apart on their own because of the power of greed.

I hope for his sake he is now wiser. Cartels and monopolies aren't a problem where the market naturally favours multiple suppliers. For example in Australia we've had an effective duopoly in supermarkets for literally decades. It's never been a huge problem because in that instance your econ instructor is right - they have always been highly competitive. That's because it is really easy to start a new corner store, or for that matter it's not too expensive for international entrants to start a new supermarket chain, so there are always new competitors entering the market.

But when the markets tends toward natural monopoly you will get one unless the government intervenes. That happened in both the US and Australia with the telephone systems. Once there is a telephone line in the ground you didn't need a second one. So once a random event gives some firm access to slightly cheaper capital they can purchase existing network without fear of competition. This makes them financially stronger so then they get access to more capital, and the thing snow balls into a full blown monopoly. Any time there is a fixed resource that can be captured to prevent new competitors from entering, the drive to monopoly is very strong because it allows rent collection.

One tactic to prevent government regulation of a monopoly is to hide in plain sight. In computer security we call the a similar tactic social engineering. In the case of a monopoly, the social engineering trick is don't do the final round of amalgamations - instead you replace it with a gentleman's agreement behind closed doors that allows the extraction of rent. In other words, you form a cartel and insist because there are multiple firms there must be competition.

This won't work in the long term if the market doesn't tend towards monopoly. The Phoebus cartel started when the market was tending towards monopoly patents over light bulbs where a fixed resource that could be captured. When the patents ended the cartel collapsed naturally.

Project Treble

Posted Sep 23, 2018 7:30 UTC (Sun) by nurupo (guest, #126740) [Link] (19 responses)

>The idea was to extend the life of devices to four or five years

Four or five years is nothing. Afterall, you don't have to buy a new computer every 4 or 5 years if all you want is just to upgrade from, say, Ubuntu 14.04 to 18.04, to get all the security patches in the kernel and userspace applications. Why can't we do similar with phones?

I have recently installed Lubuntu 18.04 on a previously Windows XP computer built around 2005 with 1024mb of RAM and some Althon 64 CPU. It worked very well, you can safely browse the web with the latest FireFox version, check email and play Minetest and solitaire, which is all that is needed of that computer, not to mention that the system will last for another 5 years, until Ubuntu 18.04 EOL, getting browser updates and security patches until then. That system will be 18 years by the time Ubuntu 18.04 EOLs, just think about that.

Of course that's a bit of an extreme case, but this *is* possible in the PC world and it seems to be impossible in the mobile one.

Project Treble

Posted Sep 23, 2018 7:56 UTC (Sun) by mpr22 (subscriber, #60784) [Link]

>Why can't we do similar with phones?

Because the mobile phone market is distorted by people who get periodic "free" replacement phones as part of their monthly contract.

Project Treble

Posted Sep 23, 2018 9:09 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

Mobile phones are not PCs. Their life is really limited by simple wear&tear and a high risk of fall damage.

Additionally, mobile hardware is still following Moore's law. The performance and functionality is increasing exponentially, with new radio standards coming along as well. A device produced now won't be able to utilize the 5G networks that will come online within the next couple of years.

Project Treble

Posted Oct 5, 2018 18:19 UTC (Fri) by johannbg (guest, #65743) [Link]

Interesting claim regarding mobile phones a.k.a pocket pc's

Unless you work for Apple and considers Mac's not a "PC" you most certanly can have an ARM-based PCs and my cheap chinesium phone leeco le pro 3 is not far from outlasting any of my thinkpads which start to come apart after close to three years of near daily usage.

Thou the phones might not utilize 5G if and then when it has been deployed world wide ( which means after a decate or so), people will still be able to fallback to older standards so it's not like you make it sound, people will suddenly become disconnected as soon as 5G network is turned on.

For those that are truly interested in following the future of microprocessors can listen to Sophie Wilsons talk about that subject. 1.

1. https://m.youtube.com/watch?v=zX4ZNfvw1cw

Project Treble

Posted Sep 23, 2018 9:12 UTC (Sun) by mfuzzey (subscriber, #57966) [Link] (8 responses)

In the PC world of 15 or 20 years ago you *were* more or less forced to regularly update your hardware because the hardware was rapidly improving and software was taking advantage of it to the point of no longer running reasonably on hardware a few years old.

Of course that has no longer been the case in PCs for quite a while because the rate of hardware improvement has dropped substantially.

The same will happen in smartphones too I suspect. Indeed I think it is already happening. For the first few years there were massive improvements in basic specifications like CPU frequency, number of cores, graphics resolution, storage capacity etc with every generation. Now that seems to be slowing down and manufacturers are looking more to "gimicks" to differentiate.

Project Treble

Posted Sep 24, 2018 6:53 UTC (Mon) by roc (subscriber, #30627) [Link] (7 responses)

That's all true, but I think it's worth mentioning that today you can stuff significantly more RAM and CPU cores into a desktop PC than you could five years ago at a similar price point, but for most users it doesn't matter because that wouldn't noticeably improve the workloads those users are running on their desktop PCs. It's not exactly that the rate of hardware improvement has dropped (though it has), but that the rate of improvement *of the user experience* has dropped.

A related factor is that even though some users would benefit from a 32-core Threadripper or whatever on their desk, a large subset of those users can get even more power at an overall lower price by renting larger cloud machines by the hour or minute.

Project Treble

Posted Sep 24, 2018 8:43 UTC (Mon) by excors (subscriber, #95769) [Link] (4 responses)

> today you can stuff significantly more RAM and CPU cores into a desktop PC than you could five years ago at a similar price point

Is that actually true? https://jcmit.net/memoryprice.htm indicates that in 2012 you could get 16GB of DDR3-1600 for around $80, while in 2018 it costs around $110. (DDR4 is even more expensive.)

Project Treble

Posted Sep 25, 2018 10:43 UTC (Tue) by roc (subscriber, #30627) [Link] (3 responses)

I guess you're right about RAM! I didn't know that. I'll stand by that statement for cores, though.

Project Treble

Posted Sep 25, 2018 11:20 UTC (Tue) by excors (subscriber, #95769) [Link] (2 responses)

Hmm, I guess I'd have to technically agree with that, but only because mid-range CPUs appear to have jumped from 4 cores to 6 in the past year, after being stuck on 4 since around 2011. (I'm specifically looking at Core i5s around $200ish - see 8th Gen i5 vs 7th Gen i5 vs i5-2xxx.)

(My main PC for gaming etc is still using an i5-2500K from 2011, since newer CPUs haven't looked like worthwhile upgrades, and modern games still work fine on it (though recently they've begun to struggle with only 8GB RAM).)

Project Treble

Posted Sep 26, 2018 10:13 UTC (Wed) by roc (subscriber, #30627) [Link] (1 responses)

You can get 12-core Threadrippers at a very reasonable price. Five years ago you would have had to pay an arm and a leg for 12 cores.

Project Treble

Posted Sep 26, 2018 11:55 UTC (Wed) by excors (subscriber, #95769) [Link]

I suppose that depends on your definition of "very reasonable" :-) . It looks like the 12-core 1920X launched at $800 and sold for over $600 for most of its life, until clearance sales when the next generation came out (which isn't a fair point of comparison). In 2013, Intel had Xeons with 8 cores for $900 and 10 cores for $1200 ("recommended customer price", don't know what they actually sold for). So maybe you can get twice as many cores per $ now, 5 years later, but only in a very specific market niche.

The Steam hardware survey says about 30% of Steam users have 2 cores, 60% have 4 cores, 7% have 6, 1.2% have 8, and about 0.4% have more than 8. That sounds like approximately nobody has bought Threadripper yet, so it's a part of the market that is basically irrelevant for normal users.

Project Treble

Posted Sep 24, 2018 19:39 UTC (Mon) by johannbg (guest, #65743) [Link] (1 responses)

"It's not exactly that the rate of hardware improvement has dropped (though it has), but that the rate of improvement *of the user experience* has dropped."

This 1. pretty much sums it up.

It would be interesting article(s) for one of the editors to write, in which he/she would compare size/resource requirements and functional improvements between first edition of any mainstream linux distro to the current one.

Have distributions gone faster,less resource hungry, more functional for end users as time has passed and hardware improved or have they not ;)

1. http://tonsky.me/blog/disenchantment/

Project Treble

Posted Sep 25, 2018 10:54 UTC (Tue) by roc (subscriber, #30627) [Link]

That blog post is quite selective. Hardware hasn't improved all that much, but meanwhile a lot of software has actually done pretty well. Modern Linux and Firefox on my 8 year old desktop PC are a great experience, better than they've ever been before. On the software development side, we've taken some wrong turns but we've also discovered ways to write fast, efficient, parallel code quickly and safely in ways no-one dreamed of ten years ago.

Many specific Web sites and applications have become unbelievably bloated but it's by no means all bad news.

Project Treble

Posted Sep 24, 2018 20:39 UTC (Mon) by mstone_ (subscriber, #66309) [Link] (6 responses)

Phones are consumables--just replacing the batteries on a 3 year old phone costs more than the phone is worth. My last phone survived 2.5 years or so, then the hardware started to flake out right on schedule (OS updates from google are slated to end in November) even ignoring the battery degradation.

Project Treble

Posted Sep 24, 2018 22:03 UTC (Mon) by sfeam (subscriber, #2841) [Link] (5 responses)

That is a false equivalence. It doesn't matter whether the cost of replacement batteries is more than the amount you could sell your old phone for. It only matters whether the cost of replacement batteries is more than the cost of a *new* phone. For my 3 year old phone replacement batteries cost about $10.

Project Treble

Posted Sep 24, 2018 22:41 UTC (Mon) by mstone_ (subscriber, #66309) [Link] (3 responses)

It's not at all a false equivalence. What matters is whether the cost is a significant enough fraction of the cost of any newer/better phone (including used phones, which depreciate awfully fast). You must have unusually low labor rates; in these parts it costs $80-100 for a battery replacement. The question isn't strictly "is my phone worth $100", it's "what is the opportunity cost of throwing $100 at this old phone, as opposed to putting the $100 toward something else". Given how common it is for the hardware to start falling apart in multiple different ways, in most cases it's foolhardy to invest in the old hardware. Had I popped for a battery replacement, I'd have been very sad to have a new battery in an otherwise malfunctioning phone.

Project Treble

Posted Sep 25, 2018 18:41 UTC (Tue) by mpr22 (subscriber, #60784) [Link] (2 responses)

I have never possessed a mobile phone where replacing the battery would require the paid assistance of a skilled labourer.

My first mobile phone (a Telital model from c. 1997) had a user-ejectable battery.

All of my Nokia phones (purchase dates from 1999 to 2007 or so) have, at most, required the case back to be popped off (a zero-tools operation) and two of them I could simply hold down a button on the battery itself and slide it off. (As it happens, by the time they could reasonably be said to need new batteries, they were also displaying other, more critical failure modes.)

Both of my Android phones (one £400+ Samsung from 2010, one ~£100-£150 LG from 2016) merely require the case back to be popped off (again, zero tools). The Samsung is still functional as a phone and PDA despite being eight years old, though it's not much use as a thing to run fancy apps or a web browser on.

Project Treble

Posted Sep 25, 2018 21:07 UTC (Tue) by rgmoore (✭ supporter ✭, #75) [Link] (1 responses)

I have never possessed a mobile phone where replacing the battery would require the paid assistance of a skilled labourer.

It is quite common for modern phones to have batteries that are not intended to be user replaceable. I assume a lot of this is because water- and dust-tightness are now seen as critical features, and it's hard to design a phone with a user-replaceable battery, an IP68 rating, and the kind of super-thin design that's in vogue. I also assume that the phone would not be able to keep its IP rating after a battery replacement unless the facility doing it is top notch, which would be another reason to consider a new phone instead of a replacement battery.

Project Treble

Posted Sep 25, 2018 21:50 UTC (Tue) by excors (subscriber, #95769) [Link]

I suspect gluing in the battery provides some extra rigidity for the phone too, so it doesn't flex as much during normal use, and perhaps so it's less likely to break when dropped. It also largely prevents users from bricking their phone by yanking out the battery while it's writing something important and corrupting the filesystem. And it largely prevents users putting in cheap third-party batteries that then explode and are bad PR for the phone manufacturer even though it's not their fault at all. It's not just that they want users to buy a new phone every two years.

Project Treble

Posted Sep 24, 2018 23:56 UTC (Mon) by rgmoore (✭ supporter ✭, #75) [Link]

It only matters whether the cost of replacement batteries is more than the cost of a *new* phone.

This is obviously a gross oversimplification. There's a lot more involved in the decision than just whether it's cheaper to repair the old one than to buy a new one. Replacing the battery is almost always cheaper, but people continue to upgrade rather than repair their old phone, so there must be other things involved. One of them is how good the repaired phone would be compared to a new replacement. The new phone is likely to have a faster processor, nicer camera, newer OS, etc., and it's also likely to be able to last longer before it starts having additional hardware problems.

There are obviously things the phone manufacturers can do to push users to want to upgrade rather than replace the battery in their old phone. One is to give the new model nicer hardware. But another is to make sure the new model has the newest OS which (hopefully) has nice new features. If those new features are compelling enough, people will be tempted to buy the new phone, but only if they can't get those same features by upgrading the OS on their old phone. It may be that some of the new features actually require the updated hardware for support, but refusing to push out OS updates even if the hardware would support them is a way the phone manufacturers can put their thumb on the scale.

Project Treble

Posted Sep 28, 2018 2:43 UTC (Fri) by sandeep_89 (guest, #127524) [Link]

I disagree with some of the speaker's views. In fact, the last point you talked about - app developers on Google Play being forced to target Android 8.0+ being somehow related to Treble and will force all apps and devices to look and behave the same - sounds like a paranoid conspiracy theory by the speaker.

The move to force apps uploaded to Google Play to target Android 8.0+ is in order to improve battery life. In Android 8.0, Google introduced background restrictions in order to improve device battery life. In Android 8.0, if apps are no longer in the foreground, they will be suspended after a few minutes - this is similar to iOS behaviour where apps are suspended or killed after 30 seconds. This behaviour is only applied if apps target Android 8.0+, in order to avoid breaking apps unintentionally. In order to ensure better battery life, Google decided to start making targeting newer versions of Android mandatory. This has nothing to do with Treble.


Copyright © 2018, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds