It may be one of the world’s largest companies, and may be selling iPhones and other high tech better than anyone else, but we know that Apple succeeds most consistently at the high end. It will never sell a phone competing directly with low-end Android commodity models. If you want physical evidence of this, you only have to look at its recent products, such as the iPhone X, iMac Pro, and Apple Watch.
The time has come for this to be reflected in the names which Apple gives to new versions of macOS. The big cats used in the past played on established associations such as Jaguar and Panther, but weakened by the time that they reached Mountain Lion. Apple now needs to enhance its image by appealing to the well-heeled and well-read, by basing macOS names on literary references, starting with macOS 10.14, which we expect it to unveil in early June.
My hot favourite is macOS 10.14 Gormenghast, after the vast castle inhabited by Titus Groan, his relatives and servants, in Mervyn Peake’s superb series of novels.
There is no name more appropriate than Gormenghast for an operating system which provides no less than three completely different figures for the amount of free space on any volume, and has sophisticated extended attributes only to strip most when using its integral cloud service, and ignore them completely when reporting file sizes.
Like the East Wing of Peake’s castle, there are large tracts of macOS, like Keychain Services, Apple Help, and AppleScript, which have barely changed for more than a decade.
There are Byzantine systems of laws and rituals through which apps must negotiate their way. Seemingly arbitrary functions in macOS require elevated privileges, tasks which therefore have to be delegated to Privileged Helper tools. But those helpers need to change their own permissions to run with elevated privileges, setting up a circular problem which can only be solved using a special function and security process. So many apps just cheat and use the AppleScript call to run a shell command with elevated privileges instead.
Most respectable operating systems would be content with a single means of periodically running scheduled tasks, so macOS has several, including
launchd, XPC/CTS, DAS, and the arcane
emond sub-system which looks as if it was developed to support server functions, but seems to have been abandoned part-way through.
As I have mentioned elsewhere, there are three completely different schemes for keeping a watch on changes to files and folders: FSEvents, kqueue, and GCD.
If you develop in Swift, you have a choice of String, NSString, CFString, NSMutableString, CFMutableString, and Substring. I’m hoping one day to find an excuse for creating a class BitsOfWetString. And I’m still trying to work out how a String, as an ordered sequence of characters, differs from a Substring, which is an ordered sequence of characters.
Just like Gormenghast itself, most of the laws and rituals by which macOS operates are not written down anywhere. Some are to be found in dusty old documents which haven’t undergone any meaningful revision since Mac OS X 10.4 in 2005. In many cases, the only way to discover how to do things, or how macOS does things, is to consult the oral tradition among its developers, sysadmins and expert users.
Apple has introduced substantial and important new features, such as APFS, without sharing more than a brief glimpse of their documentation. The Apple File System Guide, for example, which is the sole official account of APFS, amounts to just four short webpages, even though the file system has been in use on iOS and macOS for eleven months now.
After macOS 10.14 Gormenghast comes 10.15 Ulysses, but I’ll let you speculate as to whether the reference there is to James Joyce’s Leopold Bloom, or Homer’s epic hero.