kando-menu / kando

🥧 The Cross-Platform Pie Menu.
https://ko-fi.com/post/Kando-1-0-0-released-G2G5Z1DOS
Other
1.17k stars 25 forks source link

Non-moving/stable menu option #485

Closed offset-torque closed 6 days ago

offset-torque commented 1 week ago

Description

Firstly thank you very much for this application. I was a long time user of Easystroke and Gnome Pie. I love pie menus and I think that computers need pie menus. Also Kando's design is very tasteful and your tutorial/update videos are very nice too. Overall Kando is an exemplary open source project. :100:


My problem: Currently Kando moves when the cursor navigates sub-menus and I find this shifting behavior very disorienting. Kando is not anchored to the screen space. Especially when I go back to main level from a sub-menu, it feels like the menus are connected with a rubber band and the whole menu is sliding all over the place. This movements require re-registering the menu/sub-menu location every time it moves. As an example, I am using pie menus in Blender and they never move once they are open.

I guess the reasoning behind this is keeping the menus always in the screen space (for small/mobile screens?). But my preference is for a centered menu that is stable so I can use the (both absolute and relative) screen location memory (in addition to muscle memory). Please note that I am not saying this is the correct way. I am just saying that there are perceptual differences between people and I suspect that considerable amount of users might prefer this type of stable behavior.

So if you haven't thought about this, please consider adding an "anchored mode" that will fix the menu to the opening location (whether it is at the cursor location or at the screen center) and never move it when traversing the sub-menus. Without this option, sub-menus would be unusable for me (and I guess for many others) and unfortunately I can only use Kando as a single level Gnome Pie replacement.

Affected Desktop Environments

All

Additional Information

No response

Schneegans commented 1 week ago

Hi there! Thank you very much for the kind words! There had been a similar request (#462) before, so I think you have a point here. An "Anchored Mode" could be possible to implement, although we would need to drop all marking-mode functionality when it's enabled. I am pretty sure that selections in such an anchored mode would be less efficient!

But it shouldn't be too hard to implement, so I can add it anyways. Yet I would encourage everyone to try to understand the unconventional behavior of a marking menu. Once embraced (and you may need to wrap your head around it as it is somewhat different to "usual" pie menu), you may see that there are significant advantages in the current design.

Schneegans commented 6 days ago

I implemented this "Anchored Mode" in the feature/anchored-mode branch. If it's possible for you, you could run Kando from source and test the behavior. For me, it feels very weird. But maybe it's cool for others...? Here's how it looks like:

https://github.com/kando-menu/kando/assets/829942/937050a8-72c7-4272-a5ea-adf52b5a13b0

What do you think? Is this how you imagined it?

in4matix commented 6 days ago

@Schneegans , Thank you very much for your hard work on this awesome Application. Also a long-time user and fan of Fly-Pie and Gnome-Pie before that. Using Fly-Pie often as it has become a huge part of my workflow. I have been following the progress of Kando since the beginning, and I am very excited about this project and the possibilities. The above "Anchored Mode" makes perfect sense to me and looks great in the video. I always use Fly-Pie in centered mode, so yes, I like this implementation.

offset-torque commented 5 days ago

Wow, thanks for working on this Simon. I was reading the document you linked to be able to give more informed feedback. As a UI/UX enthusiast, I have read some historical documents about pie menus but this is the first time I am seeing this marking menu concept. It is a clever and powerful system.

About this issue: I just noticed that I forgot to mention the mode in my feature request. I was specifically talking about the movement in Turbo mode. But as I read about the subject, I am not so sure about my request because it seems like I am applying the wrong mental model to the turbo menu. Probably my request is not applicable. I have to read the rest of your document.

About the anchored mode in the video: This feels much more natural and logical for me. I would much prefer this behavior of "point and click" mode because there are no unexpected movements. New sub-menu is always at the center where I expect it to be. This means less surprise and cognitive load for me.

But you said "For me, it feels very weird." And this was what I was trying to say exactly. We (humans) have different cognitive models for interaction (in this case with menus) and what comes natural to one, feels weird to the other. This reminds me of the "natural scrolling" mode. Some people love it, and for some this is the first thing they disable on a new system.

In short, I liked your "anchored mode" solution and I will use this mode mainly (and I will try to get used to the turbo mode). Thanks for adding this :)

in4matix commented 5 days ago

Oh, okay, hang on, I did not realize that Kando has Centered Mode already! Similar to Fly-Pie! My bad, I need to actually start testing Kando before commenting here. I was holding off because I thought that it might interfere with Fly-Pie, but I can fire up a VM. Thanks @Schneegans , sending a couple of coffees your way.

