4 ms·
Radial menus are heavily associated with video games. The Sims in 2000 really used them extensively and IMO well in a mouse/keyboard environment, and they've be
by starkparker 3y ago
Radial menus are heavily associated with video games. The Sims in 2000 really used them extensively and IMO well in a mouse/keyboard environment, and they've become a common method to visually surface options in gamepad- and joystick-focused games.
The One Laptop Per Child/Sugar UI also used them since they were accessible independent of language and input method, and also self-surfaced options in a way that allowed or encouraged exploration. (And then, full-circle as it were, Maxis/EA's Don Hopkins, who implemented The Sims' radial menus, reimplemented a radial menu for the OLPC port of SimCity.)[1]
1: https://web.archive.org/web/20171012100255/http://www.donhopkins.com/drupal/taxonomy_menu/4/49/63/65 https://web.archive.org/web/20171012100255/http://www.donhop... ; sadly his website relied on Drupal and broke. He moved to Medium, where his many pie menu posts have kind of scattered. See also https://donhopkins.medium.com/pie-menu-timeline-21bec9b21620 https://donhopkins.medium.com/pie-menu-timeline-21bec9b21620 where Don breaks down the timeline of radial/pie menu concepts back to the 1968 MOAD
- adanto6840 3y agoGlad to see Don Hopkins mentioned, I came to this thread hoping he had seen it & commented already. I'm curious to hear his thoughts on it! I know he loves radial menus, understandably so -- they really can be quite effective.
- lioeters 3y agoWhen I saw the article about Pie Menu, I thought of Don Hopkins' work with radial menus in SimCity. It's probably (one of?) the earliest implementations of this UI concept. I haven't actually used it, but the circular shape seems a bit wasteful of space compared to typical nested dropdown menus. Maybe a circle of icons is more suited for touch-based interface.
- bsimpson 3y agoBill Buxton is where my head goes for marking/radial/pie menus. https://www.billbuxton.com/MMUserLearn.html https://www.billbuxton.com/MMUserLearn.html
- jdougan 3y agoLast I looked, Eve Online used radial menus in some places.
- DonHopkins 3y agoThanks for the shout out and links! That timeline you linked to goes along with this article I wrote a few years ago: Pie Menus: A 30 Year Retrospective. By Don Hopkins, Ground Up Software, May 15, 2018. https://donhopkins.medium.com/pie-menus-936fed383ff1#8546 https://donhopkins.medium.com/pie-menus-936fed383ff1#8546 The earliest known implementation of pie menus was in an early CAD system called PIXIE developed at Cambridge University by Neil E. Wiseman, Heinz U. Lemke, John O. Hiles, on a PDP-7 with a 340 vector display with a light pen. Neil E. Wiseman, Heinz U. Lemke, John O. Hiles, PIXIE: A New Approach to Graphical Man-Machine Communication, Proceedings of 1969 CAD Conference Southampton IEEE Conference Publication 51, pp. 463–471. https://www.donhopkins.com/home/documents/PIXIE%20a%20new%20approach%20to%20man-machine%20communication.pdf https://www.donhopkins.com/home/documents/PIXIE%20a%20new%20... Flight of the PIXIE - Yuja Wang: https://www.youtube.com/watch?v=jDrqR9XssJI https://www.youtube.com/watch?v=jDrqR9XssJI Films from the University of Cambridge Library Archives: https://www.cl.cam.ac.uk/library/archives.html https://www.cl.cam.ac.uk/library/archives.html In 1986 Mike Gallaher and I together came up with the same idea, and I implemented a prototype proof-of-concept for the X10 window system I called "theta menus": https://donhopkins.com/home/pub/piemenus/theta-menus/ https://donhopkins.com/home/pub/piemenus/theta-menus/ Mitch Bradley suggested the name "pie menu", and I implemented them in the X10 "uwm" window manager, which I integrated into Mitch's Sun Forth system so it was possible to script the window manager in Forth: https://donhopkins.com/home/pub/piemenus/pietest/ https://donhopkins.com/home/pub/piemenus/pietest/ https://donhopkins.com/home/pub/piemenus/pietest/fuwm-main.f https://donhopkins.com/home/pub/piemenus/pietest/fuwm-main.f X10 Pie Menu Window Manager: https://www.youtube.com/watch?v=IJhvB6kwmog https://www.youtube.com/watch?v=IJhvB6kwmog You could define both pie menus and linear menus in a special menu definition syntax in your .uwmrc file, and configure them to run various window management, application launching, and shell scripting commands. But there was no pie menu editor, just a text file defining the menus. We performed an experiment to compare the speed and error rate of pie menus and linear menus, which I programmed in Forth to randomize and present the menus and measure the error rates and timing statistics. Pie Menu Experiment: https://www.youtube.com/watch?v=s0zEUi6p2ws https://www.youtube.com/watch?v=s0zEUi6p2ws Implementing a Forth scriptable pie menu window manager for X10 led the way to implementing pie menus in PostScript for various versions of the NeWS window system. It was easy for me to make the transition from Forth to PostScript, which is much more like Lisp than like Forth, and NeWS had an object oriented programming system like Smalltalk which is great for implementing user interface toolkits. Just the pie menus from All The Widgets: https://www.youtube.com/watch?v=mOLS9I_tdKE https://www.youtube.com/watch?v=mOLS9I_tdKE Ben Shneiderman demo: Don Hopkins and pie menus in ~ Spring 1989 on a Sun Workstation, running the NEWS operating system. https://www.youtube.com/watch?v=8Fne3j7cWzg https://www.youtube.com/watch?v=8Fne3j7cWzg PSIBER Space Deck Demo: https://www.youtube.com/watch?v=iuC_DDgQmsM https://www.youtube.com/watch?v=iuC_DDgQmsM HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS: https://www.youtube.com/watch?v=hhmU2B79EDU https://www.youtube.com/watch?v=hhmU2B79EDU NeWS Tab Window Demo: https://www.youtube.com/watch?v=tMcmQk-q0k4 https://www.youtube.com/watch?v=tMcmQk-q0k4 After NeWS, I made an X11 window manager based on "twm" called "piewm": https://donhopkins.com/home/pub/piemenus/piewm/ https://donhopkins.com/home/pub/piemenus/piewm/ https://www.donhopkins.com/home/catalog/unix-haters/x-windows/i39l.html https://www.donhopkins.com/home/catalog/unix-haters/x-window... Then I implemented pie menus for TCL/Tk on X11, which I used for the X11 version SimCity (which EA later relicensed under GPL-3 and released for the OLPC). https://github.com/SimHacker/micropolis/blob/master/micropolis-activity/src/sim/w_piem.c https://github.com/SimHacker/micropolis/blob/master/micropol... X11 SimCity Demo: https://www.youtube.com/watch?v=Jvi98wVUmQA https://www.youtube.com/watch?v=Jvi98wVUmQA Multi Player SimCityNet for X11 on Linux https://www.youtube.com/watch?v=_fVl4dGwUrA https://www.youtube.com/watch?v=_fVl4dGwUrA Playing SimCity for X11 on Linux with Pie Menus in San Francisco: https://www.youtube.com/watch?v=1p7_fapUq20 https://www.youtube.com/watch?v=1p7_fapUq20 I later implemented the pie menus in The Sims, which you can see an early version of here, including a graphical zooming/rotating pie menu that didn't make it into the game: The Sims Steering Committee - June 4 1998: https://www.youtube.com/watch?v=zC52jE60KjY https://www.youtube.com/watch?v=zC52jE60KjY Another take on pie menus that did make it into the game was the object placement tool that let you rotate objects both as you picked them up and set them down, like an invisible "direct manipulation pie menu" (see the demo of object placement tool placing chairs around the dining room table at 4:45): https://www.youtube.com/watch?v=-exdu4ETscs https://www.youtube.com/watch?v=-exdu4ETscs Not only can you rotate it while placing it down, but also while picking it up. Clicking picks up or places down without rotating, but pressing and moving rotates to face the direction of motion. Unfortunately, later versions of The Sims didn't implement that simple feature, so instead you have to use the keyboard or repeatedly click multiple times until it rotates around to the direction you want, which is much more difficult and less natural than simply dragging in the direction you want it to face when picking up or placing down. Here's a later web based version of Micropolis (open source SimCity) with pie menus implemented with OpenLaszlo / Flash -- at 3:00 it demonstrates how the pie menus work as an alternative to the traditional tool palette, and once you learn the pie menus you can hide away the palette to gain many acres of SimCity "screen real estate": https://www.youtube.com/watch?v=8snnqQSI0GE https://www.youtube.com/watch?v=8snnqQSI0GE ActiveX Pie Menus: https://www.youtube.com/watch?v=nnC8x9x3Xag https://www.youtube.com/watch?v=nnC8x9x3Xag The ActiveX pie menus were implemented as an OLE Control, which supported editing via a tabbed property sheet using traditional gui widgets like buttons, tree editors, text editors, and a wysiwyg (but not editable) preview. One nice feature was that you could simply type in an indented outline into the text editor to produce a whole tree of nested menus, which saved a whole lot of pointing and clicking gui widgets to create the menus and items one by one. But I hit a wall because I wanted more control over the graphical presentation and dynamic feedback, that was extremely difficult to program with MFC/Win32/C++/GDI, and I wanted the full features of a web browser to render each item, including animated gifs, css styles, etc. JavaScript Pie Menu IE5 Behavior Components: https://www.youtube.com/watch?v=R5k4gJK-aWw https://www.youtube.com/watch?v=R5k4gJK-aWw So implementing pie menus inside the web browser in JavaScript with DHTML and CSS was the obvious next step, which also made it easy to define menu structures with XML and presentation with HTML. You could put anything you wanted into the pie menu center or items. But Microsoft's IE5 Behavior Components were a dead-end. JQuery Pie Menus: https://github.com/SimHacker/jquery-pie https://github.com/SimHacker/jquery-pie So later on after jQuery came along I implemented pie menus for jQuery, using jQuery-UI. Unity3D Pie Menu Demo: https://www.youtube.com/watch?v=sMN1LQ7qx9g https://www.youtube.com/watch?v=sMN1LQ7qx9g Pet Rock Remote Control -- Touch screen pie menu interface on Pocket PC for sending commands to rocks: https://www.youtube.com/watch?v=SG0FAKkaisg https://www.youtube.com/watch?v=SG0FAKkaisg