The Pros and Cons of Pie
By Eddie Lopez. Thursday, 4. January 2007, 05:05:47
I saw this article talking about the pie menu (extension) in Firefox.... does Opera do anything like this?
...the other day in some article about the *next* version of Windows that may (or may not) include pie menus... the author discussed the Firefox extension in the absence of any Windows based examples. So that got me explaining the difference between mouse gestures and pie menus, and I thought a little bit about what I like and dislike about them that I thought I'd share.
Pie menus are great in my opinion. At least, much greater than what we have for menus and toolbars. They take the mouse travel out of the equation and change it into mouse direction. So you're not constantly moving all the way over to the back button, then back to page content... (I'm already tired!). In addition, they take a context sensitive approach. What your mouse is hovering over at the time you bring up a pie menu determines what kind of menu you get. The latest version of Office includes the context sensitive part in the "the Ribbon."
All this is of course very familiar to Opera users, or any mouse gesture fan. The big difference between the two is that you don't get to see what's going on with mouse gestures. You'll get feedback only after the command has been executed, and hopefully it will match what you intended it to do.
It sounds like I'm putting down Opera's approach (of course available as a FF extension as well), but I'm not. In fact, I prefer this approach in the long run as it forces simplicity and activity centered design. I explained back to the email (paraphrased if you're reading Shelly):
Pie menues might be better for “the masses” because you can see it on the screen, you get visual feedback and an actual menu that might remind you of a command you may have forgotten about. Mouse gestures have the advantage in that you can easily do them without looking at them. You can be in the middle of reading an article and execute the “close page” gesture even as you’re still reading the last sentence…. Since you don’t have to actually look or “hit a target” with the mouse, I prefer them over pie menus. The command is invisible to me.
(I do like to woo the ladies with usability talk)
Now, I'm sure experienced pie menu users can execute them without looking at the menu, and I think that's great. It's a nice "best of both worlds" approach, but gestures are *designed* to be executed without looking at a menu, which is a different approach. Nested pie menus are possible, but nested mouse gestures would be too cumbersome. I tend to keep my mouse gestures at the very max three movements only (left, right, left to enable fit to width... I envision my mouse bouncing of the edges of the page to "shake" it to the correct horizontal spacing of fit-to-width). Since I love my browser mouse gestures so much, I tried the software that lets you use them on Windows and was sorely dissappointed. Mainly because they weren't native and not nearly as responsive as in Opera, but also because I had to draw letters of the alphabet with and complex gestures with my mouse that were impossible if you didn't show the trail. This defeats the purpose of the mouse gesture to me- that you can execute a command without having to spend any mental cycles thinking about the physical act of execution.
I love replying the slashdot comments about how mouse gestures are for lazy people. It has nothing to do with that. I love mouse gestures because I dont' have to divert from whatever task I'm doing (reading a page, thinking about the next tab I want to view...etc..) just to preform some browser UI manipulation. Gestures are the epitome of "the UI shouldn't get in the way." I think "back" and I'm back in history. I don't have to right click, select from a menu, or look up at the browser bar and find the "back" target. The muscle memory takes over and it's absolutely seemless.
Pie Menus are nice because you could achieve this same "muscle memory" feeling while still having visual feedback in case your muscles don't quite remember. I think that's great in the long run but it opens the door to overly complicating the simplicity of the pie menu. It's tempting to make the slices really small and cram as much in there as you can, or to nest pie menus together. It's probably still better than what most menus look like now, but keeping me focused on my tasks (activity centered design!) and not inviting complexity into the menu is why I prefer mouse gestures over pie menus.
Of course, as I write this- it would be nice to have a combination of them. Executing a gesture up would start a pie menu, but the other (left/right/down and subordinate movements) ones would be traditional mouse gestures. But that would probably blow my mind.



