APFS comes to Fusion Drives, but there’s no sign of Time Machine 2

In my preview of WWDC 2018 last Sunday, I identified two key features which Apple needed to include in the next major version of macOS, now named Mojave: APFS support for Fusion Drives, and Time Machine 2 which is no longer reliant on Apple’s old file system, HFS+.

Slipped in at the end of the last major section of the Keynote yesterday, Craig Federighi mentioned in passing that Mojave will at last bring APFS support for Fusion Drives (he also added hard drives, but APFS has officially been supported on hard disks for some months now). But neither he, nor the list of new features behind him, mentioned Time Machine changes.

The prime mover behind APFS was always iOS. Apple had the chance to adopt a modern file system suitable for macOS more than a decade ago, when it tested the water with ZFS. But at the same time, Apple was bringing iOS to market in its new iPhone, for which ZFS was less than ideal. Apple stuck to its own file system, HFS+, for its new products, and so started the quest for a new file system, which led to APFS.

As developers got to learn more about what was coming in APFS, their concerns started to grow. The most immediate was its handling of Unicode equivalent code points in folder and file names. HFS+ dealt with many Unicode characters which are visually indistinguishable by the established process of normalisation: converting many equivalents into common code points. But Apple’s specification for APFS stated that it didn’t normalise, as with some other newer file systems.

Apple found itself having to bolt on workarounds to effectively perform normalisation for APFS after it had been released in iOS 10.3, and it took until iOS 11 before the issues provoked by the original intention had settled down. Ironically, it was some of Apple’s own software which was worst affected by this.

Being designed for SSD/Flash storage, many have questioned whether APFS would ever run satisfactorily on rotating hard disks, or Apple’s hybrid Fusion Drives, which it has continued to sell as standard in many of the most popular models of Mac. A year ago, at WWDC 2017, the APFS engineers asserted that their new file system already ran on both plain hard disks and Fusion Drives, although there were remaining performance issues which they were addressing.

Beta-releases of High Sierra did support APFS on hard disks and Fusion Drives, but when macOS 10.13 was first released, those were suddenly unsupported; when questioned, users were reassured that their support would be added in a later release. Since then, APFS has become supported on plain hard disks, but anyone, like me, foolish enough to have trusted Apple to bring it to Fusion Drives has been waiting almost nine months. Mojave will make that a full year.

Of course there’s nothing intrinsically wrong in having an operating system founded on two different file systems. But there are features, such as Mobile Time Machine, which are now heavily reliant on running on APFS, and others like Time Machine itself which remain totally reliant on features only available in HFS+. Forcing many users to mix and match file systems like this can only be a temporary solution, at best.

For some Mac users, with recent laptop models which don’t use desktop or network storage much, APFS as it stands may seem almost ideal. So as of High Sierra 10.13.5 and iOS 11, Apple’s users are divided into those for whom APFS is just fine, because they’re primarily concerned with iOS systems and SSD-based Macs, and those whose Macs can’t boot from it and can’t use it for their Time Machine backups either.

The announcement yesterday is a big step forward, but Apple’s silence over Time Machine is disquieting. As it’s not a technology of relevance to iOS, I suspect its development is proceeding slowly and with limited resources. As is so often the case, you shouldn’t listen to what Apple wants you to hear and enthuse about – does it really envisage the average MacBook user bolting on an eGPU? – but you should beware of its sins of omission.