Schneegans commented 5 days ago

I was specifically talking about the movement in Turbo mode.

I think we are missing some good tutorial videos here. Marking menus are unconventional and it's not exactly intuitive to use them "right". The most common "mistake" I see is that folks use uncertain, wavy, or curvy gestures.

Here's an example video. The first two selections are "not good", thereafter I start doing expressive, zig-zag gestures. Always try to compose your gestures out of quick and straight line segments. A submenu will open as soon as you pause the movement or make a turn:

https://github.com/kando-menu/kando/assets/829942/27e0c058-d2fc-41fb-bf7a-a618db317126

This reminds me of the "natural scrolling" mode. Some people love it, and for some this is the first thing they disable on a new system.

The problem with this comparison is, that the "intended way" of using Kando (aka the Marking Mode) is far superior efficiency-wise than any point and click approach. As I mentioned before, you will be several times slower. And that's not because I feel this way, but it's simply due to the physical laws of pointer movements and aiming at click targets.

@NeighNeighNeigh put it like this on Discord: "[...] I fear it could lead them [the users] to avoid learning the superior default behaviour. I wonder if people are a little hasty in asking for a 'fix' … it could be that the behaviour is unexpected and so feels broken. I think the default operation is super simple and elegant, but it did feel rather quirky before I 'got it'. Perhaps if people understood what they were about to experience, it wouldn't be such a shock. Maybe we could put together some kind of almost diagrammatic demonstration of how the menu works, to help onboarding newcomers."

So I totally agree with @NeighNeighNeigh here. I'll leave the Anchored Mode in there, but add a warning that the user experience may be more rewarding if they embraced and tried to learn the default behavior. And to help with this, a video tutorial would be awesome.

Thanks @Schneegans , sending a couple of coffees your way.

I'll definitely appreciate this :coffee: :+1:

offset-torque commented 5 days ago

Perhaps if people understood what they were about to experience, it wouldn't be such a shock. Maybe we could put together some kind of almost diagrammatic demonstration of how the menu works, to help onboarding newcomers.

This is very important, and I am saying this from the experience. I am the user guide author of KOReader, an open source e-book reader mainly focused on e-ink devices. We have one of the best user guides of any open source app (nearly 100 A4 pages) and I also contribute to the UI/UX related discussions there.

Expectations set the bar for user experience. People who have already used other pie menus will be surprised and maybe disappointed because they won't know about this marking menu concept. And as NeighNeighNeigh said, software feels broken when this happens. Remember that for every github issue opener you will have many others that would be silently frustrated with the same problem and many others that will just give up using your application. So yes a bold introduction is a good idea to show users what they are about to experience is somewhat different. Maybe a simple welcome dialog with some instructions to familiarize the user when they run the app for the first time.

The problem with this comparison is, that the "intended way" of using Kando (aka the Marking Mode) is far superior efficiency-wise than any point and click approach.

You are too focused on speed and efficiency but not everyone will use Kando like this. Speed in Kando context comes from the memorization of the gesture path and this depends on the usage frequency. 1st level menu with cardinal directions, 1 day to learn and get proficient.

But for example I am planning to put my shell scripts under a second level sub-menu. I use some of them like 2 times in a month. I don't think there will be enough repetition to memorize these infrequent items so some menus in Kando will always have to be traversed visually. Kando allows multi-level hierarchies and as this complexity increases, efficiency of marking menu system decreases.

As I mentioned before, you will be several times slower.

And personally I am aware of this but currently my two options are:

  1. This slower anchored point and click mode
  2. Limit items to a single level menu

Because this walking around movement of the whole menu (which is more exaggerated in turbo mode) is extremely disconcerting for me. It is not like I want to stick to a traditional way. This is more like motion sickness which is out of my control, maybe I will get used to it maybe not:

https://github.com/kando-menu/kando/assets/84420582/27f3d3ae-38b1-409e-94ab-0edfac59e24e

in4matix commented 5 days ago

Because this walking around movement of the whole menu (which is more exaggerated in turbo mode) is extremely disconcerting for me.

True that. My Fly-Pie menus are all set to open in the center of the screen, and to stay put, and the child menus can spring out all over they place, but they all come back home to Mamma's house.

BTW , Sorry for just busting into this discussion out of nowhere.

Schneegans commented 5 days ago

@offset-torque I fully agree with all your points. Also, during my bachelor's thesis, I figured out that many users do not use such a menu at its full potential if they do not have to. I guess that there is some sweet spot in the trade-off between speed and cognitive load.

So I think we are on the same page here. We simply have to ensure that users have the right expectations and at least try the marking mode before deciding that it's not their thing :smile: