Reports of bugs have plagued many of Apple’s software releases this fall, from iOS 13 to iPadOS to macOS Catalina. Even the HomePod received an update that resulted in some of the smart speakers becoming unresponsive, causing Apple to temporarily pull the release while it fixed the problem.
Bugs, of course, are not the sole province of the folks from Cupertino, but this year has seemed particularly bad, especially when compared with the relatively stable release of iOS 12 in the fall of 2018. It’s led to many calls for Apple to rethink its software strategies and to spend more time squashing bugs than implementing new features.
This week, a report from Bloomberg suggests that Apple is taking steps in that direction, making changes to its software development practices that will help bring more stability to early builds of the software. But there’s more that could be done to help improve users’ experiences with Apple software, and internal changes are just one component.
No country for old bugs
The big tentpole software releases that Apple unveils at its annual Worldwide Developers Conference and subsequently rolls out in the fall are usually a time for the company to show off its latest and greatest features. iOS’s release, in particular, is timed to coincide with the announcement of new iPhones, which have appeared like clockwork every September for the last seven years.
But while new features are certainly great for Apple’s marketing machine, it’s only part of the story. Updates are also a time for Apple to fix what isn’t working, whether that’s features that are unreliable or interface designs that aren’t quite up to snuff. With rare exceptions—such as last year’s iOS 12, where Apple spent a lot of time making sure the update would work well on older devices—those bug fixes have started to feel more sparse over the years. It doesn’t help that new features also often mean new bugs to go along with those that haven’t yet been squashed.
Earlier this fall, former Apple engineer David Shayer wrote a post at TidBITS, explaining some reasons why the company’s software might be so buggy. One big reason, in his experience, was that Apple doesn’t spend a lot of time addressing pre-existing bugs—that is, those that were already broken in previous releases. Or, to paraphrase the old saying, if it ain’t fixed, why fix it?
Prioritizing new features over fixing old ones might make sense from a marketing perspective, but in the long term all of those old bugs start to add up, like interest on a loan, and end up making the entire experience less stable.
Roadmap to perdition
One way Apple might be able to combat this technical debt would be to change its development cycle. Rather than releasing one big software update every fall, then fixing things in subsequent patches, the company could roll out features gradually over the year. Apple’s already taken to doing this in some cases, with capabilities like Apple Pay Cash, Messages in the Cloud, and iCloud shared folders rolling out over the course of the fall or beyond.
But in most of those cases, Apple has tried to sweep its release schedule under the rug, as though it’s embarrassed that it couldn’t ship those features in the initial release. In order to succeed, the company needs to embrace the approach, providing a roadmap to its developers and users about when features will appear. This is one of those things that requires a change in the company’s culture—Apple, after all, is not an organization for whom transparency comes naturally. But there’s no reason it couldn’t simply lay out a schedule of features to come in iOS 14, iOS 14.1, iOS 14.2, and so on. It just needs to decide to do so.
Moreover, given that it’s already doing this, it might as well spin it in a positive fashion anyway.
As much as it pains me to say it, iOS is getting old. Thirteen years and thirteen releases may seem normal, but it’s a breakneck place compared to, say, the classic Mac OS, which topped out at version 9 after just seventeen years. Annual releases are a fairly new development in the software world: even Mac OS X once went two and a half years between major releases.
For a long time, Apple had seemingly embraced a tick-tock strategy of releases, alternating those that rolled out major new features with maintenance releases that made sure the software ran reliably. Apple could decide to adopt a similar strategy on iOS.
I get that the iPhone is more popular than ever, but with iOS maturing, maybe it’s time for Apple to slow its roll a little bit. We’ve come to expect technology to submit to our every whim, but we also depend on it every day, and that means that when it doesn’t work, we get even more frustrated. Frustrated users, it need not be said, are not happy users. And many of us would gladly trade being wowed by shiny new features for bulletproof devices that we don’t end up cursing at.