Mode (user interface)

Last updated

In user interface design, a mode is a distinct setting within a computer program or any physical machine interface, in which the same user input will produce perceived results different from those that it would in other settings. Modal interface components include the Caps lock and Insert keys on the standard computer keyboard, both of which typically put the user's typing into a different mode after being pressed, then return it to the regular mode after being re-pressed.

Contents

An interface that uses no modes is known as a modeless interface. [1] Modeless interfaces avoid mode errors, in which the user performs an action appropriate to one mode while in another mode, by making it impossible for the user to commit them. [2]

Definition

In his book The Humane Interface , Jef Raskin defines modality as follows:

"An human-machine interface is modal with respect to a given gesture when (1) the current state of the interface is not the user's locus of attention and (2) the interface will execute one among several different responses to the gesture, depending on the system's current state." (Page 42).

In Raskin's sense and according to his definition, an interface is not modal as long as the user is fully aware of its current state. Raskin refers to this as "locus of attention" (from the Latin word locus meaning "place" or "location"). Typically a user is aware of a system state if the state change was purposefully initiated by the user, or if the system gives some strong signals to notify the user of the state change in the place where interaction occurs. If the user's locus of attention changes to a different area, the state of the interface may then represent a mode since the user is no longer aware of it.

Larry Tesler defined modes as "a state of the user interface that lasts for a period of time, is not associated with any particular object, and has no role other than to place an interpretation on operator input." [3]

Examples

Several examples of software have been described as modal or using interface modes:

Modeless

Larry Tesler at PARC devised insights for a modeless word processor from the feedback gathered from a user test with newly-hired Sylvia Adams, where she was asked to ad lib some gestures to correct proofreading marks on the digital text. [5] This test convinced Tesler's manager Bill English of the problems with their previous modal interface.

Mode errors

Modes are often frowned upon in interface design because they are likely to produce mode errors when the user forgets what state the interface is in, performs an action that is appropriate to a different mode, and gets an unexpected and undesired response. [6] [7] A mode error can be quite startling and disorienting as the user copes with the sudden violation of their user expectations.

Problems occur if a change in the system state happens unnoticed (initiated by the system, or by another person, such as the user who was previously using the machine), or if after some time the user forgets about the state change. Another typical problem is a sudden change of state that interrupts a user's activity, such as focus stealing. In such a situation it can easily happen that the user does some operations with the old state in mind, while the brain has not yet fully processed the signals indicating the state change.

Examples of mode errors

In transportation accidents

Assessment

Modes are intended to grab the user's full attention and to cause them to acknowledge the content present in them, in particular when critical confirmation from the user is required. [16] This latter use is criticised as ineffective for its intended use (protection against errors in destructive actions) due to habituation. Actually making the action reversible (providing an "undo" option) is recommended instead. [17] Though modes can be successful in particular usages to restrict dangerous or undesired operations, especially when the mode is actively maintained by a user as a quasimode.

Modes are sometimes used to represent information pertinent to the task that do not fit well into the main visual flow. [16] Modes can also work as well-understood conventions, such as painting tools. [7]

Modal proponents[ who? ] may argue that many common activities are modal and users adapt to them. An example of modal interaction is that of driving motor vehicles. A driver may be surprised when pressing the acceleration pedal does not accelerate the vehicle in the forward direction, most likely because the vehicle has been placed in an operating mode like park, neutral, or reverse. Modal interfaces require training and experience to avoid mode errors like these.

Interface expert Jef Raskin came out strongly against modes, writing, "Modes are a significant source of errors, confusion, unnecessary restrictions, and complexity in interfaces." Later he notes, " 'It is no accident that swearing is denoted by #&%!#$&,' writes my colleague, Dr. James Winter; it is 'what a typewriter used to do when you typed numbers when the Caps Lock was engaged'." Raskin dedicated his book The Humane Interface to describe the principles of a modeless interface for computers. Those principles were implemented in the Canon Cat and Archy systems.

Some interface designers have recently taken steps to make modal windows more obvious and user friendly by darkening the background behind the window or allowing any mouse click outside of the modal window to force the window to close – a design called a Lightbox [18] – thus alleviating the risk of modal errors. Jakob Nielsen states as an advantage of modal dialogs that it improves user awareness. "When something does need fixing, it's better to make sure that the user knows about it." For this goal, the Lightbox design provides strong visual contrast of the dialog over the rest of the visuals. However, while such a method may reduce the risk of inadvertent wrong interactions, it does not solve the problem that the modal window blocks use of the application's normal features and so prevents the user from taking any action to fix the difficulty, or even from scrolling the screen to bring into view information which they need to correctly choose from the options the modal window presents, and it does nothing to alleviate the user's frustration at having blundered into a dead end from which they cannot escape without some more or less destructive consequence.

Larry Tesler, of Xerox PARC and Apple Computer, disliked modes sufficiently to get a personalized license plate for his car that read: "NO MODES". He used this plate on various cars from the early 1980s until his death in 2020. Along with others, he also used the phrase "Don't Mode Me In" for years as a rallying cry to eliminate or reduce modes. [19] [20]

Bruce Wyman, the designer of a multi-touch table for a Denver Art Museum art exhibition [21] argues that interfaces for several simultaneous users must be modeless, in order to avoid bringing any single user into focus. [22]

Design recommendations

Avoid when possible

Small signs make explicit the mappings from signal to roads. Arret.jpg
Small signs make explicit the mappings from signal to roads.

Alternatives to modes such as the undo command and the recycle bin are recommended when possible. [23] HCI researcher Donald Norman argues that the best way to avoid mode errors, in addition to clear indications of state, is helping the users to construct an accurate mental model of the system which will allow them to predict the mode accurately. [24]

This is demonstrated, for example, by some stop signs at road intersections. A driver may be conditioned by a four-way stop sign near his or her home to assume that similar intersections will also be four way stops. If it happens to be only two way, the driver could proceed through if he or she sees no other cars. Especially if there is an obstructed view, a car could come though and hit the first car broadside. An improved design alleviates the problem by including a small diagram showing which of the directions have a stop sign and which do not, thus improving the situational awareness of drivers.

Proper placement

Modal controls are best placed where the focus is in the task flow. [23] For example, a modal window can be placed next to the graphical control element that triggers its activation. Modal controls can be disruptive, so efforts should be made to reduce their capacity to block user work. After completing the task for which the mode was activated, or after a cancel action such as the Escape key, returning to the previous state when a mode is dismissed will reduce the negative impact.

Quasimodes

In the book The Humane Interface , Jef Raskin championed what he termed quasimodes, which are modes that are kept in place only through some constant action on the part of the user; such modes are also called spring-loaded modes. [25] The term quasimode is a composite of the Latin prefix quasi- (which means almost, to some degree) and the English word "mode".

Modifier keys on the keyboard, such as the Shift key, the Alt key and the Control key, are all examples of a quasimodal interface.

The application enters into that mode as long as the user is performing a conscious action, like pressing a key and keeping it pressed while invoking a command. If the sustaining action is stopped without executing a command, the application returns to a neutral status.

The purported benefit of this technique is that the user does not have to remember the current state of the application when invoking a command: the same action will always produce the same perceived result. [26] An interface that uses quasimodes only and has no full modes is still modeless according to Raskin's definition.

The StickyKeys feature turns a quasimode into a mode by serializing keystrokes of modifier keys with normal keys, so that they do not have to be pressed simultaneously. In this case the increased possibility of a mode error is largely compensated for by the improved accessibility for users with physical disabilities.

See also

Notes

  1. Usability Glossary: modeless Archived 2007-10-22 at the Wayback Machine
  2. Usability Glossary: mode error
  3. Tesler, Larry (2012-07-01). "A personal history of modeless text editing and cut/copy-paste". Interactions. 19 (4): 70–75. doi:10.1145/2212877.2212896. S2CID   21399421. (pdf)
  4. "How to Use Modality in Dialogs". Oracle Corporation.
  5. "Of Modes and Men". IEEE Spectrum: Technology, Engineering, and Science News. August 2005. Retrieved 2020-02-21.
  6. Glossary: mode error
  7. 1 2 Usability Glossary: modal
  8. BEA final report on the loss of Air France 447
  9. National Transportation Safety Board [ dead link ]
  10. Poor UI design can kill
  11. M/V Red7 Alliance investigation report (in German)
  12. "USS McCain collision ultimately caused by UI confusion". 2017.
  13. Investigation Report 118/18, Federal Bureau of Maritime Casualty Investigation (Germany), April 10, 2019
  14. US Air Force accident report
  15. ]F-35A Crash at Eglin AFB, C.W. Lemoine, Youtube
  16. 1 2 "Modal Panel - Context". Infragistics.com. Archived from the original on 2013-05-06.
  17. Aza Raskin, A List Apart: Never Use a Warning When you Mean Undo
  18. Jakob Nielsen, Alertbox. "10 Best Application UIs".
  19. Origins of the Apple Human Interface by Larry Tesler, Chris Espinosa
  20. Origins of the Apple Human Interface - full transcript
  21. Technology for Experience's Sake: Guest Post by Bruce Wyman
  22. Bruce Wyman's post at the ixda.org mailing list
  23. 1 2 "Modal Panel - Implementation". Infragistics.com]. Archived from the original on 2013-05-06.
  24. Norman, Donald A. (1983). "Design rules based on analyses of human error". Communications of the ACM. 26 (4): 254–258. doi: 10.1145/2163.358092 . S2CID   47103252.
  25. Usability Glossary: spring-loaded mode
  26. Spring-Loaded Modes, Jakob Nielsen.

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">Graphical user interface</span> User interface allowing interaction through graphical icons and visual indicators

A graphical user interface, or GUI, is a form of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation. In many applications, GUIs are used instead of text-based UIs, which are based on typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