Helmers # 4. January 2007, 12:29
Anonymous # 4. January 2007, 14:49
Your write-up here is great. Fitt's Law is the only concept I'd add which formalizes the mouse travel issues that pie menus solve.
My favorite gesture is dragging over links and then doing the finishing move right up left to open all links in new tabs. This is one of the original innovations in the optimoz project we added when we cloned the gestures functions from opera back in '01. The doublestack is fun too -- drag over a link to the right, go up, down, and right to create a split screen with the current page and the link.
For more on mouse travel, check out http://surfmind.com/masters/screens/the_making_of_a_visualization.html
PS - there's an easter egg in optimoz, try R-L-D-U-R (an F).
Eddie_Lopez # 4. January 2007, 16:01
Thanks. You're right- I forgot to bring in Fitt's Law into the discussion, but I didn't really want to focus too much on the travel anyway, especially since the two "methods" I'm talking about use the same notion of Fitt's Law.
I think it is basically boils down to Fitt's Law using either "Visual feedback" vs. "Muscle Memory." Of course, you can use trails with some forms of mouse gestures, and you can also get pie menus down with muscle memory.... but I believe the inherent design is as stated.
The differences of these designs IMO is that Visual Feedback would have a greater tendency of being overused and bogged down, and the gestures (with no trails) would stay lean and efficient.
If I had to guess, I'd say trails were introduced into gestures because of these overly complex movements. ...and since there are trails, that's carte blanche on getting gesture crazy- just leaving you with Fitt's Law as your only benefit (which isn't necessarily a bad thing either)
kmaage # 5. January 2007, 10:35
1) The menu appears only after a hold-still threshold, something like a tenth of a second
2) The item finally selected is flashed, whether done "blind" or with the menu
Bill Buxton has been involved in lots of research on marking menus. This interesting paper about marking menus from 1994 has a discussion section with some guidelines on how and when to use them.
I recommend reading any of his papers: marking menus, Fitt's Law, one handed keyboards and many others.
mr7clay # 22. January 2007, 22:22
1. You can get a configurable visual trail for the gesture. This aids in activation and in committing the movements to memory.
2. The status bar alerts/warns you of the gesture you're about to activate if you let go of the right button, so you can easily abort.
Eddie_Lopez # 22. January 2007, 22:42
that may be good or bad depending on your perpesctive, I do not prefer it. I like that Opera's doesn't show trails- it forces me to keep the simple and effecient.
..but I agree with your point- it's probably not the most "usable" that depends on if our definition of "usability" is "easiest to undertand for any user at any level of experience..." or if it's "the most efficient tool for the job."
I tend to think that mouse gestures are very usable... but they just aren't for everyone... they don't offer a lot of feedback and they're hard to discover. But they are quite efficient for those interested.
Anonymous # 4. March 2007, 04:21
I like what you have to say about pie menus and gestures.
In a nutshell, here's why I think pie menus are easier to use and less error-prone than gestures: Pie menus completely cover the entire "gesture space" of possible gestures. All possible paths the mouse can take between clicks are valid and well defined pie menu "gestures". No pie menu "gesture" is ever a syntax error. Users can intuitively understand how pie menus map mouse motion to the selection (which is not true of gestures, which rely on complex pattern matching and heuristics instead of simple obvious geometry). And pie menus support "reselection" and "in-flight error correction": when you start a pie menu gesture and realize you've made a mistake, or change your mind, or just want to browse, you can always correct the menu selection by moving around to the proper direction, before you release the mouse. A gesture-based system that looks at the path of the mouse would most likely interpret that as a syntax error, or worse mis-interpret it as an unintended gesture. Once you start a gesture, there is no way to cancel it -- you just have to mess it up and hope for the best: that it's not interpreted as a command that's hard to recover from. Pie menus eliminate the possibility of syntax errors, always allow you to cancel or change your selection, and drastically reduce the likelyhood of errors, by allowing the user to correct mistakes at any time during tracking (or even browse around the menu reading the labels as they're highlighted).
By the way: I just ported pie menus to the OLPC (One Laptop Per Child) Sugar user interface, by rewriting my OpenLaszlo pie menus in Python, using the GTK toolkit, Cairo rendering library, and Pango text formatting library. Free source code and screen shapshots are here:
http://www.DonHopkins.com/drupal/node/128
Eddie_Lopez # 5. March 2007, 03:38
Thanks for the words. I certainly agree with your points- thanks for commenting.