Thursday, February 08, 2007

UI Breakthrough-Command Line Interfaces

Back to the future with command line interface ...

"Want to know what I think the next UI breakthroughs will be? Here are two, both of which can be considered a return to fundamentals:

Command line languages;
Physicality: the return to physical devices, where we control things by physical body movement, by turning, moving, and manipulating appropriate mechanical devices.
This column discusses the return to command line interfaces. In a future column I will talk about the return to physical controls: physicality.

Command line languages
Once upon a time, computers were controlled by commands. The interaction paradigm was based upon a control language. Commands and their arguments were entered on the line following the (invariably) blinking cursor.

Then graphical user interfaces (GUI) appeared, replacing arbitrary memorized commands with direct manipulation, where actions are performed by moving objects on the screen and selecting from menu displays. GUI has served us well, replacing the need to memorize geeky instructions with the ease of selecting from the visible items on the screen. But GUIs work well only when the number of alternative items or actions is small. When the number of items reaches the level within today’s complex operating systems, applications, and the information spaces of the internet, the GUI does not scale well. Even searching one’s email records is tedious with a GUI, and when it comes to photographs, music, extremely difficult. The internet, of course, cannot be navigated by just the visible structure.

What is to replace the GUI? Ah yes, journalists are constantly asking me that question, hoping I will speak of virtual reality implants by which we fly effortlessly through hyperspaces, finding just the items of interest, then immediately packaging and caressing it to do our bidding in reports, diagrams, and instant insights of wisdom. Well, the answer is much simpler, and already here: it is search. The real surprise, though, is that search engines have migrated to becoming answer engines, controlled through a modern form of command line interface.

We navigate the internet by typing phrases into our browsers and invoking our favorite search engine. But more and more, we type in commands, not search items. All the major search engines now allow commands to be typed that directly yield answers without the need to go to an intermediate webpage."    (Continued via    [Usability Resources]


Anonymous Michael Zuschlag said...

Much as I admire Google et al’s efforts to anticipate my goals rather than dumbly list content, search does only one thing: retrieve. It’s not a commandline interface. Norman is describing a form interface that happens to support some user-hostile escape sequences for experts (the rest of us use Advanced Search). What you type in is analogous to the WHERE clause in SQL –hardly a complete command and certainly not a complete language. Look at any full-scale application, GUI or commandline, and retrieval of information is a small part of the functionality. Heck, in many apps you don’t even start to really work until after you retrieve.

8:49 AM  
Anonymous Patrick D said...

This is quite timely...just yesterday, I posted about this seeming re-emergence of the command-line interface. What triggered it in my mind was seeing Humanized's Enso, which is basically a command-line interface. And also seeing how Stikkit uses "magic words" -- basically a command line interface, in the same way that search is.

Gina Trapani actually wrote an article on Lifehacker earlier this month that basically said the same things as Norman's article.

9:25 AM  
Blogger inputexpert said...

The battle between gui, cli, and search is a none issue to me, because I have made an advanced keyboard that enables/empowers the user to point, click, type, and scroll in any order simultaneously and instantly without taking your fingers off the home row. With my keyboard it is possible to design advanced interfaces that use gui, cli, and search all in one interface that is customizable for each user. From my research, development, and prototyping for new keyboards and papers for my PhD requirement in hci, we all work differently and we should not be locked in or constrained to one way of working. The interfaces today are still designed around the stand alone keyboard and mouse, this is old technology. Advanced keyboards and interfaces are on there way.

from the ”father of the perfect keyboard”

1:43 PM  

Post a Comment

<< Home

<< Home