A simple update

Unless I’m severely mistaken, it is now late 2015, which means that self-updating software has been around a really long time. Sadly, Apple doesn’t seem to realize this is a problem that humanity has solved and should therefore be trouble-free, much like Chevrolet engineers still haven’t figured out how to make a transmission that doesn’t die prematurely.

It’s not that iOS apps don’t automatically update ok most of the time — they do. But increasingly frequently, I will find an app on my iPhone stuck mid-update, languishing in limbo. I’ve seen this for a long time on iOS, but this week, it happened five times. Five apps that just never finished updating. In the past, I’ve tried waiting two or three days to see if these stuck apps ever heal themselves and manage to complete: the answer is no, not that I’ve seen. Another wonderful side effect is that iPhone battery life is worse when this happens. And it stays worse as long as an app is stuck trying to finish an update.

The only solution I’ve found for this issue is to reboot the iPhone, which clears the stuck update process. It also removes the app from the iPhone. Brilliant. If someone wasn’t paying attention and rebooted their iOS device during a failed update, they’d lose the app without realizing it. I’m sure at some point they’d notice, but seriously, Apple, this is a stupid problem to have.

My understanding of how iOS app updates work is this:

  • New version of the app is downloaded with the old version intact.
  • Old version’s data is copied into new version’s directory.
  • Old version is deleted.

Assuming this is still how it works, why doesn’t rebooting the phone leave the non-updated version of the app still intact? Or why can’t Apple make it so that it does? Anything is better than jamming up an app update and then just quietly making the app disappear if and when the iPhone owner reboots it.

iOS app updates are an incredibly central part of the whole App Store premise. Automatic updates are a pretty basic technology at this point. Apple, if you can’t handle this, the world is full of programmers who’ve shown they can.