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

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

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.

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

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.

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. [...]

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.

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.

The Dumbold Voting Machine for The Sims enables the simulated people in your virtual dollhouse to vote! It's an interactive "get out the vote" public service message, in the form of a free downloadable Sims object. This Sims object is an electronic voting machine that lets your Sims vote between four candidates: Kerry, Bush, Nader and Badnarik.