< Creating Tasks for Usability Tests | Home | Introducing user-centered design >

March 06, 2006

Dynamic Context Menus

What are your thoughts about Dynamic Context Menus? We are deciding whether or not to make our app “learn” the behavior of a user through an algorithm or usage-pattern and then display the menu choices for them. For example, in the past, if a user had to navigate through four steps to run Task A, then four steps to run Task B, and they do this 75% of the time (Task A then Task B), from a usability standpoint we'd like to consider the option of displaying Task B as the first option available after running Task A.

This is another one of those “it depends” questions.

For example, how many different tasks are there in the application? Do the users generally perform a small set of those tasks most of the time, or not? How many menus would change after a task? A split menu would be fine if there were a small number of tasks the user commonly performs, or if the number of possible follow-up tasks is small. This way, the most common menu items could be presented above the split.

If there are, let’s say, 20 tasks the user commonly performs, each with a different follow-up task, then the menu items could be changing very often in a given work session. This might get confusing for users.

Instead of (or in addition to) having the user go to the menu constantly, it might make sense to provide the user with a way to perform the next task without accessing the menu. Here are 3 examples:

  • Provide the option to continue on to the next task in the last step of a wizard.
  • Provide the option to continue on to the next task in a confirmation area after the task is completed (“You’ve just created a new Campaign. Click here to associate fundraisers with it”).
  • Use something like Microsoft’s Desktop Alerts (shown when you get a new message) or Trillian’s event notifications: When the task has been completed, display a little notice in the corner of the screen/window. This notice would include options and would disappear after a certain amount of time if the user doesn’t pay attention to it. The user could also dismiss it.

Whatever you decide to try, be sure to usability test your design with end-users.

Filed under: Design | Permalink

< Creating Tasks for Usability Tests | Home | Introducing user-centered design >