←back to thread

561 points cxr | 1 comments | | HN request time: 0.245s | source
1. DonHopkins ◴[] No.44480333[source]
The article mentions the late Mark Weiser's work on Ubicomp at Xerox PARC. Before he went to run PARC, we worked together at the University of Maryland, where he supported and collaborated with my work on pie menus.

Mark Weiser, Ben Shneiderman, Jack Callahan, and I published a paper at ACM CHI'88 about pie menus, which seamlessly support both relaxed "self revealing" browsing for novices, and accelerated gestural "mouse ahead" for experts: smoothly, seamlessly, and unconsciously training users to advance from novice to expert via "rehearsal".

Pie menus are much better than gesture recognition for several synergistic reasons: Most importantly, they are self revealing. Also, they support visual feedback, browsing, error recovery, and reselect. And all possible gestures have a valid and easily predictable and understandable meaning, while most gestures are syntax errors.

Plus the distance can also be used as an additional parameter, like a "pull out" font:direction / size:distance selection pie menu, with live feedback interactive both in the menu center and in the text document itself, which is great during "mouse ahead" before the menu has even been shown.

The exact same gesture that novices learn to do by being prompted by the pop-up pie is the exact same action experts use more quickly to "mouse ahead" through even nested menus without looking at the screen or needing to pop up the pie menu. (By the principle of "Lead, follow, or get out of the way!")

Linear menus with keyboard accelerators do not have this "rehearsal" property, because pressing multiple keys down at once is a totally different (and more difficult to remember and perform) action than pointing and clicking at tiny little menu labels on the screen, each one further from the cursor and more difficult to hit than the next.

Our controlled experiment compared pie menus to linear menus, and proved that pie menus were 15% faster, and had a significantly lower error rate.

Fitts' Law unsurprisingly predicted that result: it essentially says the bigger and closer a target is to the cursor, the faster and more reliably you can hit it. Pie menus optimize both the distance (all items directly adjacent in different directions), and the area (all items huge wedge shaped target areas that get wider as you move away from the center, so you get more precise "leverage" as you move more, trading off distance for angular precision.

https://en.wikipedia.org/wiki/Fitts%27s_law

An Empirical Comparison of Pie vs. Linear Menus, Proceedings of CHI'88:

https://donhopkins.medium.com/an-empirical-comparison-of-pie...

Pie Menus: A 30 Year Retrospective (37 years now):

https://donhopkins.medium.com/pie-menus-936fed383ff1

The Design and Implementation of Pie Menus: They’re Fast, Easy, and Self-Revealing. Originally published in Dr. Dobb’s Journal, Dec. 1991, cover story, user interface issue:

https://donhopkins.medium.com/the-design-and-implementation-...

>[...] Pie Menu Advantages

>Pie menus are faster and more reliable than linear menus, because pointing at a slice requires very little cursor motion, and the large area and wedge shape make them easy targets.

>For the novice, pie menus are easy because they are a self-revealing gestural interface: They show what you can do and direct you how to do it. By clicking and popping up a pie menu, looking at the labels, moving the cursor in the desired direction, then clicking to make a selection, you learn the menu and practice the gesture to “mark ahead” (“mouse ahead” in the case of a mouse, “wave ahead” in the case of a dataglove). With a little practice, it becomes quite easy to mark ahead even through nested pie menus.

>For the expert, they’re efficient because — without even looking — you can move in any direction, and mark ahead so fast that the menu doesn’t even pop up. Only when used more slowly like a traditional menu, does a pie menu pop up on the screen, to reveal the available selections.

>Most importantly, novices soon become experts, because every time you select from a pie menu, you practice the motion to mark ahead, so you naturally learn to do it by feel! As Jaron Lanier of VPL Research has remarked, “The mind may forget, but the body remembers.” Pie menus take advantage of the body’s ability to remember muscle motion and direction, even when the mind has forgotten the corresponding symbolic labels.

