« back to posts

iPhone Ten

2021-04-02 · view article source

Until now, I’ve only ever owned one phone: an iPhone 4, which I’ve had for just over ten years (2010–2021). As I finally upgrade to a modern device, it seems in order to look back on the phone’s long life.

A black iPhone 4 in a hard shell case, powered on at the lock screen. There are some smudges and light cosmetic scratches on the bezel, but the phone appears to be in good condition overall.
My old phone, as photographed by my new phone.

(Disclaimer: I’m currently employed by Google, but I don’t work on Android or related products, and The Man has no power over what I say here.)


I run an old phone for three reasons: two philosophical and one practical.

First, I support building systems that last. Software doesn’t decay, despite what the term bitrot may suggest. It only degrades when the environment around it changes in incompatible ways. Application programmers have the flexibility to make software robust or fragile, and systems programmers have the flexibility to support or break old applications. Hardware is trickier, since it’s actually subject to wear and tear. But we know how to build devices that can last decades. All we have to do is agree that it’s worth it.

Second, using old systems cultivates empathy for people who have to use those systems. Not everyone can afford to buy each hot new smartphone as it’s released. As a programmer, it’s important that I build experiences that work well for everyone. Using a phone with a 3G radio (not 5G!) and less RAM than the footprint of a typical Electron app makes the pain points painfully clear. Drew DeVault’s article Why I use old hardware also discusses this perspective.

Third, it reduces e-waste. This one’s simple. The more phones you don’t buy, the more phones you don’t send to landfill. Our current social systems don’t internalize this externality very well, so your personal impact is up to you.

And why upgrade now? Most new apps aren’t available for my device, so the carrot has been growing steadily for some time. It’s been a decade. I’m giving myself a “well done” and moving forward.


The iPhone 4’s hardware has held up remarkably well.

The display is apparently built like a tank. The glass has some light scratches, but none deep, and none visible when the screen is lit. I’m moderately careful with my phone, but I’ve surely dropped it hundreds of times, and never has it even considered shattering. I don’t use a screen protector.

Most things still just work: the cameras have retained their quality, the buttons still respond, the speakers are still loud enough. Of special commendation is the battery. I generally get two or three days of battery life with casual usage: light internet, email, maps, plus always-on push notifications. Combined with a tiny portable battery that I keep in my backpack, I only need to plug into a wall once a week.

The only hardware issue: in late 2019, the on-board microphone stopped working. It turned out to be a faulty logic board. I got it fixed in an hour for $70 at a local repair shop (thanks, Fast Repair in Palo Alto!), bringing my total amortized repair costs to $7/year.

My custom-printed hard shell case—hey, it was as cheap as a stock case at the time—also deserves a shout-out. It still boasts vibrant colors, and the few chips around the edges are easily forgiven. (I wish that I could remember the brand, but its records seem to be lost to time. It had something like “3D ink” or “tattoo” in the name.)

The back of the iPhone 4 case. Printed on the case sits a dog with salt-and-pepper coloring, lying on a grass field and holding a yellow tennis ball. The grass and tennis ball are both bright, not faded.
Left: The back of the phone case, still vivid after ten years.
Right: The original digital image, for comparison.


The software hasn’t fared as well as the hardware.

Most OS features still work well, but with notable latency. Some third-party apps still chug along, slowly; many just fail. I can’t upgrade the operating system past iOS 7 due to Apple’s restrictions, and effectively no recent apps support iOS 7, so I’m stuck with what I’ve got.

A sampling of software behavior:

  • The lock screen, launcher, and system apps all mostly just work. Pressing the home button or launching an app has latency on the order of 3–5 seconds. Push notifications appear promptly, whether locked or not. Many new-fangled emoji just appear as “alien head in a square” when sent to me in (e.g.) text messages.

  • Google Maps crashes on launch about 50% of the time, after about 30 seconds of latency. If it crashes, relaunch it. Once in the app, focusing an input field incurs about 60 seconds of latency. You can type an address; expect your keystrokes to queue for a few seconds each. Turn-by-turn navigation works well, but sometimes the app while crash after an hour or so. Latency and crash probability have gotten steadily worse over the years.

  • Google Authenticator loads pretty fast and still serves its core purpose, but since mid-2020 it has crashed if you try to add a new code. Thankfully, more and more sites support hardware security keys these days.

  • Dropbox’s background camera upload service worked flawlessly until mid-2019, when they changed their login handshake such that my device can no longer authenticate. Of course, no updated version of the app is available for my OS. A shame: this was useful and dependable while it lasted, much easier than emailing photos to myself.

  • Around 2015, Uber’s app had latency on the order of 20 minutes to get past the splash screen, at which point it would sometimes crash. I find this especially egregious, since the phone wasn’t very old at the time. This was before most of the scandals; I happily uninstalled it and now use Lyft exclusively.

  • Plain old web pages (like this one!) work great! Massive bundles of JavaScript generally have a hard time.

It might sound like I’m displeased with some of the third-party apps listed above, but note the survivorship bias: these are the ones that still work! I respect that Maps can still bring me some useful value, years after the end of official support. Many apps just crash on startup, and remember that I haven’t been able to install anything new for the last few years.


This may sound revolting to you—minutes of latency to get driving directions? But it’s not so bad, because I’ve naturally shifted my usage patterns. If I want to use Maps, I load it a few minutes ahead of time. If I need to present an e-ticket to enter a venue, I load the email before I leave home, and screenshot that, just in case. My action space is limited, but my strategic space isn’t too badly constrained. If nothing else, it’s an interesting exercise in serenity.

At the end of the day, I don’t demand much from my phone. I need a reliable telephone for voice calls and SMS, the two things with no easy fallback. I need a timely daily alarm. A camera and flashlight can be super handy, and push notifications for email are nice. So what if I don’t have Siri, or fancy animated stickers in MMS? With computers and friends close at hand, everything else is gravy.

What’s next?

This one’s easy: Pixel 4a (5G). It has a headphone jack.

« back to posts