Pie menus

How about implementing pie menus?
Pie menus are menus which have the options displayed in a circle, instead of a list, as in traditional menus.

Pie menus allow faster selection of items compared to standard menus when using a mouse.

Pie menus in Wikipedia

That sounds like a really neat idea! I’d vote to include it in R2 as a native widget–something to distinguish Haiku in yet another useful way, if used in moderation.

I think if the default Haiku menu was (what I would call “properly”) categorized, with maybe 4-8 main categories, this would make a neat default thumb-button or middle-button assignment, seeing as you’d want to call it up in the middle of the screen rather than where the Be menu is now in the corner.

Kev

I think that we would need some examples/mock-ups. I know that Comcast has The Fanâ„¢ and I think that it is terrible! No lables, hard to know what you would want to look at, etc…
In my mind, that would be a great example of what not to do.

yahoolian wrote:
How about implementing pie menus? Pie menus are menus which have the options displayed in a circle, instead of a list, as in traditional menus.

Pie menus allow faster selection of items compared to standard menus when using a mouse.

Pie menus in Wikipedia

I personally tried the RadialContext menu for Firefox and was appalled at how annoyingly difficult it was to use.

While it may seem like a good idea for some context menus (especially the smaller ones) - i think most people would still prefer the default line-item menu (after all, people have been working with lists/lines of text for pretty much forever)

I certainly don’t have to credentials to know if this is fesable, but it would be interesting if Haiku was built so that this was an option, or even a way to install a right-click menu component which would be equal to and replace the standard.
I’m tired and now I don’t think that made any sense. Bacon is good and I love Jolt Cola.

Kev: yeah, that sounds like a good idea. Although it might be a better use of time to get the concept working rather than doing a mockup.

umccullough: The RadialContext implementation is somewhat of a pain, I agree.

I think it could be done much better.

  1. Display text instead of icons, easing learning.
  2. It’s too easy to accidentally open a submenu. Open submenus with the same action as regular items.
  3. Delay showing the menu until the mouse button is released, lowering intrusiveness for expert users.
  4. Put frequently accessed submenus at North, South, or East, making access easier.
  5. Sometimes it’s too context sensitive, hiding very frequently used items.
  6. Lack of keyboard acceleration.

All of those issues are with that particular implementation, and not pie menus in general.

You could try the Easygestures extension it is somewhat better than RadialContext. But it has the issues mentioned above, except #2, #4 and #5, and two more:

  1. Submenu implementation is pretty bad.
  2. Total lack of context sensitiveness.

I’m looking into correcting the faults, hopefully I’ll finish it soon. Please give it another try once I finish…

I think pie menus should be the default, as they offer much faster selection than standard menus.

hank: that certainly would be possible. But I think it would be better, when a particular pie menu has already been laid out, to only use that one.

yahoolian wrote:
You could try the Easygestures extension it is somewhat better than RadialContext. But it has the issues mentioned above, except #2, #4 and #5, and two more: 1. Submenu implementation is pretty bad. 2. Total lack of context sensitiveness.

I’m looking into correcting the faults, hopefully I’ll finish it soon. Please give it another try once I finish…

I’ll give that a try… are you involved in the development of easygestures?

Not offically, but both of the extensions are open source, and my understanding of Javascript is decent. I’m modifying RadialContent instead of EasyGestures, because the code seems much cleaner.

Okay, I finished some modification.

To install, dowload the below file, tools -> extensions, then drag the file to the extensions window.
http://mercury.walagata.com/w/yahoolian/RadialContext_firefox.xpi

Still more to go though.

Pie menus as the default interface (in a specialized version of Haiku) would make us one step closer to Haiku on the iPod 8)

The more i read the more i prefer the extension-based concept of chrisari… instead of integrating it into the OS; it should be offered as an alternative thing that the user can install to his wish.
This is because pie menus take time to get used to; and also are generally less descriptive to guess. Optimoz pie menus for firefox is cute though

A better example of pie menus (aka marking menus, spider menus, compass menus, etc.) would be Alias Maya or AliasStudio. They’re actually very intuitive.

In order for them to really work correctly, it’s best to use 8 main entries in the menu (N, NE, E, SE, S, SW, W, NW) and have overflow on a list below the pie menu. It’s easy to use for a beginner because you can hold it open and look at the entries. Or, if you’ve memorized the locations, it’s quite easy to simply flick the mouse and select an entry gesturally.

Again, when done correctly, pie or “marking menus” (as Alias calls them) can greatly accelerate workflow, yet keep all of the functionality of the regular context menu. There’s a great paper written about them online somewhere… used to be on Alias’ site before they were bought by Autodesk. I’ll post it if I find it.

Here’s an image:

