Composed Command

Examples: Context:  The possible actions to be taken with the artifact can be expressed through commands, which can be composed from smaller parts, in a language-like syntax with precise and learnable rules; and the users are willing and able to learn that syntax.

Problem:  How can the artifact best present the actions that the user may take?

Forces:

Solution:  Provide a way for the user to directly enter the command, such as by speech or by typing it in.  Feedback on the validity of the command, or its results, should be as immediate as is practical. The parts and syntax rules should be easy to learn, and should generate concise commands whose meaning is obvious. Offer a way to do auto-completion or a set of possible interpretations of partially-entered commands, especially if the user is unwilling or unable to learn the language -- but beware the expert user, who may find this irritating!  Allow it to be turned off if necessary.

Resulting Context:  The possible actions divide neatly into environmental and object actions (see Convenient Environment Actions and Localized Object Actions); let the object actions accept "wildcards" in place of the object, to effect Actions for Multiple ObjectsForgiving Text Entry lets the user give commands with a generous margin for error, which is necessary for a natural-language-style interface and pleasant for other kinds.  Reality Check and Progress Indicator generally make dialogue-like actions easier for users to deal with.

Most existing Composed Command systems provide some kind of Interaction History.  In the linear dialogue that this pattern imposes upon the user, a history can be invaluable; users often need to repeat previous commands, sometimes with minor changes, and they sometimes need to know what they've done recently.  Composed Command also takes well to Scripted Action Sequences (also common in on-line implementations of this pattern), especially since users are already thinking in terms of grammar and composable parts.
 


Comments to:  jtidwell@alum.mit.edu
Last modified May 17, 1999

Copyright (c) 1999 by Jenifer Tidwell.  All rights reserved.