![]() |
Balance of Controllability vs. Guidance – Amodality vs. ModalityWhy 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:
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:
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 ControllabilityYou can achieve controllability by:
Some examples controls that put users in control:
Avoid dependencies between data or steps. Dependencies may, to a high degree, contribute to an application's complexity.
How You Can Achieve GuidanceOlder 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:
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 IssuesThere are two simple questions that you should ask when considering control issues for your application:
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.
Source: Simplifying for Usability |