Like any other engineering discipline, there’s more to software engineering than just hands-on coding. When you’re developing an operating system, in particular, there’s a great deal more that needs to be built into the process. Three interrelated functions spring to mind in the context of macOS:
- documentation in depth,
- quality management,
- maintenance procedures and tools, and maintainability in general.
These are intimately interrelated, as you can’t have any one of them without the support of the other two.
I’ve written repeatedly about the first two on all too many occasions, but in the last few weeks the third has become more prominent again with issues such as EFI firmware updating and the maintenance of APFS. Apple has long taken pride that “it just works”, but seems to have convinced itself that is inviolate fact, and has become unable to consider what happens when it stops working.
The long-running saga of failed EFI firmware updates is a case in point. In older versions of Mac OS X, Apple used to distribute firmware updates separately, with a special installer. Some years ago, this changed and firmware updates are only made available to users as part of a macOS or security update. Then users started to report problems installing updates. Some were attributed to the use of third-party memory or storage, although why any installer should take exception to perfectly legitimate hardware upgrades has never been explained or acknowledged by Apple.
The most intransigent problem with failed EFI firmware updates has been with the iMac Retina 5K 27-inch Late 2015, or iMac17,1. Some have sailed through updates bringing them to version 4220.127.116.11.0, others remain firmly stuck at 18.104.22.168.0, which was current for macOS Mojave 10.14.6 in July 2019. While some users report their iMacs seem fine in spite of still running that old firmware, others are suffering problems with waking from sleep, for example.
When users have raised this with Apple Support, they’ve been given various answers, including claims that their firmware is up to date, that no further updates are possible for that model, and other evasive inaccuracies. Recently, one user took their iMac17,1 to an Apple retail store where they tried to update its firmware by performing a clean re-install, and still it remained stuck at 22.214.171.124.0. Apple hadn’t even seen fit to provide its own support staff with correct information about current firmware versions, or a tool which they can use to update problem Macs such as the iMac17,1. Given the fundamental importance of firmware, that’s a remarkable failure of maintenance.
Another maintenance problem has become clear with Catalina’s new boot Volume Group, which enmeshes a System and Data volume which weaves the two together. Since reporting on this, I’ve heard that it is now possible to group a newly-installed System volume with an existing Data volume, provided that you do that during macOS re-installation, having deleted (or erased?) any existing and unwanted Volume Group (thank you, John). I’m still trying to find where any of this is explained in Apple’s support notes, and will be trying it out shortly so that I can detail the process required.
Indications are that Catalina’s boot Volume Group was designed without consideration of maintenance procedures which could address that type of problem, and the current solution has only evolved during Catalina’s release cycle, in the last few months.
Turn next to another powerful feature of APFS, snapshots. Here, APFS does appear to provide the fundamentals for discovering the space occupied by each snapshot, and the facilities to delete them, even when they’re not made by Time Machine. Once again, no one seems to have considered the problems which can be caused by orphaned snapshots, so they’re a key macOS feature which is essentially unmaintainable by macOS and its supporting toolset.
Widespread and severe problems with Time Machine which have become apparent in Catalina have laid bare its lack of effective maintenance tools. Although early indications are that they may be addressed in Big Sur’s new ability to make backups to an APFS volume, as that is even more heavily dependent on snapshots you can perhaps guess where that is going.
We are heading rapidly towards the corollary to “it just works” being “and if it doesn’t, just wipe everything and re-install”.
I’ve been writing Q&A sections for five different Mac magazines over the course of the last thirty years. Having to preface most of my answers with the advice to back up and clean re-install macOS is admitting that Apple’s première operating system has ceased being maintainable. From all that I hear about Big Sur’s new Sealed System Volume, macOS 11.0 isn’t intended to improve the situation. If every time your car had a problem you had to replace its engine, wouldn’t you consider that abysmal engineering? It might be acceptable for an iPhone, but surely not for a proper computer.