After six months and £11m of public money wasted, England and Wales finally have a functional contact tracing app for COVID-19. You can download it now - as long as your phone is new enough. Why this limitation?

The answer is, as ever: it’s complicated. Or, if you’re as tired as I am: money. Let’s back up a bit first, though.

How did we get here?

Back in the olden times - early 2020, a decade ago - the UK government announced they were creating a track & trace app for COVID-19. Around the same time, Apple and Google announced that they would be adding functionality to their respective mobile operating systems to enable decentralised, peer-to-peer proximity tracking.

For reasons that are still not really understood, the UK decided it would not be using this API, and would instead build their own solution from scratch. I can only assume no software engineers were consulted during this process; attempting to do this kind of local Bluetooth-based tracking on iOS as a background process is not possible due to limitations imposed by the operating system itself. Users on iPhone would need to be walking around with their phone out and unlocked, with the app running, in order to participate in the tracking.

Of course, the government decided to plough ahead with this plan, stating somewhat bizarrely that they would be relying on an “Android herd immunity” strategy in order for track and trace to succeed. The development of this patently unusable software set the taxpayer back £11 million. If this had happened at a competent software company, everyone involved would have been fired or possibly shot before the first line of code was written.

Eventually, inevitably, the government made a U-turn (an increasingly familiar term), stating that they would now in fact use the Apple/Google approach, but the app would now not launch in May as planned.

So here we are, in late September, and the app is finally here.

iOS 13.5

A lot of folks on the Hell Website are understandably upset that the new app won’t run on older phones - iOS (the operating system, or OS, that iPhones run) 13.5 is available only from the iPhone 6S onwards, a phone that released in 2015. It’s easy to dismiss this as government incompetence, but the problem runs deeper than this.

The iOS app relies on Apple’s Exposure Notification API, which was introduced in iOS 13.5, released earlier this year. iOS apps targeting older versions of the OS cannot use this API at all.

Features being added in new software versions is par for the course. However, a typical solution to allow access to older devices is the process known as backporting. Apple could, if they so chose, release a new version of iOS 12 featuring the new API; something like iOS 12.5. This isn’t so far-fetched as one might assume - the latest version of iOS 12, 12.4.8, was released in July 2020, after 13.5.

We can only speculate as to Apple’s reasons for not doing this, but the problem is exacerbated by the fact that iOS is so strictly device-limited. The story in Android land is quite different.

The Android Exposure Notifications API supports Android 6.0 onwards, with some support also offered for 5.0. These OS versions launched in 2015 and 2014 respectively, so are of a similar age to the poor neglected iPhone 6. It seems Android is targeting devices supporting Bluetooth Low Energy, or BLE; this standard was introduced in Bluetooth 4.0, and is supported from iOS 5 onwards - an operating system from 2011.

Android’s fragmentation issues are well-documented, and some manufacturers do stop updating their devices faster than they should. However, the more open nature of this operating system means that a user can, with a little work, install a newer version of the OS on their device of choice. This isn’t possible on iOS, even via jailbreak. The Android team also have a commitment to backwards compatibility which borders on the obsessive - a necessity when Android is so widespread. New Android APIs are usually backported to older versions of the OS, meaning users are not left behind.

Why don’t Apple do this?

Apple want you to buy iPhones. They don’t want you to buy an iPhone. They want you to effectively subscribe to a form of lock-in where you pay an entry fee to a walled garden whose walls grow higher every September.

I really like my iPhone, but Apple’s update model means that in a few years I will no longer be able to upgrade the operating system. A few years after that I won’t be able to receive app updates, as their minimum iOS version is continually on the rise. Even the underlying chipset changes every few years, with forward compatibility being essentially nil.

The decision to install a piece of software on a device really ought to belong to the person who paid for said device. Android understands this - rooting my ancient HTC Desire to install Android 5.0 voided my warranty, sure, but it was easy to do. There’s no such solution on iOS, and if someone were to discover one, Apple would surely move to block it.

This is known as “planned obsolescence” and you’ve probably heard of it. You might already associate it with Apple - its Wikipedia page features a picture of an iPhone. Planned obsolescence is anti-consumer, making us spend more money on products that don’t last us as long as they could, but it has deeper ramifications. The production of electronics is bad for the environment, processor manufacturing is often dependant on conflict minerals and exploitation, and the piles of electronic waste that cannot be recycled grow ever higher.

With the Exposure Notification API, we’re seeing a very real example of planned obsolescence impacting a public health crisis. The hope is that enough people in the UK will be able to install this app for it to have a useful effect, but when uptake already looks low the locking out of older devices, which likely are perfectly capable at the hardware level of running this software, is discouraging.