An interaction technique, user interface technique or input technique is a combination of hardware and software elements that provides a way for computer users to accomplish a single task. For example, one can go back to the previously visited page on a Web browser by either clicking a button, pressing a key, performing a mouse gesture or uttering a speech command. It is a widely used term in human-computer interaction. In particular, the term "new interaction technique" is frequently used to introduce a novel user interface design idea.
Although there is no general agreement on the exact meaning of the term "interaction technique", the most popular definition is from the computer graphics literature:
A more recent variation is:
From the computer's perspective, an interaction technique involves:
Consider for example the process of deleting a file using a contextual menu. This assumes the existence of a mouse (input device), a screen (output device), and a piece of code that paints a menu and updates its selection (user feedback) and sends a command to the file system when the user clicks on the "delete" item (interpretation). User feedback can be further used to confirm that the command has been invoked.
From the user's perspective, an interaction technique is a way to perform a single computing task and can be informally expressed with user instructions or usage scenarios. For example, "to delete a file, right-click on the file you want to delete, then click on the delete item".
From the user interface designer's perspective, an interaction technique is a well-defined solution to a specific user interface design problem. Interaction techniques as conceptual ideas can be refined, extended, modified and combined. For example, contextual menus are a solution to the problem of rapidly selecting commands. Pie menus are a radial variant of contextual menus. Marking menus combine pie menus with gesture recognition.
One extant cause of confusion in the general discussion of interaction is a lack of clarity about levels of granularity.[1] Interaction techniques are usually characterized at a low level of granularity—not necessarily at the lowest level of physical events, but at a level that is technology-, platform-, and/or implementation-dependent. For example, interaction techniques exist that are specific to mobile devices, touch-based displays, traditional mouse/keyboard inputs, and other paradigms—in other words, they are dependent on a specific technology or platform. In contrast, viewed at higher levels of granularity, interaction is not tied to any specific technology or platform. The interaction of 'filtering', for example, can be characterized in a way that is technology-independent—e.g., performing an action such that some information is hidden and only a subset of the original information remains. Such an interaction could be implemented using any number of techniques, and on any number of platforms and technologies. See also the discussion of
An interaction task is "the unit of an entry of information by the user", such as entering a piece of text, issuing a command, or specifying a 2D position. A similar concept is that of domain object, which is a piece of application data that can be manipulated by the user.[2]
Interaction techniques are the glue between physical I/O devices and interaction tasks or domain objects.[2] [3] Different types of interaction techniques can be used to map a specific device to a specific domain object. For example, different gesture alphabets exist for pen-based text input.
In general, the less compatible the device is with the domain object, the more complex the interaction technique.[4] For example, using a mouse to specify a 2D point involves a trivial interaction technique, whereas using a mouse to rotate a 3D object requires more creativity to design the technique and more lines of code to implement it.
A current trend is to avoid complex interaction techniques by matching physical devices with the task as close as possible,[4] such as exemplified by the field of tangible computing. But this is not always a feasible solution. Furthermore, device/task incompatibilities are unavoidable in computer accessibility, where a single switch can be used to control the whole computer environment.
Interaction techniques that share the same metaphor or design principles can be seen as belonging to the same interaction style. General examples are command line and direct manipulation user interfaces.
While interaction techniques are typically technology-, platform-, and/or implementation-dependent (see
Interaction techniques essentially involve data entry and manipulation, and thus place greater emphasis on input than output. Output is merely used to convey affordances and provide user feedback. The use of the term input technique further reinforces the central role of input. Conversely, techniques that mainly involve data exploration and thus place greater emphasis on output are called visualization techniques. They are studied in the field of information visualization.
A large part of research in human-computer interaction involves exploring easier-to-learn or more efficient interaction techniques for common computing tasks. This includes inventing new (post-WIMP) interaction techniques, possibly relying on methods from user interface design, and assessing their efficiency with respect to existing techniques using methods from experimental psychology. Examples of scientific venues in these topics are the UIST and the CHI conferences. Other research focuses on the specification of interaction techniques, sometimes using formalisms such as Petri nets for the purposes of formal verification.[6]