User Unfriendly

I used to really like Apple software. My family owned Macintosh computers almost exclusively when I was growing up, and I was a Final Cut Pro purist for years.

Then, when I stopped taking video jobs and started writing software on Windows, I became ambivalent. I didn't have any strong desire to return to Mac OS, but I didn't mind using it from time to time when the need arose.

Last week, as the curtain fell on the fourth day of unravelling my poor mother's disastrous upgrade to OS X El Capitan, my ambivalence curdled into outright loathing.

Did you know that Apple doesn't provide physical installation media anymore? Even when their operating system updates have known issues so severe that nothing short of a complete rollback can fix them?

I had the disk image for the Yosemite installer, and the command line utility for writing it to a flash drive. I ran two versions of the utility no less than three times each, in conjunction with different GUID tables and partition flags, on two different flash drives. I logged in as root and blessed the /System/CoreServices folder like an imperial technopriest, and both drives remained non-bootable in defiance of at least seven major deities.

I've long ago come to terms with the fact that, at some level, all code is held together with duct tape and baling wire. That's an unavoidable side effect of the complexity of modern software, and that's fine!

But I no longer have any patience for software - and especially software companies - whose twisted idea of user-friendliness involves being so patronising as to deny the very existence of unexpected behaviour. I don't care how elegant your code is, your end user doesn't live inside of a goddamned unit test.

Okay, maybe the user doesn't know how to fix their own computer problems. So what? They probably know someone who does. Or maybe they're willing to learn! But when you obfuscate the troubleshooting process to the point that no one outside your in-house support team even has access to the necessary tools, you've cut your customers out of the loop entirely. You've reduced the "personal" computer to an inscrutable magic box, its inner workings known only to a cabal of blue-shirted shamans, and disposable the moment they deem its magicks depleted.

No one benefits from lampshading the complexity and messiness of 21st-century software like this. It only serves to alienate the computer-illiterate, and it makes the computer-literate want to throw your products in a dumpster fire.