Pie Menus

Summary of Pie Menus at Usenix Work In Progress Session - June 1987

Directional Selection is Easy as Pie Menus!

Don Hopkins
University of Maryland
Heterogeneous Systems Laboratory
College Park, MD 20742
Written August 1987

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.

Directional Selection is Easy as Pie Menus! - March 1987

Directional Selection is Easy as Pie Menus!
Don Hopkins
University of Maryland
Written March 30, 1987
Abstract for the 4th Usenix Computer Graphics Workshop.

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

Pie Menus provide a practical, intuitive, efficient way for people to interact with computers. They run circles around buttoned-down square old pull down menus, in both capability and convenience.

The choices of a Pie Menu are organized in a circle around the cursor, so that the direction of movement makes the choice, allowing the distance to be used in other ways; essentially, they have two outputs: direction and distance. Pie Menus encompass many forms of input: they can utilize various types of hardware, and their two dimensions of output can represent many types of data.

Their circular nature makes them especially well suited for spatially oriented tasks. Menu choices can be positioned in mnemonic directions, with complementary items across from each other, orthogonal pairs at right angles, and other natural arrangements. Pie Menus can make intuitively explicit the symmetry, balance, and opposition between choices.

Choices can be made from Pie Menus in quick, easily remembered strokes. When the direction of a selection in a Pie Menu is known, it can be chosen without even looking. The use of familiar Pie Menus does not require any visual attention, as the use of pull down menus demands.

Experiments comparing pull down menus and Pie Menus have shown clearly that people can choose items faster and with fewer errors from Pie Menus. They are straightforward and simple to master, and facilitate a swift, fluent, natural style of human computer interaction.

Callahan's Pie Menu Versus Linear Menu Experiment - October 1987

Date: Tue, 14 Oct 86 23:28:14 EDT
From: mark@markssun.cs.umd.edu (Mark Weiser)
To: callahan@mimsy.umd.edu, don@mimsy.umd.edu
Subject: pie menus experiments

Jack, I am glad you decided to do a pi menu experiment. I did not read your experimental protocol carefully, but I think it is basically good. I will read it again tomorrow. Experiments are necessary to establish the efficacy of pi menus. If you get your data in time we, you, Don, and I, will have a super pi menu paper.
-mark

Mark Weiser's Pie Menus for Suntools - January 1987

While snowed in with his Sun workstation at home during January 1987, Mark Weiser implemented pie menus for Sunview. He used the Sunview pie menus for his classic "SDI" game.

Date: Fri, 23 Jan 87 20:12:37 EST
From: mark@markssun.cs.umd.edu (Mark Weiser)
To: don@mimsy.umd.edu
Subject: pies in sunview

I used the snow to hack pies into sunview. It works now without walking menus. Will have walking over the weekend.
-mark

Pie Menus for X10 "uwm" Window Manager - June 1986

My second implementation of pie menus (source code), written in June of 1986, was an extension to the X10 "uwm" window manager.

I refactored "uwm" and integrated it into Mitch Bradley's Sun Forth system, to implement a Forth programmable window manager with pie menus called "pietest" (source code). I reprogramming the window manager's main loop in Forth, to perform an empirical comparison of pie menus with linear menus.

Later, I wrote this generic pie menu layout and tracking code written in C is open source, and may be used as a basis to implement pie menus on other systems. It supports pie menus with any number of items. Each item can be of any positive angular width, as long as all the item widths add up to 360 degrees. Each item records the quadrant and slope of its leading edge. A leading edge is a ray going out from the menu center in the direction given by an item's (quadrant,slope) pair. The area of a pie menu item is the wedge between its leading edge, and the leading edge of the next menu item.

The generic pie menu tracking code is optimized to minimize floating point division and avoid calling atan2 during mouse tracking. But now most computers are much faster and have floating point hardware, so the optimizations are no longer necessary to keep up with the mouse (but they still might be useful on low end computers and small embedded devices).

Theta Menu Test for X10 - June 1986

My first implementation of pie menus was written in June of 1986: a simple proof of concept called "theta menus," written in C for X10 (the window system that preceded X11).

Theta Menus Proposal and Pie Menu Designs - May 1986

On April 13, 1986, Mike Gallaher and I were brainstorming about Emacs and user interface design, and we came up with the following idea, which seemed worth writing down and persuing:

