Interaction technique: Difference between revisions

Content deleted Content added
 
(47 intermediate revisions by 32 users not shown)
Line 1:
{{Short description|Method by which a user may do some action in a computer}}
[[Image:Foldndrop.png|thumb|right|Fold n' Drop, a [[Crossing-based interface|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 [[Computer_hardwareComputer hardware|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 [[Point-and-click|clicking]] a [[Button_Button (computing)|button]], pressing a [[Computer_keyboard_keysComputer keyboard keys|key]], performing a [[mouse gesture]] or uttering a [[Hands-free computing|speech command]]. It is a keywidely conceptused term in [[human-computer interaction]]. In particular, the term "new interaction technique" is frequently used to introduce a novel user interface design idea.
 
== Definition ==
Line 7 ⟶ 8:
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:
 
{{"|An interaction technique is a way of using a physical input/output device to perform a generic task in a human-computer dialogue. <ref name="foley">J.D. Foley, A. van Dam, S.K. Feiner and J.F. Hughes (1990), [[Computer Graphics: Principles and Practice]], Addison-WesleyAddison–Wesley.</ref> }}
 
A more recent variation is:
 
{{"|An interaction technique is the fusion of input and output, consisting of all software and hardware elements, that provides a way for the user to accomplish a task. <ref name="tucker">A.B. Tucker (2004), Computer Science Handbook, Second Edition. Chapman & Hall/CRC. p20-2pp 20–2.</ref> }}
 
=== The computing view ===
Line 19 ⟶ 20:
* One or several [[output devices]] that display user feedback,
* A piece of software that:
** interprets user input into [[Command (computing)|commands]] the computer can understand,
** produces [[user feedback]] based on user input and the system's state.
 
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.
 
=== 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 [[Scenario_Scenario (computing)|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 menu|contextual menus]]s are a solution to the problem of rapidly selecting commands. [[Pie menus]] are a radial variant of [[contextual menu|contextual menus]]s. [[Marking menu]]s combine pie menus with [[Mouse_gesture|gesturesgesture recognition]].
 
<div id="level of granularity"></div>
 
=== Level of granularity ===
 
One extant cause of confusion in the general discussion of interaction is a lack of clarity about levels of granularity.<ref name="spdh">Sedig, K., Parsons, P., Dittmer, M., & Haworth, R. (2013). [http://insight.uwo.ca/papers/HCV-IVT2013.pdf Human–centered interactivity of visualization tools: Micro– and macro–level considerations]. In W. Huang (Ed.), Handbook of Human-Centric Visualization (pp. 717–743). Springer, New York.</ref> 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.<ref name="sp" /> See also the discussion of [[#interaction patterns]] below.
Interaction techniques are usually fine-grained entities. For example, a [[desktop environment]] is too complex to be an interaction technique, whereas [[Exposé_(Mac_OS_X)|Exposé]] fits the common intuitive understanding of the term perfectly well. In general, a user interface can be seen as a combination of many interaction techniques, some of which are not necessarily as well-defined as [[GUI_widget|widgets]].
 
== Interaction tasks and ___domain objects ==
 
An [[interaction task]] is "the unit of an entry of information by the user" ,<ref name="foley"/>, 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.<ref name="mbl">M. Beaudouin-Lafon (2000) [https://kedwards.com/classes/AY2016/cs4470_fall/readings/instrumental-interaction.pdf Instrumental interaction: an interaction model for designing post-WIMP user interfaces]. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.</ref>
 
Interaction techniques are the glue between physical I/O devices and interaction tasks or ___domain objects.<ref name="mbl"/><ref name="dragicevic">P. Dragicevic and J-D Fekete (2004) [http://www.academia.edu/download/31801023/ICon-AVI04.pdf The Input Configurator toolkit: towards high input adaptability in interactive applications]{{dead link|date=July 2022|bot=medic}}{{cbignore|bot=medic}}. In Proceedings of the Working Conference on Advanced Visual interfaces.</ref> Different types of interaction techniques can be used to map a specific device to a specific ___domain object. For example, different [[Handwriting_recognitionHandwriting recognition|gesture alphabets]] exist for [[Pen_computingPen computing|pen-based]] text input.
 
In general, the less compatible the device is with the ___domain object, the more complex the interaction technique.<ref name="buxton">W. Buxton (1986) [http://www.billbuxton.com/eye.html There's More to Interaction than Meets the Eye: Some Issues in Manual Input]. In Norman, D. A. and Draper, S. W. (Eds.), User Centered System Design:
New Perspectives on Human-ComputerHuman–Computer Interaction. Lawrence Erlbaum Associates, Hillsdale,
Input. In Norman, D. A. and Draper, S. W. (Eds.), User Centered System Design:
New Jersey, 319-337319–337.</ref> 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.
New Perspectives on Human-Computer Interaction. Lawrence Erlbaum Associates, Hillsdale,
New Jersey, 319-337.</ref> 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,<ref name="buxton"/>, such as exemplified by the field of [[Tangible_User_InterfaceTangible User Interface|tangible computing]]. But this is not always a feasible solution. Furthermore, device/task incompatibilities are unavoidable in [[computer accessibility]], where a [[Switch_AccessSwitch Access|single switch]] can be used to control the whole computer environment.
 
== Interaction style ==
 
Interaction techniques that share the same [[Interface_metaphorInterface metaphor|metaphor]] or design principles can be seen as belonging to the same [http://www.interaction-design.org/encyclopedia/interaction_styles.html interaction style]. General examples are [[Command_line_interfaceCommand line interface|command line]] and [[direct manipulation]] user interfaces.
 
<div id="interaction patterns"></div>
 
== Interaction patterns ==
 
While interaction techniques are typically technology-, platform-, and/or implementation-dependent (see [[#level of granularity]] above), human-computer or human-information interactions can be characterized at higher levels of abstraction that are independent of particular technologies and platforms. At such levels of abstraction, the concern is not precisely how an interaction is performed; rather, the concern is a conceptual characterization of what the interaction is, and what the general utility of the interaction is for the user(s). Thus, any single interaction pattern may be instantiated by any number of interaction techniques, on any number of different technologies and platforms. Interaction patterns are more concerned with the timeless, invariant qualities of an interaction.<ref name="sp">Sedig, K. & Parsons, P. (2013). [https://www.researchgate.net/profile/Paul_Parsons3/publication/235793669_Interaction_Design_for_Complex_Cognitive_Activities_with_Visual_Representations_A_Pattern-Based_Approach/links/0046351cf18aa9ec92000000/Interaction-Design-for-Complex-Cognitive-Activities-with-Visual-Representations-A-Pattern-Based-Approach.pdf Interaction design for complex cognitive activities with visual representations: A pattern-based approach]. AIS Transactions on Human-Computer Interaction, 5(2), 84–133.</ref>
 
== Visualization technique ==
 
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]].
 
== Research and innovation ==
 
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 comparingassessing themtheir efficiency with respect to existing techniques using methods from [[experimental psychology]]. Examples of scientific venues in these topics are the [http://www.acm.org/uist UIST] and the [[CHI_CHI (conference)|CHI]] conferences. Other research focuses on the specification of interaction techniques, sometimes using formalisms such as [[Petri nets]] for the purposes of [[formal verification]].<ref name="schyn">Schyn, A., Navarre, D., Palanque, P., and Porcher Nedel, L. 2003. [https://dl.acm.org/citation.cfm?id=1063690 Formal description of a multimodal interaction technique in an immersive virtual reality application]. In Proceedings of the 15th French-Speaking Conference on Human-ComputerHuman–Computer interaction on 15eme Conference Francophone Sur L'interaction Homme-MachineHomme–Machine (Caen, France, November 25 - 2825–28, 2003). T. Baudel, Ed. IHM 2003, vol. 51. ACM, New York, NY, 150-157150–157. </ref>.
 
== See also ==
* [[3D_Interaction3D interaction#3D_Interaction_Techniques3D interaction techniques|3D interaction techniques]]
 
* [[List of human-computer interaction topics#Interaction styles|Interaction styles]]
* [[3D_Interaction#3D_Interaction_Techniques|3D interaction techniques]]
* [[User_interfaceUser interface#Types|Types of user interface]]
* [[List_of_human-computer_interaction_topics#Interaction_styles|Interaction styles]]
* [[User_interface#Types|Types of user interface]]
* [[Input devices]]
* [[Interaction Design]]
 
* [[Interactivity]]
== External links ==
* [[Information Visualization]]
 
* [[Visual Analytics]]
* [http://www.acm.org/uist/archive/html/videos.html UIST video archive]
* [[Widget (GUI)]]
* [http://designinginterfaces.com/ Patterns for effective interaction design]
 
== References ==
 
{{reflist}}
 
== External links ==
[[Category:User interface techniques]]
{{Commonscat|Interaction analysis}}
[[Category:User interface]]
* [http://www.acm.org/uist/archive/html/videos.html UIST video archive]
[[Category:Graphical user interface]]
* [http://designinginterfaces.com/ Patterns for effective interaction design]
[[Category:Human-computer interaction]]
 
[[Category:User interface techniques| ]]
[[fa:تکنیک تاثیرپذیری متقابل]]
[[Category:User interfaceinterfaces]]
[[Category:Graphical user interfaceinterfaces]]
[[Category:Human-computerHuman–computer interaction]]
[[Category:Data and information visualization|technique]]