The keyboard for IBM PC-compatible computers is standardized. However, during the more than 30 years of PC architecture being frequently updated, many keyboard layout variations have been developed.

In computing, a modifier key is a special key on a computer keyboard that temporarily modifies the normal action of another key when pressed together. By themselves, modifier keys usually do nothing; that is, pressing any of the ⇧ Shift, Alt, or Ctrl keys alone does not (generally) trigger any action from the computer.

Cut, copy, and paste are essential commands of modern human–computer interaction and user interface design. They offer an interprocess communication technique for transferring data through a computer's user interface. The cut command removes the selected data from its original position, and the copy command creates a duplicate; in both cases the selected data is kept in temporary storage called the clipboard. Clipboard data is later inserted wherever a paste command is issued. The data remains available to any application supporting the feature, thus allowing easy data transfer between applications.

<span class="mw-page-title-main">Control key</span> Key on computer keyboards

In computing, a Control keyCtrl is a modifier key which, when pressed in conjunction with another key, performs a special operation. Similarly to the Shift key, the Control key rarely performs any function when pressed by itself. The Control key is located on or near the bottom left side of most keyboards, with many featuring an additional one at the bottom right.

<span class="mw-page-title-main">Dialog box</span> User interface element

The dialog box is a graphical control element in the form of a small window that communicates information to the user and prompts them for a response.

In user interface design for computer applications, a modal window is a graphical control element subordinate to an application's main window.

<span class="mw-page-title-main">Keyboard shortcut</span> Series of computer keys to quickly invoke a software program or perform a preprogrammed action

In computing, a keyboard shortcut also known as hotkey is a series of one or several keys to quickly invoke a software program or perform a preprogrammed action. This action may be part of the standard functionality of the operating system or application program, or it may have been written by the user in a scripting language. Some integrated keyboards also include pointing devices; the definition of exactly what counts as a "key" sometimes differs.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

<span class="mw-page-title-main">Larry Tesler</span> American computer scientist (1945–2020)

Lawrence Gordon Tesler was an American computer scientist who worked in the field of human–computer interaction. Tesler worked at Xerox PARC, Apple, Amazon, and Yahoo!.

Common User Access (CUA) is a standard for user interfaces to operating systems and computer programs. It was developed by IBM and first published in 1987 as part of their Systems Application Architecture. Used originally in the MVS/ESA, VM/CMS, OS/400, OS/2 and Microsoft Windows operating systems, parts of the CUA standard are now implemented in programs for other operating systems, including variants of Unix. It is also used by Java AWT and Swing.

An alert dialog box is a special dialog box that is displayed in a graphical user interface when something unexpected occurred that requires immediate user action.

<i>The Humane Interface</i> 2000 book by Jef Raskin

The Humane Interface: New Directions for Designing Interactive Systems (ISBN 0-201-37937-6) is a book about user interface design written by Jef Raskin and published in 2000. It covers ergonomics, quantification, evaluation, and navigation.

<span class="mw-page-title-main">Incremental search</span> User interface method to search for text

In computing, incremental search, also known as hot search, incremental find or real-time suggestions, is a user interface interaction method to progressively search for and filter through text. As the user types text, one or more possible matches for the text are found and immediately presented to the user. This immediate feedback often allows the user to stop short of typing the entire word or phrase they were looking for. The user may also choose a closely related option from the presented list.

Archy is a software system that had a user interface that introduced a different approach for interacting with computers with respect to traditional graphical user interfaces. Designed by human-computer interface expert Jef Raskin, it embodies his ideas and established results about human-centered design described in his book The Humane Interface. These ideas include content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI). The system was being implemented at the Raskin Center for Humane Interfaces under Raskin's leadership. Since his death in February 2005 the project was continued by his team, which later shifted focus to the Ubiquity extension for the Firefox browser.

Gypsy was the first document preparation system based on a mouse and graphical user interface to take advantage of those technologies to virtually eliminate modes. Its operation would be familiar to any user of a modern personal computer. It was the second WYSIWYG document preparation program, a successor to the Bravo on the Xerox Alto personal computer.

<span class="mw-page-title-main">Esc key</span> Computer key

On computer keyboards, the Esc keyEsc is a key used to generate the escape character. The escape character, when sent from the keyboard to a computer, often is interpreted by software as "stop", "cancel" or "exit", and when sent from the computer to an external device marks the beginning of an escape sequence to specify operating modes or characteristics generally.

<span class="mw-page-title-main">Error message</span> Computer message indicating an error

An error message is the information displayed when an unforeseen problem occurs, usually on a computer or other device. Modern operating systems with graphical user interfaces, often display error messages using dialog boxes. Error messages are used when user intervention is required, to indicate that a desired operation has failed, or to relay important warnings. Error messages are seen widely throughout computing, and are part of every operating system or computer hardware device. The proper design of error messages is an important topic in usability and other fields of human–computer interaction.

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.2, released January 2024.

References