Editor's Note: Sun's Practical Present, Tech Support Revisited - page 2
If You Meet Jakob Nielsen on the Road, Kill Him (and other koans for the Internet Age)
And that brings me to something I unearthed once again while thinking a bit on the Sun GNOME study, and also considering last week's editor's note (The Support Call HOWNOTTO) For a few years now I've subscribed to the Red Rock Eater News Service, a one-way mailing list run by Phil Agre, an associate professor of information studies at UCLA. Mr. Agre's list is a can't-miss for me, and many useful things have come from it.
For instance, for a while I worked as a database administrator at a high school. It wasn't fun work, and it had the distinct disadvantage of being a fairly stable environment. After a while, there's only so much you can bear of walking around muttering and looking inscrutable (even if that schtick does spell job security.) Having too much time on my hands, I agreed to take over some support work from the techs who handled the end users (over 125 teachers, staff, and administrators) and promptly found my temper and emotional reserves pushed to their limit. End users are a frustrating crowd, bringing an insane mix of enough-rope-to-dangle-experience and simple foolishness to their computing behavior. The document I'm including below (with Mr. Agre's kind permission) offered me some insights to grab hold of and use. I printed a couple of them out in 72 point type and taped them to my wall.
I include them here for two reasons:
One, they serve to underscore something the Sun study pointed out: end users have their own agenda and perception when it comes to the computer in front of them. Though it's a simple enough statement, "If it's not obvious to them, it's not obvious" seems to elude those of us who think everything about a computer is obvious, right down to "globe icon with drill next to it means 'connect to my ISP'".
Two, support is something the entire Linux user community provides its newer members. It's not uncommon of late to hear more and more complaints about a general sense of crossness creeping into the interactions of the initiated with new users. Now that the "pioneer" stage is over and just anybody can ride the train into town courtesy of near-universal ease of installation and more "install-n-use" books than the publishing market could bear (honest... talk to a few acquisitions editors), it's easy to be irritated with greenhorns who get hung up on the "simplest" things. Yes... menu configured PPP connections are a snap compared to writing your own chat scripts after debugging your non-auto-detected-modem with minicom, but sometimes even those menus aren't the simplest things to figure out for reasons beyond even a deficiency of the menu design itself.
Mr. Agre's wisdom in this area speaks for itself:
How to help someone use a computer.
Computer people are fine human beings, but they do a lot of harm in the ways they "help" other people with their computer problems. Now that we're trying to get everyone online, I thought it might be helpful to write down everything I've been taught about helping people use computers.
First you have to tell yourself some things:
Nobody is born knowing this stuff.
You've forgotten what it's like to be a beginner.
If it's not obvious to them, it's not obvious.
A computer is a means to an end. The person you're helping probably cares mostly about the end. This is reasonable.
Their knowledge of the computer is grounded in what they can see and do -- "when I do this, it does that". They need to develop a deeper understanding, but this can only happen slowly -- and not through abstract theory but through the real, concrete situations they encounter in their work.
Beginners face a language problem: they can't ask questions because they don't know what the words mean, they can't know what the words mean until they can successfully use the system, and they can't successfully use the system because they can't ask questions.
You are the voice of authority. Your words can wound.
By the time they ask you for help, they've probably tried several things. As a result, their computer might be in a strange state. This is natural.
They might be afraid that you're going to blame them for the problem.
The best way to learn is through apprenticeship -- that is, by doing some real task together with someone who has a different set of skills.
Your primary goal is not to solve their problem. Your primary goal is to help them become one notch more capable of solving their problem on their own. So it's okay if they take notes.
Most user interfaces are terrible. When people make mistakes it's usually the fault of the interface. You've forgotten how many ways you've learned to adapt to bad interfaces.
Knowledge lives in communities, not individuals. A computer user who's part of a community of computer users will have an easier time than one who isn't.
Having convinced yourself of these things, you are more likely to follow some important rules:
Don't take the keyboard. [Or give yourself root privileges over a ssh connection -mph] Let them do all the typing, even if it's slower that way, and even if you have to point them to every key they need to type. That's the only way they're going to learn from the interaction.
Find out what they're really trying to do. Is there another way to go about it?
Maybe they can't tell you what they've done or what happened. In this case you can ask them what they are trying to do and say, "Show me how you do that".
Attend to the symbolism of the interaction. Try to squat down so your eyes are just below the level of theirs. When they're looking at the computer, look at the computer. When they're looking at you, look back at them.
When they do something wrong, don't say "no" or "that's wrong". They'll often respond by doing something else that's wrong. Instead, just tell them what to do and why.
Try not to ask yes-or-no questions. Nobody wants to look foolish, so their answer is likely to be a guess. "Did you attach to the file server?" will get you less information than "What did you do after you turned the computer on?".
Explain your thinking. Don't make it mysterious. If something is true, show them how they can see it's true. When you don't know, say "I don't know". When you're guessing, say "let's try ... because ...". Resist the temptation to appear all-knowing. Help them learn to think the problem through.
Be aware of how abstract your language is. "Get into the editor" is abstract and "press this key" is concrete. Don't say anything unless you intend for them to understand it. Keep adjusting your language downward towards concrete units until they start to get it, then slowly adjust back up towards greater abstraction so long as they're following you. When formulating a take-home lesson ("when it does this and that, you should try such-and-such"), check once again that you're using language of the right degree of abstraction for this user right now.
Whenever they start to blame themselves, respond by blaming the computer. Then keep on blaming the computer, no matter how many times it takes, in a calm, authoritative tone of voice. If you need to show off, show off your ability to criticize bad design. When they get nailed by a false assumption about the computer's behavior, tell them their assumption was reasonable. Tell *yourself* that it was reasonable.
Take a long-term view. Who do users in this community get help from? If you focus on building that person's skills, the skills will diffuse to everyone else.
Never do something for someone that they are capable of doing for themselves.
Don't say "it's in the manual". (You knew that.)
- Skip Ahead
- 1. If You Meet Jakob Nielsen on the Road, Kill Him (and other koans for the Internet Age)
- 2. If You Meet Jakob Nielsen on the Road, Kill Him (and other koans for the Internet Age)