Problem: How can the artifact make repetitive tasks easier for the user?
Forces:
The action sequence itself could be played back literally, to keep things simple; or, if it acts upon an object which can change from one invocation to another (see Localized Object Actions), allow the sequence to be parameterized (e.g. use a placeholder or variable instead of a literal object). Also let them act on many things at once (Actions for Multiple Objects). Finally, make it possible for one action sequence to refer to another, so that they can build on each other.
Resulting Context: How the names of the scripts (or the controls that launch them) are presented, in the context of the running artifact, will likely depend heavily upon the nature of the application, but consider putting them in with the Convenient Environment Actions or the Localized Object Actions rather than making them second-class citizens. If possible, allow the user to save these actions, for later use, perhaps as part of the User Preferences.
The ability to save these sequences, plus the facility for sequences
to build upon each other, create the potential for an entirely new linguistic
or visual grammar to be invented by the user -- a grammar which is finely
tuned to their own environment and work habits. This is a very powerful
capability. In reality, it's programming; but if your users don't
think of themselves as being programmers, don't call it that or you'll
scare them off! ("I don't know how to program anything; I must not
be able to do this.")
Notes: GUIs make this difficult to do well, for
a variety of reasons. Composed Command interfaces generally make
it easy.
This pattern was inspired by an email conversation with Mike Anderson.
Copyright (c) 1999 by Jenifer Tidwell. All rights reserved.