name: inverse layout: true class: center, middle, inverse --- # Properties of People II: Motor Control & Mental Models Jennifer Mankoff CSE 340 Spring 2019 --- layout: false .title[ Let's try an experiment ] .right-column[ - [Fitts' Law Experiment](http://simonwallner.at/ext/fitts/) (simonwallner.at/ext/fitts) Scroll down to just below 'A word of warning' - Click the red circles as fast as possible ![:img Image of an interface with a red dot and many grey dots on the left and a dialog on right to control randomization and highlight distance and width in a Fitts' law experiment., 80%](img/pm/fitts.png) ] --- [//]: # (Outline Slide) .title[ Today's goals ] .body[ Experience Fitts' Law Discuss its implications for design Introduce Guiard's model of Bi-Manual Control Discuss its implications for design ] --- .left-column-half[ # Throughput ![:img Picture of graph of fitts law data collected when I did the experiment. Y axis is time and x is index of difficulty. It's fairly noisy because fitts law is designed to measure multiple people. However it does fit a line., 80%](img/pm/timeoverid.png) ] .right-column-half[ .jax[$$MT = a + b*log_2({Dist \over Size} + 1)$$ ] where - *MT* is movement time - *ID/MT* is the *Throughput* of a device in bits/second - *a* and *b* are empirically derived constants - ID is the *Index of Difficulty* (ID, in bits) of a movement .jax[$$log_2({Dist \over Size} + 1)$$] ] ??? This is just a line Fitts’ law tells us about difficulty for pointing and selection tasks - Time to move the hand depends only on relative precision required - MT increases as __distance__ from target increases - MT decreases as __size__ of target increases - Diagram this --- .title[ Compare device performance & Human Performance ] .left-column-half[ ![:img Graph of Fitts law lines for various body parts (Neck Arm Wrist Finger) with time on the Y axis and bits on the X axis, 100%](img/pm/body-fitts.png) ] .right-column-half[ .font-small[ Device/Part | Study | Throughput (bits/s) | Relative to Optimal -------|-------|------------ | ----------- Finger | Langolf (1976) | 38 Wrist | Langolf (1976) | 23 EyeTracker| Ware & Mikaelian (1987) | 13.7 | Hand | Fitts (1954) | 10.6 Arm | Langolf (1976) | 9.5 Xbox 360 | Zaranek (2014) | 5 | **.47** (arm) Mouse | Mackenzie (2001) | 4.9 | .46 (hand) Neck | Pfaff (1985) | 4.2 | Trackball | Mackenzie (2001)| 3.0 | .28 (hand) Touchpad | Mackenzie (2001) | 2.9 | .27 (hand) Head | Hansen (2018) | 2.5 | **.51** (neck) Gaze | Hansen (2018) | 2.1 | **.15** (eyetracker) Joystick | Mackenzie (2001)| 1.8 | .17 (hand) Playstation Move | Zaranek (2014) | 1.5 | .16 (arm) Kinect | Zaranek (2014) | 1 | .1 (arm) ] ] .footnote[Card, S. K., Mackinlay, J. D., & Robertson, G. G. (1991).
A morphological analysis of the design space of input devices.
ACM Transactions on Information Systems (TOIS), 9(2), 99-122. ] ??? Useful to know if you're designing something like VR Doesn't have much impact on interface design Doesn't capture everything; e.g. error rate is higher for eye tracker --- .title[Warnings] .body[ Applies to *expert, errorless* use ![:img bar chart of Average WPM for error rates of 1% to 20% in a study that falsely inserted typing errors is much higher for 1% than 20%,75%](img/pm/errors.png) ] .footnote[Error rate was manipulated by faking errors. Ahmed Sabbir Arif and Wolfgang Stuerzlinger. CHI 2010. Predicting the cost of error correction in character-based text entry technologies. In Proceedings of the ] ??? Subtle effects here – like the time to fix errors goes up as the error rate goes up… --- .title[That said, let's talk through implications of Fitts' law] .body[ Why are some things harder than others to click on? ![:img Picture of mac desktop and windows desktop. Of note is the main menu bar which is at the very top of the mac desktop but at the top of *each* window on the windows desktop, 80%](img/pm/macvswindows.png) ] ??? Constantly relevant Intuitively, things that are closer and/or bigger are faster and easier to hit (and vice versa) --- .title[ Design Tip #1: Make small targets larger ] .body[ What does this do to Fitts Law Predictions? ] -- .body[ - Maximizes W ] -- .body[ Why not all targets? ] -- .body[ - Fitts' law involves log -- exponentially bigger gains for small targets ] --- .title[Design Tip #2:
Put commonly used things close together ![:img Screenshot of the powerpoint toolbar with grouped things,150%](img/pm/powerpoint-toolbar.png) ] --- .title[Design Tip #2:
Put commonly used things close together] .left-column50[ ![:img Image of the drag'n'pop interface which moves icons to the cursor when they are valid targets,80%](img/pm/dragpop.png) ] .right-column50[ # ... Or bring them closer to cursor What does this do to Fitts Law predictions? Why not all targets? How to implement? ] .footnote[ Baudisch, P., Cutrell, E., Robbins, D., Czerwinski, M., Tandler, P. Bederson, B., and Zierlinger, A. Drag-and-Pop and Drag-and-Pick: Techniques for Accessing Remote Screen Content on Touch- and Pen-operated Systems. In Proceedings of Interact 2003, Zurich Switzerland, August 2003, pp. 57-64. ] ??? Reduces D Not good design to put everything close together No space to move all targets (contextual filtering helps) Could do with a fancy container... --- .title[What does this do to Fitts Law Predictions? ] ??? - Minimizes D - Other usability goals matter too -- e.g. grouping related things --- .title[ Can we make things *Closer* and *Larger*
at the same time? ] .body[ ![:img Image of mac with doc icons magnified,100%](img/pm/mac-expanded.png) ] --- .title[ What we're doing is Beating Fitts' Law! ] .body[ How else can we do this? ] -- .body[ Just don't use a mouse! Shortcut buttons; scroll wheel Or CHEAT... manipulate the interface - Minimize D - Increase W ] --- .title[Does this minimize (A) D or increase (B) W?] .body[ Select from a menu bar at top of screen ![Picture of the apple menu opened on a mac,100%](img/pm/mac-noedge.png) ] ??? Problems? - Can be tiring to reach edges of *very* large screens - Not all interfaces can do this (e.g. web designers) --- .title[Design Tip #3: Make use of Edges: They are Infinite] .right-column[ ![:img Picture of the Windows menu in Windows 95 Windows XP and Windows 8 showing progressive improvement in the relationship between look (namely a border around the icon) and feel (can click anywhere making it an infinetly large button which is easier to hit from a Fitts law perspective), 100%](img/pm/windows-comparison.png) ] ??? - Windows 95 bug: bottom-left corner is offset by a few pixels, can’t click on it - Windows XP fixes it by making Start button go all the way to the corner - Windows 8 uses styling to make start menu circular, but still makes entire corner clickable --- .title[Does this minimize (A) D or increase (B) W?] .body[ Right click in place and then select (starting at :19) ![:youtube Illustration of advantages of marking menus,dtH9GdFSQaw?start=19] ] .footnote[ Kittenish, G., & Buxton, W. (1994, April). User learning and performance with marking menus. In CHI (Vol. 94, pp. 258-264). ] ??? Minimizes D AND increases W (only angle matters) --- .title[Does this minimize (A) D or increase (B) W?] .body[ Why is it so rare & unfamiliar? ![:img Left -- A pie menu consisting of a circle broken into eight wedges containing menu items like copy and undo; right-- A picture of a standard linear menu ,100%](img/pm/linear-pie.jpg) ] .footnote[ Left example: OneNote 2013, Right example: Firefox. Taken from [Fitts law and user experience](https://www.smashingmagazine.com/2012/12/fittss-law-and-user-experience/) by [https://www.smashingmagazine.com/author/anastasios-karafillis/](Anastasios Karafillis) ] --- .title[Design Tip #4: Use pie menus instead of context menus for expert tasks] -- .body[ Under some circumstances only... - Less than 8 options (Small target areas when too many menu entries are added) - Expert user (willing to memorize and gain advantage of marking menus) - Grouping not important (hard to group radially) - Have the implementation capacity on staff (**Shouldn't be a thing! Whorfian effects**) ] --- .title[ Does this minimize (A) D or increase (B) W? ] .body[ ![:img video of someone moving emails into folders with snapping,100%](img/pm/gmail-snapping.gif) ] ??? Snapping to a target - [A] Minimize D? - [B] Maximize W? minimizes D --- .title[Design Tip #5: Use snapping to minimize distance
when likely targets are known ] .body[ ![:img Picture showing drag snapping in gmail trello and chrome,60%](img/pm/common-snapping-cases.png) .font-small[ Gmail | Trello | Chrome ----- | ------ | ----- ![:img check, 10%](img/pm/check.png)Drag Handle | ![:img x, 10%](img/pm/x.png)No Handle | ![:img x, 10%](img/pm/x.png) No Handle ![:img ,10%](img/pm/grab-cursor.png)Grab cursor | ![:img ,10%](img/pm/pointer-cursor.png)Pointer cursor | ![:img ,10%](img/pm/cursor.png)Default cursor ![:img check, 10%](img/pm/check.png)Drop Shadow | ![:img check, 10%](img/pm/check.png)Drop Shadow | ![:img x, 10%](img/pm/x.png) No Drop Shadow ![:img check, 10%](img/pm/check.png)Drop Target | ![:img check, 10%](img/pm/check.png)Drop Target | ![:img x, 10%](img/pm/x.png) No Drop Target ![:img x, 10%](img/pm/x.png) No Natural Movement | ![:img check, 10%](img/pm/check.png)Natural Movement | ![:img check, 10%](img/pm/check.png) Natural Movement ] .footnote[Examples courtesy of [Drag and Drop for Design Systems](https://uxdesign.cc/drag-and-drop-for-design-systems-8d40502eb26d)] ] ??? Also common in drawing programs Most sophisticated approach: dynamic semantics: Check legality and consequences of each result at every move don’t catch errors, prevent them --- .title[Does this (A) minimize D or (B) maximize W?] .body[ Fan Cursor, Area Cursor and Bubble Cursor ![:youtube Video showing a variety of schemes for making the cursor bigger including fan cursor; area cursor; and bubble cursor,bq1x5cRqgUc] ] .footnote[Su, X., Au, O. K. C., & Lau, R. W. (2014, April). The implicit fan cursor: a velocity dependent area cursor. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (pp. 753-762). ACM.] --- .title[Design Tip #6: Separate Motor Size from Visible Size] .left-column[ ![:img Picture of two versions of a dialog box; scrollbar; and menu, 100%](img/pm/hiddensize.png) ] .right-column[ - (a) Visual space appearance of buttons in a dialogue box. - (b) Motor space version of button design in (a) with much larger targets for certain buttons. - (c) Standard scroll-bar design. (d) Visual space appearance of scroll-bar redesigned to occupy smaller screen space. - (e) Motor space version of scroll-bar design in - (d) with larger targets for active areas. - (f) Visual space appearance of menu. - (g). Motor space version of the menu design in (f) with the distance m to more important items reduced by compressing the size Wm of less important items) ] .footnote[Semantic pointing widget designs from Blanch et al. 2004] ??? How would you implement this? - Manipulate picking - Whorfian effects --- .title[Would you ever make something too small virtually?] ??? How about a cancel button? --- .title[How long will this take?] .right-column-half[ Select 'Open New Window in Process' ] .left-column[ ![:img Cascading menus. User wants to use "Open New Window" then "Open new window in process" -- second option-- but the most direct path takes them over "Open command prompt" which changes the displayed sub-menu causing problems, 200%](img/pm/size.png) ] -- .right-column-half[ Steering law ... Fitts law integrated over the path you have to folow ] -- .right-column-half[ But it's not predictive at all. Why? ] ??? Doesn't account for actual user behavior --- .title[Actual User Behavior] .right-column[ ![:img Cascading menus. User wants to use "Open New Window" then "Open new window in process" -- second option -- but the most direct path takes them over "Open command prompt" which changes the displayed sub-menu causing problems, 100%](img/pm/size1.png) ] --- .title[Actual User Behavior] .right-column[ ![:img Cascading menus. User wants to use "Open New Window" then "Open new window in process" -- second option -- but the most direct path takes them over "Open command prompt" which changes the displayed sub-menu causing problems, 100%](img/pm/size2.png) ] ??? Overly eager cascading menus, wrong submenu - Common problem w/ web menus (but not Mac or Win) - could brainstorm solutions (e.g. snapping? set focus somehow?) - whorfian effects: this is hard to implement --- .title[Fitts law has a huge limitation] .body[ It is only predictive of **ERROR-FREE, EXPERT** behavior We will talk about this more in our discussion of [Interaction Design](../wk04/interfaces.html) ] --- .title[ What else might we want to measure? ] ??? - Time on Task -- How long does it take people to complete basic tasks? (For example, find something to buy, create a new account, and order the item.) - Accuracy -- How many mistakes did people make? (And were they fatal or recoverable with the right information?) - How strenuous (e.g. gaze has lower throughput but is less strenuous than head pointing Mackenzie 2018) ... - Recall -- How much does the person remember afterwards or after periods of non-use? - Emotional Response -- How does the person feel about the tasks completed? (Confident? Stressed? Would the user recommend this system to a friend?) Build up a list of good UI design principals from these basics - Undo - Predictability - ... What is missing? (e.g. fun) ] --- .title[Case Study: Text Entry Speed on Mobile Devices] .left-column[ ![:img Picture of phone keypad with buttons laid out in rows of "1 2 3 - 4 5 6 - 7 8 9 - * 0 #", 100%](img/pm/buttons.png) ] .right-column[ Multi-tap ``` 77 88 444 222 55 0 22 777 666 9 66 0 333 666 99 q u i c k _ b r o w n _ f o x ``` Slow, lot's of overhead ] --- .title[Case Study: Text Entry Speed on Mobile Devices] .left-column[ ![:img Picture of phone keypad with buttons laid out in rows of "1 2 3 - 4 5 6 - 7 8 9 - * 0 #", 100%](img/pm/buttons.png) ] .right-column[ Multi-tap (~ 20 WPM) ``` 77 88 444 222 55 0 22 777 666 9 66 0 333 666 99 q u i c k _ b r o w n _ f o x ``` T9 - dictionary based disambiguation (~ 20 WPM) ``` 7 8 4 2 5 0 2 7 6 9 6 0 3 6 9 q u i c k _ b r o w n _ f o x 843 78425 27696 369 58677 6837 843 5299 364 the quick brown fox jumps over the jazz dog tie stick crown lumps muds tie lazy fog vie vie ``` ] ??? Most common word (top) not always right --- .title[Case Study: Text Entry Speed on Mobile Devices] .left-column[ ![:img Picture of phone keypad with swype enabled and the swype for quick shown, 100%](img/pm/swype.jpg) ] .right-column[ Method | Speed ----|---- Multi-tap | ~ 20WPM T9 - dictionary based disambiguation | ~ 20 WPM Swype | ~ 55 WPM Keyboard | ~ 55 WPM Flesky | Up to 80 WPM ([Guinness World Record!](https://www.cnn.com/2014/05/15/tech/mobile/guiness-record-fastest-text/) ) Speech | ~ 150 WPM Skeptical? Need to know % errors and time cost of error correction to truly evaluate ] ??? Flesky is combination of gestures and automatic error correction --- .title[Two Handed Interaction] .body[ ![Picture by Escher of two hands each drawing the other](img/pm/escher.png) ] ??? Used to be a norm Seems we forgotten to include it in our interfaces --- .title[Guiard's model of bimanual control] .body[ Hand | Role and Action ---- | ---- Non-preferred | Leads the preferred hand (in time) | Sets the spatial frame of reference for the preferred hand | Performs coarse movements Preferred | Follows the non-preferred hand | Works within established frame of reference set by the non-preferred hand | Performs fine movement Aside: Guiard is assuming right-handed. Tendencies somewhat less clear for left-handers, but we typically assume this still applies ] .footnote[ Seminal work Yves Guiard, “Asymmetric Division of Labor in Human Skilled Bimanual Action: The Kinematic Chain as a Model”, Journal of Motor Behavior, Vol. 19, No. 4, 1987, pp. 486-517.http://cogprints.org/625/ ] ??? non-preferred hand sets context for preferred coarser, slower movement tends to move first ??? Applications? - Mouse+keyboard - Lenses ] --- .title[What does theory say about keyboard layout?] .body[ ![:img Picture of right-handed user typing on keyboard with leftside and rightside power keys and mouse on right side (top). Picture of user mousing with same set ups (bottom). Of note is the bad angle for the mouse in the keyboard with the right side power keys, 50%](img/pm/keyboard-mouse.jpg) ] .footnote[From [Evoluent keyboard advertisement](https://turningpointtechnology.com/KB/EV/KB1.asp)] --- .title[Analysis of alternative keyboard layout] .body[ Task | Leading Movement | Trailing/Overlapping Movement ----|----|---- Delete | Right hand — manipulate pointer with mouse; select by double clicking/dragging | Left hand — press DELETE (probably with little finger) Select an option in a window (see Figure 15) | Right hand — manipulate pointer with mouse; click option | Left hand — press ENTER (Assumes OK button is default) Click on a link in a browser | Left hand — navigate to link via PAGE UP and/or PAGE DOWN keys | Right hand — manipulate pointer with mouse; select link by clicking Open file; open folder; launch program | Right hand — manipulate pointer with mouse; single click on icon | Right hand — press ENTER (avoids error prone double-click operation) ] --- .title[Other Examples: Tool Stone for Magic Lenses] .body[ ![:youtube By manipulating a mouse and a cube (one in each hand) the user controls a lens and uses it on screen, V32SnUnAe2E] Inspired by [1994 CHI paper](https://dl.acm.org/citation.cfm?id=166126) Published in [UIST 2000](https://lab.rekimoto.org/projects/toolstone/) ] --- .title[Magnification] .body[ ![:img Picture of a mandelbrot fractal with a lens over part of it magnifying that part, 100%](img/pm/magnification.png) ] --- .title[Font Selection] .body[ ![Picture of a paragraph of text with a lens containing a menu of options for bold italic regular and bold italic,80%](img/pm/font-selection.png) ] ??? Fitts' law implications? --- .title[Debugging Lenses] .body[ ![:img Picture of a GUI application with a lens showing information about two lines including their coordinates and the option to turn on and off additional features, 80%](img/pm/debugging.png) ] .footnote[ Hudson, S. E., Rodenstein, R., and Smith, I. 1997. Debugging lenses: a new class of transparent tools for user interface debugging. In Proceedings UIST '97, 179-187. http://doi.acm.org/10.1145/263407.263542 ] --- .title[Advantages of Lenses] .body[ In context interaction Little or no shift in focus of attention and/or movement Alternate views in context and on demand ] ??? - tool is at/near action point - can compare in context - useful for “detail + context” visualization techniques -- .body[ Structured well for 2 handed input - non-dominant hand does course positioning (of the lens) - dominant hand does fine work "Spatial modes" - Use “where you click through” to establish meaning - Typically has a clear affordance for the meaning ] --- .title[Implementing Lenses] .small[
graph TD Root((Root)) --> LP((Lens Parent)) LP --> L[Lens] LP --> I((Interactor 1)) LP --> II((Interactor 2)) LP --> III((Interactor 3))
] .footnote[Edwards, Hudson, et al., “Systematic output modification in a 2D user interface toolkit”, UIST ’97. http://doi.acm.org/10.1145/263407.263537 ] ??? Can be implemented with special "lens parent" container & lens interactors - Lens may need to change results of picking (only positional is affected) in collusion with lens parent - Lens parent forwards all damage to all lenses - Lenses typically change any damage that overlaps them into damage of whole lens area - Can pass a subclass of Drawable to "ambush and modify" drawing for output effects --- .title[Discussion: Should scrolling be dominant or non-dominant?] .body[ What tasks is scrolling used for? Which precedes/follows? ] ??? Task | Characteristics Scrolling | precedes/overlaps other tasks | sets the frame of reference | minimal precision needed (coarse) Selecting, editing, reading, drawing, etc. | follows/overlaps scrolling | works within frame of reference set by scrolling | demands precision (fine) --- .title[# Summary Slide] .body[ - Make small targets larger - Put commonly used things close together - Use edges. They are infinite in W - Use pie menus for expert tasks (better yet, marking menus) - Use snapping to reduce D when targets are known - Separate motor and visible size 2 Handed input principles - Non preferred leads - Sets frame of reference - Preferred does fine movement ]
layout: true