Topic: direct manipulation for a UserInterface

user interface > Group: graphical user interface

graphical user interface
command-line as a UserInterface
desktop metaphor for user interfaces
direct engagement and theater in a user interface
dragging with a mouse
ease of learning
ease of use
gestural interfaces and marker menus
identifying the user interface with the system
man-machine symbiosis
modes in a user interface
mouse as the user interface
program construction by walk-through
property sheets for objects
selecting with a mouse
spatial metaphor in user interfaces

topics a-e
topics to process
Subtopic: direct manipulation up

Quote: appreciated systems use direct manipulation: visible, incremental, reversible operations; no complex command language [shneB8_1983]
Quote: an expressive, user-friendly application needs a learnable, direct manipulation interface and a domain-enriched, programming language; e.g., SchemePaint [eiseM4_1995]
Quote: Mac-style user interface from cognitive psychology; combines kinesthetic (mouse), iconic (windows/icons), and symbolic (Hypercard) mentalities [lindO_1992]
Quote: direct manipulation: continuous visibility, physical action or button press, rapid incremental reversible operation, visible effect [shneB_1982]
Quote: direct manipulation: visual representation; incremental commands with visual effect [mccrDL10_1984]

Subtopic: reactive up

Quote: a program should have an action for every possible type of user input [wassAI_1973]
Quote: explore symbolic equations with Graph Equation; explore effect of parameter on graph; see answers while still thinking about questions [lickJC5_1962]
Quote: Smalltalk is reactive; the user tells it what to do instead of the other way around [teslL8_1981]
Quote: Adventure provides some reaction for every user action; much better than silent treatment [carrJM11_1982]
Quote: Visicalc was successful because it jumps; has a sense of liveliness, a world of linked action [shneB_1985]
Quote: driving an automobile is direct manipulation; effect of change is visible [shneB8_1983]
Quote: every pixel of the screen should react; like the Mac, but the HyperCard screen does not react [huntS9_1987]
Quote: every key and command has a visual response; otherwise user model is destroyed [smitDC4_1982]

Subtopic: visibile world and actions up

Quote: a well-designed system makes everything relevant to a task visible on the screen; aids memory [smitDC4_1982]
Quote: when everything is visible, the display becomes reality, the user model; actions understood by visual effects; can conduct experiments [smitDC4_1982]
Quote: naive realism: contents of screen is the entire computational world; like text editing [diseAA9_1986]
Quote: naive realism: see computational objects instead of interfaces [diseAA9_1986]
Quote: a user interface should appear stable; e.g., all objects and actions are visible; dim unavailable options [apple_1987]
Quote: WYSIWYG is 'what you see is what you get' for document creation; eliminates iterations required with formatters [smitDC4_1982]
Quote: Visicalc is direct manipulation of a visual presentation of a world of action [shneB_1985]
Quote: MacPaint is concrete: the only data structure is bits on the screen, and the user's sole goal is to turn those bits on and off; literally no state to remember [myerBA_1992]
Quote: Star eliminates the CODE key since it leads to invisible resources [smitDC4_1982]
Quote: because of Lisa's trash can, folders, reports, and tools do not just disappear; they were either thrown away or filed somewhere [willG2_1983]
Quote: most user interfaces have been built on the conversational metaphor, an interface, an intermediary, to a hidden world; denies direct engagement [hutcEL_1986]

Subtopic: pan and zoom up

Quote: consistent, dynamic map labeling without label popping and sliding labels; continuous zooming and panning at interactive speeds by preprocessed selection and placement [beenK9_2006]

Subtopic: manipulate visible objects up

Quote: by focusing on children, Smalltalk became an "environment in which users learn by doing" instead of "access to functionality" [kayAC_1996]
Quote: systems are tools; except for tutorials, users must direct the system; laissez-faire is inevitable and systems are conceptual mazes [carrJM11_1982]
Quote: instead of abstraction, programming should be more concrete with independent, directly manipulated, self-sufficient objects [taivA11_1993]
Quote: any accessible object should be easily observed and manipulated [ingaDH8_1981]
Quote: naive realism: any text on screen can be copied, modified or perhaps evaluated [diseAA9_1986]
Quote: naive realism: change value of variable by modifying its display [diseAA9_1986]
Quote: Boxer graphics box is alternate view of manipulable box of variables and sprites [diseAA9_1986]

Subtopic: uniformity up