If anybody lives in Southern Calfornia, I’d be happy to give a demo on Maya. :smiley:

Greg

I’d prefer six main entries, or four or three. triangular, square and hexagonal menu still is clear, I don’t think one with eight choices is clear anymore.

yahoolian, I must thank you, this form looks exactly something which could be working if you prefer doing graphical icons. I think I’ll be using pie menus in one of my projects very soon.

I’m hoping full skinning will be available in R2. If it is, this would easily be added as a skin. Want pie menus? Install a skin that uses them.

j_freeman wrote:
I'm hoping full skinning will be available in R2. If it is, this would easily be added as a skin. Want pie menus? Install a skin that uses them.
Not to sound like I want to start a flamewar, but I really hope that skinning is not available in R2 any more than it is in R5 and Zeta. Skinning is a feature that is really cool-looking and lends itself to some bragging rights, but there is so much potential for something that makes the OS much harder to use. Take a look at Linux. Also, most graphic artists, while the have the capacity to make an OS absolutely gorgeous, are clueless when it comes to usability.

Pie menus also have their uses, but what about for a menu that has more than about 6 items? Once the number of choices gets above 6 items or so, they’re actually harder to use. Pie menus are good for specialized purposes, but not across the operating system, IMO.

DarkWyrm wrote:
Not to sound like I want to start a flamewar, but I really hope that skinning is not available in R2 any more than it is in R5 and Zeta. Skinning is a feature that is really cool-looking and lends itself to some bragging rights, but there is so much potential for something that makes the OS much harder to use. Take a look at Linux. Also, most graphic artists, while the have the capacity to make an OS absolutely gorgeous, are clueless when it comes to usability.

Pie menus also have their uses, but what about for a menu that has more than about 6 items? Once the number of choices gets above 6 items or so, they’re actually harder to use. Pie menus are good for specialized purposes, but not across the operating system, IMO.

You pretty much nailed how I feel about it also :slight_smile:

DarkWyrm wrote:
...but there is so much potential for something that makes the OS much harder to use.

Hmm, not sure I understand what you mean. As long as there is an easy-to-use skin available (one that implements R5’s UI, for instance), what is the problem? The implementation would have to be standardized of course. Applications would be completely naive of what skin was being used, etc.

I don’t know enough about Linux or the way it implements skinning to know what problems it brings (though I’m sure there are plenty!). Would you explain or give an example?

All that said, if skinning wasn’t in R2… I agree with you on the pie charts. I wouldn’t want them across the OS. Apps that want to use them could use them by implementing as a custom widget or something, right?

OK, you asked… :o

Well for starters, there is the issue of branding. A regular person on the street can’t necessarily look at a screenshot of something running in X and immediately recognize it as Linux. OTOH, even Joe Average can instantly recognize a shot of OS X or Windows.

A lack of consistency is another reason. Take a look at these 5 WinAmp skins.

http://darkwyrm.beemulated.net/usability/skinarticle/winamp/winampdefault.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/sonyblack.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/kaolla.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/sonympfx.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/raydreamtsunami.jpg

They are all laid out in the window in pretty much the same way, but kaolla and raydreamtsunami are very different, especially if you focus on the mixer controls.

Also, skinners tend to fall into the ‘graphic artist’ kind of person. An artist can make an interface that looks so good that you say to yourself, “Wow! That’s so cool! I have got to try that out!”. The only problem is that when it comes to software, the proof is in the use, not the look. Few artists know much about usability or take it into account. Unfortunately, this results in controls that are hard-to-find or hard to click on or other issues. Two specific examples:

  1. Look at the kaolla example. Because the skinner didn’t take into account that you need contrast to be able to read text and controls, everything in the inner part of each window is either light gray or slightly-darker gray. There isn’t enough contrast to be able to find any controls or read any text without working really hard to figure out what everything is first. This has to happen every time you work in some other app and switch to it again.

  2. In each picture, look at the window control buttons in the top right corner. With the exception of the default skin, you can’t just look at the window and figure out what each one does. The default one gives you a little clue as to what each one does and raydreamtsunami at least differentiates the close button from the minimize and windowshade buttons. There is no standard and far too many skins make all the buttons look exactly the same.

A final reason is something that is inherent in people, something I call habituation. People are good at making a task into something that requires no or little thought after they’ve done it enough. Tasks that fall into this category are things like walking, changing gears on a manual transmission car, or clicking the Yes button in the ‘Are you sure?’ window when I delete a file in Windows 98. Skinning disrupts this. Try changing the window decorator you use and use it for a couple hours. If you use R5, use the decorator easter egg to change to the Amiga or MacOS 8 decorator. Under Zeta, pick one quite different from the one you normally use – Baqua, Origin, or OriginSimple are probably good choices. Although you can get work done after changing the decorator, it does make it harder because you can’t just go on “autopilot” when you need to close a window.

