Pie menu
In user interface design, a pie menu or radial menu is a circular context menu where selection depends on direction. It is a graphical control element. 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 slices are drawn with a hole in the middle for an easy way to exit the menu.
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 pointer in the new menu.
A marking menu[2] is a variant of this technique that makes the menu less sensitive to variance in gesture size.
As a kind of context menu, pie menus are often context-sensitive,[4] showing different options depending on what the pointer was pointing at when the menu was requested.
History
The first documented radial menu is attributed to a system called PIXIE in 1969. Some universities explored alternative visual layouts.[5]
In 1986, Mike Gallaher and Don Hopkins together independently arrived at the concept of a context menu based on the angle to the origin where the exact angle and radius could be passed as parameters to a command, and a mouse click could be used to trigger an item or submenu.[6]
The first performance comparison to linear menus was performed in 1988, and showed an increase in performance of 15% less time and a reduction of selection errors.[7]
The role-playing video game Secret of Mana featured an innovative icon-based radial menu system in 1993.[8] Its ring menu system was adopted by later video games.[9]
Usage
Pie menus are a self-revealing gestural interface: they display multiple options to a user and direct them to select one.
Users operate the menu by observing the labels or icons present as options, moving the pointer in the desired direction, then clicking to make a selection. This action is called a "mark ahead" ("mouse ahead" in the case of a mouse, "wave ahead" in the case of a dataglove).
Repetition of actions and memorization of the interface further simplify the user experience. 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.[1]
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.[1][10] 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.[11] Pie menus, just like any popup menu, are shown only when requested, resulting in less visual distraction and cognitive load than toolbars and menu bars that are always shown.
Pie menus show available options, in contrast to invisible mouse gestures. Pie menus, which delay appearance until the pointer is not moving, reduce intrusiveness to the same level as mouse gestures 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,[1] since pie menus can only show a limited number of menu items. Around 3-12 items can be reasonably accommodated in a radial layout, but additional items past that tend to counteract the benefits of using pie menus in the first place. This can be overcome with related techniques that allow chaining commands in one single gesture through submenus.[12]
However, using interaction techniques that are not pointer-based have proven problematic with both pie and linear menus for cluttered digital tabletop, where physical objects might occlude menu items.[13]
Pie menus are unavailable as standard graphical control element in common commercial toolkits. Video games often require custom widget development, so pie menu cost is lower in that particular scenario.
Notable implementations
Software
- Android Browser in Android
- Autodesk Maya, a commercial 3D modelling program[14]
- Blender, an open source 3D modelling program, which currently has pie menus as an optional feature
- BumpTop, a computer desktop created to mimic paper files on a real world desk that uses pie menus as many of its control menus
- PowerAnimator, a commercial 3D modelling program that used marking menus[15]
- Mozilla and Mozilla Firefox extensions RadialContext[16][17] and easyGestures[18]
- Metisse and Unix Desktop Environment, window managers for the X Window System
- modo, an advanced polygon and subdivision surface modeling package
- SolidWorks, a 3D modeling software.
- Songza, a music search engine and internet jukebox that uses a pie menu for its main mode of interaction, by Aza Raskin
- Quicksilver via the Constellation plug-in
- Sugar, GUI implementation for the One Laptop per Child project
- OneNote App for Windows 8 and Windows RT
- The Cherry mouse driver for the Power Pad mouse M-1000 optionally offers a circular context menu
- The Samsung Galaxy Note series, starting with the Note 3[19][20][21]
- RadialMenu, lightweight free software for Windows programmed with AutoHotkey
Games
- Counter-Strike:GO, a first person shooter computer game. The buy menu is a radial menu.
- The 2000 videogame The Sims extensively utilized pie menus for player-directed interaction. These pie menus were primarily developed by Don Hopkins.[22]
- The videogame Grand Theft Auto V, for weapon and radio station selection[23]
- Secret of Mana[24] and its successor Secret of Evermore (where the menu was used to accelerate the pacing of combat[25])
- The Curse of Monkey Island, also called a "Verb Coin"[26][27]
References
- Hopkins, Don (December 1991). "The Design and Implementation of Pie Menus". Dr. Dobb's Journal. Archived from the original on 2009-12-25. Retrieved December 15, 2009.
- Gordon Kurtenbach1 and William Buxton. "User Learning and Performance with Marking Menus".
- Don Hopkins. "Dynamic Pie Menus". Archived from the original on 2009-11-20. Retrieved 2009-12-29.
- Gord Kurtenbach (April 2004). "Notes on the History of Radial menus, Pie menus and Marking menus".
- Don Hopkins. "Theta Menus Proposal and Pie Menu Designs - May 1986". Archived from the original on 2011-06-11. Retrieved 2010-04-07.
- Callahan, Jack; Hopkins, Don; Weiser, Mark; Shneiderman, Ben (1988). "An empirical comparison of pie vs. linear menus". Proceedings of ACM CHI Conference on Human Factors in Computing Systems. pp. 95–100. http://doi.acm.org/10.1145/57167.57182.
- Dungeons and Desktops: The History of Computer Role-Playing Games. CRC Press. 2008. p. 220. ISBN 9781439865248.
- "Retrospective: Secret Of Mana". Edge. Future plc. 2014-06-01. Archived from the original on 2014-07-15. Retrieved 2014-08-20.
- Shneiderman, Ben; Plaisant, Catherine; Botafogo, Rodrigo; Hopkins, Don; Weiland, William. "Designing to Facilitate Browsing: A Look Back at the Hyperties Workstation Browser". University of Maryland: Human-Computer Interaction Laboratory. Archived from the original on 2009-12-25. Retrieved December 15, 2009.
- Hopkins, Don. "Pie Menus on Python/GTK/Cairo for OLPC Sugar". Archived from the original on 2007-04-27. Retrieved December 15, 2009.
- "www.markingmenus.org". Archived from the original on 2010-03-28. Retrieved 2010-04-07.
- Leithinger, D; Haller, M (October 10–12, 2007). "Improving Menu Interaction for Cluttered Tabletop Setups with User-Drawn Path Menus". Horizontal Interactive Human-Computer Systems, 2007. TABLETOP '07. Second Annual IEEE International Workshop on. Newport, RI. pp. 121–128. doi:10.1109/TABLETOP.2007.24. ISBN 978-0-7695-2013-1.
- Understanding 3-D animation using Maya by John Edgar Park
- "Maximum PC Oct 1998". October 1998.
- John Breslin. "A Tale Of Two Atoms: AtomPub And Atom Interface". newtechpost.com.
- "AUUGN Mar 2003". March 2003.
- Mozilla Firefox 4 (in German)
- Graziano, Dan. "Make sure you're using the S Pen correctly". CNET.
- "S Pen on the Note 4 is better than ever: Feature Focus". Android Authority. October 2, 2014. Archived from the original on January 19, 2022. Retrieved January 19, 2022.
- Staff, GreenBot (14 August 2015). "4 new noteworthy features of the Galaxy Note 5's S n".
- Hopkins, Don (2018-07-07). "The Sims, Pie Menus, Edith Editing, and SimAntics Visual Programming Demo". medium.com. Archived from the original on 2018-12-19. Retrieved 18 December 2018.
- Seitz, Dan (2013-09-17). "'Grand Theft Auto V' Plays Like A Whole New Game". Uproxx. Retrieved 5 February 2015.
- Campbell, Greg. "Secret of Mana - Retroview". RPGamer. Archived from the original on 2014-01-18. Retrieved 2008-12-24.
- "Ring of Fire: How Secret of Mana Perfected the Action RPG". videogamesarerad.com. Archived from the original on 2020-07-28. Retrieved 2012-02-29.
- "Review: Unavowed". davidyat.es.
- "The Curse of Monkey Island - Gamer Walkthroughs". gamerwalkthroughs.com.
- Wiseman, N. E.; Lemke, H. U.; Hiles, J. O. "PIXIE: A New Approach to Graphical Man-Machine Communications". Proceedings of 1969 CAD Conference Southampton, IEEE Conference Publication 51. p. 463.
External links
- JavaScript/jQuery Radmenu Plugin, Open source
- The Flower Menu is a marking menu implementation for Qt
- Tcl/Tk - A simple implementation in pure Tcl/Tk
- 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
- Asymetrix [ToolBook] pie menu component, by Paolo Tosolini. Source code: Piemenu.com Piemenu.com.
- 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.
- JavaScript/jQuery Radmenu Plugin, Open source JavaScript radial / pie menus for ALL browsers, by Nirvana Tikku.
- 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.
- Pie Menu Articles by Don Hopkins.
- Circle Menus, by Greg Bronevetsky.
- 3D Circle Menu Variation - Cube Menu Archived 2009-07-04 at the Wayback Machine, by conquex with source code.
- Asymetrix [ToolBook] pie menu component, by Paolo Tosolini. Source code: Piemenu.com Piemenu.com.
- Pie Menus for Windows, Dr. Dobb's Journal, November 1992, pp 30–39, by Carl Rollo.
- Pie Menus Demonstration in Java, by Carl Rollo.
- Pie Menu for libGDX, an open-source library for Java game developers. Demonstration available.
- WPF Pie Menu, by Christoph Menge.
- wheelnav.js, Animated JavaScript navigation component based on Raphaël (JavaScript library) (SVG/VML) by softwaretailoring.net.
- Annotated Bibliography of References to Gestures, Touchscreens, and Pen Computing.
- RadialMenu, lightweight free software for Windows programmed with AutoHotkey.