Pie menu
From Wikipedia, the free encyclopedia
This article's tone or style may not be appropriate for Wikipedia. Specific concerns may be found on the talk page. See Wikipedia's guide to writing better articles for suggestions. (January 2009) |
In computer interface design, a pie menu (also known as a radial menu or marking menu) is a circular context menu where selection depends on direction. A pie menu is made of several "pie slices" around an inactive center and works best with stylus input, and well with a mouse. Pie menus work well with keyboard acceleration, particularly four and eight item menus, on the cursor keys and the number pad.
A goal of pie menus is to provide a smooth, reliable gestural style of interaction for novices and experts.[1]
A slice can lead to another pie menu; selecting this may center the mouse cursor in the new menu.
Pie menus are often context-sensitive, showing different options depending on what the mouse cursor was pointing at when the menu was requested.
Pie menus are drawn as pie slices with a hole in the middle for an easy way to exit the menu.
Contents |
[edit] Comparison with other interaction techniques
Pie menus are faster and more reliable to select from than linear menus, because selection depends on direction instead of distance. The circular menu slices are large in size and near the pointer for fast interaction (see Fitts's law). Experienced users use muscle memory without looking at the menu while selecting from it.[2][3] Nested pie menus can efficiently offer many options, and some pie menus can pop up linear menus, and combine linear and radial items in the same menu.[4] Pie menus just like any popup menu are shown only when requested, resulting in less visual distraction and clutter than toolbars and menu bars that are always shown.
Pie menus come with a higher cognitive load, because of the use of higher order cognitive processes associated with recollection than with visual navigation.[5] This is due to both the fact that limitations on our memory in terms of serial processing and items we are able to hold in our short term memory are much fewer than our visual motor are able to handle.
Pie menus show available options, in contrast to invisible mouse gestures. Pie menus that delay appearance until the cursor stops moving reduce intrusiveness to the same level as mouse gestures and pie menus for experienced users. Pie menus take up more screen space than linear menus, and the number of slices in an individual menu must be kept low for effectiveness by using submenus. When using pie menus, submenus may overlap with the parent menu, but the parent menu may become translucent or hidden.
Pie menus are most suited for actions that have been laid out by humans, and have logical grouping choices. Linear menus are most suited for dynamic, large menus that have many possible options, without any logical grouping.[3] However, using interaction techniques that are not pointer based have proven problematic with both pie and linear menus.[6]
[edit] Usage
For the novice, pie menus are easy because they are a self-revealing gestural interface: They show what you can do and direct you how to do it. By clicking and popping up a pie menu, looking at the labels, moving the cursor in the desired direction, then clicking to make a selection, you learn the menu and practice the gesture to "mark ahead" ("mouse ahead" in the case of a mouse, "wave ahead" in the case of a dataglove). With a little practice, it becomes quite easy to mark ahead even through nested pie menus.
For the expert, they're efficient because—without even looking—you can move in any direction, and mark ahead so fast that the menu doesn't even pop up. Only when used more slowly like a traditional menu, does a pie menu pop up on the screen, to reveal the available selections.
Most importantly, novices soon become experts, because every time you select from a pie menu, you practice the motion to mark ahead, so you naturally learn to do it by feel. As Jaron Lanier of VPL Research has remarked, "The mind may forget, but the body remembers." Pie menus take advantage of the body's ability to remember muscle motion and direction, even when the mind has forgotten the corresponding symbolic labels.[3]
Instructions for using pie menus:[7]
Beginner:
- press and release the mouse button assigned to the menu, causing the pie menu to display
- move the mouse into the desired slice
- click the desired action
Exit by clicking the center.
Expert (rely on muscle memory):
- click and hold down the mouse button
- move mouse in the desired action direction (regardless of distance)
- release mouse button
[edit] Notable implementations
This article may not meet the general notability guideline. Please help to establish notability by adding reliable, secondary sources about the topic. If notability cannot be established, the article is likely to be merged or deleted. (January 2009) |
- Songza - A music search engine and internet jukebox that uses a pie menu for its main mode of interaction, by Aza Raskin.[8]
- Python - Open source Python pie menus for GTK/Cairo/Pango/OLPC/Sugar user interface, by Don Hopkins.
- OpenLaszlo - Open source OpenLaszlo pie menus for Flash, by Don Hopkins.
- JavaScript - Open source JavaScript pie menus for the Internet Explorer browser, by Don Hopkins.
- ActiveX - Open source C++ ActiveX pie menus for the Internet Explorer browser, by Don Hopkins.
- X11 - Open source "piewm" X11 window manager with pie menus, by Don Hopkins, maintained by Russ Nelson.
- TCL/Tk - Free software Pie Menus for TCK/Tk, written in 1992 for SimCity by Don Hopkins.
- NeWS - Free software Pie Menus for NeWS 1.1 written in March 1988 by Don Hopkins.
- X10 - Free software Pie Menus for X10 "uwm" Window Manager, written in June 1986 by Don Hopkins.
- Suntools - Free software Pie Menus for Suntools, written in January 1987 by Mark Weiser.
- X10 - Free software Theta menus, proof of concept prototype for X10, written in June 1986 by Don Hopkins.
- X11 pie menu widget for the Free Widget Foundation, by Bert Bos.
- Java Pie Menus, by Jason Hong, U.C. Berkeley.
- Circle Menus, by Greg Bronevetsky.
- Asymetrix [ToolBook] pie menu component, by Paolo Tosolini. Source code: [1] [2].
- Pie Menus for Windows, Dr. Dobb's Journal, Nov., 1992, pp 30-39, by Carl Rollo.
- Pie Menus Demonstration in Java, by Carl Rollo.
- Tilting Operations for Small Screen Interfaces, by Jun Rekimoto, Sony Computer Science Laboratory Inc.
- PIXIE: A New Approach to Graphical Man-Machine Communications"; by Wiseman, N. E., Lemke, H. U., and Hiles, J. O.; Proceedings of 1969 CAD Conference Southhampton, IEEE Conference Publication 51, p. 463.
- PowerAnimator a commercial 3D modelling program and the first to use marking menus
- Video games: Habitat, Beyond Good & Evil, Full Throttle, The Legend of Zelda: Twilight Princess, The Curse of Monkey Island, Neverwinter Nights, Normality, The Sims, Perfect Dark, Planescape: Torment, Sacrifice, Saints Row, Saints Row 2, Second Life, Battlefield 2, Freedom Fighters, Ratchet and Clank, Silver, The Temple of Elemental Evil, The Lost City of Malathedra, Crysis, Mass Effect, Bioshock, Warzone 2100, Halo Wars.
- Mozilla and Mozilla Firefox extensions RadialContext and easyGestures
- Maya, a commercial 3D modelling program
- modo, an advanced polygon and subdivision surface modeling package
- Quicksilver via the Constellation plug-in
- Metisse and Unix Desktop Environment, window managers for the X Window System
- Sugar (GUI), GUI implementation for OLPC
- Tcl/Tk - A simple implementation in pure Tcl/Tk
[edit] Disadvantages
The lists in this article may contain items that are not notable, encyclopedic, or helpful. Please help out by removing such elements and incorporating appropriate items into the main body of the article. (January 2008) |
This article's Criticism or Controversy section(s) may mean the article does not present a neutral point of view of the subject. It may be better to integrate the material in such sections into the article as a whole. (January 2009) |
- Unavailability of pie menus as standard widgets. Video games often require custom widget development, so pie menu cost is lower.
- Difficulty of adding new widgets to popular user interface toolkits
[edit] References
- ^ http://www.piemenus.com/DDJPieMenuArticle.html
- ^ http://www.donhopkins.com/drupal/node/102
- ^ a b c http://www.donhopkins.com/drupal/node/98
- ^ http://www.donhopkins.com/drupal/node/128
- ^ http://education.arts.unsw.edu.au/staff/sweller/clt/index.html
- ^ http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&arnumber=4384120&isnumber=4384097
- ^ http://www.donhopkins.com/drupal/node/95
- ^ http://songza.com
- Jack Callahan, Don Hopkins, Mark Weiser, Ben Shneiderman (1988). "An empirical comparison of pie vs. linear menus". Proceedings of ACM CHI Conference on Human Factors in Computing Systems: 95–100.
[edit] External links
- Pie Menus in c2 wiki
- Pie Menus for Qt
- Pie Menus for OLPC Sugar User Interface, in Python with GTK, Cairo and Pango modules
- Slashdot article: Pie-menus in Mozilla
- Pie Menu Articles by Don Hopkins
|