Problem: How should artifact present the actions that may be taken on those objects?
Forces:
Resulting Context: As with Convenient Enviroment Actions, use Disabled Irrelevant Things when needed. If your users may need to perform one action on several objects at one time, then use Actions for Multiple Objects, keeping in mind that it may make the artifact a little bit more complex.
Notes: In desktop GUIs, users can sometimes infer which buttons on a panel are object actions and which are environment actions by watching how the actions enable and disable as they select and deselect objects. It works, but it's not a great solution, since its success depends upon (1) the users' willingness to change the selection set, (2) how alert they are to the state changes, and (3) whether they can even make an empty selection set to cause the disabling! (You can't with some container-type widgets, such as some list box implementations.) Again, separate the two classes of actions; and if you have space, reword the object actions to make it obvious that they refer to the selected objects.
As with environment actions, convention is strong in this area. Recent
desktop-GUI software has really picked up on the popup menu, which is an
excellent application of this pattern. Perhaps we can extend the idea by
making it not just a column of verbal commands, but a popup "card" with
pictures, visual cues, and interesting 2D layout...
Copyright (c) 1999 by Jenifer Tidwell. All rights reserved.