Remembered State
Examples:
-
Text boxes that retain the last text entered into them
-
Windows 95 preference settings (background color, etc.) that are remembered
from session to session
-
Radios with user-definable button settings, remembered even when the radio
is turned off
-
A physical bookmark in a book
Bad Examples:
-
Windows 95 file dialogs in most applications don't remember the last place
in a filesystem that a file was opened from, so you have to reestablish
a default directory every time you restart the application.
Context: The artifact lets users enter information (e.g.
Form), set its state in various ways (as with Control
Panel or WYSIWYG Editor), or customize
it; and the artifact is likely to be used again soon by the same user.
Problem: How can the artifact help save the user
time and effort?
Forces:
-
Users don't want to redo their customizations from scratch every time they
use the artifact.
-
Users tend to develop habits and predictable ways of working with an artifact,
but the artifact's designer can't necessarily predict those habits at design
time.
-
A user may get interrupted in the middle of working with the artifact,
and have to temporarily end their session with it; they should be able
to restart it later and pick up exactly where they left off, for continuity.
-
Things in real life do this automatically -- your car seat stays reclined
to the same place, bookmarks stay in books, etc.
-
It may take time to restore an artifact's state when a use session begins,
and resources to save the state in between sessions.
Solution: Design the artifact so that it can remember
its state from session to session. If multiple users are likely
to use it, make sure the state is saved on a per-user basis. The
state should be recalled and reconstructed without any user intervention,
so that the illusion of continuity is convincing. Keep in mind, though,
that sometimes a user may not want the state to be recalled! Give
the user an option to start fresh if they choose.
Chances are, not all state needs to be saved; users may not care about
some of it, like keyboard focus or mouse position. Try to balance the time
and resources needed to implement Remembered State against the value it
adds to the user's experience. Usability testing may help you find
this balance.
Resulting Context: All of the user-modification
patterns can be implemented with Remembered State: User
Preferences, to let a user set up simple options like fonts and colors;
Personal Object Space, for extensive
custom layouts; Scripted Action
Sequences, to record series of actions; User's
Annotations, for comments and other auxiliary help-style information;
and Bookmarks, to keep track of landmarks
in Navigable Spaces. They are
all pretty much useless without Remembered State to carry them from session
to session. If you've got a good mechanism for this pattern, consider
using it for these others, if they make sense in the design.
Remembered State can also be used to establish a set of Good
Defaults for things like a Form or a Control
Panel. What worked last time for a user is likely to work again
next time, under some circumstances.
Notes: -
Comments to: jtidwell@alum.mit.edu
Last modified May 17, 1999
Copyright (c) 1999 by Jenifer Tidwell. All rights reserved.