Interaction Techniques and Beating Fitts’ Law. Interaction techniques A method for carrying out a specific interactive task –Example: enter a number in.

Slides:



Advertisements
Similar presentations
Create a Simple Game in Scratch
Advertisements

Possible Windows 8 Improvements By: Scott Hill. Improve Windows 8 Split Screen Mode The only options for split screen mode currently is to have one screen.
Create a Simple Game in Scratch
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
FrontPage Express By John G. Summerville Ph.D.©, RN.
What is a Dialog box? A Dialog box is a window or “form” that contains other child windows or “controls” that have a specific appearances and pre-defined.
1 Windows CIS*2450 Advancing Computing Techniques.
Microsoft Word 2010 Lesson 1: Introduction to Word.
Going Beyond Conventional GUIs. 2 Changing the assumptions n What happens when we step outside the conventional GUI / desktop / widgets framework? – Topic.
XP Exploring the Basics of Microsoft Windows XP1 Exploring the Basics of Windows XP.
Exploring the Basics of Windows XP. Objectives Start Windows XP and tour the desktop Explore the Start menu Run software programs, switch between them,
ABC’s of PowerPoint (Office 2007) Part 1: Basic Vocabulary Part 2: Cursors Part 3: Insert Your Text Part 4: Insert Your Pictures Part 5: Basic Tools &
Discussion Silvia Lindtner INF 132 April 07. Fitts’ law - recap A predictive model of time to point at an object Help decide the location and size of.
PowerPoint: Tables Computer Information Technology Section 5-11 Some text and examples used with permission from: Note: We are.
Exploring the Basics of Windows XP
Learning About Technology Chapter 2. 2 Learning New Tools How do you learn to use new tools?  Read the instruction manual Programming a VCR Cooling my.
Review of last session The Weebly Dashboard The Weebly Dashboard Controls your account and your sites Controls your account and your sites From here you.
1 Lecture 9: Deep Dive: Selecting and Creating Objects across Different Kinds of Views Brad Myers A/05-499A: Interaction Techniques Spring, 2014.
Human Factors for Input Devices CSE 510 Richard Anderson Ken Fishkin.
Microsoft Visual Basic 2012 CHAPTER TWO Program and Graphical User Interface Design.
Chapter 5 Models and theories 1. Cognitive modeling If we can build a model of how a user works, then we can predict how s/he will interact with the interface.
European Computer Driving Licence Syllabus version 5.0 Module 4 – Spreadsheets Chapter 22 – Functions Pass ECDL5 for Office 2007 Module 4 Spreadsheets.
MICROSOFT WORD GETTING STARTED WITH WORD. CONTENTS 1.STARTING THE PROGRAMSTARTING THE PROGRAM 2.BASIC TEXT EDITINGBASIC TEXT EDITING 3.SAVING A DOCUMENTSAVING.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
CIS—100 Chapter 15—Windows Vista 1. Parts of a Window 2.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Exploring Your Desktop To run presentation, please click on bottom arrow to right to change to next frame.
Visual Basic 2005 CHAPTER 2 Program and Graphical User Interface Design.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
GUI Widgets Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
XP New Perspectives on Windows XP Tutorial 1 Exploring the Basics.
1 Microsoft Windows 2000 Robert H. Smith School of Business University of Maryland – College Park Essentials of Windows.
Productivity Programs Common Features and Commands.
Copyright © 2010 Wolters Kluwer Health | Lippincott Williams & Wilkins Introduction to Windows Chapter 2.
Working with the VB IDE. Running a Program u Clicking the”start” tool begins the program u The “break” tool pauses a program in mid-execution u The “end”
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Visual Basic 2005 CHAPTER 2 Program and Graphical User Interface Design.
Analytical evaluation Prepared by Dr. Nor Azman Ismail Department of Computer Graphics and Multimedia Faculty of Computer Science & Information System.
CIS111 PC Literacy Getting Started with Windows XP.
Model View Controller A Pattern that Many People Think They Understand, But Has A Couple Meanings.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
Design Studies 20 ‘Show Off’ Project How to make a computer monitor In Google Sketchup By: Liam Jack.
Oct 021 Outline What is a widget? Buttons Combo boxes Text components Message boxes.
Computing Fundamentals Module Lesson 7 — The Windows Operating System Computer Literacy BASICS.
Microsoft Visual Basic 2010 CHAPTER TWO Program and Graphical User Interface Design.
Learning PowerPoint Presenting your ideas as a slide show… …on the computer!
Create a Halloween Computer Game in Scratch Stephanie Smullen and Dawn Ellis Barb Ericson October 2008.
CMPF124 Personal Productivity With Information Technology Chapter 1 – Part 2 Introduction to Windows Operating Systems Manipulating Windows GUI CMPF 124.
Scratch for Interactivity Dr. Ben Schafer Department of Computer Science University of Northern Iowa.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Today We Will Review: Operating Systems (Windows) (week 3 & 4) Starting up MS Windows Desktop and its contents Functions of the desktop components Brain.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
Human Computer Interaction Lecture 07 The Interaction.
Input part 3: Interaction Techniques. 2 Interaction techniques n A method for carrying out a specific interactive task – Example: enter a number in a.
Scratch for Interactivity
Human Computer Interaction Lecture 07 The Interaction
Building a User Interface with Forms
Chapter 2 – Introduction to the Visual Studio .NET IDE