Clicking some sequence, say, double-right, lays down a help diagram showing what each direction of the mouse does. Moving outside the diagram exits this mode and removes the diagram. While in that mode, single clicks on the mouse keys cycle through the menu when the cursor is in the neutral area. Clicking while cursor is in one of the item's sectors selects that item.

menu is laid out so that all choices are initially equidistant from the cursor, so only direction is needed to choose one. The diagram stays as long as the button is held, while the cursor moves within it. The selection is indicated by the sector in which the cursor lies when the mouse button is released.

The output of the selection is the direction, perhaps

applications
------------

mouse menu for inputting numbers from circular scale (say, degrees).

time: press left to set hour hand, middle to set minute hand.

I described the idea to Mark Weiser, my undergraduate advisor at the University of Maryland, and he encouraged me to write it up, implement the idea, and empirically evaluate it.

To: hcil@mimsy.umd.edu
Cc: don@mimsy.umd.edu
Subject: circular menus
Date: Mon, 19 May 86 09:49:51 -0500
From: Mark Weiser <mark@markssun.cs.umd.edu>

A student of mine is thinking of building circular popup menus into the Sun window system. Here is his description of them.

Note particularly what happens if you follow a menu tree using these menus-- you get a shape on the screen which represents the path you followed. Experts remember long paths by muscle memory ("zig-zag-zig-zig-zag") instead of symbolically ("hjjkhj").

I don't know of anything similar. Anyone else? Other comments?
-mark

Date: Sun, 18 May 86 21:50:27 EDT
From: Don Hopkins <don@brillig.umd.edu>
To: mark@brillig.umd.edu
Subject: Theta Menus

Here are some preliminary notes and ideas...

Theta Menus

Menu selection is based on the angle between the mouse down event and the mouse up event. The radius should not have any bearing on which menu item is selected, and could even be used as an argument to the item.

The advantage is that if the user is familiar with the menu, no visual feedback is required to select an item. Just the direction has to be known. There is no need to slow the mouse down and "park" in in a small rectangle as with conventional pull down menus. If the user is familiar with the menu, then no visual attention at all is necessary. Thus you can be looking at something in one window while traversing menus in another. Pull down menus require that you move in the same direction every time you choose them (thus discarding theta), and depend on how far you move the mouse (depending on the radius instead). With pull down menus, there is no advantage to having fewer menu items, because you need just as precise control to choose each item.

What are Pie Menus?

Pie menus are a naturally efficient user interface technique: directional selection of pie slice shaped targets. The cursor starts out in the center of the pie, so all targets are large, nearby, and in different directions. Fitts' Law explains the advantages of pie menus, relating their fast selection speed and low error rate to their large target size and small distance. Pie menus are easy for novice users, who just follow the directions, and efficient for experienced users, who can quickly "mouse ahead" once they know the way.

Why Pie Menus?

Question: Why Pie Menus?

Answers:

  • Pie Menus are much faster and more reliable than linear menus, because all of the items have large wedge shaped target areas, and each one is located adjacent to the cursor, but in a different direction.
  • Several free pie menu implementations are available as open source, reusable, customizable components, that synergistically leverage the capabilities of XML, DHTML, JavaScript, ActiveX, Internet Explorer, Firefox, SVG, Flash and Laszlo.
  • Pie Menus can be specified in XML, so designers can easily understand and create them in a text editor, as well as automatically generating pie menus on the "SOA" web server or "AJAX" browser client, using XML processing tools like XSL.
  • Pie menus are easy to configure and customize in many ways, with default attributes that can be easily overridden and specified for a whole menu or any individual item.

Dynamic Pie Menus

The pie menus in The Sims are context sensitive, and hide inappropriate items, but the context depends on the state of the object and the selected user, so there are many different contexts which change dynamically over time.

So part of the game is figuring out how to manipulate the objects and people into the right state to enable the menu items you want.

Since The Sims game design requires that the menu items do change over time, that trumps the rule of thumb that pie menus should be used for static menus. User interface design involves weighing conflicting rules and making trade-offs according to the application and user requirements, so it's ok to break a few rules for good reasons.

An inactive TV set just has a "Turn On" menu item. When you activate it, the "Turn On" item disappears and is replaced by a bunch of items like "Turn Off", "Watch TV", "Change Channel," etc.

If you click on another Sim character, you get a menu of interpersonal interactions that the currently selected Sim can perform with the other Sim you clicked on. Those can change according to their relationships and moods.

Syndicate content