Software Is Getting Worse

I posted this on the Apple community discussion board, but they removed it.

This is not a question, it is a statement of design philosophy that I think the user community should consider.

I have been using and programming microcomputers since 1977. I have owned Macs and used every operating system since the very first 128K Macintosh. I have published numerous applications, writing in 68000 assembler, Pascal, C++, and Java. I have published books on software design. So I know what I'm talking about.

The Macintosh software experience has grown too inbred. The explosion of software has led to an erosion of usability standards, rendering much Macintosh (and iOS) software all but unusable. A few examples:

I've been helping an older lady re-learn Mac. She used one quite happily in the 1990s, and loved her Mac. I gave her my old development machine, an old Mac Pro using OS 10.7.5. She is having endless problems with it. Her latest is particularly vexing. While using Mac Mail, she accidentally clicked on the wrong location, which led to much consternation and greatly undermined her confidence. In this case, the wrong location was in the Mailboxes pane on the far left of the Mail window. This pane has a number of main categories denoted by titles in all caps and a light grey color for the text. Associated with these categories is one of the greatest crimes against good user interface design: a hidden button. If you let the mouse hover just to the right of one of these titles, a hidden button appears, a toggle for SHOW/HIDE. Now, hidden buttons are intrinsically bad ideas; how is the user to know it's there if you hide it? Assuming that the user will just figure it out is truly user-abusive. And in fact, my friend accidentally clicked there when she had meant to click on a specific mail in her Inbox. She missed by just a few pixels, but it was enough to hide all her saved mailboxes. She thought she had deleted them and panicked. I had to drive over and fix it for her, and even then the solution was not obvious to me. It took a little futzing around, requiring some intuition into the obscure tendencies of software designers, to identify the program.

Email has become a problem for me at a more general level. When I set up my new iMac, I could not for the life of me get the Mail program to get my email. I had to spend time with Apple Customer Support on the phone -- about thirty minutes! -- to get it working. And I've been using email for more than 25 years! When I changed to a new ISP, I ran into similar problems, but this time I managed to get it working after "only" a few hours, and my wife cannot send email on her iMac, even though her account settings are a mirror image of my own and I have duplicated the procedure on her machine.

I have come to accept the realization that I'll never be able to get Mac software to function properly. iTunes no longer permits me to have songs play at frequencies commensurate with the ratings I have given them. It did that once, but I can't do it now. In order to change the contents of my iPhone from inside iTunes, there's a hidden control somehow involving moving the mouse to the far right of the window -- I can't recall exactly what it is, but whenever I get stumped attempting to do something with the iPhone in iTunes, I try that, and eventually get it working.

iCloud? Sorry, I won't touch it -- there are already too many things I don't have time to learn. 

Even the Finder -- which I have been using for more than 30 years now -- even the Finder confuses me occasionally. What's the algorithm for transmitting assigned window visible properties (background color, display format, icon size, etc) through the folder hierarchy? I had always thought that each window setting was independent of all others, but now I find some cases of window properties propagating. Huh? Or how about this? I have assigned a custom icon to one of my folders. When I open that folder, though, the mini-icon that appears in the title bar is not the same as the assigned icon. In fact, it's an ancient icon from an old program called "Resource Editor" from the days of OS 9! 

No problem, you say; there's a simple fix to rebuild the Finder settings. Just hold down Option-Control-Shift-Command during the 3-second time window just before the Finder opens on startup. Or something like that. It's another one of those hidden things. 

Yeah, sure, I could look it up -- if I knew the right search phrase. But what's the search phrase?

There's a deeper problem here. The Mac used to be the computer "for the rest of us". That's no longer true. Now it's the computer for the people who are willing to devote themselves to learning a million intricate details. It's actually worse than MS-DOS was. At least with MS-DOS there was a dictionary that included every single possible command and every single optional variation on it. Nowadays there's no such thing. Years ago I printed out a two-page cheat sheet showing every special command you could use in Finder. It had all sorts of sneaky commands. I challenge anybody to compile an equivalent list of Finder commands today. List the meaning of every single click, double-click, triple-click, right-click, swipe, double-swipe, key press, or any of the above with a prefix key (CMD, CNTL, OPT, or SHIFT). How long do you think that list would be? My guess is something between 200 and 600 items.

Suppose we were to prepare that list and then make it a test, challenging Macintosh users to explain what those commands do. What percentage of users would be able to correctly explain all of the commands? 50% of the commands? 10% of the commands? 

Now extend that test concept to Safari, Mac Mail, iTunes, Pages, System Preferences, iOS, iCloud... and what do you get?

Let's face it: the Macintosh software ecosystem has grown far beyond the ability of any user to comprehend. That in itself is not a problem. The English language has a vocabulary exceeding half a million words and the average English speaker has a working vocabulary of perhaps 10,000 words. Despite the huge difference between what the language holds and what the speakers know, we get along just fine. But don't forget that, if I spring a weird word like 'lucubration' onto you, you can look it up in short order. How can you look up a hidden command that you don't even know exists? 

Even worse, consider this situation, analogous to the dilemma faced by my friend. You go to the government office to renew your driver's license. You take the test, get your photo taken, then approach the clerk to issue your license. You tell him that you want your driver's license. He smiles at you. You ask him for your driver's license. He smiles at you. You rant, you rave, you ask nicely, you threaten, you try everything you can, but the clerk cannot issue the license until you say the magic word -- which he won't tell you.

That's what it's like to use software with hidden commands. And modern software bristles with hidden commands.