Providing Good Ubuntu Support
Very few Ubuntu users, at least outside of the enterprise, pay for support. Instead, they turn to various free resources, ranging from IRC channels to the documentation wiki to the official Ubuntu Forums, when they run into trouble. While free support in the Ubuntu world is often quite good, it could be improved if those providing it paid more attention to a few key guidelines.
I’ve spent many hours doing my best to support people new to Ubuntu (because it’s a great way to procrastinate on real work), especially in the forums. A lot of users give positive feedback on the clarity, courtesy and competence available in Ubuntu’s community-based support channels, where no one is paid and problems are solved by volunteers. But I also see a lot of forum threads or wiki pages that are, in my view, confusing and inadequate. With those in mind, here are some brief thoughts on how to provide better support, based on my own humble experiences:
- Reduce as much as possible to bash commands. While new Ubuntu users may not feel comfortable working in the terminal on their own, most are perfectly willing to copy-and-paste commands, and giving them specific lines to type in is usually more efficient and easier than providing vague instructions that involve a GUI. Instead of saying, “Install the Adobe flash plugin from Synaptic,” for example, write, “Type this command to install flash: sudo apt-get install flashplugin-nonfree.”
- Don’t say “become root.” It may be perfectly obvious to you what “become root” means, but most new Ubuntu users have no idea, and people who have used other Linux distributions may not understand the differences between Ubuntu’s sudo and the su command common in other Linux flavors. Instead of telling users to do things like “log in as root,” give them the specific command that they need to type.
- Use clear, concise English. Good grammar and punctuation can go a long way in making instructions easier to follow, especially for non-native speakers of English who aren’t used to colloquial language. This doesn’t mean you have to have a Ph.D. to post on the forums, but at least make an effort to do your best; the fact that it’s a community-supported site isn’t a license to forget to capitalize or ignore Firefox’s built-in spellchecker.
- Instead of simply linking to another thread or website in order to tell a user how to solve a problem, explain specifically where he or she should look on the page. Or, better, translate the third-party instructions into bash commands and give them to the user yourself, if possible.
- Do as much work as possible for the user, within reason. When helping someone get ndiswrapper working, for example, don’t give vague instructions like “find the Windows driver for your card and load the .inf into ndiswrapper.” Instead, figure out what the PCI ID of the user’s card is and look up the appropriate Windows driver yourself, then provide a link and specific instructions for extracting the .inf and installing it into ndiswrapper. This involves a few extra minutes of work for you, but could save an Ubunu neophyte from hours of mucking around Google looking for something that she only vaguely understands.
- If you’re out of ideas for solving a particular problem, admit it. Don’t abandon the thread without an explanation, and don’t tell users to do things that you know won’t work just to keep them busy. When you can’t help any more, politely inform the user, recommend other resources if possible, and leave the thread.
Every support situation is unique, and it’s obviously not always possible to adhere to these guidelines. Moreover, these represent merely my personal conception of providing good support; I have no doubt that others have very different ideas.
But the fact that most Ubuntu support is given for free doesn’t mean that those seeking it don’t deserve professional service. You don’t call Microsoft with a problem only to be given a link to vague, poorly written instructions that assume a high level of technical skill on the part of the user (on the other hand, you have to go through the hassle of proving that you didn’t steal your copy of Windows before Microsoft will help you, but that’s another issue). Ubuntu should be no different.
WorksWithU is updated multiple times per week. Don’t miss a single post. Sign up for our RSS and Twitter feeds (available now) and newsletter (coming in 2009).
Hey Chris: I can’t reveal my sources but I hear Canonical’s phone is ringing off the hook right now with major enterprises requesting information about support contracts. So in this case, the recession is prompting businesses to give Ubuntu Server Edition a try, and now those customers want support.
I don’t know when I’ll be able to bring my source on the record for quote. But stay tuned. Canonical, hopefully, is answering this new call for more support.
Having just installed Adobe Flash, and used the the very easy [for me anyway] “Add/Remove” function in the GUI, I find that approach much easier than opening a Terminal and then typing [probably incorrectly the 1st time] a command. Windows users don’t do the Run command; why would we expect them to be comfortable with a Terminal? That approach will scare off those users.
Yes, Linux isn’t Windows. But Windows users are the market for any Linux. And one can easily use “windows” techniques with Ubuntu. One can get very comfortable and familiar with that approach, and find that it is much easier than the Windows approach to installation and updates.
Totally agree with this post. Especially since linux is new to so many in the consumer world that giving good support will keep them around longer if not forever.
Great points here. I also try to find out early in the thread if the user wants to learn something, or if they just want a fix. More often than not, they just want it fixed. Another rule that I try to hold myself to is to solve three problems for other people before I post a problem of my own. I realize that’s not practical for everyone, but it does keep me giving more than I take – in terms of Linux support anyway.
I would add another point. When supporting an Ubuntu user, use apt: links whenever possible to simplify installing programs. It’s the easiest way to install.
I agree completely. I think these are obvious points. If the Linux community adopted these principles, its image as too difficult for the average user would disappear.
“You don’t call Microsoft with a problem only to be given a link to vague, poorly written instructions that assume a high level of technical skill on the part of the user”
Perhaps I just got unlucky, but the one time I ever called Microsoft’s support (Outlook Express quits on startup, and they had a support contract so it didn’t cost the usual $55 per call) they referred me to a number of articles in MSKB all of which which I already found through google. Those articles involved editing registry keys which seemed to me far more cryptic than anything I have ever encountered in the Linux world.
I got slightly more help from a #windows channel on IRC (they explained better that Microsoft what they thought the problem was, how editing certain files and registry keys might fix it, and came up with a few new things to try) but after more than two hours, reinstalling Windows did seem to be the only thing that would fix the problem.
Joe: I’m interested to hear more about that when you can reveal it.
Daeng: the apt links are a really clever idea, and one that I hadn’t considered–I’ve actually only ever seen a handful of sites that offer them. On the other hand, I’d worry about the security implications of getting users used to clicking ‘OK’ whenever something pops up in the browser wanting to install software. You get the gksudo prompt, of course, but too many people would just enter a password without thinking. Isn’t that where Windows and IE went wrong?
Chris,
In my mind, people are already cutting and pasting blindly based on trust so the situation isn’t really any different. Just say “Click on the following link to install the Adobe Flash plug-in automatically” and you should be safe. Ubuntu users can already install a DEB off of the Internet using GDebi-GTK directly from FF, and that’s the default behavior. There’s also “Download and double click.” The Windows world came to Ubuntu several years ago. http://slashdot.org/~Daengbo/journal/144751
I used to use apt: links when they came out because I was supporting beginners on Ubuntu, but I’m not doing as much beginner work anymore and I’ve tried to expand to the whole Debian family. I still use apt: for my Linux games site when that is possible.
The Ubuntu proposal (put on hold for several releases) to have a one-click repo addition seems VERY dangerous, however.
The fact that people on Ubuntu forums just give you the command with a simple cut down explanation of what it’s going to do is why I like it so much.
People should always remember those users looking for support aren’t looking for a computer science lecture.
“Very few Ubuntu users, at least outside of the enterprise, pay for support. Instead, they turn to various free resources”
With desktop support starting at $250, who *would* pay for it? I know I’d definitely pay for support if it were priced differently. If I could pay $10 per user-level question and I knew I could get an authoritative answer quickly from Canonical, I’d often do that instead of Ubuntu Forums.
Also, I really disagree with a lot of this advice:
1. The main PROBLEM with Ubuntu Forums is all the people giving advice in the form of bash scripts and commands. This is emphatically NOT a good thing. Ubuntu is meant to be usable without ever going to the command line. For at least 98% of computer users, Linux’s reliance on the command line is the major reason to ignore it and buy Windows or OS X. Ubuntu’s finally starting to overcome this, and we should be helping with that, not dragging it back down.
When people resort to giving advice in the form of bash commands because they’re too lazy to write out detailed GUI instructions, they intimidate people who might have otherwise used Ubuntu and encourage poor security practices. Yes, the command line is “powerful”. That’s exactly why you shouldn’t be using it to instruct newbies. The command line is a tool for programmers, not a user interface. It only takes a 1 character mistake to destroy your entire life’s work. Encouraging users to copy and paste cryptic commands that they don’t understand is awful from a security and social engineering standpoint.
Often the commands are outdated or non-applicable anyway. Careless Ubuntu Forums members copy and paste the commands they’ve been using in other distros for the past 10 years without realizing that there are better ways to do things in Ubuntu (telling users to dist-upgrade, for instance, when they should be using update-manager).
Avoid bash commands whenever possible. If there’s a graphical way to do it, tell the user how to do it that way. Even better, link to something that’s already been written. The user will learn the proper way to interact with the computer instead of just mindlessly copying and pasting commands they don’t understand and that may or may not screw up their system in ways they won’t know how to fix.
2. Telling the user to “become root” with those words linked to a web page that describes what this means (https://help.ubuntu.com/community/RootSudo) is a much better idea than giving them a specific bash command. How many people unwittingly equate “become root” with “sudo” and then misuse it to start graphical programs instead of using gksudo?
On the Ubuntu wiki, for instance, you’re never supposed to say “sudo apt-get install”. You’re supposed to say “use any method to install package x” and make a link to https://help.ubuntu.com/community/InstallingSoftware, where the different methods of installing packages are described.
We should be using apt: URLs to install packages and linking to well-written graphical instructions for everything else, not copying and pasting bash commands.
4. Linking to a solution (like importing libraries while coding) is much better than copying and pasting it. If there’s a problem with the solution, it can be fixed in one central place instead of leaving misleadingly incorrect copies all over the web. http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
If a solution is not complete enough, it can be expanded. If an update makes the solution invalid, it can be updated once and all “references” to that advice will be up to date, too. It will also increase the likelihood that future users can find the solution directly when they search for it instead of having to ask.
If the solution isn’t written up anywhere, type it up on Ubuntu Wiki and link to it. You’ll only have to type it once, and can then reuse it over and over just by pasting a link. If it’s not quite applicable to a certain question, you can add a little to the wiki page instead of retyping and modifying the whole thing. When you link to the wiki, other people can edit it to keep the information up-to-date, too, taking even more burden off of you.
Posting scripts and half-baked hacks on the Forums as workarounds for problems is ok, but we should really be working to fix the underlying problems for all users instead.
Endolith: you make some good points, especially number 4, although I’d argue that in certain cases (but not all) it makes more sense to copy instructions rather than merely linking to them. Maybe we could compromise and say that you should write out instructions where it makes sense, but always be sure to link back to the original source.
Some points in the defense of bash commands: 1) they apply equally to all the different *buntus. If you give GUI-based instructions for Gnome, they probably won’t apply at all to KDE or Xfce; 2) while it is possible to do most things through GUIs in modern Ubuntu, it often takes much, much longer to accomplish a certain task than it would in the terminal, and GUI instructions are often a lot vaguer, especially without screenshots (and you need a lot of time on your hands if you want to make screenshots); 3) GUIs change substantially with each new Ubuntu release, meaning that instructions given for Ubuntu 8.04 are not guaranteed to work in 8.10 or 7.10. The command-line interface rarely changes, and instructions written for it are likely to remain valid for a long time; 4) the terminal almost always gives more useful and meaningful feedback in the case of errors, while GUIs more often than not fail silently (which is maybe something developers should pay more attention to), leaving users confused and the people trying to help them with little to go on.
Your points regarding bash commands are also valid, but I’m still inclined to think that they’re the best way to go in most cases.