Interaction History

Examples: Context:  The user performs a sequence of actions with the artifact, or navigates through it.  This may happen in Navigable Spaces, Control Panel, WYSIWYG Editor, Composed Command, and Social Space.

Problem:  Should the artifact keep track of what the user does with it?  If so, how?

Forces:

Solution:  Record the sequence of interactions as a "history."  Keep track of enough detail to make the actions repeatable, scriptable, or even undoable, if possible.  Provide a comprehensible way to display the history to the user; most artifacts that implement this pattern use a textual representation, especially Composed Command, but that's not a requirement.  (In fact, a history for Navigable Spaces may be better portrayed as a state diagram, showing single steps, backtracks, etc.)  If the artifact is capable of saving its state, as with Remembered State, give the user the option of saving the history from session to session.

It may not be necessary to record every single transaction.  Web browsers keep track of the visited sites, which is what the user presumably wants to know; they don't record printing, saving, or preference changes.  But the user should have some control over how big the history gets.  This could take the form of a number of history records to keep, or an expire time, or a decision to discard the entire history at the close of a session.

Resulting Context:  Now that the artifact has a mechanism to keep track of the history, the user may expect that those actions are scriptable; consider implementing a Scripted Action Sequence based on those mechanisms.  When found in Navigable Spaces, it also provides raw material for Bookmarks, if a user can pore over the history and pick out certain points of interest.

Having a history around provides the user with a set of milestones that they can use with Go Back to a Safe Place -- but explicitly think about whether you want to actually undo all the history between the "present" and the point in the history that the user wants to fall back to.  The answer will depend upon your specific circumstances.

Notes:  Jakob Nielsen pleads for better visualization of Web browsers' navigation histories in his November 1, 1997 Alertbox column:

"Well, we can now sort the history list so that all the pages visited on a given site are listed together, but visualization is still missing. It would be very useful to have active sitemaps that showed the user's movements with footprints, showed additional detail at the current focus of attention while collapsing other regions, and also showed connections to other sites with a preview of the relevant sections of these other sites."

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

Copyright (c) 1999 by Jenifer Tidwell.  All rights reserved.