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.
Command line, CLI, with its usually a bit arcane commands, is a somewhat different concept from natural language interpretation. Treating them as very related (considering the topic used above, mentioning the CLI repeatedly; contrasting them both with GUI…) is possibly counter-productive.
As a side note, IIRC there were also some research suggesting that, in many scenarios, CLI merely is perceived as faster than GUI (supposedly because CLI requires greater attention, which masks perception of time); but actually timing some common tasks tells otherwise.
And scifi “computers” are mostly just a storytelling tool, to woo the audiences with cheap tricks…
PS. Winphone7 is a more real-life example to consider. Very text based. But TBH… I’m not entirely convinced it fits the way our minds work (particularly with the early demonstrations of WP7, I can’t get rid of the feeling that the presenters appear relatively lost; people who were meant to promote the product, show how nice it is, hence supposedly familiar with it). It took us some time to get decent ~WIMPy paradigms, and maybe they are what works for humans… (obligatory car analogy: kinda like it took some time to develop the steering wheel; since then, no “refirement” was able to replace it; maybe autonomous cars can change that, maybe a central “swinging joystick” controller would be a fit in them – but that would be only because of very different overall approach, almost like “computer, do what I want to be done, so that I don’t have to (authorisation: 8295 somebody-who’s-not-quite-sure-why-he-is-needed-onboard)”)
Edited 2011-08-05 17:20 UTC