Mastering Interaction Modes
Immediate Mode Interaction
Even if less flexible than deferred mode, the immediate mode interaction is used in several practical situations. Professional GUI designers should consider carefully when using one mode instead of another, especially as regards choosing the immediate mode instead of the deferred one.
Immediate mode interaction is used mainly in the following cases:
- There are not enough resources to use deferred mode so that this kind of interaction mode is the only way to go.
- The selection task should be made available during normal use (for example, in showing some details of a complex structure). Usually, these kind of choosers are made available as non-modal floating dialogs.
- The system should allow for repeated selections (for example, to see the changes done or to select incrementally).
Generally speaking, immediate mode is better suited for expert and repetitive users. Such an interaction mode tends to produce more cluttered screens (chooser panels, dialogs, and windows remain open to allow immediate mode interaction) and more elaborated interactions. Accidental selections are easier and often users need to receive some additional training about the use of such immediate-mode windows. For these reasons, this kind of interaction mode should be used with care, especially if the GUI is intended to be used by novice users and/or non-frequent users.
We are now ready to see a practical example of immediate mode interaction together with its variants.
A Practical Example
After a brief introduction to the theory of interaction modes, it is time to see them at work, practically. We will focus on the practical case of graphical user interfaces (GUIs), and in this vast realm we restrict our considerations to the design of particular parts of user interfaces called choosers. In this way, we discuss a very important part of GUIs design.
A chooser is a part of a GUI specialized in the data selection task. Usuallychoosers are organized in dialogs, to better isolate the selection task. The File dialog box, seen in Figure 2, is a well-known example of a chooser. In the rest of this article, we will use choosers as a practical means to explore interaction modes.
As we said, maybe the most useful way to discuss interaction modes is to introduce them by means of practical examples. Choosers are a common abstraction in modern GUIs to isolate the selection task (and sometimes editing) of some particular data. We provide a little Java application that shows these concepts at work. You can download the demo application from here and play with it. You need a J2SE runtime environment properly installed on your machine. Clearly, the topics involved in our discussion don't depend at all on the particular implementation technology used here (Java) and are general to any kind of GUI, on a wide range of computing devices. In this example, we have three different choosers used for manipulating some text and an image, both shown in a main window. In Figure 4, we see the main window and two choosers at work.
Figure 4. The example application
When the "Text" button is pushed, a dialog pops up to manipulate the text, while pushing the "Color" button activates a color chooser to change the color of the text, and finally, the "Icon" button triggers a file chooser to select a new image to show. These simple choosers are each an example of a possible combination of interaction modes and dialog properties. Before discussing the example, we need to add a last piece to our puzzle. We need to account for the dialog's behavior.
Following the example code provided, among the many possible choosers we now focus in this section on choosers contained in dialogs. Dialogs are popup secondary windows; in other words, such windows are logically bounded to a main (or primary) window. GUI designers usually distinguish between two different kind of chooser dialogs, depending on whether or not the choosers are reusable after a selection task has been accomplished.
That is, choosers depend also on what happens on them when the selection task is carried out. Usually, chooser dialogs are dismissed when the selection task is completed, as in the standard behavior of a file chooser that disappears after the file has been selected and the selection committed. This happens because we usually need to select a file and then use it. But, there could be cases where we would prefer to avoid dismissing the dialog after the selection task ends. Dialogs such as these are called multiple-use dialogs because they remain open even after the selection has been committed by the user, allowing for multiple selections.
These kinds of dialogs are useful when one needs to see the effects of the choice done, possibly modifying it (for example, repeating the selection).
In our example we use the following choosers:
- A single-use, deferred mode chooser dialog for the image file selection
- A multiple-use, immediate mode chooser dialog for color (the color chooser is shown in Figure 4)
- A multiple-use, deferred mode editor dialog for text (such as the text chooser shown in Figure 4)
Note that the demo application is so simple that no extra check has been implemented (for instance, to avoid the instantiation of multiple choosers of the same type); its sole purpose is to illustrate practically the different types of chooser dialogs that are usually employed in a GUI. The source code has been included in the executable JAR file.
Thinking to the two basic interactions modes and the kind of interaction mode used in the chooser we can write, examine Table 1.
|Chooser Dialogs||Deferred mode||Immediate mode|
Table 1. Possible combinations of chooser dialogs.
This table briefly discusses the available design choices and their use in professional GUIs.
In this article, we discussed the often-overlooked issue of user interface interaction modes. After a theoretical introduction, we used a practical case (choosers' dialogs) and a demo application to explain practically the design choices available to GUI designers.
About the Author
Page 2 of 2