Pointing, selecting, manipulation jing & quincy

35
Jing Chen & Quincy Clark Direct Manipulation

description

 

Transcript of Pointing, selecting, manipulation jing & quincy

Page 1: Pointing, selecting, manipulation jing & quincy

Jing Chen & Quincy Clark

Direct Manipulation

Page 2: Pointing, selecting, manipulation jing & quincy

Direct Manipulation

Ben Shneiderman (1974) Visual representation of the objects that an

application is concerned with Visible and gestural mechanisms for acting

upon these objects Immediately visible results of these actions

Visual Manipulation

Direct Manipulation

Page 3: Pointing, selecting, manipulation jing & quincy

Direct manipulation Interaction Idioms

Most direct manipulation interaction idioms fall into one of seven categories: Pointing Selection Drag and drop Control manipulation Palette tools Object manipulation Object connection

Page 4: Pointing, selecting, manipulation jing & quincy

OVERVIEW

Pointing Selection Drag and Drop Object Manipulation

Overview

Page 5: Pointing, selecting, manipulation jing & quincy

OVERVIEW

Pointing Selection Drag and Drop Object Manipulation

Overview

Page 6: Pointing, selecting, manipulation jing & quincy

Pointing

Pointing

Page 7: Pointing, selecting, manipulation jing & quincy

Using the Mouse

Don’t force users to transition between gross and fine motor skills continually. Near and far destination Transitioning is challenging

Programs should fully support both the mouse and the keyboard for all navigation and selection tasks. For many data-intensive tasks

Pointing

Page 8: Pointing, selecting, manipulation jing & quincy

Mouse Buttons

The left mouse button The right mouse button The middle mouse button The scroll wheel Meta-keys

Pointing

Page 9: Pointing, selecting, manipulation jing & quincy

Mouse Actions

Point (Point)

Click (Point, click left button, release)

Right-click (Point, click right button, release)

Click and drag (Point, click left button, drag, release)

Double-click (Point, click left button, release, click left button, release)

Chord-click (Point, click left button, click right button, release, release)

Double-drag (Point, click left button, release, click, drag, release)

Pointing

Page 10: Pointing, selecting, manipulation jing & quincy

Mouse Events

Each time the user clicks a mouse button, the program must deal with two discrete events: the mouse-down event and the mouse-up event.

Mouse-down over an object or data should select the object or data.

Mouse-down over controls means propose action; mouse-up means commit to action.

Pointing

Page 11: Pointing, selecting, manipulation jing & quincy

The Cursor

The cursor is the visible representation of the mouse’s position on the screen.

The key to successful direct manipulation is rich visual feedback.

Pointing

Page 12: Pointing, selecting, manipulation jing & quincy

Pliancy and Hinting

Pliant: objects or screen areas that may be manipulated by a user.

Three ways to visually communicate pliancy. Static object hinting

Dynamic visual hinting

Cursor hinting Waiting cursor hinting

Pointing

Page 13: Pointing, selecting, manipulation jing & quincy

OVERVIEW

Pointing

Selection Drag and Drop Object Manipulation

Overview

Page 14: Pointing, selecting, manipulation jing & quincy

Selection

The act of choosing an object or a control is referred to as selection.

Selection

Page 15: Pointing, selecting, manipulation jing & quincy

Discrete and Contiguous Selection Discrete selection

Discrete data E.g., Icons on the Desktop

These objects are commonly selected independently of their spatial relationships with each other.

Contiguous selection Contiguous data

E.g., The text in a word processor These objects are often selected in contiguous

groups

Selection

Page 16: Pointing, selecting, manipulation jing & quincy

Selection Rules

Mutual exclusion Typically, when a selection is made, any

previous selection is unmade. Additive selection (sequentially)

Ctrl in discrete selection Shift in contiguous selection

Group selection (simultaneously) Click-and-drag, Ctrl+click, Ctrl+drag in

contiguous selection Click-and-drag in discrete selection

Selection

Page 17: Pointing, selecting, manipulation jing & quincy

Insertion and Replacement In discrete selection

The incoming data may replace the selected objects

Alternatively, the selected object may treat the incoming data in some predetermined way. E.g., In PowerPoint, when a shape is selected,

incoming keystrokes result in a text annotation of the selected shape.

Selection

Page 18: Pointing, selecting, manipulation jing & quincy

Insertion and Replacement In contiguous selection

The incoming data always replaces the currently selected data.

E.g., When you type in a word processor, you replace what is selected with what you are typing.

Selection

Page 19: Pointing, selecting, manipulation jing & quincy

Visual Indication of Selection

The selection state should be

visually evident and unambiguous.

Background color

Icons on the desktop

Indicate the selection by movement.

The marquee tool in Photoshop

Selection

Page 20: Pointing, selecting, manipulation jing & quincy

OVERVIEW

PointingSelection

Drag and DropObject Manipulation

Overview

Page 21: Pointing, selecting, manipulation jing & quincy

Drag-and-drop

DefinitionAn idiom that defines GUIDrag-and-drop implies a transformationDirect manipulationTwo levels of directness

1. True direct manipulation idioms2. Indirect manipulation idioms

Definition

Page 22: Pointing, selecting, manipulation jing & quincy

Drag-and-drop

Drag-and-drop true direct

Page 23: Pointing, selecting, manipulation jing & quincy

Drag-and-drop

Drag-and-drop indirect

Page 24: Pointing, selecting, manipulation jing & quincy

Drag-and-drop

Visual FeedbackIndicating drag pliancyIndicating drop candidacyInsertion targets

Visual Feedback

Page 25: Pointing, selecting, manipulation jing & quincy

Drag-and-drop

Visual Feedback

Page 26: Pointing, selecting, manipulation jing & quincy

Drag-and-drop

Other Drag-and-drop IssuesAuto ScrollingDrag-and-drop twitchinessFine Scrolling

Other Issues

Page 27: Pointing, selecting, manipulation jing & quincy

OVERVIEW

PointingSelectionDrag and Drop

Object Manipulation

Overview

Page 28: Pointing, selecting, manipulation jing & quincy

Object Manipulation

3 Main OperationsRepositioningResizing and reshapingObject connection

Object Manipulation

Page 29: Pointing, selecting, manipulation jing & quincy

Drag-and-drop

Design PrinciplesDrop candidates must visually indicate their

receptivity

The drag cursor must visually identify the source

object

Any scrollable drag-and-drop target must auto-scroll

Debounce all drags

Programs that demand precise align must offer a vernier

Drag-and-drop

Page 30: Pointing, selecting, manipulation jing & quincy

OVERVIEW

PointingSelectionDrag and DropObject Manipulation

Overview

Page 31: Pointing, selecting, manipulation jing & quincy

Using the Mouse: Example The scrollbar

Pointing

Page 32: Pointing, selecting, manipulation jing & quincy

Meta-Keys: Example

In Windows Explorer, holding the Ctrl key while dragging and dropping a file turns the function from a Move into a Copy.

Use cursor hinting to dynamically show the meanings of meta-keys. While the meta-key is pressed, the cursor

should change to reflect the new function of the idiom.

Pointing

Page 33: Pointing, selecting, manipulation jing & quincy

Mouse Events: Example

A check box in Windows XP

Pointing

Page 34: Pointing, selecting, manipulation jing & quincy

Cursor Hinting: Example

Pointing

Page 35: Pointing, selecting, manipulation jing & quincy

Group Selection: Example A drag rectangle in Windows Explorer

Selection