Pie-Menus in Mozilla
pronik writes "The Optimoz project on MozDev had two main development branches. While the first one, Mouse Gestures have been a success, we had to wait for the second, also very promising one: PieMenus. Now the wait is over! First implementation of PieMenus for Mozilla - RadialContext - is available for installation and testing!!!"
... Don't they only work well with Apples?
Maybe with ice cream on the side...
Select one from the following (thinking of the Sims, but we'll call GeekSims(TM)
- Order Pizza
- Fall asleep at computer desk
- /. another site into oblivion.
- Get the geek community to ping -f M$
Any other options are welcome.
Are you local? There's nothing for you here!
Comment removed based on user account deletion
I personally don't consider it to be that useful. It doesn't do anything that keyboard accelerators don't do, unless you can't type a single key accurately.
My biggest beef with it is it forces your mouse to have to move away from the selected item. Keyboard shortcuts don't move the mouse pointer or the focus anywhere, so you are ready to move onto the next task without trying to find out where your pointer went when you were doing a "no look" command.
For those who don't already know what a "pie menu" is, here is a nice animation that may be helpful.
I'm a couple months from hitting 30, and I've had bad eyesight since forever. I almost went blind in one of my eyes when I was five. Perhaps because of this, my hand/eye coordination isn't so hot. This means that having oversized buttons or selection areas really makes my life a lot easier.
I can't really say that I find pie menus to be revolutionary or fantasically useful, but they are a million times better than the eight point font text links that I have to click on all the time. Luckily, Mozilla grabbed a Konqueror feature that allows you to override the minimum font size on a page. Right now, I have it set really high, but it's still a pain in the ass.
One day, you too will have bad eyesight, even if it takes another 20-30 years for you to experience the annoyances that I'm facing. I don't think you'll really appreciate alternative user interfaces until then. I know I didn't, back when I could sit down at my computer without wearing glasses.
Anyways, if we can dumb down user interfaces enough so that everything is self-evident, it will help more people get involved with computers. My six year old nephew gets confused rather easily when he sees too many options available to him. If he could browse the web as easily as he reads a book, I bet he'd be taking high school courses by the time he was ten.
After surfing with this for just the past 10 minutes I can already tell that it is a feature that I will not be able to surf without ever again.
It is EMENSELY powerful when you combine it with tabs. Using it to close tabs and surf back and forth through tabs is a breeze and really saves on the mouse wrist gemnastics.
This is a great tool! Thanks mozilla!
Derek
Those of us who test nightly builds are now not able to access the mozdev projects.
Slashdot really needs to start hosting its own mirrors for stories.
If you wanna get rich, you know that payback is a bitch
In my mind's eye I see an image of selecting an item from a newfangled animated menu, each time causing a little pie icon to fly across the screen and splat onto the Bill Gates image that appears randomly in the background. We certainly need more features like that in open source software (beats a talking paperclip anyway).
I Am My Own Worst Enemy
As I understand it, the primary advantage of pie menus over standard linear/cascading menus is that they leverage muscle memory for enhanced speed and accuracy in menu selections. In essence, pie menus are not unlike a gestural control scheme with training wheels -- a series of selections from a cascading pie menu effectively forms a complete mouse-gesture, which can later be replicated without conscious reference to menu labels. This allows novice users to make selections cognitively by following menu selections, while more advanced users can simply remember the series of mouse movements required to reach a given selection.
More info here.
SIERRA TANGO FOXTROT UNIFORM
I don't know if anyone remembers UWM which was (and still is) a cool X window manager that uses pie menus instead of pop-ups.
:)
It doesn't seem to be in active development, but it is a rather minimal window manager so I doubt you'll have any problems using it.
It has some nice looking borders too.
Hmm...gives me memories. Downloading...
1. I'm the author. And in half an hour I'll
.
.xpi archive from the
go surfing the atlantic coast of france for
14 days. That's one of the reasons I didn't
announce the project more widely. I can't
give immedeate support.
2. You can find the home page of the project
at www.gamemakers.de/mozilla/radialcontext
Mozilla users can test the feel of the menu
by just right-clicking. Other users can have
a look at the overview of the functionality.
3. I have implemented the menu so that it can
wander with the mouse. That makes it possible
to move the mouse _exactly_ like you would do
with mouse gestures.
4. I've been using the menu exclusively for
months. It works wonderful once you've gotten
used to it. But the menu seems to be extremely
confusing on first try. I'm still working on that.
Please sit down calmly and try it out for a
minute. Don't give up after 20 seconds. It's
worth it.
6. In case my poor server gets slashdotted:
You can check out the
optimoz CVS, which has a web interface.
Going surfin,
Jens
Are you KIDDING? That's a Weebl and Bob quote!
mmmm piemenus!
I will now redundantly add my name to the end of my post. You know, in case you forgot me or something.
Given the reasons given in the faq there's no reason why slashdot couldn't link to google...
Once you know the direction of the pie menu item you want, you can quickly select it without even looking at the screen, by mousing ahead. It's like using a keyboard accelerator, but without moving your hand from the mouse to the keyboard and back. The accelerated action is exactly the same as the unaccelerated action, only faster.
But selecting from a linear menu is not rehearsal for using the keyboard accelerator, because typing on the keyboard is a completely different action than selecting from the menu with the mouse, so you have twice as many actions to learn. To use the keyboard accelerator, you have to learn a completely new command that has nothing to do with the menu, and interrupts the flow of mouse actions.
It takes at least a second to move your hand between the mouse and keyboard and readjust, so it's important to provide keyboard equivalents for commands you'll be using while typing. I'm not suggesting removing keyboard accelerators when adding pie menus. Pie menus have their own built-in accelerators (mousing ahead without looking), that is extremely easy to use if you're already pointing and clicking with the mouse (which is the case with a game like The Sims, that doesn't use the keyboard very much).
Of course there's no reason why you couldn't assign traditional keyboard accelerators to individual pie menu items. The ActiveX pie menus have full support for keyboard navigation, so you can select and navigate and use all their features from the keyboard as well as the mouse.
Four item and eight item pie menus map very nicely to the arrow keys and numeric keypad. The ActiveX pie menus can automatically limit the maximum number of items per pie menu to eight, and let you page up and down through arbitrarily long menus in groups of eight items at a time, with the mouse or keyboard.
The newer JavaScript Pie Menus for Internet Explorer don't support keyboard navigation yet. Here's a description of many of the features of the older ActiveX pie menus, which are fancier but don't integrate with the web page as nicely or support dynamic HTML rendering and XML configuration like the newer Javascript pie menus.
-Don
Take a look and feel free: http://www.PieMenu.com
But it just wasn't tractable to implemented dynamic html rendering in the ActiveX control. It might have been possible to recursively embed an Internet Explorer ActiveX control, but it just wasn't worth going down that road.
Instead I turned the problem inside-out and reimplemented pie menus inside Explorer in JavaScript (as an IE-Windows-only dynamic html behavior component), so they could take full advantage of all of the browser's features, in a well-integrated, memory-efficient way.
Unfortunately, it's unlikely that Microsoft is going to support Dynamic HTML Behavior Components on the Mac version of Internet Explorer, and unlikely but not impossible that Mozilla will support them on any platform. It's a nice way to package and re-use components implemented in scripting languages like JavaScript or VBScript (or any other language).
I'm glad the Mozilla developers have implemented pie menus using their own component technology (Chrome). It would be nice if Mozilla could some day support DHTML components on all platforms (which would give it an advantage over IE), and also nice if IE could support Chrome components on all platforms. One of those scenarios is more likely than the other, though.
The JavaScript pie menus can't shape the window in arbitrary ways like the ActiveX pie menus do, because they're running inside of the browser window, without their own windows. But they're nicely integrated into the html rendering engine, so they can take advantage of all kinds of nice features like transparency, rendering parameterized Flash files, etc.
The pie menu tracking callbacks can change dynamic html properties as well as Flash object parameters, which works well because recent versions of Flash have been integrated with Internet Explorer's HTML renderer instead of being blocked off in its own window. So the browser can draw html content on top of flash content and vice-verce, and JavaScript pie menus can integrate them both.
I don't yet know how to Mozilla pie menus are integrated with the web page and drawing engine, but I trust they've done a good thing, and I'm looking forward to trying them it and learning how it works.
-Don
Take a look and feel free: http://www.PieMenu.com
As much as I hate to say it, the studies by Nielsen et al are actually worth something here. A context menu arranged in a circle will be easier to navigate, because you memorise direction as well as distance (look at the answer to q7 on the page).
Also, pie menus will be advantageous because, unlike keyboard shortcuts, they will be displayed whenever called upon. Further, arrangements such as piemenu-Left to go back, piemenu-Right to go forward, are intuitive.
Overall, this is a development in UI design that I'd like to see used more. I first saw it used in the extra software supplied with a Genius wheel mouse.
Like car accidents, most hardware problems are due to driver error.
So you can mouse ahead through a pie menus reliably, because it's the direction, not the distance that matters.
But with drop-down menus, the distance is what matters, and the direction is always the same: down (which suggests that alternative possibilities are being wasted: the other directions). It requires your full visual attention for the hand-eye feedback loop, to position the mouse over the correct target rectangle, merely as tall as the font height.
Selecting one small rectangle below your cursor requires much more attention and precision than selecting one large pie slice, each in a different direction.
Fitts' Law predicted it: the larger and closer the target, the faster and easier it is to hit. The experiments have proven it. But close-minded people are still stubbornly resistant to change, as it has always been and always will be.
-Don
Take a look and feel free: http://www.PieMenu.com
That brings up another good point, which is that from what I've seen none of the radial menu implementations (Moz's or his javascript ones) implement hotkeys, which for a lot of users (read: me) immensely improves speed. I didn't like NWN's radial menus at all, especially since they have a 9th zone in the middle, which is the 'close menu' or 'go back' function. That meant that you had to move the mouse a significant ways towards each icon, eliminating a lot of the speed gain. Then I found out that the keys on the Number Pad were hotkeys for each of the 8 directions (with 5 being a hotkey for the center zone, and 0 being a hotkey to popup the radial for your character.) After that I loved them. Need your familiar? 0-4-1. Need rapid shot mode? 0-3-7-3. That saved all my quickslots for spells, potions, and other life-saving bits. I played most of that game with my right hand on the mouse and my left moving between asdf and the number pad.
Of course, I have no idea whether I'll ever find a 'real' use for being able to 10-key with the wrong hand, but you never know. :)
Have a play with this "FlyMenu" example I wrote one time.
Choice of masters is not freedom.
Sorry - my previous comment (sibling of this one) might merit a bit more information:
While this flies in the face of conventional UI dogma - the mouse behaviour is "different" for the menus - It's not _very_ different, especially since the scrolling of the menus underneath makes it look like the mouse is moving as usual.
The alternative is post-menu warpback, but I tried that too, and found it much more annoying than the scrolling effect my example illustrates.
FlyMenu
Here you can download a mockup of a proposal for scrolling menus, that would make using popup menus in art packages and the like a lot easier.
flymenu.jar (11K)
Requires a 1.3 JVM
Start with java -jar flymenu.jar
Explanation:
_Current Situation:_
When you press RMB, a popup-menu appears. you move the mouse.
"""Moving the mouse causes the mouse pointer to move.
You use this to select an entry from the menu. Menu then disappears and your action is carried out.
"""Mouse pointer is in a quite different position to where you left it before pressing RMB.
_Suggested Situation:_
When you press RMB, a popup-menu appears. you move the mouse.
***Moving the mouse causes popup-menu to scroll underneath the (stationary relative to physical screen) mouse pointer.
You use this to select an entry from the menu. Menu then disappears and your action is carried out.
***Mouse pointer is exactly where you left it before pressing RMB.
Choice of masters is not freedom.
He had just finally released the NeXT computer. This was his big debut after such a long wait (remember the "NeVR" t-shirts?). The NeXT Computer had the best user interface in the whole world. All other user interfaces sucked in comparison. And the NeXT didn't have pie menus, therefore pie menus sucked. If you can follow that train of thought outside of the reality distortion field.
I gotta hand it to Jobs. Once he makes a decision, he sticks with it -- you gotta give him that. As far as I know, NeXT in its current incarnation as Mac OS/X still doesn't have pie menus.
-Don
Take a look and feel free: http://www.PieMenu.com
<select name="pie">
<option value="Apple" selected>
<option value="Cherry">
<option value="Blueberry">
</select>
Mmm, blueberry.
One of the biggest advantages to pie menus is that you can learn the motions, and perform those actions automatically without visual feedback. This is very hard to achieve with drop-down menus.
However, in a large number of applications this is not particularly useful. I don't think pie menus are very useful when learning the application -- with a menu of items, it is fairly easy to scan through the descriptions. They are listed, top to bottom, and this is how we are used to reading (not top-left-right-bottom). It's also easy to skim a large number of menu items by dragging the mouse through the menubar. The only payoff for pie menus is later when you have memorized the action.
In most applications you won't have a chance to memorize the action. Most menu actions will only be performed very sporatically -- the user might only use the application once a week, or they might use a wide variety of actions which are too large to fit on a pie menu. My (wild) guess is the user has to use the particular action at least two times a day on average to learn the motions ("muscle memory").
One exception might be a word processor or a spreadsheet -- there's lots of repetitive tasks. However, in these situations keyboard shortcuts are superior -- the user is already using the keyboard, and moving from the keyboard to do gestures will not help them.
The other big exception is the browser and games. People have mentioned games already -- they are novel interfaces, and you are already expected to learn a lot of new rules to play any game, adding the pie menu interface isn't a difficult. With the obsessiveness of gaming, and the need to simplify oft-repeated actions, pie menus are a perfect fit.
Then there's browsers: when using a browser, there are a small set of actions that are repeated over and over (back, forward, close, etc). People also use a browser for long periods -- hours each day -- so they have time to learn even fairly complex actions. Lastly, they usually browse with the mouse, not the keyboard. Just like mouse scroll wheels are a useful alternative to the keyboard shortcuts (the arrow and page up/down keys), gestures can be a useful alternative to other keyboard shortcuts (Ctrl-Left, etc).
The other area where pie menus would seem very useful would be visual editing environments -- things like Photoshop or Blender -- where you are working largely with the mouse, and do so for long enough periods that you could build muscle memory for your most often used actions.
Just because your grandmother can't use it, doesn't make it useless.
Keep the defaults simple but allow users to use advanced options.
I assume that you also have no use for mouse gestures. Because that is really what this is. It's mousegestures, with a GUI tool to help you remember which gesture does what. It is one of the greatest features that can be added to Mozilla, IMHO.
karma capped
What objective facts are your personal beliefs based on, or are they purely subjective? Question: How do you know that your personal beliefs are not merely a perception of knowledge than true knowledge? Answer: subject your theories to experimentation.
Have you performed any emperical experiments to determine if pie menus have an advantage over linear menus?
I'm sorry your personal belief contradicts my own emperical experience. In all the experiments I have ever done, and all the ones other people have done that I have read about, pie menus have been proven to be faster than linear menus.
Here are a few references to experiments measuring the usability of pie menus.
So it's not at all subjective or based on personal belief. The effect of Fitts' Law is quite easily measured, which should eliminate the need for resorting to the exposition of subjective personal beliefs.
Here is one such experiment that you can try for yourself (which requires Internet Explorer). Fasteroids is a free game that lets you compare pie menus with linear menus. Take the pie menu challange! Fasteroids tracks your selection speed and error rate, so you can compare pie menus and linear menus for yourself.
-Don
Take a look and feel free: http://www.PieMenu.com
Streaming: Pie Menu Tab Window Demo.
Download: Pie Menu Tab Window Demo.
Here are some earlier demos of tab windows and pie menus in UniPress Emacs and HyperTIES at the University of Maryland HCIL.
Streaming: NeMACS (NeWS Emacs) Demo
Download: NeMACS (NeWS Emacs) Demo
This is a HyperTIES demo, showing embeded graphical links with pop-up images.
Streaming: HyperTIES Demo
Download: HyperTIES Demo
Here's just the pie menus from "All The Widgets", CHI'90 Special Isssue #57 ACM SIGGRAPH Video Review. Tape produced and narrated by Brad Meyers.
Streaming: Just The Pie Menus from All The Widgets
Download: Just The Pie Menus from All The Widgets
-Don
Take a look and feel free: http://www.PieMenu.com
Neverwinter Night has pie menus almost exclusively.
Not a bad implementation, but i'd still like to see something cleaner.. it's a lot of mouse travel to use a pie menu.