Context: The user should build or modify an ordered
set of things, possibly (but not necessarily) chosen from a larger set.
Shopping carts, both real and Web-based
Email and voice-mail boxes
Events in an electronic calendar
Problem: How should the artifact indicate what the
user is supposed to do with that collection?
Solution: Show the collection to the user, along
with obvious ways to remove or change the position of each item. To add
an item, make it eminently clear whether the user should obtain the item
before or after the "add" command or gesture. Most of the time,
this is clear from context -- if a user is shopping, obviously they have
to pick the item out before they put it in their cart -- but other times
it's not, so indicate it with a good metaphor, or good labeling (e.g. "Add..."
with a subsequent dialog), or by the imposition of constraints (e.g. Disabled
Irrelevant Things). If duplicate items in the collection aren't meaningful,
then gently disallow them.
The user should know what the collection currently has in it.
The user should be able to easily add and remove things to it, and reorder
the collection if they wish.
In a visually-oriented artifact, direct manipulation is an excellent
way of dealing with addition, removal, and ordering. Today's desktop GUIs
offer drag-and-drop for this. If you use it, be sure to (1) offer a "dumping
ground" for removed items, such as the familiar Mac trash can, if they
don't get returned to their source; and (2) give some visual indication
that you can do this, if there's no strong cultural indication to do so.
(Software that use D&D as their primary means of interaction, such
as drawing programs, have such cultural indications; others generally don't.)
Notes: Obtaining an item before or after the "add"
gesture -- this is part of the old "noun-verb vs. verb-noun" debate. (Any
takers?) A good reason to use "noun-verb" is multiple selection: if you
want to add or remove multiple items, the user needs to be able to pick
them first, then do the operation on them (see Actions
for Multiple Objects).
Comments to: email@example.com
Last modified May 17, 1999
Copyright (c) 1999 by Jenifer Tidwell. All rights reserved.