One of the arguments I'm trying to develop is that despite the wonderful growth of graphics capabilities in all kinds of places– my Nokia N95 has nicer graphics than the Mac I had a few years ago– the graphical user interface is slowly and surprisingly becoming less important in our lives. The interface on my iPod is a bunch of text menus; my cell phone alternates between menus and icons; and I use Quicksilver and Spotlight to find things much more often than I use folders.
Gina Trapani argued a year ago that while the
advent of the Graphical User Interface (GUI) forever revolutionized personal computing… the command line is making a comeback in modern web and desktop applications.
But I don't use the command line, you say. Oh but you do! Let's take a closer look at this surprising "circle of life" right back to the trusty old command line with some examples of CLI in modern personal computing.
I define a command line interface as a single input box that can execute complex operations based on what you type there. The command line isn't only used by Unix beards, Terminal freaks and Cygwin experts; you use it every day, probably several times a day. Case in point: the Google search box….
Application launchers like Windows' Launchy – and what I'd argue is the truest next-generation CLI available, Quicksilver for the Mac – are also leading the charge towards a command line interface.
Gina's is but one of a number of pieces that discuss the revival of command lines– but also chart some ways in which the modern use of command lines differs from those in old interfaces.
Most notably, the return of the command line doesn't represent a triumph of old-line geek culture, or the world recognizing the need to accommodate power users rather than ordinary people (reflecting what Screenshot calls the "invalid… assumption that only hard-core power users would ever want a command-line interface").
So what is going on? First, as David Crow put it, "Command languages are emerging as effective way to interact with applications. The are appearing at the edges, where efficiency is incredibly important, whether that’s through texting performance, or with expert users of web browsers." (Jeff O'Hara put it more colorfully: "The computer mouse sucks out your productivity.")
More seriously, Donald Norman argues that one reason command languages are more popular is that they're more forgiving. In the old days, you had to learn specialized vocabularies to interact with programs: indeed, GUIs were appealing precisely because you didn't have to remember whether Control+Esc+F10+Z meant "Save" in this program and "Delete" in this other one, or the other way around. Today, though,
modern command languages… are tolerant of variations, robust, and they exhibit slight touches of natural language flexibility. As a result, the requirement of strict adherence to syntax and form that characterized the earlier control-line languages is not required. If an illegal command format is entered, the system gracefully retreats from the status of answer service to that of search engine, often returning pages that are of direct relevance.
The same power has now appeared within email and operating systems. Google’s email system, Gmail, eliminates hierarchical menu structures for storing messages and instead provides a powerful search mechanism: search line interaction rather than GUI….
Both Apple and Microsoft [ed: ref] now provide search thoroughly integrated into their operating systems. Both have pervasive search folders, so that once a folder returns the results of a search, it can be saved and referred to as needed, with the contents dynamically changing as the items in the computer change.
And this is really important:
The new command lines are far more flexible and robust than those of the past. Word order is not critical, often we can use synonyms or even related terms. Spelling accuracy is not even required, for the systems can use its own knowledge to correct spelling errors, or at the least, to suggest spelling variants. Search is never anything I want to do. I don't want to search — I want to know something. I want an answer engine, not a search engine.
Finally, as Dan Saffer wrote, text menus work well on mobile devices. "Where I think we'll see a lot of use from command lines is in mobile devices, where screen real estate and entering full URLs is a real issue. (Why type in http://www.google.com when you can just type g?)"
I would add another reason. Just as Write Room uses an older interface style to create a psychological effect, the command line is being rediscovered as something new: its new value, I would argue, rests in the fact (?) that you can work well with it under conditions of partial attention. More on this later.