Apple's iPhone Debacle Doesn't Prove It Deliberately Slowed Older Phones - ExtremeTech
There's no evidence Apple ever mounted a long-term attack to push customers into upgrading their devices, but the company inflicted a serious wound on itself.
ExtremeTech / 33m
For years, Apple has been dogged by claims that the company deliberately slowed down smartphones after new models shipped. For years, Apple and various media sources have claimed and seemingly demonstrated that this wasn’t true — or at least, not true in the manner often argued. In the wake of Apple’s admittance that it deliberately slows down iPhones to extend battery health, it’s worth revisiting these claims and investigating the evidence for or against them.
Of Updates and Operating Systems
One of the unique things about Apple is that it releases updates for older platforms much longer than any Android OEM, including Google. While the gap has shrunk over the years, Android flagships typically receive 1-2 full OS updates, while Apple phones regularly receive four, not counting the OS versions either launch with.
Another point we need to acknowledge is that changes to the underlying OS can reduce older device performance, even if this outcome is unintentional. Apple took significant heat for iOS 4’s performance on the iPhone 3G and iOS 8 on the iPhone 4s. In 2015, Apple promised to do better optimization work for older SoCs and it’s delivered on that promise.
The year-on-year declines with new OS versions prior to 2015, combined with Apple’s longer support cycle helped drive the perception that Apple was deliberately slowing down hardware. The company’s work to optimize older phones for iOS 9 – iOS 11 cuts against that argument.
Consider the following charts, based on data from Ars Technica. Ideally we could make a direct apples-to-apples comparison between iOS updates, but there are some intervening variables that make this difficult. We’ve used a two-OS upgrade to examine iPhone 4s performance, but only a single OS upgrade to represent the iPhone 5s. Nevertheless, the differences are instructive. Consider the iPhone 4s from iOS 7 – iOS 9. Remember, iOS 9 is when Apple started optimizing more effectively for older smartphone SoCs. These charts show the time to open the app in question or to boot the phone, all values are in seconds. A number higher than 100% means the phone is slower performing that task in the newer OS, a number less than 100% means the phone is faster in that task on the newer OS.
If we’d used iOS 8.0 for this comparison, the performance hit from iOS 7 to iOS 8 would be far worse than it is from iOS 7 – iOS 8.4.1. Similarly, if you remove the improvement to the opening time for “Messages,” iOS 8.4.1 is 1.43x slower, in aggregate, than iOS 7.1.2. iOS 9 is still slower, in aggregate, than iOS 8.4.1, but the degree of slowdown in opening apps is much smaller.
Now let’s look at how the iPhone 5s fared from iOS 10.3.3 – iOS 11.0:
iOS10-11-Upgrade
At first glance, the iPhone 5s appears to be in the same position as the iPhone 4s — it runs an average of 1.34x slower in iOS 11 compared to iOS 10, just as the iPhone 4s runs 1.35x slower in iOS 8 compared to iOS 7. But instead of considering this strictly in terms of averages, let’s also examine how long it takes each phone to perform the tasks they have in common.
iPhone4s-vs-5s-ios11
Percent differences matter, but so do absolute times, and the absolute time differences indicate the iPhone 5s is in a much better position at this point in its update cycle than the iPhone 4s was, taking 0.81x as long, on average, to perform the same tasks. The total impact of all the iPhone 5s’ OS updates from iOS 7.1 – iOS 11.0 still leave it in much better condition than the iPhone 4s’ updates did.
Why Don’t Benchmarks Show These Declines?
A few months ago, Futuremark published a blog post demonstrating that while iPhone CPUs do appear to vary slightly over time and do show some small evidence of lower performance, the gap is not particularly large. Unfortunately, with y-axis figures, we can’t measure the exact gap (and it’s entirely possible that the differences were produced by the same ‘optimizations’ that affecting battery life that Apple now implements). What these gaps don’t show is the same kind of declines we graphed above, or the falloffs Geekbench reported.
iphone-gpu-and-cpu-performance-in-sling-shot-extreme
My guess is this: The reason you don’t see the same decline in Geekbench or 3DMark that you might see in a phone’s UI is because responsiveness tests and peak performance tests tend to measure different things. It’s also entirely possible that 3DMark’s CPU test doesn’t hit the power draw or heavy CPU workloads that trigger Apple’s SoC-whacking performance hit.
The Sheer Stupidity of Apple’s Approach
There’s no evidence that Apple’s previous conduct or operating system optimizations were intended to slow down its older products, but perception, as they say, is 9/10 of reality, and the perception of this problem has often been that it validates everything people ever said about Apple deliberately sabotaging older phones.
There’ve been a lot of technical theories tossed around for why Apple has taken this approach. Maybe the company’s relentless focus on thinner devices while boosting single-threaded CPU performance far above what Samsung or Qualcomm offer has finally bitten them. Maybe they used substandard batteries. I don’t know what the explanation is, and ultimately, it doesn’t really matter. Apple could’ve dealt with this problem by offering a battery replacement to anyone who wanted one, combined with a new “Battery Health” mode, enabled by default. Describe it something like this:
“Battery Health Mode (enabled by default) protects your battery by ensuring iPhone performance is optimized and matched to the condition of your battery. This maximizes battery longevity, though it could result in lower performance over time. Turning this setting off may improve performance.”
That’s it. That’s all you really need. A simple option to enable or disable a feature, combined with a brief paragraph about what the feature is and how it works. There are absolutely people who would prefer longer battery life to faster performance, and people who don’t want to lose performance, even if they have to shell out for a battery more often. While other options, like offering replaceable batteries are valid, they don’t speak to the root problem here: Apple made a major change that would impact the performance of all of its hardware, then refused to tell anyone about it.
You can call that bad faith. You can call it arrogance. You can call it a deliberate attempt to screw customers out of their money. But no matter what you call it, it’s a stupid move that the company is going to pay for. In one stroke, Apple transformed a narrative about the iPhone X’s success and brand leadership to one about the long term health of any Apple iPhone, and the additional costs associated with either buying Apple Care or a battery replacement. Smooth move. And since nobody knows what the performance degradation is going to be in a year or two for any given device, it’s not like we can make a specific recommendation about how to manually account for the inevitable performance drop.