Thursday, January 15, 2009

Help on the command line

I'm starting the process of identify adoption blockers in Ubuntu. I've been surveying various blog postings and articles of the "Is Ubuntu Ready for Mainstream" genre. These seem like easy articles to write. They are typically in the form of a list of technical issues that need to be solved, a list of missing applications, and then some guidance regarding unquantifiable properties of a system, such as "be easier to use".

Here's an example:

Notice the first point of this blog, "The Ubiquitous Terminal". This is a common theme. Many articles and blog posts mention how terrifying the terminal is to mainstream users.

Now, as far as I can tell, the command line only comes into play for users when they are getting free help on forums or such. And it is very common to see help of the form:

sudo apt-get such-and-such

What might be the cost and benefits of help being provided in this manner?

  1. It is so much more efficient than trying to explain to someone how to someone how to use GUI applications for similar tasks. Many more people get help.
  2. Some tasks don't have a GUI equivalent (not that this is not limited to Linux distros).
  3. It's so much more likely that a user will accurately copy and paste in a command than follow instructions for operating a GUI.
  4. There is output that can be used to confirm that the operation was successful, and can be used to further diagnose and trouble shoot.
  1. Supposedly, users balk at this, and think that Linux is too "techy" or "advanced" for them.
  2. Users don't always learn from help provided in this manner.
Here's the thing. I'm not sure that this first cost here is a true cost to every user. I know that bloggers believe that the command line leaves a bad taste in people's mouth, but I haven't heard this from users. Note that I also haven't heard from users that it doesn't. I'm just saying that it's not clear to me that other OSs are seen as more comprehensible or simpler by users who are instructed to step through a complicated series of dialogs and user interfaces instead of instructed to paste in a few simple commands.

In terms of the second cost, this is something that my Mom told me always pissed her off when we were kids. We had a Commadore64, and sometimes (frequently) she would get stuck. She told me a couple of years ago that she would ask me for help, I would push her aside, type some (to her) cryptic commands into the keyboard, and leave. I couldn't be bothered to help her understand what to do and take care of the problem itself. She never learned.

Looking at the benefits, they pretty substantial, and I'm not sure that they don't outweigh the costs in a big way. I'm still open minded, but I don't want to jump to conclusions. Perhaps the terminal is an overall positive in terms of driving adoption and we should treat it as such. I think it does distinguish Linux distros, so some more research in this area is warranted.