I wrote recently about software that’s hostile to users who lack an ideally functioning sensorium, but software can also be hostile to users who lack an ideal knowledge base. Often I find myself looking through the preferences for an app, with checkboxes or toggle switches, and see next to those options terse descriptions that make no sense to me. I don’t know whether to check the box or not because I don’t know what my choice will do. This happens when the makers of software assume that all of their users will know most of what they know about their software, or at least about that particular category of software.

I could illustrate this point with some examples, but I really don’t want to. Making software is hard — especially for independent developers who have limited staff and limited budgets, and most of the software I own comes from such developers. (All of the software I love comes from such developers.) I have no interest in shaming people who may well be scrambling to debug or update their code and have no leftover time for communicating more clearly with their less-than-perfect users. But if any software developers want to get better at this kind of thing, they could learn a thing or two from Shirt Pocket, the makers of SuperDuper.

SuperDuper — the official name concludes with an exclamation point but I ain’t doing that — is a fantastic tool for backing up your hard drive and making it bootable, so if you ever find that your computer won’t start up you can do so from the backup disk. I’ve owned SuperDuper for fourteen years and have used it countless times for keeping my data safe.

When you’re ready to copy your hard drive, this is what you see:


Notice how the app explains, fully and in plain English that dogs and cats can read, precisely what the app is about to do. Even if you know almost nothing about how computers work, you can figure this out.

Now, SuperDuper does all this because it’s an extremely powerful app — you have just given it permission to do things with all of your data, and making the wrong decision about all your data could be catastrophic — so a developer might say that you don’t need to be this explicit in apps, or preferences within apps, that have far lower stakes.

But why not do it? Why not try to make using your app more comfortable for users who don’t fully understand how your app works? Sure, full descriptions take up more room in your Preferences window, but that’s a soluble design problem. And full descriptions give those users more confidence. They make us think that you’re on our side.

As I said, I don’t want to shame anyone. But I took the time earlier this week to send emails to a couple of developers, explaining how uncertain I am about some of their preferences. “I think checking this box will do X, but I’m not sure — maybe it’ll do Z instead.” They haven’t replied.