Week39 Monday
Week39 Monday
• Direct Manipulation
• Direct manipulation and immersive environments
• (2D) Graphical interaction
Learning goals
• Understand
• What direct manipulation is
• Different levels of directness in direct manipulation
• Direct manipulation in immersive environments
• What input tasks in 2D interfaces are, and what types there are
• What modal interfaces are
• Be able to …
• Describe the level of directness in a direct manipulation interface
• Describe the input tasks in a a user interface
• Describe modes in an interface
Direct Manipulation
Shneiderman 1983
Weak
Medium
Strong
Immersive
Direct Manipulation in
Immersive environments
Virtual reality
• Head-tracking
• Outside in
• Inside out
• Hand-tracking
• Controllers (gyro, accelerometer, camera)
• Finger tracking (camera and/or gloves)
Augmented Reality
Immersive
- E.g., Hololens 2
Handheld
- E.g., Smartphone ortablet
Pointing
Drag
“ghosts” or
shadows
ink
http://jamesfriend.com.au/pce-js/
Basic interaction tasks
• Input tasks
• Selection tasks
• Trigger tasks
• Navigation tasks
• Property setting tasks
• Transformation tasks
Input tasks
Input text
Text field + keyboard
Input position
Pointing
Input a path
Sampling (feedback = ink)
Input task
Adapt input to the value type
Fixed-size set
Menu, checkboxes, radio buttons
Variable-size set
Pointing, list, text input
Selection task
Multiple selection
by group by interval
add/remove
Combine techniques
Point elements in list / use keyboard to input prefix
Selection tasks
Linear menus
Menu bar +
pulldown menus
Fixed palette
Hierarchical menus
Pull-off menus
Selection tasks
Radial menus
Gestural input
Specifies the object and command simultaneously
Trigger tasks
Gestural input
Navigation tasks
Scrollbars
Direction of scrolling
Division of attention
Direct scrolling
Move with the hand
Automatic scrolling
Zooming
Zooming in to see detail
Zooming out to see context
Property and parameter specification tasks
Dialog boxes
Fields + OK / Apply / Cancel buttons
Modal or non-modal
Temporal and spatial decoupling between the specification of the command, its parameters, and
its execution
• Mode = state of the interface where user actions are interpreted consistently, and differently than in other
modes
• Examples
• “vi” text editor :
• Type “Esc” to switch between input/command modes
• “emacs” text editor :
• User Control and Meta modifiers to enter commands
• Tool palettes:
• Select a tool to activate it
Modes
• Temporal modes
• The same user action performed at different times has different effects
• Problem: Initiative of the mode change
• Spatial modes
• The same user action performed at different locations has different effects
• Quasi-modes
• Temporal modes activated as long as a physical action is sustained
• Go to https://bellard.org/jslinux/vm.html?url=alpine-
x86.cfg&mem=192
• Open a file in vi with vi vi.txt, write Hello from vi! in it, save and
exit
• Open a file in emacs with emacs emacs.txt write Hello from
emacs! in it, save and exit
• Feel free to use google
What do I expect you to have learned?
• Understand
• What direct manipulation is
• Different levels of directness in direct manipulation
• Direct manipulation in immersive environments
• What input tasks in 2D interfaces are, and what types there are
• What modal interfaces are
• Be able to …
• Describe the level of directness in a direct manipulation interface
• Describe the input tasks in a a user interface
• Describe modes in an interface