Ode to the Command Line

A couple of days ago I read a blog post by Stephen Ramsay, a professor at the University of Nebraska-Lincoln and a Fellow at the Center for Digital Research in the Humanities. In it, he mentions that he has all but abandoned the GUI and finds the command line to be “faster, easier to understand, easier to integrate, more scalable, more portable, more sustainable, more consistent, and many, many times more flexible than even the most well-thought-out graphical apps.” I found this very thought-provoking, because, like Ramsay, I spend a lot of time thinking about “The Future of Computing,” and I think that the CLI, an interface from the past, might have a place in the interface of the future.Ramsay goes on to describe scenarios, such as building a music playlist (“create playlist “country plus katy” from last 11″) wherein a simple typed description would me much faster, and in fact much easier (even for a n00b) than all the clicking and dragging and menus that it would require using a GUI. He gives this example:

Ever play Pictionary? Pictionary is a brilliant game. You get a card that describes some concept—say, “return address.” You have to communicate that idea to other people, but here’s the thing: you can only use your index finger (extended, McLuhan-style, with a pencil). Before long, people are laughing. “That’s not an envelope!” “Yes! Look, that’s a house, and that’s a letter, and that’s an arrow!” Much laughter ensues.

In the real world, we’d say, ”I’m thinking of a return envelope.”

I realize the analogy is a bit strained, but my point is simply this: the idea that language is for power users and pictures and index fingers are for those poor besotted fools who just want toast in the morning is an extremely retrograde idea from which we should strive to emancipate ourselves.

He’s absolutely right that sometimes a few words are worth a thousand pictures (to reverse the common aphorism). I think most nerds could probably relate the most easily to the kind of CLI that we’re really talking about by thinking of the voice interface on the starship Enterprise. When Captain Picard orders his tea, he just tells the computer what he wants. In Star Trek IV, Scotty tries to talk to the 1980s PC, then realizes that he has to type, then, improbably, actually knows how to type. Even if the computer didn’t have to be able to understand our spoken language, what if it could understand what we typed in, and did that?

Unfortunately, speech recognition is probably more advanced than machine interpretation of natural speech, so by the time we can tell a computer to find every document related to your comparative literature class from 1998, it’s going to be just as likely to understand us speaking it as typing it. There are some computers that can understand human language pretty well, like the one that beat Ken Jennings in Jeopardy, but it’s probably going to be a little while before your iPhone will be able to.

And unfortunately, as long as the CLI means remembering what “ls -l” does, it’s not going to have mass appeal. Only by allowing people to describe actions in their own words, and understand them is a command-type interface going to catch on. On the other hand, I’m a big fan of hybrid interfaces. I’m a dedicated Quicksilver fan, so a lot of what I do on a computer involves keystrokes and descriptions. On Windows 7 and iOS, I usually prefer to search for an app rather than poke around through the menus for it.

And Star Trek notwithstanding, I’m pretty sure that speaking to our computers is always going to be a secondary computer interface, reserved for when our hands are occupied, such as while driving, cooking, or working with tools. I doubt the keyboard is going anywhere.


  1. 2011-08-05 5:00 pm
    • 2011-08-05 5:45 pm
      • 2011-08-05 6:57 pm
        • 2011-08-05 10:29 pm
      • 2011-08-05 7:36 pm
        • 2011-08-08 2:57 pm
        • 2011-08-08 5:03 pm
          • 2011-08-09 2:42 am
          • 2011-08-09 8:18 pm
  2. 2011-08-05 5:03 pm
    • 2011-08-05 6:59 pm
      • 2011-08-05 7:36 pm
      • 2011-08-05 10:01 pm
      • 2011-08-05 11:10 pm
        • 2011-08-06 10:03 pm
      • 2011-08-06 6:06 am
    • 2011-08-06 7:34 am
    • 2011-08-07 10:20 pm
  3. 2011-08-05 5:22 pm
    • 2011-08-05 6:09 pm
    • 2011-08-05 6:59 pm
      • 2011-08-06 11:14 am
      • 2011-08-06 10:09 pm
    • 2011-08-06 9:38 pm
    • 2011-08-08 2:47 pm
  4. 2011-08-05 5:23 pm
    • 2011-08-05 6:11 pm
      • 2011-08-05 7:05 pm
        • 2011-08-05 8:16 pm
    • 2011-08-05 6:13 pm
      • 2011-08-05 6:35 pm
  5. 2011-08-05 6:10 pm
    • 2011-08-05 10:53 pm
    • 2011-08-06 4:18 pm
      • 2011-08-06 10:22 pm
  6. 2011-08-05 6:25 pm
    • 2011-08-05 6:43 pm
      • 2011-08-05 8:21 pm
        • 2011-08-06 5:55 pm
          • 2011-08-06 6:04 pm
          • 2011-08-06 6:15 pm
          • 2011-08-06 6:24 pm
          • 2011-08-06 6:18 pm
      • 2011-08-08 5:28 pm
        • 2011-08-09 8:08 pm
    • 2011-08-05 7:34 pm
      • 2011-08-06 5:50 pm
    • 2011-08-06 12:26 am
  7. 2011-08-05 6:40 pm
  8. 2011-08-05 8:15 pm
    • 2011-08-05 11:51 pm
  9. 2011-08-05 10:55 pm
  10. 2011-08-06 12:42 am
  11. 2011-08-06 12:58 pm
  12. 2011-08-06 6:35 pm
  13. 2011-08-07 1:17 pm
  14. 2011-08-08 7:49 pm