Date: Tue, 14 Oct 86 23:28:14 EDT
From: firstname.lastname@example.org (Mark Weiser)
To: email@example.com, firstname.lastname@example.org
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.
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: email@example.com (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.
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).
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).
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 <firstname.lastname@example.org>
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 <email@example.com>
Subject: Theta Menus
Here are some preliminary notes and ideas...
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. [...]
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.
A kuple ov simply.SUPERLATIV Pony Photoz thanx 2 Netochka Nezvanova / NN / AntiORP / firstname.lastname@example.org:
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.
Question: Why Pie Menus?
- 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.
- 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.