Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!aplcen!haven!mimsy!brillig.umd.edu!don
From: don@brillig.umd.edu (Don Hopkins)
Newsgroups: comp.cog-eng
Subject: Re: Menu Interaction Techniques
Summary: "touch typing" with pie menus
Keywords: mouse ahead, pie menus
Message-ID: <19812@mimsy.UUCP>
Date: 26 Sep 89 23:22:46 GMT
References: <2722@trantor.harris-atd.com> <16179@brunix.UUCP>
Sender: nobody@mimsy.UUCP
Reply-To: don@brillig.umd.edu.UUCP (Don Hopkins)
Organization: U of Maryland, Dept. of Computer Science,
Lines: 150

In article <16179@brunix.UUCP> jhc@iris.brown.edu (James H. Coombs) writes:
>In article <2722@trantor.harris-atd.com> chuck@melmac.harris-atd.com
>(Chuck Musciano) writes:
>
>> I contended that each menu usage would require a visual
>> search and explicit select action, making it harder to use.
>
>I have seen no research on this, so I will offer an observation.  I 
>frequently find that I select the wrong item or no item at all when
>I attempt to select from a menu without focusing my vision on the
>desired item.  I have not experienced the equivalent of touch typing
>with menu selection.  D. A. Norman is right on target: menus are
>optimized for selection but pessimized for performance.
>
>--Jim
>

"Mouse ahead" (the mouse equivalent of "touch typing") works very well
with pie menus. Since each pie menu item is in a different direction
from the cursor, you can make a menu selection very quickly without
looking at the menu, if you know which direction it's in. Linear menus
require your visual attention, because they depend on the distance you
move the cursor, and you can't tell that for sure without looking. Pie
menus just depend on the direction of movement, with the added
advantage that you can move the cursor out further in whatever
direction to get more angular precision (pie slices are much wider
on the outside of the pie than in the middle).

I found that mousing ahead into familiar pie menus was so easy, that I
implemented "mouse ahead display supression", where the display of
menu is supressed if you complete a selection fast enough.  This
feature really speeds up interaction with commonly used menus, such as
the menu of window managment functions.  If you know the direction of
the item you want, then there is no need to see the menu, and it
really slows down interaction for the computer to pop it up, paint
it, and pop it right back down, after you've already completed the
selection. 

I use pie menus regularly, and I can make menu selections reliably and
quickly from a reasonably sized pie menu (8 items is /very/
reasonable), even with my eyes closed.

Pie menu interaction is very gestural, and the layout of the items in
a pie menu can be designed to take good advantage of muscle memory. Of
course, muscle memory only helps you with static menus. When the
number of items in a pie menu change, the direction you have to move
the cursor to select each item changes. I agree with Chuck, especially
in the case of pie menus, that muscle memory really helps speed up
interaction with static menus, but muscle memory works against you
with dynamic menus.

Enclosed is a blurb about pie menus. If you would like to try them out
first hand (the only way to really know what they're like), I'd be
glad to send you the PostScript source code that implements them for
the NeWS window system, along with a window manager designed to take
advantage of pie menus. My implementation is in the public domain, and
freely redistributable. The idea is not patented or proprietary, and I
encourage you to implement them for your favorite toolkit; just send
me some mail, and I'll share with you what I've learned.

	-Don

	     Directional Selection is Easy as Pie Menus!

			     Don Hopkins
			University of Maryland
		    Human Computer Interaction Lab
			College Park, MD 20742
			    (301) 454-1517

		    Simple Simon popped a Pie Men-
			u upon the screen;
		    With directional selection,
			all is peachy keen!

The choices of a Pie Menu are positioned in a circle around the cursor,
instead of in a linear row or column. The choice regions are shaped like
the slices of a pie.  The cursor begins in the center of the menu, in an
inactive region that makes no selection.  The target areas are all
adjacent to the cursor, but in a different directions.

Cursor direction defines the choice.  The distance from the menu center
to the cursor, because it's independent of the direction, may serve to
modify the choice.  The further away from the Pie Menu center the cursor
is, the more precise the control of the selection is, as the Pie slice
widens with distance.

With familiar menus, choices can be made without even seeing the menu,
because it's the direction, not the distance, that's important.
"Mousing ahead" with Pie Menus is very easy and reliable. Experienced
users can make selections quickly enough that it is not actually
necessary to display the menu on the screen, if the mouse clicks that
would determine the selection are already in the input queue.

The circular arrangement of Pie Menu items is quite appropriate for
certain tasks, such as inputing hours, minutes, seconds, angles, and
directions.  Choices may be placed in intuitive, mnemonic directions,
with opposite choices across from each other, orthogonal pairs at right
angles, and other appropriate arrangements.

Pie menus have been implemented for uwm, a window manager for X-Windows
version 10, for the SunView window system, and for NeWS, Sun's
extensible PostScript window system.  Don Hopkins did the uwm and NeWS
implementations, and Mark Weiser did the SunView implementation.

Jack Callahan has shown Pie Menus to be faster and more reliable than
linear menus, in a controlled experiment using subjects with little or
no mouse experience. Three types of eight-item menu task groupings were
used: Pie tasks (North, NE, East, etc...), linear tasks (First, Second,
Third, etc...), and unclassified tasks (Center, Bold, Italic, etc...).
Subjects were presented menus in both linear and Pie formats, and told
to make a certain selection from each. They were able to make selections
15% faster, with fewer errors, for all three task groupings, using Pie
Menus. Ben Shneiderman gave advice on the design of the experiment, and
Don Hopkins implemented it in Forth and C, on top of the X-Windows uwm.

The disadvantage of Pie Menus is that they generally take up more area
on the screen than linear menus. However, the extra area does
participate in the selection. The wedge-shaped choice regions do not
have to end at the edge of the menu window -- they may extend out to the
screen edge, so that the menu window only needs to be big enough to hold
the choice labels.

Proper handling of pop-up Pie Menus near the screen edge is important.
The menu should idealy be centered at the point where the cursor was
when the mouse button was pressed.  If the menu must be moved a certain
amount from its ideal location, so that it fits entirely on the screen,
then the cursor should be "warped" by that same amount.

Pie Menus encompass most uses of linear menus, while introducing many
more, because of their extra dimension. They can be used with various
types of input devices, such as mice, touch pads, graphics tablets,
joysticks, light pens, arrow keypads, and eye motion sensors. They
provide a practical, intuitive, efficient way of making selections that
is quick and easy to learn. And best of all, they are not proprietary,
patented, or restricted in any way, so take a look and feel free!

References:

    Pies: Implementation, Evaluation, and Application of Circular Menus
      By Don Hopkins, Jack Callahan, and Mark Weiser
      (Paper in preparation. Draft available from authors.)

    A Comparitive Analysis of Pie Menu Performance. 
      By Jack Callahan, Don Hopkins, Mark Weiser, and Ben Shneiderman.
      Proc. CHI'88 conference, Washington D.C.: available from ACM, NY.

    A Pie Menu Cookbook: Techniques for the Design of Circular Menus
      By Don Hopkins
      (Paper in preparation. Draft available from author.)