Last Week on My Mac: Going forward with backups

Until WWDC last year, there were two popular schools of thought about Apple’s relationship with Macs: some held that Apple didn’t want to make Macs or computers any more, but to concentrate on more lucrative iOS devices and pure consumer products; others claimed that macOS was going to be swallowed up into iOS, which would then become the single OS to run on Macs, iPads and iPhones. In just a few exhilarating months, Apple has demolished both stories, leaving a third still alive and kicking, in which Apple intends to stop macOS from running all software other than apps purchased in the App Store.

Even with the arrival of the new M1 Macs, I’m still told not infrequently that, as Macs and iPads now have the same processors, Apple is merging those products in the future. This only arises among those who think “ARM processor, so they must be doing the same thing”. The fact that ARM processors are also used in servers and Apple Watches seems to have escaped them, or perhaps they’d come to the inescapable conclusion that Apple wants everyone to go around with personal servers on their wrists.

The most cursory glance at what’s in an M1 SoC confirms that this is much more than the A14 to which it’s related. Just counting transistors, it has 16 billion compared with the A14’s 11.8. Many of those are in the area termed Fabric, which is concerned with I/O and interfaces. Apple’s declared plan to replace its current Intel models with Apple Silicon versions is equally compelling of the conclusion that it intends to be selling what are recognisably Mac computers for many years to come.

Those who are sure that macOS is going to disappear in favour of a unified iOS-based operating system can’t have studied what has happened in Time Machine, for both Intel and Apple Silicon models. If there’s one part of macOS, apart from its human interface, which is completely distinct it’s Time Machine. It’s worth reminding ourselves that it wasn’t introduced in 2007 out of the goodness of Apple’s heart, but as an essential pre-requisite for new hardware products which were launched three months later: the Time Capsule.

Although Apple discontinued selling Time Capsules almost three years ago, and Time Machine’s days appeared numbered, instead of leaving it to decay slowly as some of us were beginning to suspect a year ago, Apple has continued to invest in its development, so that (as of Big Sur) it can now make backups to APFS volumes. The last time that this scale of engineering effort was put into Time Machine was prior to that first release in October 2007, when Apple added support for directory hard links to HFS+. Without those, its backups simply wouldn’t have worked.

Once again, the changes required to enable Time Machine backups to be made to APFS volumes appear to have required modifications in the file system. Before macOS 11.0, we’ve always thought of snapshots as being straightforward copies of the metadata for a specific volume, something essentially generated by making a copy of those file system metadata. If that was what Time Machine relied on in Big Sur, then it could only back up whole volumes.

Instead, when backing up to an APFS volume, Time Machine now creates snapshots of individual folders when necessary, a feature which hasn’t yet been made available through the command tool tmutil. Not only that, but during the process of making a backup, Time Machine copies snapshots between volumes and seems able to assemble a backup snapshot from its file system metadata and constituent items, including changed blocks within a file.

This isn’t the sort of coding that’s knocked together in a couple of days. It demonstrates that, just as in those halcyon days back in 2006-7, Apple continues to dedicate its engineers to development which is primarily for macOS and unlikely, for the time being at least, to see any application in iOS or iPadOS. But there will still be those who believe that just because APFS backup volumes are required to be in case-sensitive format – that used in iOS/iPadOS but seldom in macOS – this is iOS development in disguise, despite the obvious explanation that case-sensitive APFS can cope with backups that case-insensitive volumes can’t.

I suspect that over the last five years or so, Apple has invested more money and engineering effort into the Mac than at any other time in its history.

Finally, those whose glass is half-empty and falling fast assert that Apple is moving towards a walled garden for macOS apps, pointing at the new requirement for Apple Silicon Macs that all executable code must be signed in order to run natively on the M1 SoC. This claim carefully elides the detailed explanation, of course, that the signing requirement isn’t about validating identity using an Apple-issued certificate, but about instant access to a hash of the code, which can equally be accomplished by an ad-hoc certificate, available to every Mac user, and a process now automatically built into almost every method of generating ARM-executable code.

I hate to spoil anyone’s fun at doomspeculation, but everything we’ve seen and used in the last year has only served to underline Apple’s intentions, that the Mac is going fast forward in its own right, and Apple wants you to keep building your own code, whatever the origin of your signing certificate. And that’s just what I intend to continue doing. Roll on the new Macs.