User Centered

Studying the design of everyday things

The Pros and Cons of Pie

, , , , , ,

My girlfriend sends me this note...

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.


Lowball GuessJust like me!, Techie Toys, part 3 of 3

Comments

Henrik HelmersHelmers Thursday, January 4, 2007 12:29:15 PM

Mouse gestures is also my very favorite feature, and the basic back and forward movements are excellent time-savers. Next to the scroll wheel they're the my favorite browsing features.

Unregistered user Thursday, January 4, 2007 2:49:25 PM

Andyed writes: 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 LopezEddie_Lopez Thursday, January 4, 2007 4:01:33 PM

Andyed-

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)

Kenneth Maagekmaage Friday, January 5, 2007 10:35:31 AM

The idea was used a long time ago by Alias Wavefront (now Maya) in commercial 3D animation software. They call them "Marking Menus" and they are different in two ways:

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 Monday, January 22, 2007 10:22:57 PM

I've had to use IE for the last few days and found "Mouse Gestures for IE". Simple install and (gasp), more usable than Opera's for a couple reasons:
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 LopezEddie_Lopez Monday, January 22, 2007 10:42:54 PM

While trails are helpful, I argue that the encourage gestures to be more complex. I'm not saying that's necessarily the case, but once you can see what your gesturing, then it's much easier to leap into complex gestures.

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.

Unregistered user Sunday, March 4, 2007 4:21:30 AM

Don Hopkins writes: 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 LopezEddie_Lopez Monday, March 5, 2007 3:38:16 AM

Don-

Thanks for the words. I certainly agree with your points- thanks for commenting.

SumD00dYo Tuesday, April 6, 2010 2:22:29 PM

Anybody ever played "Silver"?
It basically incorporates both ideas:
- The combat system masks various attacks as mouse gestures (real-time)
- The menus to choose weapons etc. are pie-like menus

http://en.wikipedia.org/wiki/Silver_(video_game)

Write a comment

New comments have been disabled for this post.