Apple — Planned Obsolescence or Just Physics? A Microprocessor Programmer's Take
It's frustrating to hear people claim Apple deliberately slows down old phones to push upgrades. The reality is that when everything is optimized to the limit, there's no way around it. Let me explain why — with a story from my experience programming microprocessors.
Before I moved into backend development, I programmed microcontrollers and microprocessors. One of my last projects — the one that drove me out — was a GSM modem with a microprocessor running off a Li-Ion battery. It had to operate autonomously for weeks. At some point I accidentally drained the battery to zero, and it degraded. After that, weird glitches started creeping in. They'd come and go — not unusual for prototypes — so at first I ignored them, since it looked like a hardware issue. But over time it started making my work really difficult, so I started digging.
Not sure where to look, I went back to the datasheet and compared it against the documentation for a different modem in the same family. That's where I spotted the difference: the spec stated that while the module could run at almost any voltage from 3V to 5V, voltage fluctuations couldn't exceed a hundredth of a volt per millisecond — while peak current draw could hit several amps. That confused me. Very few Li-Ion cells can even handle that, and the documentation for my particular modem didn't mention this requirement at all.
So I added a large capacitor in parallel with the battery, and everything started working like clockwork.
Side note — I really came to love documentation on Chinese components. Honestly, this is probably the main reason I left embedded. Clients want it cheap, which means Chinese parts, and they don't particularly care what part of your work goes into fighting rough edges, hardware instability, and inaccurate documentation. I'm happy to spend most of my time on optimization, but not on battling someone else's bugs and working blind without proper docs. But that's a different story.
So what does this have to do with Apple? Their processors run on the same kind of batteries. While the battery is fresh, it can deliver not only the required current but also maintain stable voltage. And voltage monitoring on the processor — BOD, or Brown-Out Detection — exists even on the cheapest microcontrollers out there. If Apple's chips have it (and I certainly hope they do, otherwise they're losers), then it's obvious you should throttle the clock speed when the voltage can't keep up. So what are the alternatives?
- You could put huge capacitors inside the phone (and not supercaps — actual capacitors), which nobody would like.
- Or you could just never push the processor to its full speed in the first place — always run it slower. Which also makes zero sense. For context, the relationship between clock frequency and power consumption is far from linear — an extra 100 MHz can drain the battery disproportionately faster.
- You could use a bigger battery, but that would only provide a noticeable performance advantage after N years of use, while every customer would have a bigger, heavier, and more expensive phone. Also not an option.
So why can the competition do it? Well, they can't — not because they're smarter or better, but rather the opposite: they don't optimize to that degree. It's not certain Apple has pushed harder than the competition, but when you're running at maximum optimization, performance loss due to battery degradation isn't a conspiracy. It's just physics, and there's no way around it.
Comments