CS789, Spring 2007

Lecture notes, Week 7

Dialogues, prompts, commands

Dialogue Styles

Baecker and Buxton's list of dialogue styles:

  1. Action/reponse (AR). The user provides a series of commands, using command keys, and the system shows the result of each command as it's received. Examples; vi, emacs, ATM, locomotive console
  2. Command line (CL). The user provides a typed or handwritten command, one line long, written in a specific input language. The interface is a command interpreter. Examples; DOS, Unix.
  3. Programming language (PL). The user provides a program, written in a programming language. The interface is a program interpreter. Examples: TeX, Unix shell.
  4. Natural language (NL). The user converses with the interface using a human language. The interface is an interlocutor, who accepts requests and provides feedback. Examples: Bell directory assistance, automated bus schedules.
  5. Menu (MU). The user selects interface actions that are made available in lists called menus. The interface presents options, and carries them out on request. Examples: word processors, spreadsheets.
  6. Form filling (FF). The user supplies data for different fields of a schema, using spatially separated locations on a display. The interface presents the locations, along with prompts, then processes it and provides feedback. Examples. spreadsheets, travel reservation systems.
  7. Iconic (IC). The user gets information from the system as icons, small pictures that stand for interface entities. The interface arranges icons to show things about the system, and provides some operations on the icons. Examples. closed windows under X.
  8. Direct manipulation (DM). The user manipulates iconic representations as though they are objects, but at a level of abstraction. The interface interprets user manipulations as actions to be performed on the system and provides state feedback iconically. Example. the Macintosh finder.
  9. Graphical interaction (GI). The user handles and changes objects using the physical properties they exhibit on the display. The system changes its internal data structures accordingly. Examples. Adobe Illustrator, Xfig.
  10. Window (WS). The user interacts with several interfaces at the same time. They are presented on a single display surface, isolated spatially one from another. The interface channels input and output to the appropriate interface, allowing the user to engage in several activities at once. Examples. X, Windows.

Classifying Dialogue Styles

Any classification is fuzzy in at several ways:
  1. Different points of view yield different classifications. For example,
    1. vi is a AR interface.
    2. vi is a PL interface. The program is created while editting by a syntax-directed editor, and executed as a result of the ":w" command.
    3. vi is a FF interface.
    4. Some seem more contrived than others. One of the most contrived, the second is probably the most accurate description of vi semantics. E.g. What does the compiler compile?
  2. Interfaces are collections of components, each of which may use a different dialogue style. For example, a typical spreadsheet has
  3. The classification is neither exhaustive, nor multually exclusive, nor orthgonal

Families of similar dialogue styles

Some Ways that Dialogue Styles Vary

  1. Chunk size (increasing):
  2. Recognition/recall (recall increasing):
  3. Output parallellism: the amount you can perceive at once, the independence of perception on order (parallelism increasing)
  4. Input parallellism: the number of different things you can do at once, the independence of state on input order (parallelism increasing)
  5. History/state (state increasing):

Desirable Characteristics for Dialogues

Dialogues are, by their nature, extended. We must consider them in their entirety. In this sense there are a variety of properties that should be possessed by a dialogue, taken as a whole.

Structuring the Command Set

All the desirable characteristics above depend on structure in the interface.

The categories introduced below have significant overlap, and it is often possible to put an instance of a command into more than one category. This is similar to the matter of interpretation applied above to dialogue styles.

Building up syntactic structure

  1. Command alone
  2. Command plus arguments
  3. Commands plus options

The benefit of command structuring is that it adds to the command repertoire (system richness) with minimal cost in terms of extra memory overhead for the user. To gain benefit from command structuring it is necessary that structuring principles should maximize congruency and consistency.

There is a variety of results that show desirable ways of structuring commands. Here are a few examples.

  1. How should components be ordered?
  2. Arguments have distinct roles, usually indicated by ordering
  3. Command structure. This is like asking about processor architecture. But instead of asking "What is easy to implement in hardware?" or "Into what can we easily compile?" we are asking "What is easy for a user to understand?"

Form-filling dialogues

Definition: fill in the blanks, then send

Characteristics of forms:

  1. good for structured input
  2. can have complex remote semantics using very simple local semantics
  3. can effectively split different levels of processing
  4. novice reads prompts; expert uses position

Questions/comments about forms:

  1. How can forms be changed inexpensively?
  2. Forms coexist well with other dialogue styles.

Design of forms


What are menus? A method of presenting a list of alternatives, usually integrated with a method of selecting among them. (What are the presentation and selection methods in a restaurant? In a supermarket?)

The essence of the user's task:

  1. search
  2. discriminate/choose
  3. select: communicate choice to the system

Why might menus be useful?

  1. Allow user to find a command, suggestion
  2. Allow user to find the right form of a command, correction
  3. Faster than other methods of command input

Issues in menu design

  1. Which commands should be in menus?
  2. Where should the commands be?
  3. How should the commands be represented?
  4. What style of menus should we use?

Aspects of menu design

  1. permanence:
  2. item arrangement:
  3. Linear are hard:
  4. Circular win

Return to: