Adages II: The Adagening
Since I made my adages post last year, I've had a few afterthoughts, so here's a second instalment of things I seem to find myself saying a lot.
I'll start with a more or less frivolous one, which I tend to think of as the Law of the Kitchen: in a kitchen there's nowhere safe to stand, or perhaps no matter where you stand in a kitchen, you're in someone's way. This applies in any kitchen that more than one person is trying to use; no matter how spacious it appears, the one place you pick to try to stay out of the way is inevitably going to turn out to be right in front of the cupboard somebody needs. An office building I used to work in had an absurdly large kitchen, and I still saw this happen all the time. The only way to avoid it is to be alone in the kitchen, and sometimes I think even that doesn't work reliably.
There's a sentence that I always wish I'd put into my old article ‘How to Report Bugs Effectively’, because it makes a nice one-line summary of a lot of it. (Sadly, it's too late, now that it's been translated into so many languages.) The sentence is: Don't just tell me what didn't happen; tell me what did! (For all those times when someone just says it doesn't work, or won't print, or can't save, and doesn't also tell you the vital diagnostic details in the error message that appeared when they tried.)
Also on the theme of computer (and other) troubleshooting, a phrase I shamelessly pillaged from Yes, Minister and adapted slightly to make it work in a totally different context: if you don't tell me exactly what you're doing, I can't tell you which bit you're doing wrong. I often find myself saying that to people who email me asking for detailed advice without giving enough details of their own, and it usually seems to get the message through.
A user-interface principle I keep coming back to is: it's OK to file things in more than one category. In any context where things get filed in categories at all (GUI configuration panels, drop-down menu bars, mail folders, good old-fashioned catalogues and indexes in print), it can be a real pain for users (by which I mostly mean me, with my user rather than developer hat on) to have to try to guess which of the plausible categories a thing might be filed under. I often think people overestimate the cost of just duplicating the thing in both places (especially when that can be done by linking rather than bulk-copying); then, whichever one I look in, I'll be right!
Continuing the topic of user-interface design, after my previous adages post I said a thing in the comments which I then realised was itself a thing I've said on other occasions too: if you always have to remember to specify the ‘work properly’ option, something is wrong with the design. (My usual example is
find -print0 | xargs -0.)
If you're trying to persuade people to do one thing rather than another, a thing I've come back to a few times now is that it's better to make the right choice easier, not the wrong choice harder. (Because either action provides an incentive to switch over, but one of them also makes people's lives better whereas the other makes them worse, so it will make a big difference to how annoyed with you they are afterwards.)
An argument I've used a few times to persuade people to actually bother to start backing up their electronic data is to point out that backups are a kind of housework. They actually are, if you think about it: things like hoovering and bathroom-cleaning are tedious and don't come with a great deal of obvious reward at the time you do them, so it's always tempting to occasionally not bother or to simply forget or to accidentally get out of the habit of doing them regularly, but if you never do them then sooner or later something goes badly wrong. Backups are similar on all counts, and also if there's a particular time of week when you do all your other housework, including your backups in that routine is a good way not to forget about them; so whenever I come across someone who doesn't do backups but does do hoovering, I try this as a way of persuading them to start. (It worked particularly well on my mum, who drilled into me the need to actually bother to do housework, so she couldn't really argue when I returned the favour!) If I had children, I'd teach them this.
As before, of course, none of these should be taken as a universal truth or applicable in all circumstances, and all of them have their implicit ifs and buts and unlesses and exceptions. Caveat lector.