Thanks for explaining. 8)

DarkWyrm wrote:
Well for starters, there is the issue of branding. A regular person on the street can't necessarily look at a screenshot of something running in X and immediately recognize it as Linux. OTOH, even Joe Average can instantly recognize a shot of OS X or Windows.

I understand this. But I don’t think it’s a good reason to not want skinning. Users should have the ability to make their Haiku look like Windows if they want, IMO. What’s underneath is the important part.

Quote:
A lack of consistency is another reason. Take a look at these 5 WinAmp skins.

http://darkwyrm.beemulated.net/usability/skinarticle/winamp/winampdefault.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/sonyblack.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/kaolla.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/sonympfx.jpg
http://darkwyrm.beemulated.net/usability/skinarticle/winamp/raydreamtsunami.jpg

They are all laid out in the window in pretty much the same way, but kaolla and raydreamtsunami are very different, especially if you focus on the mixer controls.

I absolutely agree here. I always use the classic Winamp skin; I can’t stand 3/4ths of what is out there–too confusing to use. The classic skin gets the job done. :slight_smile:

That said, why should you or I care if Joe Blow uses some weird skin that you or I wouldn’t even know how to operate? It’s Joe’s Winamp–not ours.

Quote:
Also, skinners tend to fall into the 'graphic artist' kind of person. An artist can make an interface that looks so good that you say to yourself, "Wow! That's *so* cool! I have *got* to try that out!". The only problem is that when it comes to software, the proof is in the use, not the look. Few artists know much about usability or take it into account. Unfortunately, this results in controls that are hard-to-find or hard to click on or other issues.

Again, I absolutely agree. But again, that said, who cares if there are hard-to-use skins out there for Haiku? Usability is the utmost importance for this project, but only for the basic Haiku. If skinning was added in R2, I’d say ship an R1-like skin as the default and allow users to install 3rd party skins if they want.

Quote:
A final reason is something that is inherent in people, something I call habituation. People are good at making a task into something that requires no or little thought after they've done it enough. Tasks that fall into this category are things like walking, changing gears on a manual transmission car, or clicking the Yes button in the 'Are you sure?' window when I delete a file in Windows 98. Skinning disrupts this.

It does disrupt it… but not for someone using the default skin, or a well-designed skin. Again, Joe Blow can toss habituation out the window for all I care.

Do you see the point I’m trying to make, DarkWyrm? My friend uses some weird, completely wild skin for his Winamp. Like I said before, I use the classic one… so when I’m on his computer I’m totally lost on his Winamp. Big deal. It’s his Winamp, not mine.

Don’t get me wrong; I agree with everything you say, but I don’t think these are good reasons not to have skinning in R2.

You seem to be a pro when it comes to usability and all that, but I think you’re forgetting that customization is a part of usability. If I wasn’t able to customize Windows, I probably couldn’t use it very well. Skins are just another type of customization. Maybe my friend Joe will find a 3rd party Haiku skin that actually improves Haiku’s usability for him.

Anyway, I’m not trying to change anyone’s mind, or flame or be mean or anything like that (so don’t take what I say that way). :slight_smile:

j_freeman wrote:
Thanks for explaining. 8)
DarkWyrm wrote:
Well for starters, there is the issue of branding. A regular person on the street can't necessarily look at a screenshot of something running in X and immediately recognize it as Linux. OTOH, even Joe Average can instantly recognize a shot of OS X or Windows.

I understand this. But I don’t think it’s a good reason to not want skinning. Users should have the ability to make their Haiku look like Windows if they want, IMO. What’s underneath is the important part.

Actually, I’ll agree with DW here - branding, and ease-of-use is EXTREMELY important in a project like Haiku. Just imagine if Joe Blow with his horribly-disfunctional skin has his wife/girlfriend, or various friends come and use his computer for a few hours.

Even if it looks cool, there is a strong chance that they’ll walk away with the impression that Haiku is hard to use.

Another example is various publicly-accessible machines with Haiku installed - I don’t know about you, but I CAN’T stand when i use a public computer and someone has crapped all over it with their themes and colors - skinning would be even worse!

This is the type of viral marketing that Haiku will need - and can’t afford to lose early in the game. R2 may even still be too early for these types of features - but ultimately we’ll see.

I would say Haiku needs nothing more than what Windows XP provides for it’s default theming - and that is more than even I would like.

Anyhow, back on the topic of pie menus - I still haven’t found these to be terribly useful whenever I use them. I see them as mostly a novelty-concept simply to be different - but I don’t find myself attracted to them for usability. There needs to be a good defined line between "looks cool" and "works well".