Quote: all data icons treated uniformly; moving/mailing/etc. documents, folders, and record files [smitDC4_1982]

Subtopic: select-move, noun-verb up

Quote: MOVE (dragging) is the most powerful command in Star; move graphics, formulas, files, mail, printing [smitDC4_1982]
Quote: SUIT uses direct manipulation (dragging) of properties; e.g., clicking on a color property produces a selection of colors [pausR10_1992]
Quote: Apple Desktop Interface paradigms--select object then select action via a menu, or drag an object to another object representing an action [apple_1987]
Quote: Improv's item dispenser--select an item for duplication, click on the dispenser, pull out the desired number of items, tear off and drop [yageT10_1990]
Quote: use noun-verb commands since have more judgment in selecting an object and can change selection [smitDC4_1982]
Quote: use noun-verb methods to apply an action to an object; reduces error, faster, simpler, reversible [raskJ_2000]
Quote: restrict verb-noun methods to palette selections intended for immediate use [raskJ_2000]

Subtopic: context menu up

Quote: can select an object and then select a menu choice; a context-dependent pop-up menu is more direct [smitRB10_1995]
Quote: Self uses the right mouse button for global, object-level actions and the middle mouse button for object-specific actions; action on contact [smitRB10_1995]

Subtopic: property editor up

Quote: a Kevo object shows all its properties; allows objects to be manipulated as individuals; use virtual copying to reduce memory consumption [taivA11_1993]

Subtopic: explicit abstractions up

Quote: Sketchpad supports most straight edge and compass constructions; topological relationships via pseudo pen location and demonstrative language [suthIE5_1963]
Quote: use toggle switches to display Sketchpad's abstractions; e.g., constraint is a circle and code letter with four arms to the constrained variables [suthIE5_1963]
Quote: 36-bits per spot for display location and an n-component element; e.g., the spots for a subpicture point to that subpicture's ring [suthIE5_1963]

Subtopic: bulk operations up

Quote: Sketchpad provides general functions for expansion of instances, recursive deletion, and recursive merging of subpictures [suthIE5_1963]

Subtopic: examples up

Quote: with Star, you create by copying; easier to modify than to create, e.g., icons and graphics [smitDC4_1982]
Quote: to duplicate properties in Star, select a group of objects, press SAME, select the desired object; performs COPY PROPERTIES [smitDC_1982]
Quote: in Lara, format text by copying attributes from one place to another; use a sample document for format consistency [gutkJ9_1985]
Quote: perform repetitive formatting by dragging the properties of an object with the right mouse button [machB3_1992]
Quote: can set up 'transfer sheets' that contain useful graphics symbols [smitDC4_1982]
Quote: Boxer menus by simply typing commands [diseAA9_1986]

Subtopic: use text to represent entities up

Quote: direct manipulation needs easily reproducible symbols for entities; text is best, that's its purpose [diseAA_1986]

Subtopic: problems with direct manipulation up

Quote: is there a workable gestural indication for conditional branching? if..then..else works well [diseAA_1986]
Quote: direct manipulation is useful as an execution environment but not for representing programs [diseAA_1986]
Quote: with a direct manipulation interface you have to directly manipulate everything; like an assembly line worker [gentD8_1996]
Quote: there is no way to name procedures or objects in a direct manipulation interface and hence no abstraction or user- definable concepts [eiseM4_1995]
Quote: it is easy to express sequencing in formal UI systems; does not work for direct-manipulation user interfaces [myerB3_2000]

Related up

Group: hypertext
Topic: command-line as a UserInterface
Topic: desktop metaphor for user interfaces
Topic: direct engagement and theater in a user interface
Topic: dragging with a mouse
Topic: ease of learning
Topic: ease of use
Topic: gestural interfaces and marker menus
Topic: identifying the user interface with the system
Topic: man-machine symbiosis
Topic: modes in a user interface
Topic: mouse as the user interface
Topic: program construction by walk-through
Topic: property sheets for objects
Topic: selecting with a mouse
Topic: spatial metaphor in user interfaces

Subtopics up

bulk operations
context menu
direct manipulation
explicit abstractions
manipulate visible objects
pan and zoom
problems with direct manipulation
property editor
select-move, noun-verb
use text to represent entities
visibile world and actions

Updated barberCB 3/06
Copyright © 2002-2023 by C.B. Barber
Thesa, Avev, and thid-... are trademarks of C.B. Barber