Part of my job deals with answering questions. In effect, i'm doing customer service. Now, let me say that i have no training in customer service. i don't follow scripts, and i'm quite positive that more than a few folks who are experts in the field would have their blood drain from their heads after hearing what i do, but i've found it's actually pretty successful.
i'm a huge advocate of having folks that actually build stuff talk to the folks that use it, or at the very least, pay attention to the things those folks are saying. Good developers realize that they're building a product for use and that they have customers they need to attend to. Bad engineers build the equivalent of the Cadillac Ranch which may become an interesting tourist spot, but not really a fundamental pillar of society.
So how do you talk to customers? It's actually pretty easy if you keep a few rules in mind:
1) Never let them know you think they're idiots
That's kinda key. Unlike you, they've not invested a portion of their lives working on the problem 24 hours a day and hitting all the various issues you're intimately aware of. They also have various levels of experience. The best thing to do is not talk down to them, but be clear about what you mean. Things like "Ah, i think i understand your confusion. You need to do X first, then Y. i'll see if we can get the docs to be a bit clearer about that."
2) Never refute what they're seeing
It's not impossible for them to get what they're seeing. They're telling you they did. Always work from the assumption that they're right and may have discovered a bug. If possible, have them provide as much data as they can. (what they're sending, scrubbed of personal info of course, as well as what they're getting back.) Chances are, it's not a bug, and they're doing something dumb, but at least this way you can be helpful in pointing out what it is. If they really DID find a bug, thank them, and make sure you let them know when it's fixed.
3) They're on your side
The fact that they're talking to you, even if it's an endess stream of profanity, means they haven't given up (yet). Take time to work with them and they'll become your biggest advocates.
4) Don't do their homework
Make sure you stick to your stuff. If you're helpful, some folks may glom onto you as their only friend. If they start asking questions outside of the API or what you offer, helpfully guide them to where they can find someone else to glom on. You don't have to answer their pleading cries to help them move a sleeper sofa, you know.
5) Stay positive.
This is the hardest one, but can also be kinda fun. Never go negative. Always stay upbeat. Acknowledge things that are wrong and be proactive where you can be, but if you've got someone who's just being a jerk, save up your proof and get the board moderators to simply ban them. Let them dig their own hole, they're far better at doing it than you are.
There, that ought to keep the little <expletives> happy for a while.
Thanks for your note about C:II issues (Computer:Idiot Interface), it's true that those can be a particular challenge, but one that can be addressed. One thing I've found that works reasonably well is to have the students (for extra credit, just don't say how much) pick up a thumb drive (anything more than 512mb would be fine, and I'm sure they could scare up at least a buck to do it.) Have them attach said drive to their keys (yeah, let's see them forget to bring those.) You can then load it up with Portable Firefox set to some helpful start page.
True, they may not get as much out of this as other students, but then again, you're still helping them make a future for themselves.
"Always work from the assumption that they're right"
You'll never make it in customer support with that kind of attitude.
Always (secretly) assume they're wrong. Verify everything three times and in different ways and get screen captures before believing they are right.
Save This Page

I have a problem with 1, 2, 3, 4, and 5, any other advice?
#1 especially, if I'm face to face the rolling of the eyes and the jaw drops gives me right up. I can't help it.
#2, when people are having problems they see and imagine things that aren't there. You know that, I know that, it's our job to let them know.
#3 they're not on your side, they just want someone else to blame
#4 I've usually changed the subject
#5 Not gonna happen #2 has taken all the positivity out of me
:)