People have mostly been too busy building interfaces to worry where they came from
If only to avoid the mistake mentioned in the motto with this subsection, I will briefly sketch the history of computer interaction. Moreover, the historical development of human-computer interfaces is interesting because each generation seems to contain the previous ones as special cases. Besides, our current knowledge allows us to take a look into the (near) future. Guiding light for the presented interaction history are the generations of human-computer interfaces which are distinguished by Nielsen [1993] and Baecker and Buxton [1987].
These are, in chronological order:
This first generation of interfaces was not interactive; all commands had to be specified before the result of any of them could be verified. Nielsen refers to these as zero-dimensional interfaces: the interaction between system and user was restricted to a single point in time at which the batch was submitted to the system. The advantage of batch jobs was and still is, that jobs can be run without user supervision. However, nowadays someone will probably monitor the progress of the job, so that interruption and modification of it is possible.
Only recently, batch systems have been rediscovered in the form of systems that may be accessed through the exchange of electronic mail messages. For example, if I would like to know who is currently subscribed to the Science shop's discussion list, WEWI-L, I could send the following message to the listserv computer to find out: REVIEW WEWI-L. This message will be handled automatically by the computer that will reply to me by sending me a list of subscribers.
According to Nielsen, line-oriented interfaces were one-dimensional: the user could only interact with the computer on the single line that acted as the command line. Once the user had concluded his input by hitting the return ot enter key, his input could not be modified any more. These interfaces did not allow users to move about the screen. Within the category of line-oriented interfaces fall question-answer dialogues and command-line dialogues.
This means of interaction involves exchanges prompted for by the computer. The user answers the computer's questions one at a time. Dialogues are especially suited for well-structured situations that involve only a small number of options that can be predicted in advance, and in which it is acceptable to have the user be directed by the computer rather than having freedom to structure the task in alternative ways. Two obvious problems with question-answer dialogues are that users may want to change earlier answers and that they need to answer the current question without knowing what the following question will be. For example, the first question may be: 'type in your name' to which the user responds by typing in both first and last name; then, the second question turns out to be: 'type in your first name' ...
For command-line dialogues, the allowable commands are described by a command language. Baecker and Buxton suggest a number of principles to which these languages should adapt. For one, it has been shown that mnemonic names are better than arbitrary names for facilitating the comprehension of computer programs. Also, bizarre naming conventions (like in the UNIX command language) make an interface needlessly arcane and difficult. Moreover, it has been shown that names generated by users are slightly better than pre-assigned names.
Unfortunately, command languages are normally very unforgiving with regard to user errors. They demand the user to specify the desired command in exactly the required format (syntax of commands as well as the right order of commands), which he has to remember without much help from the computer.
With the introduction of full-screen interfaces, the space of interface design was enlarged from one to two dimensions. Within the category of full-screen interfaces form-filling systems and menu based systems are distinguished. According to Baecker and Buxton, a menu is a display of alternatives, in which one option or value is discriminated or selected in each cycle, and a form is a display of requirements, in which various options and values are specified and integrated in a single display system.
In addition to forms and menus, full-screen interfaces often apply the function keys on the keyboard as a primary means of interaction. Two main advantages of function keys are that they serve as interaction accelerators and that there are so few of them that users often are able to learn them by heart.
The quality of form filling interfaces depends primarily upon three factors. First, the extend to which the logic of the form mirrors the logic of the system for which it is structuring the input. Second, the clarity of the design and visual presentation of the screens. Third and final, the degree to which the program accepting input into various fields on the form facilitates the keying of data that is correct and reliable. In case a form directly mirrors the system that the user is manipulating, the interface is an example of direct manipulation (Baecker and Buxton).
Form fill-in still exists in modern interfaces in the form of dialogue boxes. However, nowadays, these dialogues are more dynamic than traditional forms. They may contain pop-up menus and ways to assist the user while the form is being filled out (e.g., input masks, context-sensitive on-line help, and the like).
Menus are known to either take up the full screen or occupy only a small part of the screen as in most window systems. Research has pointed out that it is often better to overload a nonhierarchical menu a little than to split it into a hierarchy (Nielsen). The basic trade-off in hierarchical menu design is between depth and breadth. A flat, broad menu does not require the user to go through as many levels as a deep menu, thereby reducing the need for user navigation. At the same time however, each node in the menu hierarchy becomes more complex in a flat menu structure, making the user choose between more options at each level. When creating deep menus, a designer has to consider groupings of options as natural as possible.
An interesting example of menu based systems are formed by telephone-operated interfaces. Only recently, to try out the product, I ordered a new kind of toothpaste by telephone. A computer answered the phone and I was welcomed in the 'main menu' of the system. A man's voice summed up the limited list of possibilities (three I believe) and I was asked to choose by pressing one of the push-buttons on my telephone. This happened over and over again until the computer had collected my phone number from which, obviously, it could automatically derive my address. Within each stage (three, including the main menu), I was able to choose number '9' to return to the 'main menu' in case anything went wrong. All in all, it took me about thirty seconds!
According to Nielsen [1993], the successors to full-screen interfaces, window interfaces, almost add a third dimension to the two dimensions inherent in each window, because of the possibility for overlapping windows (i.e., overlapping full-screens). Of course, overlapping windows are not truly three-dimensional, thus referring to these as two-and-a-half dimensional interfaces would be more appropriate. The primary interaction style in modern graphical window-based human-computer interfaces is direct manipulation. Because of its great importance in current interface design, within this section of my work, an entire subsection is dedicated to direct manipulation. Therefore, I will pay no further attention to it within this historical context.
Next generation interfaces will hopefully be build on operating systems that leave behind the notion of applications that are used one at a time in favour of a task-oriented approach.
According to Nielsen, object oriented systems are emerging in which the basic object of interest is the user's document. In turn, any document can contain subobjects of many different types, and the system will take care of activating the appropriate code to distribute, edit, or print these data types. The main difference is that the user no longer needs to think in terms of running applications and file formats. The difference compared to tightly intergrated multi media editors is that the system is open and allows plug-and-play addition of new or upgraded functionality without changing the rest of the system.
Next generation human-computer interfaces will certainly benefit from the research into Virtual Reality (VR) techniques. According to Laurel [1993], of major importance in much of the work on VR was the notion of the vanishing interface. It will eventually help to ban the notion of the computer as a tool, as an explicit part in the interaction. Also, VR reminds us of what we are good at: perceiving the world from a located and situated vantage point. Thus, it challenges former unchallenged standards like the overview, the schematic, the graphical representation (Laurel). The future looks promising ...
Sjoerd Michels, Tilburg, The Netherlands.