Mastering Interaction Modes, Page 2
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 in regards to 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 for select incrementally).
Immediate mode tends to give more freedom to the user when interacting with the system (and sometimes, especially for poor designs, in unforeseen ways).
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 elaborate 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. 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 a GUI's design.
A chooser is a part of a GUI specialized in the data selection task. Usually choosers are organized in dialogs, to better isolate the selection task. The file dialog 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 for isolating (and sometimes editing) the selection task 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 for manipulating the text, while pushing the "Color" button activates a color chooser for changing the color of the text, and finally, the "Icon" button triggers a file chooser for selecting 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 dialogs' behavior.
Following the example code provided, among the many possible choosers we now focus in this section on choosers contained in dialogs. Dialogs are pop-up secondary windows; in other words, such windows are logically bound to a main (or primary) window. Usually, GUI designers 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 disappear 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 end of the selection task. Dialogs like 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 (such as 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 (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 into the executable JAR file.
Thinking of the two basic interactions modes and the kind of interaction mode used in the chooser, we can write down the information contained in Table 1.
|Table 1. Possible combinations of chooser dialogs|
|Chooser Dialogs||Deferred mode||Immediate mode|
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 interfaces' interaction modes. After a theoretical introduction, we used a practical case (choosers' dialogs) and a demo application for explaining practically the design choices available to GUI designers.
About the Author