>By moving further from the pie menu center, a more accurate selection is assured. This feature facilitates mark ahead. Our experience has been that the expert pie menu user can easily mark ahead on an eight-item menu. Linear menus don’t have this property, so it is difficult to mark ahead more than two items.

>This property is especially important in mobile computing applications and other situations where the input data stream is noisy because of factors such as hand jitter, pen skipping, mouse slipping, or vehicular motion (not to mention tectonic activity).

>There are particular applications, such as entering compass directions, time, angular degrees, and spatially related commands, which work particularly well with pie menus. However, as we’ll see further on, pies win over linear menus even for ordinary tasks.

Gesture Space:

https://donhopkins.medium.com/gesture-space-842e3cdc7102

>[...] Excerpt About Gesture Space

>I think it’s important to trigger pie menus on a mouse click (and control them by the instantaneous direction between clicks, but NOT the path taken, in order to allow re-selection and browsing), and to center them on the exact position of the mouse click. The user should have a crisp consistent mental model of how pie menus work (which is NOT the case for gesture recognition). Pie menus should completely cover all possible “gesture space” with well defined behavior (by basing the selection on the angle between clicks, and not the path taken). In contrast, gesture recognition does NOT cover all gesture space (because most gestures are syntax errors, and gestures should be far apart and distinct in gesture space to prevent errors), and they do not allow in-flight re-selection, and they are not “self revealing” like pie menus.

>Pie menus are more predictable, reliable, forgiving, simpler and easier to learn than gesture recognition, because it’s impossible to make a syntax error, always possible to recover from a mistaken direction before releasing the button, they “self reveal” their directions by popping up a window with labels, and they “train” you to mouse ahead by “rehearsal”.

>[...] Swiping gestures are essentially like invisible pie menus, but actual pie menus have the advantage of being “Self Revealing” [5] because they have a way to prompt and show you what the possible gestures are, and give you feedback as you make the selection.

>They also provide the ability of “Reselection” [6], which means you as you’re making a gesture, you can change it in-flight, and browse around to any of the items, in case you need to correct a mistake or change your mind, or just want to preview the effect or see the description of each item as you browse around the menu.

>Compared to typical gesture recognition systems, like Palm’s graffiti for example, you can think of the gesture space of all possible gestures between touching the screen, moving around through any possible path, then releasing: most gestures are invalid syntax errors, and they only recognizes well formed gestures.

>There is no way to correct or abort a gesture once you start making it (other than scribbling, but that might be recognized as another undesired gesture!). Ideally each gesture should be as far away as possible from all other gestures in gesture space, to minimize the possibility of errors, but in practice they tend to be clumped (so “2” and “Z” are easily confused, while many other possible gestures are unused and wasted).

>But with pie menus, only the direction between the touch and the release matter, not the path. All gestures are valid and distinct: there are no possible syntax errors, so none of gesture space is wasted. There’s a simple intuitive mapping of direction to selection that the user can understand (unlike the mysterious fuzzy black box of a handwriting recognizer), that gives you the ability to refine your selection by moving out further (to get more leverage), return to the center to cancel, move around to correct and change the selection.

>Pie menus also support “Rehearsal” [7] — the way a novice uses them is actually practice for the way an expert uses them, so they have a smooth learning curve. Contrast this with keyboard accelerators for linear menus: you pull down a linear menu with the mouse to learn the keyboard accelerators, but using the keyboard accelerators is a totally different action, so it’s not rehearsal.

>Pie menu users tend to learn them in three stages: 1) novice pops up an unfamiliar menu, looks at all the items, moves in the direction of the desired item, and selects it. 2) intermediate remembers the direction of the item they want, pop up the menu and moves in that direction without hesitating (mousing ahead but not selecting), looks at the screen to make sure the desired item is selected, then clicks to select the item. 3) expert knows which direction the item they want is, and has confidence that they can reliably select it, so they just flick in the appropriate direction without even looking at the screen.