HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
,
human–computer interaction Human–computer interaction (HCI) is research in the design and the use of computer technology, which focuses on the interfaces between people (users) and computers. HCI researchers observe the ways humans interact with computers and design te ...
, and
interaction design Interaction design, often abbreviated as IxD, is "the practice of designing interactive digital products, environments, systems, and services." Beyond the digital aspect, interaction design is also useful when creating physical (non-digital) produ ...
, direct manipulation is an approach to interfaces which involves continuous representation of objects of interest together with rapid, reversible, and incremental actions and feedback. As opposed to other interaction styles, for example, the
command language A command language is a language for job control in computing. It is a domain-specific and interpreted language; common examples of a command language are shell or batch programming languages. These languages can be used directly at the comman ...
, the intention of direct manipulation is to allow a user to manipulate
objects Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an ai ...
presented to them, using actions that correspond at least loosely to manipulation of
physical object In common usage and classical mechanics, a physical object or physical body (or simply an object or body) is a collection of matter within a defined contiguous boundary in three-dimensional space. The boundary must be defined and identified by t ...
s. An example of direct manipulation is resizing a graphical shape, such as a rectangle, by dragging its corners or edges with a
mouse A mouse ( : mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus' ...
. Having real-world metaphors for objects and actions can make it easier for a user to learn and use an interface (some might say that the interface is more natural or intuitive), and rapid, incremental feedback allows a user to make fewer errors and complete tasks in less time, because they can see the results of an action before completing the action, thus evaluating the output and compensating for mistakes. The term was introduced by
Ben Shneiderman Ben Shneiderman (born August 21, 1947) is an American computer scientist, a Distinguished University Professor in the University of Maryland Department of Computer Science, which is part of the University of Maryland College of Computer, Mathem ...
in 1982 within the context of office applications and the
desktop metaphor In computing, the desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users interact more easily with the computer. The desktop metaphor treats the computer monitor as if it is ...
. Individuals in academia and computer scientists doing research on future user interfaces often put as much or even more stress on tactile control and feedback, or sonic control and feedback than on the visual feedback given by most
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
s. As a result, the term has been more widespread in these environments.


In the contrast to WIMP/GUI interfaces

Direct manipulation is closely associated with interfaces that use windows, icons, menus, and a pointing device (
WIMP Wimp, WIMP, or Wimps may refer to: Science and technology * Weakly interacting massive particle, a hypothetical particle of dark matter * WIMP (computing), the "window, icon, menu, pointer" paradigm * WIMP (software bundle), the web stack of Windo ...
GUI) as these almost always incorporate direct manipulation to at least some degree. However, direct manipulation should not be confused with these other terms, as it does not imply the use of windows or even graphical output. For example, direct manipulation concepts can be applied to interfaces for blind or vision-impaired users, using a combination of tactile and sonic devices and software. Compromises to the degree to which an interface implements direct manipulation are frequently seen. For some examples, most versions of windowing interfaces allow users to reposition a window by dragging it with the mouse. In early systems, redrawing the window while dragging was not feasible due to computational limitations. Instead, a rectangular outline of the window was drawn while dragging. The complete window contents were redrawn once the user released the mouse button.


In computer graphics

Because of the difficulty of visualizing and manipulating various aspects of computer graphics, including geometry creation and editing, animation, the layout of objects and cameras, light placement, and other effects, direct manipulation is a significant part of 3D computer graphics. There is standard direct manipulation widgets as well as many unique widgets that are developed either as a better solution to an old problem or as a solution for a new and/or unique problem. The widgets attempt to allow the user to modify an object in any possible direction while also providing easy guides or constraints to allow the user to easily modify an object in the most common directions, while also attempting to be as intuitive as to the function of the widget as possible. The three most ubiquitous transformation widgets are mostly standardized and are: * the
translation Translation is the communication of the meaning of a source-language text by means of an equivalent target-language text. The English language draws a terminological distinction (which does not exist in every language) between ''transla ...
widget, which usually consists of three arrows aligned with the orthogonal axes centered on the object to be translated. Dragging the center of the widget translates the object directly underneath the mouse pointer in the plane parallel to the camera plane, while dragging any of the three arrows translates the object along the appropriate axis. The axes may be aligned with the world-space axes, the object-space axes, or some other space. * the
rotation Rotation, or spin, is the circular movement of an object around a '' central axis''. A two-dimensional rotating object has only one possible central axis and can rotate in either a clockwise or counterclockwise direction. A three-dimensional ...
widget, which usually consists of three circles aligned with the three orthogonal axes, and one circle aligned with the camera plane. Dragging any of the circles rotates the object around the appropriate axis while dragging elsewhere will freely rotate the object (virtual trackball rotation). * the scale widget, which usually consists of three short lines aligned with the orthogonal axes terminating in boxes, and one box in the center of the widget. Dragging any of the three axis-aligned boxes effects a non-uniform scale along solely that axis, while dragging the center box effects a uniform scale on all three axes at once. Depending on the specific standard uses of an object, different kinds of widgets may be used. For example, a light in computer graphics is, like any other object, also defined by a transformation (translation and rotation), but it is sometimes positioned and directed simply with its endpoint positions. This is because it may be more intuitive to define the location of the light source and then define the light's target, rather than rotating it around the coordinate axes to point it at a known position. Other widgets may be unique for a particular tool, such as edge controls to change the cone of a spotlight, points and handles to define the position and tangent vector for a spline control point, circles of variable size to define a blur filter width or paintbrush size, IK targets for hands and feet, or color wheels and swatches for quickly choosing colors. Complex widgets may even incorporate some from scientific visualization to efficiently present relevant data (such as vector fields for particle effects or false color images to display vertex maps). Direct manipulation, as well as user interface design in general, for 3D computer graphics tasks, is still an active area of invention and innovation. The process of generating CG images is not considered to be intuitive or easy in comparison to the difficulty of what the user wants to do, especially for complex and less common tasks. The user interface for word processing, for example, is commonly used. It is easy to learn for new users and is sufficient for most word processing purposes, so it is a mostly solved and standardized UI. However, the user interfaces for 3D computer graphics are usually either challenging to learn and use and not sufficiently powerful for complex tasks and/or difficult to learn and use, so direct manipulation and user interfaces will vary wildly from application to application.


See also

*
Object Action Interface Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Abstract object, Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matt ...
(OAI) *
Natural user interface In computing, a natural user interface (NUI) or natural interface is a user interface that is effectively invisible, and remains invisible as the user continuously learns increasingly complex interactions. The word "natural" is used because most ...


References

* {{cite journal , last1 = Frohlich , first1 = David M , year = 1993 , title = The history and future of direct manipulation , journal = Behaviour & Information Technology , volume = 12 , issue = 6, pages = 315–329 , doi=10.1080/01449299308924396 * Shneiderman, Ben. ''Designing the user interface: strategies for effective human-computer-interaction.''(1987) * Hutchins, Edwin L.. James D. Hollan, and Donald Norman.''Direct manipulation interfaces''. (1985) * Shneiderman, Ben. "Direct manipulation: a step beyond programming languages," ''IEEE Computer'' 16(8) (August 1983), 57-69. User interface techniques