Wednesday 10 November 2004

Using my previous entry as a jumping off point, I’m here to tell you a long and convoluted story about why, as a bug reporter (among other things), I will with but the flimsiest justification tend to regard myself as either put-upon or an idiot. In the spirit of Mark Pilgrim’s morons and assholes division, I bring you two user archetypes: the Thug and the Wimp.

I’d present Thea the Thug to you, but I think you’ve already met her. She emailed you one time while you were sleeping. The subject of the email was ‘PLEASE HELP — URGENT’. It’s possible the body described a genuine bug in your project. It’s just as possible that she was asking something unanswerable like "how can I get a list of email addresses?" It doesn’t matter anyway, because an hour later she sent another mail or two denouncing you for not answering her first. She’s got a range of tactics. She might have claimed to be representing the silent majority of users against the tyranny of the developers. She might have asked you how you expect to make your operating system work for ordinary people if you don’t even answer their emails. She might have just randomly continued asserting vague things about how your program should work, or about design principles, or security. She feels very put upon that you didn’t reply, especially since she’s smarter than you, and also she’s doing you a favour by using your program. You wouldn’t hurt a user now would you?

In fact, you’ve met Thea and other Thugs many times. On mailing lists. In bug reports. On IRC. If you’re particularly unlucky, in the street. You know her and her ilk backwards and forwards. One day, or many days, you snapped, and wrote anything from a blog entry to a howto lambasting users for their ill-placed sense of entitlement, their rudeness, and their over-use of capital letters. In some cases you edited it down into a neutral piece on how to get replies on mailing lists. In other cases, you posted the rant.

Now, meet Willy the Wimp. Willy’s just read your piece on how to get replies on mailing lists and he thinks you’re talking to him. And what’s more, you’re saying the same thing that everyone says to him. Well, you’re mainly saying what he says to himself. Bug reports, he reads in your piece, are hard to get right. If you get them wrong, which you probably will since they’re hard, you will annoy very smart people who have a lot of demands on their time. And if he doesn’t get it right he will look like an idiot. And you’ll never see him again, because he won’t do the report now.

You’ve probably met Willy too, but a bit less often. In their most common variety, Wimps are your granddad, the one who’s just bought a very expensive computer in the fear that he’s getting behind. And further, his next door neighbour has a lot of computer trouble. One time a letter to her niece just disappeared. And she was doing what she always did, she swears! And sure enough, when Granddad Willy uses the computer, he finds out that his very expensive new possession moves things around (possibly because his mousing skills aren’t good, but he doesn’t know that). They are tricksy. They are uncanny. They are not for the likes of him.

However, that’s only one variety of Wimp, the archetypal archetype if you will. And he’s probably not reading your piece. But there’s a Wimp who might be.

This new Wimp is a contradiction in terms. This Wimp actually uses computers a lot. He not only holds a computer science degree, he holds one with quite good results. He has a computer related job. He’s got geeky interests. And he has a dirty little secret: when the computer doesn’t work it’s his fault. It could walk like a bug, talk like a bug, quack like a bug, and carry a big "Hello I’m Buggy the Buggy Bug!" sign, and his first thought on meeting it would be "I suck at computers. I’m a dumb person."

It’s quite likely this Wimp can program even, although three things are likely to be true. The first is that it isn’t his hobby, because if you think other people’s programs prove you’re a dumdum, your own programs square the effect. The second is that he learnt to program only at university or on the job. The third is that he’s spent a lot of time with people who are better programmers than he is.

These Wimps are shy. They’re often in the closet, confessing their hopeless incompetence only to their bewildered partners (who generally perceive them as perfectly competent and often try and explain this), who are the only people you can say things like "but I’m stupid! It’s my fault!" to more than once (and not too many more times than once, mind you, either).

Usability testers are the general exception. They see Wimps all the time. They have tapes of them crying and saying things like "Please, don’t worry about me. Your program is great. I’m just dumb. I’m so sorry." (Really, they do.) Every so often, they write textbooks and try and jerk Wimps into the light by saying things like "users will tend to blame software failures on lack of skills on their part," but their gentle warnings scatter like ashes in the face of the Thugs who blame software failures on the world’s failure to listen to their prophetic tones.

Even so Wimpishness is more common than you think. Academia, for example, is absolutely infested with people who are just waiting for someone to knock and say "Oh hello, did I mention? We’ve noticed that you’re the dumbest person in the department. What on earth did you think you were doing? Pack up your stuff and be gone by noon." And there are an awful lot of computer users who think exactly like this, all the time.

Which is not to say that Wimps are great people, mind you. There are some places where the cultural norm is to lead with "I, a lowly worm, grovel at the feet of my betters and humbly present them with this small critique of their program and beg them to use the whip sparingly," but in most of the circles I move in this kind of thing annoys people and it’s seen as a roundabout way of asking for compliments in the reply and an especially tacky one at that. (And let’s face it, compliments are exactly what the Wimps want, again and again and again. Well that, and for their computers to work.)

No, the trouble with Wimps is that it’s almost impossible to speak softly to them and fend off the Thugs at the same time. I understand this. I really don’t expect people to reply "yes, this is definitely a bug, don’t worry, I think you’re very smart" to bugs I file. I really don’t. But at the same time, every time the program crashes, I think "I’m a dumb person, what am I?" automatically. And in situations like that, hearing about how you don’t want ‘useless’ bug reports is so easy for me to translate into ‘your bug reports are useless’.

OK, so I just have to buck up. I know this. (When I forget, I ask my Dad.) But in the general case, this is a real dilemma. When you write something, or say something, and have a Thug in mind as your audience, or even yourself the perfectly competent user who can flame with the best of them but only when there’s need, there are these people in the background, the ones who are thinking "I’m a dumb person, what am I?" and hearing you say that too.

I would love to know why it is that computers in particular inspire this reaction in people, especially people who’ve had all kinds of external validation about their abilities, and who are being presented with a crash dialog that reads "the program has quit unexpectedly," as opposed to "you broke it, moron!" Maybe I’m just an outsider, but it seems to me that this is something more pronounced in computing (and academia) than elsewhere. How do people’s feedback loops get so skewed? Is there a magical time to grab a Wimp and give them the good swift kick in the bum that you secretly want to give them? If not, what’s the best way to improve the feedback quality?