Why are there so many macOS and iOS bugs?
If you’ve been paying attention to the Apple-sphere recently, you might have noticed that complaints about macOS and iOS bugs seem to be flooding all channels. Issues with iOS 11 and macOS High Sierra abound, and many commentators have wondered what’s gotten in to Apple this release cycle. While it does seem like bugs abound in the latest update, is the software really any more buggy?
Is Apple’s software more buggy than usual?
Without Apple’s internal data, it’s hard to say if there are more macOS and iOS bugs that usual. But it does seem that way, which is the important part. It’s the users’ perception of Apple’s reliability that actually counts. If users view Apple’s software as buggy, that hurts brand perception and discourages users from upgrading.
Prominent bugs have gained widespread attention from the media. In a recent version of iOS 11, Calculator, a basic and feature-complete app, would compute “1 + 2 +3” to equal “24” instead of “6” if the user typed quickly enough. While this error was addressed in the iOS 11.2 Beta, the fact that it appeared at all might raise questions about who has their hand on the wheel.
The answer is problem one junior-level programmer who’s responsible for the maintenance of a number of boring apps. Apple can’t afford to keep a team of highly-skilled programmers on apps that are essentially “done.” They need their considerable talent directed towards headlining features of the new OS. So a less-experienced, less-skilled programmer gets assigned the “babysitting” roles, making sure that apps like Calculator don’t get broken by system and user interface updates. Most of the time, this works just fine. But every so often we have an issue.
Should users be worried about iOS bugs?
Apple users might be frustrated by bugs, but it doesn’t indicate that the company is headed for disaster. Software development is massively complex, and delivering product on time can be a major issue. It’s not even easy to determine when software will be finished.
If you want to build 10 cars on a single production line, for example, you can calculate that easily: multiply the time it takes to build each car by 10. It’s not so simple for programming.
Once the “first draft” of an update is finished, the rest of the process is about finding and fixing problems in clever and creative ways. It’s hard to say how many problems will pop up, and how long it will take to fix them. If the team has a flexible deadline, then they can take the time they need to address problems in smart ways. But if the team has an arbitrary annual deadline like Apple, they might rush fixes or miss some things.
It’s perhaps laudable that iOS has historically contained so few widespread iOS bugs. It’s a gargantuan effort to release a bug-free update, and Apple has historically done fairly well with squashing iOS bugs.
What about macOS?
macOS has had its share of serious issues as well. Just recently, Apple had a rush out a forced OS update to patch a serious security vulnerability. On a recent version of macOS High Sierra, a user could gain root access by typing “root” without a password at a administrator authentication prompt several times. “Root” is the most powerful user in a Unix-based operating system like macOS, capable of executing arbitrary and damaging commands. And since this exploit could also be executed remotely over SSH, it represented a serious problem. It’s great we got a patch quickly, even if it broke file sharing. However, there’s no telling how long this bug has been floating around in macOS without anyone noticing.
While this bug may have had major consequences, it doesn’t mean that programmers should be fired. It’s easy to make a small programming mistake that has far-reaching consequences. Apple’s automated testing should have caught this bug, but for whatever reason it slipped by. And besides, firing people for honest mistakes is stupid: if a programmer was responsible for this error, they’re likely to never make that mistake again. Their replacement wouldn’t have that valuable experience. People learn from mistakes, and that makes them more valuable.
However, this most recent macOS bug seems emblematic of Apple’s apparent lack of interest in macOS. Apple is monolithic in its focus, directing the vast majority of its considerable power towards a single goal. Right now, that goal is the iPhone and OS. Everything else takes a back seat, which might be great for revenue. But macOS users don’t win.
So what’s the problem?
If a serious problem exists, it’s Apple’s marketing-driven annual release schedule. Because programmers must deliver a new point release of iOS and macOS every year, bugs are more likely to slip by. This is especially true when the update contains significant changes.
But let’s not assume this is the “new normal” for Apple. Don’t forget that they managed to silently update something as critical as the file system on all iOS devices without issue. That’s one of the hardest changes to make, and Apple pulled it off. Apple has promptly squashed bugs as they’ve appeared, and that’s the best response we can hope for.
You might also like the following posts: