Interaction technique
[Image:Foldndrop.png|thumb|right|Fold n' Drop,[] a crossing-based interaction technique for dragging and dropping files between overlapping windows]
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.
Definition
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:
The computing view
From the computer's perspective, an interaction technique involves:- One or several input devices that capture user input,
- One or several output devices that display user feedback,
- A piece of software that:
- * interprets user input into commands the computer can understand,
- * produces user feedback based on user input and the system's state.
The user's view
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".The designer's view
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.Level of granularity
One extant cause of confusion in the general discussion of interaction is a lack of clarity about levels of granularity. 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 #interaction patterns below.Interaction tasks and domain objects
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.Interaction techniques are the glue between physical I/O devices and interaction tasks or domain objects. 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. 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, 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.