Unit 2 User Interface Design.
Program and Graphical User Interface Design
dialogue … computer and user distinct styles of interaction
Exploring the Basics of Windows XP
Program and Graphical User Interface Design
Introduction to PowerPoint
Creating a Simple Game in Scratch
What is Interaction? Communication User  System
Presentation transcript:

Interaction Techniques and Beating Fitts’ Law

Interaction techniques A method for carrying out a specific interactive task –Example: enter a number in a range could use… (simulated) slider (simulated) knob type in a number (text edit box) –Each is a different interaction technique

Interaction techniques in libraries Generally ITs now come in the form of “Widgets”, “controls”, “components”, “interactors” Typically in reusable libraries –e.g. widget sets / class libraries Also need custom ones

Design of interaction techniques –Just going to say a tiny bit… Scott’s Guidelines for IT design –Affordance –Feedback –Mechanics (incl. performance)

Affordance Can you tell what it does and what to do with it by looking at it? –Most important for novices but almost all start as novices if people don’t get past being novices you fail Knurling (affordance for grip) Virtual affordance

Feedback Can you tell what its doing? Can you tell the consequences of actions? –e.g. Folders highlight when you drag over them indicating that if you “let go” the file will go inside the folder very important to reliable operation –important for all users

Mechanics: “feel” & difficulty Fitts’ law (next) tells us about difficulty –predicts time to make a movement “Feel” is trickier –Can depend on physical input dev physical movements, forces, etc. –Really gets back to the difficulty of the movement, but harder to characterize Important for all, but esp. experts

Fitts’ law Fitts’ was studying “pointing” behavior. –Move your hand to touch within a circular target Analog for press a button of a certain size Originally e.g., in aircraft controls –Also turns out to model “move mouse to screen position” to e.g., press a virtual button very well –Turns out that time to do this is related to distance to target and size of target

Fitts’ law Time = A + B*log 2 (Dist/Size + 0.5) Time is linearly proportional to log of “difficulty” –proportionality constants depend on muscle group, and device –Difficulty controlled by distance and required accuracy (size of target) –Empirically derived (will see theory a bit later)

Fitts’ law (True) expert performance tends to be closely related to time required for movements –not well related to learning (or performance) of novices –still need to consider “cognitive load”

Mini case study #1 The original “Macintosh 7” Macintosh (1984) was first big success of GUIs –Originally came with 7 interactors built into toolbox (hence used for majority) Most not actually original w/ Mac –Xerox Star (+ Smalltalk & earlier)

The Macintosh 7 Generally very well designed (iterated with real users!) –very snappy performance dedicated whole processor to updating them (little or no “OS”) Huge influence –These 7 still cover a lot of today’s GUIs (good and bad to that)

Button Shaped as rounded rectangles (about “modern” square corners…) Inverted for feedback –Recall Mac was pure B/W machine –Pseudo 3D appearance hard and hadn’t been invented yet

Slider Used for scroll bars (but fixed size “thumb”) –Knurling on the thumb –“Pogo stick” problem

Aside: a different scrollbar design Openlook scroll bar “Elevator” bar Thumb (with up/down buttons) Page extent indicator

Pulldown menu –This was original with Mac Differs slightly from Windows version you may be familiar with –had to hold down button to keep menu down (one press-drag-release) Items highlight as you go over Selected item flashes

Check boxes, radio buttons, text entry / edit fields Pretty much as we know them Single or multi-line text supported from the beginning

File pick / save Much more complex beast than the others –built from the others + some e.g. no affordance, by you could type and file list would scroll to typed name

Original Mac also had others Window close and resize boxes Drag & open file icons and folders Not made generally available –not in toolbox, so not (re)usable by other programmers

Second major release of Mac added a few Lists –single & multiple selection –from textual lists (possibly with icons) Hierarchical (“pull-right”) menus Compact (“in-place”) menus –select one-of-N pulldown Window zoom box

Have seen a few more added since then Tabbed dialogs now widely used Hierarchical lists (trees) “Combo boxes” –Combination(s) of menu, list, text entry A few more + variations on things Typically don’t see much more than that

Almost all GUIs supported with the above interactor types Good ones that work well –uniformity is good for usability But, significant stagnation –“dialog box mindset” –opportunities lost by not customizing interaction techniques to tasks

Mini case study 2: Menus Menu –supports selection of an item from a fixed set –usually set determined in advance –typically used for “commands” –occasionally for setting value (e.g., picking a font)

Design alternatives for menus Simple, fixed location menus (see these on the web a lot) –easy to implement –good affordances easy for novices (always same place, fully visible) –Focus of attention problems –Screen space hog

Popup menus Menu pops up under the cursor (sometimes via “other button”, e.g., right button on PC) –close to cursor not under it, why?

Popup menus Menu pops up under the cursor (sometimes via “other button”, e.g., right button on PC) –close to cursor What does Fitts’ law say about this?

Popup menus Menu pops up under the cursor (sometimes via “other button”, e.g., right button on PC) –close to cursor Fitts law says: very fast also focus not disturbed –takes no screen space (until used) –can be context dependent (!) –poor (non-existent) affordance

Getting best of both: Mac pulldown menus Menu bar fixed at top of screen, with pull- down submenus –benefits of fixed location –provides good affordance –good use of space via partial popup –but splits attention & requires long moves

Fitts’ law effects Windows menus at top of windows, vs. Mac menus at top of screen –Interesting Fitts’ law effect what is it?

Fitts’ law effects Windows menus at top of windows, vs. Mac menus at top of screen –Interesting Fitts’ law effect thin target vertically (direction of move)  high required accuracy hard to pick but… (anybody see it?)

Fitts’ law effects With menu at top of screen can overshoot by an arbitrary amount (Example of a “barrier” technique) –What does Fitts’ law say about that?

Fitts’ law effects With menu at top of screen can overshoot by an arbitrary amount –very large size (dominated by horizontal which is wide) –Original Mac had 9” screen so distance not really an issue –very fast selection

Pie menus A circular pop-up menu –no bounds on selection area basically only angle counts do want a “dead area” at center –What are Fitts’ law properties?

Pie menus A circular pop-up menu –no bounds on selection area basically only angle counts do want a “dead area” at center –Fitts’ law properties: minimum distance to travel minimum required accuracy very fast

Pie menus Why don’t we see these much?

Pie menus Why don’t we see these much? Just not known Harder to implement –particularly drawing labels –but there are variations that are easier Don’t scale past a few items –No hierarchy

Beating Fitts’ law (a hobby of mine) Can’t really beat it –property of being human –but you can “cheat”! One approach: avoid the problem –use a non-pointing device shortcuts & fixed buttons mouse wheel for scrolling

Beating Fitts’ law Not everything can be a shortcut Other major approach: manipulate interface to reduce difficulty –distance (put things close) but not everything can be close have to make them smaller!

Beating Fitts’ law Most ways to “cheat” involve manipulating size –typically can’t make things bigger w/o running out of screen space (but look at that as an option) –but… can sometimes make things act bigger than they are

“Cheating” on target size Consider targets that are not just passive –not all movements end in “legal” or useful positions –map (nearby) “illegal” or non-useful onto “legal” ones hit of “illegal” position treated as legal –e.g. positions above Mac menubar effective size bigger

Snapping (or “gravity fields”) Treat movement to an “illegal” point as if it were movement to closest “legal” (useful / likely) point –Cursor or other feedback snaps to “legal” position –Drawn to it as if it has gravity

Snapping Simplest: grids Constrained orientations & sizes –90° & 45°, square More sophisticated: semantic –only attach circuit diagram items at certain spots Snap here

Snapping Even more sophisticated: dynamic semantics –Check legality and consequences of each result at every move don’t catch errors, prevent them!

Other approaches Area cursors –Make the cursor (or active area) much bigger –Any part of cursor over object allows selection Width in Fitts’ law sense is sum of cursor and object –Issue What is it?

Other approaches Area cursors –Make the cursor much bigger –Any part of cursor over object allows selection Width in Fitts’ law sense is sum of cursor and object –Issue Pick ambiguity: what if two more objects under? –Solution: ?

Other approaches Area cursors –Make the cursor much bigger –Any part of cursor over object allows selection Width in Fitts’ law sense is sum of cursor and object –Issue Pick ambiguity: what if two or more objects under? –Solution: adaptive approach Reduce cursor size when ambiguous

More aggressive approaches Barriers –Put a barrier behind the object “Natural”: screen edge (but can’t put all things there) “Artificial”: anywhere*  Effectively very large size (like Mac menus) *But how do you know where to put them? Incorrectly placed they can block interaction Needs to be behind the intended target only How do you know what the intended target is?

More aggressive approaches Sticky icons –Adjust the mouse gain Ratio of “mickeys” (mouse rotation ticks) to pixels –Make mouse slower over target  Has effect of making target larger –BUT… If you do this everywhere it just slows everything How do you know you are over the target?

So how do we know which is the intended target? Note: A number of possibilities if we knew the intended target in advance –Above aggressive approaches to beating Fitts’ –Also prefetch and/or precomputation May be able to do a more detailed analysis of the movement to figure this out

More detailed explanation of Fitts’ law Why is it a log relationship (not linear)? One explanation lies in “micro-structure” of the movement control (not only / best explanation) –Movement made up of main move and a series of corrections each regulated by feedback Sub-movements get smaller (by fixed percent) but take constant time (one perceptual-motor cycle)  Log number of expected correction steps

Ballistic motions Recall –Velocity is change in position per unit time First derivative of position WRT time –Acceleration is change in velocity per unit time Second derivative –Jerk is change in acceleration per unit time Third derivative –Snap is change in jerk per unit time One model of ballistic motion: minimize jerk –Min acceleration doesn’t work, min snap collapses back to min jerk when zero vel / accel at ends of movement

Minimum jerk model Minimum jerk model says that a single ballistic (uncorrected) movement would look like: Velocity Time

Real movement micro-structure Observed movements show “corrective tail” –Corrective movements based on perceptual feedback cycles* (sometimes see separate “bumps” but usually appear continuous) *other explanations exist Velocity Time

Reading Andrea H. Mason, Masuma A. Walji, Elaine J. Lee, Christine L. MacKenzie, “Reaching movements to augmented and graphic objects in virtual environments”, Proceedings of CHI '01, 2001, Seattle, pp

Predicting being near target Aileen Worden, Neff Walker, Krishna Bharat, Scott Hudson, "Making computers easier for older adults to use“, Proceedings of CHI '97, March 1997, Atlanta, pp Adaptive area cursors and sticky icons Predicts that we are near target when velocity falls to 30% of peak velocity

Idea for better predictions: Minimum jerk model again Equations for this: –Assuming zero velocity and acceleration at start and end of movement –Start position: X 0,Y 0 ; End position: X f, Y f –Movement time: MT; Normalized time:  = t/MT X(t) = X 0 + (X 0 - X f )(-10   4 -6  5 ) Y(t) = Y 0 + (Y 0 - Y f )(-10   4 -6  5 )

Minimum jerk model again Simplify a little more –Assuming X 0,Y 0 = 0 (relative movement) X(t) = X f (10   4 +6  5 ) Y(t) = Y f (10   4 +6  5 ) (Model can’t be completely right. Why?)

Supplemental reading (more details on equations) Mary D. Dlein Breteler, Stan C. A. M. Gielen, Ruud G. J. Meulenbrock, "End-point constraints in aiming movements: effects of approach angle and speed", Biol Cybern, v85, pp 65-75,

(Untested) idea for prediction Collect points from beginning of motion For each known possible ending point –Predict MT based on Fitts’ law –Test fit of observed points to min-jerk equation  Best fit is prediction Issues –Probably need to model corrective tail also –Don’t know error / uncertainty / sensitivity

Another (untested) idea Detecting non-dexterous users Look at microstructure of movement to detect motor control deficiencies –Normal aging Minor to moderate difficulty mostly with small targets –More severe disabilities of various sorts May be able to classify and provide specific help E.g., tremor vs. other kinds of dysfunction E.g., find onset of difficulty or apply specialized filters –Kalman filter based on expected dexterous movements(?)

“Trying one of these out” is a possibility for project 2