Composed Command

Examples:

UNIX or DOS command-line interface

SQL

Spoken instructions to an interface made for visually impaired people

One human telling another to do something

Programming and scripting languages

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:

Expert users often find linguistic commands to be more efficient than visual
representations or direct manipulation.

Sometimes the available actions cannot, or should not, be expressed graphically
(perhaps because there is an intractably large set of them).

The visual channel may not be available at all to the artifact or to the
user.

The artifact is able to provide feedback on the correctness and appropriateness
of the given commands.

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.

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.