Last Week on My Mac: Hardware legacies

Recently I’ve spent time both using and exploring the Content Caching server in Big Sur. This is a legacy from OS X Server, which Apple unbundled into High Sierra when it discontinued full-featured versions of macOS Server in 2018. The origins of the Content Caching server go back to Mac OS X Server 10.4 in 2005, three years after Apple introduced its first Xserve, which came bundled with OS X Server.

Time Machine has a not dissimilar history. It was introduced in Mac OS X 10.5 Leopard in October 2007, just three months before Apple announced its first model of Time Capsule, which depended on Time Machine for its primary role as a network backup device. Apple discontinued Time Capsules in April 2018, the same year that the Content Caching server was unbundled into normal client versions of macOS, and four years after dropping the last Mac designated by Apple as a server.

At first sight, the two features follow the same approach: they’re consummately easy to set up, usually require minimal configuration on the part of the normal user, and in most cases just work. It’s only when you look behind those façades that stark differences become apparent.

As I’ve been learning last week, there’s a great deal to the Content Caching server, and, armed with Apple’s detailed documentation, it can be assembled into a distributed service over a large network. Not only is it supported by three command tools, notably AssetCacheManagerUtil, but Apple even documents each key which can be configured in /Library/Preferences/

Time Machine also has its own sprawling command tool, tmutil, and can be configured to work with rotating backup storage, but it’s relatively undocumented and rigid in its approach. It backs up every hour; although there are ways of controlling that to offer users different schedules, backups are then performed using a different despatching system, and not DAS/CTS as used by Time Machine. Configuring what should and should not be backed up is also surprisingly inflexible, if not infuriatingly clumsy at times. Try setting Time Machine up to back up several folders on different volumes and you’ll know what I mean. And despite incorporating snapshots in High Sierra, they cannot be kept for any longer than 24 hours.

Apple has recently invested substantially in extensions to Time Machine to support making backups to APFS volumes. This moves backups from reliance on an unusual feature in Apple’s old HFS+ file system, directory hard links, to ingeniously constructed snapshots, only available in APFS. In doing so, it has breathed new life into what was becoming decreasingly popular because of its shortcomings, and it has switched from a largely transparent mechanism to one which is almost completely opaque.

In short, the Content Caching server clearly originated in a fully-fledged network operating system, while Time Machine supports an appliance which the user isn’t expected to tinker with or customise much.

Beyond that, there are more disappointing similarities. As far as I’m aware, Content Caching server isn’t Open Source, and I know for sure that Time Machine is completely proprietary to the point where Apple provides essentially no technical documentation at all. In the hands of a developer, both could be extended, to support other software updates, or to form a more flexible backup system and other enhancements to Time Machine. But even getting Apple’s approval to work with snapshots – one of the fundamental features in APFS – is rigorously controlled. Without that approval, third-party developers can’t even gain access to the API.

The only means of gaining insight into how the Content Caching server and Time Machine work is to study the entries they make in the log, for which we again rely on Apple’s tools including Console, which since its rewriting to support the unified log has been singularly obstructive. It’s almost as if accessing the log is set as a barrier to put us off. Fortunately, I have a couple of alternatives which are far more convenient, in the form of Ulbow and Consolation 3, but for many the unified log is now beyond their ken.

Given that both these services are tightly integrated into macOS, which Apple provides free of charge, it’s hard to see why it’s so protective of legacy features which were once support for its revenue-generating hardware products, so long after they were abandoned. At least we can be grateful that the Content Caching server still caters for the needs of system administrators, unlike Time Machine. Maybe Apple just doesn’t trust third-party developers, despite overwhelming evidence that they’re almost as important as Apple to the future of the Mac.