Command
interfaces
Advantages:
- Hands remain on the keyboard
-
Fast input
-
Powerful language constructs
possible ("print file1 file2 file3", wildcards, pipes, ...)
Disadvantages:
- Difficult to learn
-
Difficult to retain
Guidelines:
- Use action-oriented command
names that come in the first place, i.e. <command> <arg1> <arg2>...
(e.g., "move a b" rather
than "a move b" or "location a b") - Use
congruent names for antagonistic commands (Carroll 1982)
- Use
consistent order of arguments
- Specifiy
direct object in first argument (Barnard et al., 1982)
- Allow
natural/consistent abbreviations for command names
(e.g.,
"mv" for "move"; cf. Shneiderman 1998) - Allow
for variations in the syntax; tolerate spurious words (e.g., "mv a to b")
-
Allow for the definition of
aliases
- Provide
command history
- Allow
for the editing and re-entry of the last few commands
- If
possible, allow multiple parameters and wildcards
- If
possible, allow macro definition and programming