Glossary of Terms for User Interaction
analyst - an individual who performs reengineering or reverse engineering on an existing system.
basic interaction task - (see interaction task) an indivisible interaction task - if the interaction task is decomposed, it is no longer meaningful to an application. [FOL90]
composite interaction task - Aggregate basic interaction tasks - combinations of basic interaction tasks into combined tasks that have a new meaning to an application. [FOL90]
data entry - input from the user to the computer via an input device (keyboard, mouse, etc.) that is not interpreted by the application program, but treated as information to be stored. For example, entering a typed command is not data entry, whereas entering a user's address is data entry.
designer - the software engineer responsible for designing and implementing a new application.
gesture - (as used in [HEN90]) - A sequence of user interactions with an application that can be recognized as belonging to a set of symbols that have meaning to the application. For example, textual handwriting recognition can be accomplished by a gesture recognizer that analyzes the input and matches it to known alphanumeric symbols.
input device - a piece of computer hardware that allows a user to interact with a computer. The concept of logical devices [FOL90] groups input devices into five equivalence classes: locator (position), pick (selection), valuator (numeric), keyboard (strings), and choice (actions).
interaction objects - as defined in [DEB92], are "controls such as buttons, sliders, or menus that can be manipulated directly by the user. Every interaction object in the user interface is associated with an action or attribute in the application data model". As defined in [HIX93], interaction objects are precoded objects in toolkits that can be used in implementing a user interface.
interaction styles defined in [HIX93] are described as "a collection of interface objects and associated techniques from which an interaction designer can choose when designing the user interaction component of an interface. They provide a behavioral view of how the user communicates with the system." In [SHN93], primary interaction styles are menu selection, form fill-in, command language, natural language, and direct manipulation.
interaction task is the entry of a unit of information that is meaningful to an application by the user [FOL90]. Interaction tasks classify the fundamental types of information entered with the interaction techniques. Interaction tasks are defined by what the user accomplishes, not how it is accomplished. The four basic interaction tasks are:
interaction technique as defined in [FOL90] is a construct that "implements the hardware binding portion of a user-computer interface design". An earlier informal definition adds that interaction techniques are "ways to use input devices to enter information into the computer". Interaction techniques are also defined as primitive building blocks from which a UIF is crafted.
interaction technique toolkits [FOL90] are subroutine libraries of interaction techniques, mechanisms for making a collection of techniques available for use by application programmers (for consistent look and feel).
interactor - (Amulet) In a GUI presentation, interactors are invisible objects that attach to graphical objects in order to allow them to respond to input. [
legacy system - An application that has been developed and maintained over a period of time, typically its original designers and implementors are no longer available to perform the system's maintenance. Often specifications and documentation for a legacy system are outdated, so the only definitive source of information about the system is the code itself.
reengineering - The use of design recovery techniques to understand the code of a legacy system in order to modify an existing system. Typically reengineering is performed to correct errors, restructure a system to improve maintenance, to add functionality, or to port the system to another platform. Also called renovation or reclamation [CHI90].
reverse engineering - The process of analyzing a software program in an effort to create a representation of the program at a higher level of abstraction than source code. Also called design recovery, the process can consist of data extraction, architectural specification, control flow and data flow understanding. [PRE92]
terminal control semantics - in some text-based applications, the cursor can be moved around the screen using keyboard commands or keystrokes. If the application ascribes meaning to the location of the cursor, then the terminal control has semantics to the application. For example, if the screen is split into two areas, and moving the cursor from one area to another determines the meaning of a data value that the user enters, then the application has terminal control semantics.
text-based application (interface) - An application that accepts user input only from a keyboard. Typically a text-based application only displays textual data as well, however this is not a requirement. Alphanumeric characters, as well as function keys and arrow keys can be used to interact with a text-based application.
text entry - Any alphanumeric characters or strings entered by the user. Can be used as data entry (see definition) or as a selection mechanism, as in typing the name of a command.
user - the individual that the software application was designed and implemented for - the "end user" of the system.
user interface elements - [Mastermind term] Pedro's presentation model paper
user interface software - [HIX93] The means for implementing the code that instantiates the user interaction component. This is the "system" or "application" view of a user interface.
user interaction component - [HIX93] The interaction component of an application is its "look and feel", the application's response to what a user sees and hears and does while interacting with the computer. This is the "user view" of a system.
widget - [HIX93] another name for user interaction objects, specifically used to describe X Windows interaction objects, but sometimes used as a general term to describe objects in user interface toolkits. Examples of widgets are scrolling lists, pushbuttons, and cascade menus.
[CHI90]Chikofsky, Elliott, and Cross, James. "Reverse Engineering and Design Recovery: A Taxonomy",IEEE Software, January 1990.
[DEB92]deBaar, Dennis, Foley, James D., and Mullet, Kevin E. "Coupling Application Design and UserInterface Design", Proceedings of CHI `92, May 3-7, 1992.
[FOL90]Foley, James D., van Dam, Andries, Feiner, Steven K., and Hughes, John F. Computer Graphics Principles and Practice, Second Edition, Addison-WesleyPublishing Company, Addison-Wesley Systems Programming Series, 1990.
[HEN90]Henry, Tyson R., Hudson, Scott E., and Newell, Gary L. "Integrating Gesture and Snappinginto a User Interface Toolkit", Proceedings of the ACM SIGGRAPH Symposium on UserInterface Software and Technology (UIST), Snowbird, Utah, Oct 3-5, 1990.
[HIX93]Hix, Deborah, and Hartson, H. Rex. Developing User Interfaces - Ensuring UsabilityThrough Product and Process, Wiley Professional Computing Series, John Wiley andSons, Inc., 1993.
[MYE96]Myers, Brad, Ferrency, Alan, McDaniel, Rich, Miller, Robert, Doane, Patrick, Mickish,Andy, and Klimovitski, Alex. The Amulet V2.0 Reference Manual, School of ComputerScience, Carnegie Mellon University, 1996.
[PRE92]Pressman, Roger S. Software Engineering - A Practitioner's Approach, Third Edition,McGraw-Hill, 1992.
[SHN93]Shneiderman, Ben. Designing the User Interface, Strategie for Effective Human-ComputerInteraction, Second Edition, Addison Wesley, 1993.