Examples: Context:  The artifact is used as a tool or environment in which other artifacts may be created (particularly those with visual aspects).

Problem:  How can the artifact best present what is being created, and what the user needs to do to create or change it?


Solution:  Always show the user an accurate and up-to-date representation of the artifact they are creating ("what you see is what you get"); allow the user to interact directly with it as they add to it, delete from it, modify it, and so on.  If additional information or tools are necessary to permit such interaction, such as object handles, then design them so that they don't significantly interfere with the user's ability to see the whole creation.

Sometimes it is easier to let the tool do certain mechanical jobs, such as precise layout, repetitive tasks, complex geometric shapes, image or sound processing, etc. Don't make the user do these by hand unless they choose to; provide easy-to-use automation instead, in a way which is smoothly integrated into the WYSIWYG Editor itself, and which doesn't require a jarring context shift in the user's mind (see Brenda Laurel, Computers As Theatre, chapter 5).

Resulting Context:  Use a Toolbox for creation of different kinds of items or structures, and Localized Object Actions (often paired with Actions for Multiple Objects) to modify them and operate on them.  The Personal Object Space pattern will let the user arrange their working surface to fit the way they work best; to preserve the user's settings and state from session to session, use User Preferences and Remembered StateInteraction History allows the user to see how they've modified the artifact lately, and to roll back to a previous version if they wish.  Sovereign Posture is often used with this pattern, because these kinds of artifacts usually require sustained attention and a non-trivial learning curve.

While visual affordances are a good way to show how parts of the created thing can be manipulated, they have their problems:  they usually obscure the user's view to some extent, are part of the tool rather than part of the created thing itself, and contribute to visual clutter.  Therefore, Pointer Shows Affordance can be used to augment or replace them (and so can Short Description, as with tooltips).

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