Balance of Controllability vs. Guidance – Amodality vs. Modality

Why Controllability? | Why Guidance? | When User Control? | When Guidance? | How You Can Achieve Controllability | How You Can Achieve Guidance | Questions to Consider Regarding Control Issues

Controllability is often translated as "the user is in charge, not the computer." The user should hold the initiative at all stages of the processing. Guidance is complimentary to controllability. There are situations or users, which require that the system guides the user.

Amodality is one way to put the users in control. The system does not force the users into a predetermined sequence of steps. The users can, at any time, choose how to proceed. Modality – forcing users to do just one or more required steps – is just the opposite. Its use has been widely discouraged by proponents of graphical user interfaces.

However, the "ideal" amodal graphical user interface fails in many situations. New approaches, such as assistants, try to address this problem. Modal dialogs, although often considered as bad interaction design, can also be used to guide users.

With regard to simplification, you have to balance controllability with guidance for an optimal solution. Consider the task requirements as well as the prospective users, when you decide whether to concede the users more or less control.

See also What Is in Control? for more information and examples on this topic.

 

Why Controllability?

Letting the user be in charge improves the users' motivation and thus improves their engagement with your application.

 

Why Guidance?

Use guidance to:

  • Prevent users from floundering
  • Prevent user errors
  • Let users do certain tasks more efficiently
  • Collect data required by the system

 

When User Control?

Setting the user in control should be your primary option when you are considering control issues.

 

When Guidance?

Guidance may be necessary for a number of reasons:

  • The users are beginners or casual users that do not know or remember the required steps, options etc. However, even proficient users may require or prefer guidance in some of the following situations.
  • There are many options or functions. It is unclear which are relevant in a certain context.
  • The procedures or decisions are complex. Users do not know how to proceed in a procedure or which decision is the right one.
  • There are dependencies between tasks steps. Your application has to ensure that these dependencies are observed by the users.

There is time pressure or critical situations that have to be handled with your application. This may also apply to routine procedures where users do not want to take more steps than absolutely necessary.

 

How You Can Achieve Controllability

You can achieve controllability by:

  • Using event-driven procedures that are triggered through user actions
  • Using amodality. That is, by not forcing users to do a certain action
  • Confronting users with the prospective consequences of their actions or choices

Some examples controls that put users in control:

  • Use amodal (parallel) windows that do not block the main processing, where possible. Avoid modal dialog windows.
  • Use tabstrips or navigational menus to ensure an unrestricted choice of views, options, functions etc.

Avoid dependencies between data or steps. Dependencies may, to a high degree, contribute to an application's complexity.

 

How You Can Achieve Guidance

Older computer systems guided users through "brute-force modality." They required users to enter data in a specified sequence, to select items or functions from just one menu, and so on. Nowadays, there are more guidance options at your disposal.

Modal dialog windows guide users by requiring them to process a dialog window before they can continue with the main processing.

Assistants (Wizards) consist of a number of views with processing options. These are provided on a dialog window with standardized navigational controls (Back, Forward, Cancel). Assistants give users limited control when they step through the views. Usually, they also provide previews for the different choices to make decisions more clear for the users.

Both means are based on dialog windows, meaning that they are tailored to secondary processing. It makes little sense to put your application's main processing into a dialog window or to design your application as guided-only (there may be exceptions).

Context-specific functionality means that you dynamically restrict choices of functions, options, navigational targets, etc. to the relevant ones. This way, you prevent users from selecting irrelevant ones or from being confused through a large number of choices. You can make functionality context-specific by:

  • Enabling and disabling menu items or pushbuttons (in toolbars or palettes)
  • Providing contextual menus

In addition, you can let users customize toolbars, contextual menus, menus etc. to their needs (so that they can "restrict" themselves).

 

Questions to Consider Regarding Control Issues

There are two simple questions that you should ask when considering control issues for your application:

  • What can users do (or not do) in this situation?
  • What can users do wrong in this situation?

The first question reveals hidden modalities or restrictions and may help you to break these unnecessary barriers for users.

The second question may often reveal hidden complexities and traps that users can step into in your application. This helps you to redesign your application or to introduce more guidance in special situations.

 

To top top

Source:  Simplifying for Usability