Last Week on My Mac: Obfuscating errors

Over the last decades, the computer industry has invested eye-watering sums of money in improving the human interface, to the point where most of us now use our phones for purposes we had never dreamed of. Yet over that time, what attention has been paid to handling errors, failures and problems?

Hiding under that thin veneer of ‘it just works’ are systems which have become less accessible, to the point where any bug reported to Apple now has to be accompanied by a full sysdiagnose, containing almost everything there is to know about your Mac and what it’s been doing recently.

It’s a trend that pervades other professions. When I was learning the practice of medicine over forty years ago, the emphasis was on diagnostic skills. We learned how to take a relevant history, how to examine patients from top to toe, and how best to choose special investigations which could confirm our provisional diagnosis. These days it seems simpler (and often more profitable) to bleed and scan the patient until you find something abnormal, then try explaining it.

While I understand the value of a sysdiagnose to an engineer on the other end of a Feedback report, that’s not how an advanced user or sysadmin should be working to diagnose everyday problems. One of the first places they should be able to go to is the log. It’s now almost six years since Apple unified the log in macOS Sierra, a move which should have made the diagnosis of errors and problems far simpler. Yet over those six years the sole utility in macOS to browse the log has only advanced from version 1.0 in macOS 10.12 to 1.1 in macOS 12.5.

Console 1.0 was a pale shadow of its former self, and most experienced users of its predecessor found it wanting in many respects. Yet Apple has seemingly abandoned any attempt to match its tools to the greatly increased power and volume of the Unified log. What looked like an ill thought-out stopgap has turned out to be Apple’s final word on log browsers, or maybe you’d prefer to use the log show command instead?

Error codes are another example of neglect. Although Apple has recently revamped its developer documentation, there’s still nowhere to look up what a numeric (or text) error code might mean. Most errors remain documented only in header files and specific sections of API documentation, and there’s still no global search comparable to that provided by third parties such as OSStatus.com, although even that now seems to have fallen behind Apple’s relentless proliferation of codes.

My biggest concerns, though, are the errors that aren’t reported to the user. Some only come to light days or even months later, usually when the user runs a third-party utility to check something they thought had been working fine. Several of my own software tools have been developed in response to such problems: when Time Machine in Sierra silently stopped making automatic backups, a batch of Macs was delivered to users with SIP turned off, EFI firmware in high-end versions of iMacs were left without updates for a couple of years, iCloud still keeps getting stuck while trying to sync specific files, or downloaded security updates fail to install.

Many of these are recorded in the Unified or another log that will pass unnoticed, or flash past in the steady stream of notifications. While we’re subjected to repeated dialogs requiring authentication for mundane tasks, or informing us about actions that might affect our privacy, significant errors are often hidden, or only accessible to the select few who have mastered accessing the Unified log.

macOS needs a coordinated subsystem for monitoring and recording system errors and failures, and a readily accessible way to check each Mac’s status, outside the Unified log. It also needs to evaluate errors ‘intelligently’, so the user doesn’t have to sift through irrelevant chaff, but is informed of what’s potentially significant.

Just as the devices we can attach to Home can do this for where we live, so macOS should do the same for where we work and play. That is, perhaps, the final irony, that many now have a better idea as to whether anything’s amiss at home than in their Mac.