Blatent self promotion. Pie Menus. OpenLaszlo. Sims. Content. User Interface. Software.

How Hard Can It Be to Draw a Pie Chart? - October 1987

Date: Tue, 13 Oct 87 00:49:40 EST
From: Don Hopkins <>
To: research! (Tom Duff)
Subject: Labeling pie graphs is NP hard?

Were you the one who mentioned that someone has found labeling pie graphs to be NP hard, during my pie menu talk at the Usenix Graphics Workshop? If so, or if you know about it, I'd very much appreciate a reference to this work, or a pointer to the person who did it. Thanks a lot.


Eliminating Divides During Pie Menu Tracking - September 1987

Date: Mon, 14 Sep 87 03:03:46 EST
From: Don Hopkins <>
Subject: Eliminating divides during pie menu tracking

Vaughn Pratt suggested an improvement to my quadrant-slope algorythm for pie menu tracking, which eliminates the division done every time the mouse moves during cursor tracking. You can eliminate the divide used to calculate the cursor slope, by multiplying both sides of the slope comparison by the denominator of the cursor slope. i.e. as before, do the divisions to calculate the slopes of the slice edges when laying out the menu. But when tracking the cursor, and comparing its slope with the slice edge slopes, instead of dividing to get the cursor slope, and comparing it with the slice edge slopes, you compare the numerator of the cursor slope with the denominator of the cursor slope times the slice edge slope.

I put the modification into uwm, and it works fine! I want to fix the NeWS pie menus to use this scheme, because they're using atan2 now, and they seem to feel "heavy" when things are going on. Anyway, atan2 loses if you want to have different sized wedges.


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 Weiser)
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 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 Weiser)
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.

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


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.

Subject: circular menus
Date: Mon, 19 May 86 09:49:51 -0500
From: Mark Weiser <>

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?

Date: Sun, 18 May 86 21:50:27 EDT
From: Don Hopkins <>
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.

Deadly Plague Hits Warcraft World

Deadly plague hits Warcraft world!

A deadly virtual plague has broken out in the online game World of Warcraft. Although limited to only a few of the game's servers the numbers of characters that have fallen victim is thought to be in the thousands.

Originally it was thought that the deadly digital disease was the result of a programming bug in a location only recently added to the Warcraft game.

However, it now appears that players kicked off the plague and then kept it spreading after the first outbreak. [...]

In the last week, it added the Zul'Gurub dungeon which gave players a chance to confront and kill the fearsome Hakkar - the god of Blood.

In his death throes Hakkar hits foes with a "corrupted blood" infection that can instantly kill weaker characters.

The infection was only supposed to affect those in the immediate vicinity of Hakkar's corpse but some players found a way to transfer it to other areas of the game by infecting an in-game virtual pet with it.

This pet was then unleashed in the orc capital city of Ogrimmar and proved hugely effective as the Corrupted Blood plague spread from player to player.

Although computer controlled characters did not contract the plague, they are said to have acted as "carriers" and infected player-controlled characters they encountered. [...]

Many online discussion sites were buzzing with reports from the disaster zones with some describing seeing "hundreds" of bodies lying in the virtual streets of the online towns and cities. [...]

The "Corrupted Blood" plague is not the first virtual disease to break out in online worlds. In May 2000 many players of The Sims were outraged when their game characters died because of an infection contracted from a dirty virtual guinea pig.

Syndicate content