ability-based design
Interface designs that adapt to the abilities of their users.
absolute pointing
Pointing devices in which the physical coordinates of input are mapped directly onto the interface coordinate system (e.g., touchscreens).
access technology
Interfaces that are used in tadem with other intefaces to improve their poor accessibility.
A quality of user interfaces that determines what abilities are required to use an interface. Accessible interfaces include people regardless of ability; inaccessible interfaces exclude people with particular abilities.
The potential for action in an interface, ultimately defined by what underlying functionalty it has been designed and engineered to support.
application programming interface (API)
A collection of code used for computing particular things, designed for reuse by others without having to understand the details of the computation. For example, an API might mediate access to facial recognition algorithms, date arithmetic, or trigonometric functions.
augumented reality
An interface that layers on interactive virtual content into the physical world.
Mistakes and confusion that occur because a user’s mental model is inconsistent with an interface’s actual functionality.
Layering visual imagery and filters, from top to bottom, to construct scenes from individual layers of graphics.
computer-mediated communication
Any form of communication that is conducted through some computational device, such as a phone, tablet, laptop, desktop, smart speaker, etc.
A technique of software development in which the value of one thing is made to always be equal to some transofrmation of another value (e.g., the left edge of this square should always be aligned horizontally with the right edge of this circle.)
continuous text entry
Providing some ambiguous source of text (e.g., speech, gesture) and having an interface translate it into text.
A widely-used and widely-learned interface design pattern (e.g., a web form, a login screen, a hamburger menu on a mobile website).
direct pointing
Pointing devices in which the input for pointing and the corresponding feedback in response occur in the same physical place (e.g., a touchscreen).
discrete text entry
Explicitly and unambiguously selecting characters, words, and phrases for entry (e.g., with a keyboard).
end-user programming
Any programming done as a means to accomplish some other goal (in contrast to software engineering, which is done for the sole purpose of creating software for others to use).
A user input such as a mouse click, tap, drag, or verbal utterance that may trigger a state change in a user interface’s state.
Output from a computer program intended to explain what action a computer took in response to a user’s input (e.g., confirmation messages, error messages, or visible updates).
An idea from mathematics of using algorithms to map some input (e.g., numbers, text, or other data), to some output. Functions can be as simple as basic arithmetic (e.g.,  multiply , which takes two numbers and computes their product), or as complex as machine vision ( object recognition , which takes an image and a machine learned classifier trained on millions of images and produces a set of text descriptions of objects in the image.
The use of computer hardware to create static, dynamic, and interactive two and three dimensional imagery.
gulf of evaluation
Everything a person must learn in order to understand the effect of their action on an interface, including understanding error messages or a lack of response from an interface.
gulf of execution
Everything a person must learn in order to acheive their goal with an interface, including learning what the interface is and is not capable of and how to operate it correctly.
The illusory experience of interacting with virtual content for what represents, as opposed to the low-level light, sound, haptics and other sensory information from whic it is composed.
indirect pointing
Pointing devices in which the input for pointing and the corresponding feedback in response occur in different physical places (e.g., a mouse and a screen).
information architecture
The study and practice of organizing information and inferfaces to support searching, browsing, and sensemaking.
mental model
A person’s beliefs about an interface’s affordances and how to operate them.
Data about data; for example, metadata about a digital photograph might include where it was taken, who took it, and a description of what is in the image.
A way of organizing a user interface implementation to separate how data is stored (the model), how data is presented (the view), and how data is changed in response to user input (the controller).
predictive text entry
Providing input that suggests the desired text and having the interface predict what input might be intended.
The sense of being physically located in a place and space.
relative pointing
Pointing devices in which changes in the physical coordinates of input device are mapped directly  changes  to the current position in an interface coordinate system (e.g., mice).
Any indicator of an affordance in an interface.
A particular mode or configuration of a user interface that can be changed through user input. For example, a button might be hovered over or not, or user on a web page might be logged in or not.
universal design
Interfaces that are accessible to any person, regardless of their abilities.
user interface
A special kind of software designed to map human activities in the physical world (clicks, presses, taps, speech, etc.) to functions defined in a computer program.
virtual reality
Interfaces that attempt to achieve immersion and presence through audio, vidoe, and tactile illusion.