Stories about Apple throttling the processor speed of older devices with worn batteries have been everywhere the last few days. There have been several threads on Reddit and Twitter about it, most of which embrace the conspiracy theory that Apple is doing this solely to encourage iPhone upgrades. However, while the debate online may be largely one-sided, it is actually more complex than most critics will admit. One thing is certain now. There is a verifiable core of truth here that is undeniable- Apple IS throttling the processors of devices with worn batteries.
Conspiracy Theories and Accusations
After plenty of discussion and anecdotal evidence, this was proven definitively by Geekbench developer John Poole using data collected over time and analyzed by device and iOS version. It seems that Mr Poole also came down on the side of Apple using this situation to push ulterior motives, saying:
“This fix will also cause users to think, ‘my phone is slow so I should replace it’ not, ‘my phone is slow so I should replace its battery,’”
That’s fair, I guess. I won’t debate that Apple could have handled this situation better with a bit more transparency. However, as a programmer myself, I can also see the other side of the argument. People may not want to accept this, but there are many instances where programmers make choices that they will never see or know about to solve problems or get around issues.
The Programmer in Me
I do this ALL the time as part of my job. The more complex the job is, the more of these decisions that there are to be made and the less the customer usually understands, or frankly even wants to understand. Now, if a customer asks me a question about how I programmed something, I will tell them the truth as to what I did without any reservations.
I’m not ever making decisions like these with any malicious intent. I’m making them because they are solutions to problems that have to be worked out. Offering choices where not required just adds unneeded complexity, from my point of view as a programmer. Again, customers may not want to hear this, but these decisions are being made for you every day, in your home, your car, your place of business, and yes, your smartphone.
Earlier today, Apple finally weighed in on this situation directly in response to an article by Tom Warren of The Verge. In doing so, they admit that they are throttling processor speeds in response to battery performance, but they lay out a different reason for doing so than the conspiracy theories suppose.
Our goal is to deliver the best experience for customers, which includes overall performance and prolonging the life of their devices. Lithium-ion batteries become less capable of supplying peak current demands when in cold conditions, have a low battery charge or as they age over time, which can result in the device unexpectedly shutting down to protect its electronic components.
Last year we released a feature for iPhone 6, iPhone 6s and iPhone SE to smooth out the instantaneous peaks only when needed to prevent the device from unexpectedly shutting down during these conditions. We’ve now extended that feature to iPhone 7 with iOS 11.2, and plan to add support for other products in the future.
I will admit that Apple PR comes off as a little tone deaf saying that this is a “feature”, but at the same time, the programmer in me understands that this is actually a very reasonable explanation. Here’s how, using Ohm’s Law.
Breaking the (Ohms) Law
Assuming the resistance in a circuit stays the same, using the equation Voltage = Current X Resistance, we can deduce that if the current load peaks and goes up, the voltage will follow suit, as they are directly proportional. For example, if you have a 12 VDC battery and 3 Ohms resistance, then your typical current draw is 4 Amps. These are just arbitrary numbers, and don’t reflect actual iPhone specification. This is just an example.
If the current demand increases to 4.5 Amps, the system would demand 13.5 VDC to function properly. A newer battery should have the flexibility to increase output by a few additional percent, as well as go below the nominal 12 VDC. However, if the battery can no longer meet this demand, you will get into an overcurrent condition where heat buildup can damage electronic components.
Apple evidently has mechanisms built into iOS to protect against component damage due to things like overcurrent and overheating, which were the root of the shutdown problems previously reported by iPhone 6 and 6S owners with worn batteries. Apple didn’t publicize this, but their throttling solution evidently came about in response to the phones reaching these shutdown conditions.
I have seen where many users who are very critical of Apple for doing this, because they would prefer to have control of the relationship between the performance and safety of their iPhone. However, if there is a threshold past which you get into situations where component damage is a legitimate possibility, how do you want that handled? Is this actually a situation where users should have any control?
Again, that’s the programmer in me talking, because I can tell you from experience in the commercial and industrial world that you don’t get to override or bypass safety devices without voiding warranties, taking on liability for equipment damage, or worse. When a safety device trips on the kinds of equipment I am talking about, it results in an immediate shutdown and requires a manual reset to restart if the problem is cleared. The way Apple is handling this isn’t an exception. This is actually very typical of equipment safety management.
What Can Apple Do?
So I agree with how Apple is handing the engineering side of this issue. How can they do a better job beyond that? First of all, a warning notification that a battery is operating at a sub-optimal level would instantly clear up a lot of complaints. If there is an argument to be made that Apple is steering users toward upgrading rather than repairing, it can legitimately be made here.
Another good step would be for them to either add or allow more robust battery monitoring from within iOS. If users could see the voltage and amp output of their battery live and trend it over time, they would be able to spot problems and know when its time today a visit to the Apple Store.
This is not as easy a situation for Apple to navigate as some want to make it out to be. I say this because Apple has a track record of extending warranties and replacing components or even entire devices that are outside of warranty when they are determined to be defective. This would include them replacing swelling batteries on original Apple Watches, and some of the affected batteries on iPhone 6s and 6Ss mentioned above. However, it turns out that the root of this problem is not that the batteries are defective. It is that they are worn out. Unless you have two years of AppleCare+ on your device, this really is outside the domain of your standard manufacturer’s warranty.
The real issue here in play here is that current battery technologies are not keeping pace with the demands that we are putting on them. We are seeing an increasing number of examples where batteries are causing big time headaches for smartphone manufacturers. Samsung’s exploding Note 7 batteries and Apple’s iPhone 6 and 6S batteries that can’t hold up to two years of intensive use are just different aspects of the same problem.
Since Apple is showing so much interest in owning and controlling more of the components in its devices, this would be a great area for them to invest more in. Rather than buying batteries from the usual sources, I would love to see Apple invest some of its pile of cash in new battery tech than can move us beyond the capabilities of what we currently have. If they could get to the “next thing” first, it would be a huge win for them.
In the interim, one easy solution would be for Apple to bypass the safety programming if the user plugs the phone in. This would allow the affected phone to be put into an MFi Battery Case such as a Mophie Juice Pack or Apple’s own Battery Case to get around the problem until time to upgrade. This solution assumes that an external power source will boost battery output as it is being charged, but as long as that is the case, it should be doable.
What can Users Do?
If you are having battery issues and you aren’t ready to upgrade your phone, then you really have three choices. You can get your battery replaced by Apple, you can take it to a local repair shop, or you can replace it yourself. Apple is expensive, but you will get the best quality battery from them and the work will be warrantied. If you go to a local shop, check reviews first and be sure they are reputable and that they stand behind their work. Having replaced an iPhone battery myself in the past, I can tell you it isn’t that hard if you have the right tools and instructions to get into your iPhone, and you don’t mind rolling up your sleeves and figuring things out. However, be careful about buying aftermarket “OEM” replacement batteries, as some of them are not anywhere close to what Apple uses.
I have noticed that my battery life starts to noticeably decrease by the end of year one with an iPhone. I use my iPhone all the time, both for work and for this job, so I know that I put a lot of strain on it. This is actually one of many reasons why I use Apple’s iPhone Upgrade Plan and upgrade my device every year now. Apple doesn’t have the market cornered on this either, as all of the carriers have one year upgrade options on their payment plans, as well. I know this isn’t for everyone, but it does help power users to bypass these battery issues before they really start.
I understand that this is a touchy issue for many iPhone users. People take it personally when they feel that a big company is possibly taking advantage of them, and you don’t get any bigger than Apple right now. And in our current social and political climate, it is really easy to buy into these theories that they are using this situation as a money grab. I may not believe that reality is this simple, but I do understand the sentiment. I’m also sure that Apple is just fine with people upgrading because of the actions they are taking in response to worn batteries, rather than replacing their batteries.
On the other side, I also understand the decisions that go into the programming and engineering side of this issue. I can’t ignore the fact that I would make the same or similar decisions when presented with a similar issue in my own job. It would be pretty hypocritical for me to throw Apple under the bus for no other reason than they are a bigger company with a lot more visibility. Either way, this is a complex issue that has more to it than most may be willing to admit.