[HN Gopher] Kando: The Cross-Platform Pie Menu
       ___________________________________________________________________
        
       Kando: The Cross-Platform Pie Menu
        
       Author : pyinstallwoes
       Score  : 95 points
       Date   : 2024-01-31 17:51 UTC (5 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | kevingadd wrote:
       | I'm surprised to see that this whole thing seems to be
       | implemented in typescript and css, even though it lists a bunch
       | of specific platforms/desktop environments like Windows 11, KDE,
       | etc. I guess it's for use in Electron or something?
       | 
       | Grepping through the code I found no references to aria or roles
       | or title, which makes me assume it's completely inaccessible to
       | screen readers or other assistive tools. It would be cool if the
       | README called that out at least a little bit. It also makes me
       | wonder whether it can be used via keyboard or gamepad instead of
       | just mouse, since pie menus are pretty analog-stick friendly and
       | fairly keyboard-unfriendly. (Incidentally, Windows 11 has pretty
       | comprehensive gamepad support, at least for apps using the
       | UWP/WinUI stack. If you're on Win11 and have an xbox controller,
       | try it sometime - the settings window is a good spot to mess with
       | it.)
        
         | schneegans wrote:
         | Hey, I am the developer of Kando. Currently, it is primarily
         | designed for touch and mouse input. Adding gamepad support in
         | the future would be pretty cool though! I have seen people
         | using Kando on the Steam Deck, so this is definitely an
         | interesting direction.
        
       | robbiejs wrote:
       | I have never seen a menu like this before, but seeing the video,
       | I think I would like it. Looks like a very fast way to find
       | whatever you're looking for.
        
         | NamTaf wrote:
         | Counter Strike: Global Offensive used a similar concept for its
         | round-start buy menu because of needing to support console
         | controllers. You can see an example here:
         | 
         | https://www.youtube.com/watch?v=ogVy0S_jVXU
         | 
         | Interestingly, CS2 does not use the same menu, probably because
         | they've moved away from trying to support consoles as a target.
        
           | ace2358 wrote:
           | Not uncommon in video games (like hold left trigger to open
           | menu, use right stick to select and then let go of left
           | trigger to select).
           | 
           | Also seen it in fusion360 (cad software), maybe blender and
           | also a few other dsp/electronic design software. I love it!
        
             | NamTaf wrote:
             | That's true; now thinking about it I also remember it from
             | very-desktop-based Anno 1800. The quick-shortcut menu for
             | the mouse (to build a shortlist of buildings, etc.) is a
             | pie menu.
        
         | starkparker wrote:
         | Radial menus are heavily associated with video games. The Sims
         | in 2000 really used them extensively and IMO well in a
         | mouse/keyboard environment, and they've become a common method
         | to visually surface options in gamepad- and joystick-focused
         | games.
         | 
         | The One Laptop Per Child/Sugar UI also used them since they
         | were accessible independent of language and input method, and
         | also self-surfaced options in a way that allowed or encouraged
         | exploration. (And then, full-circle as it were, Maxis/EA's Don
         | Hopkins, who implemented The Sims' radial menus, reimplemented
         | a radial menu for the OLPC port of SimCity.)[1]
         | 
         | 1:
         | https://web.archive.org/web/20171012100255/http://www.donhop...
         | ; sadly his website relied on Drupal and broke. He moved to
         | Medium, where his many pie menu posts have kind of scattered.
         | See also https://donhopkins.medium.com/pie-menu-
         | timeline-21bec9b21620 where Don breaks down the timeline of
         | radial/pie menu concepts back to the 1968 MOAD
        
           | adanto6840 wrote:
           | Glad to see Don Hopkins mentioned, I came to this thread
           | hoping he had seen it & commented already. I'm curious to
           | hear his thoughts on it! I know he _loves_ radial menus,
           | understandably so -- they really can be quite effective.
        
           | bsimpson wrote:
           | Bill Buxton is where my head goes for marking/radial/pie
           | menus.
           | 
           | https://www.billbuxton.com/MMUserLearn.html
        
       | xnx wrote:
       | Pie menus are great on consoles where items can be selected with
       | muscle-memory alone using thumbsticks. For computer interfaces
       | the tradeoffs (unfamiliary, don't fit text well, hard to navigate
       | by keyboard) have outweighed their benefits (fixed distance to
       | target).
        
         | wk_end wrote:
         | Pie menus are often used in 3D modelling programs (Maya, I
         | think Blender and SolidWorks). The situation seems to be:
         | 
         | "I'm a professional in a kind of flow state, I frequently need
         | extremely quick access to a fairly small subset of context-
         | sensitive commands, I'd ideally not like to move my mouse too
         | much away from the thing I'm focused on, much of my work is
         | mouse-driven because it involves making fine visually-directed
         | adjustments by dragging the mouse."
        
           | schneegans wrote:
           | Exactly this. And in addition, I think there's lots of
           | potential for touch screen users. As soon as you do not have
           | easy access to a physical keyboard, pie menus can provide a
           | great alternative to keyboard shortcuts.
        
             | staplers wrote:
             | Confused how this would be implemented on phones where real
             | estate is small.
             | 
             | A giant button in the middle of all apps?
        
               | schneegans wrote:
               | I am more thinking about tablets and convertibles. But
               | even on a phone a similar concept could work: You summon
               | the menu with some kind of gesture (for instance dragging
               | over a screen edge). The menu pops up in the center of
               | the screen and you can select an item with just a single
               | directional swipe. If the selected item is a submenu and
               | contains some child items, it will slide to the center of
               | the screen and you can do another swipe to select one of
               | the children.
               | 
               | So you could select an item extremely quickly with just
               | two swipes. And there are already quite a few items at
               | level two! If your top-level menu has eight submenu items
               | and each submenu again contains seven items (+one to go
               | back to the root) you have already 56 possible items in
               | this menu. And you could select one of them in well
               | beyond a second, even without looking at the screen!
        
               | coolgoose wrote:
               | Long press?
        
               | mook wrote:
               | When you press-and-hold, the menu pops up, and you swipe
               | in a direction for an action. Think of it more as gesture
               | navigation with an on-screen aid to show you what
               | gestures you can do.
               | 
               | There used to be a thing nearly a decade ago to do this
               | on Android, before the current gesture navigation:
               | 
               | https://www.androidauthority.com/permanent-navigation-
               | contro...
        
           | bsimpson wrote:
           | They're also great for stylii, like the pre-iPad TabletPCs.
           | 
           | I actually wrote one of the original Chrome extensions to
           | make it easier to navigate on my tablet:
           | 
           | https://github.com/appsforartists/marking-menu-js/
        
           | lancesells wrote:
           | The pie menu in Maya was one of the greatest things IMO. I
           | haven't used it in a long time but when I was heavily working
           | in there and had it customized to my tasks it was
           | unbelievably fast to work.
        
         | eviks wrote:
         | These don't need to fit text at all, instant icon recognition
         | is a thing on repeated use.
         | 
         | Keyboard navigation is a chain of single key presses, which can
         | be either word-mnemonic labels or position-mnemonics like
         | 
         | uio
         | 
         | jlk
         | 
         | m,.
         | 
         | for 9 directions like a numpad, so even simpler than the usual
         | shortcuts with modifiers (think of the menu as a mode in a text
         | editor).
        
       | crazygringo wrote:
       | I've never understood the benefits of a pie menu in regular
       | computing.
       | 
       | They've always seemed difficult to read (my eyes travel linearly
       | easily, but following around a circle is non-intuitive), and
       | similarly difficult to click. Even using a gamepad joystick, I
       | often find myself accidentally selecting a neighbor of what I
       | meant to pick, because I wasn't getting the angle exactly right,
       | or inadvertently relaxed the joystick as I clicked the button to
       | confirm.
       | 
       | Keyboard shortcuts, or just regular linear context menus, have
       | always seemed a lot faster and easier to use, respectively, on
       | the desktop. On game consoles I can understand that they're more
       | useful because you don't have a keyboard or mouse... but even
       | then it's more a question of being the least-bad alternative when
       | you really need to instantly select between 8 alternatives.
       | 
       | Am I missing a context where the usability of a pie menu is
       | superior?
        
         | SnooSux wrote:
         | Keyboard shortcuts don't have the discoverability of a menu
         | interface but are good for power users. Ideally they would
         | complement each other.
         | 
         | I really like the ergonomics of pie menus, though my experience
         | is limited to Blender. Navigating linear menus require more
         | fine movements than flicking the mouse in one of 8 or fewer
         | directions. And the direction of mouse movement becomes muscle
         | memory the way a keyboard shortcut does. I find a pie menu
         | works well in a mouse-heavy workflow like 3D modelling. But
         | there are definitely applications where it wouldn't be the
         | right fit.
        
           | crazygringo wrote:
           | > _I find a pie menu works well in a mouse-heavy workflow
           | like 3D modelling._
           | 
           | Ah thank you, that's very helpful. I can see how you wouldn't
           | want to move your hand from mouse to keyboard for keyboard
           | shortcuts that aren't one-handed, but the pie menu would
           | allow you to develop a spatial/directional muscle memory
           | (like keyboard shortcuts have) that linear context menus
           | don't have.
           | 
           | Exactly the context I was missing -- I've never done any 3D
           | modeling!
        
         | ramses0 wrote:
         | It's "point free" (can be initiated from anywhere), and can be
         | "regular" (same motions results in the same actions), making it
         | navigable without looking or requiring precise selection. Close
         | cousin to "gesture" interfaces.
         | 
         | eg: Up/Right/Up => something, Up/Left/Down => something else.
         | 
         | With three gestures you get ~4x3x3 => 36 actions => a whole
         | alnum-keyboard of 26+10 digits! (assuming you only allow four
         | gestures and remove the "reverse" after choosing any direction,
         | eg: Left/Right/Left would be equivalent to Left/... with
         | pending input). Even better if you throw in an 8-way selector
         | minimally in the first position.
        
         | eviks wrote:
         | You don't read them, you use icons for instant recognition,
         | your eyes don't even need to travel anywhere as that will fit
         | in your focuse'd vision (as is illustrated in the repo's gif),
         | gamepad joystick is worse vs. a mouse since in a mouse you can
         | move it further away faster to the distance where you avoid any
         | angle issues.
         | 
         | This is the superior usability - a pie menu you can switch to
         | any item with the same distance while in a regular list to get
         | to the last one you have to skip everything, so the menus tend
         | to be smallish in height, thus making the selection harder
         | 
         | For example, while moving horizontally to a sub-menu, you can
         | easily cross the width of a single line since it's not easy to
         | move your mouse absolutely steady horizontally (in pro graphic
         | apps you'd usually hold a Shift for that), so instead of moving
         | to a sub-menu, you switch to another item. In a Pie menu that's
         | much harder since as you move further the menu's area
         | increases, so the tolerance is higher
         | 
         | Keyboard shortcuts can also be enabled for this type of menu.
        
         | somishere wrote:
         | I mocked up an "infinite" circular menu concept last year. Idea
         | was to use for navigating a non-linear timeline of photos /
         | dates (in limited space on a website / map). Felt like a good
         | use case.
         | 
         | Still think the use case feels solid.
         | 
         | https://codepen.io/theprojectsomething/pen/JjmgXrg
         | 
         | I'd also say keyboard shortcuts can work really well alongside
         | this kind of UI, giving a single mapped key much more depth.
        
       | WhereIsTheTruth wrote:
       | 100+mb for a pie menu, we are reaching new levels of bloat never
       | seen before..
        
         | schneegans wrote:
         | I thought a lot about this. The reasons for choosing Electron
         | are outlined here: https://github.com/orgs/kando-
         | menu/discussions/58
        
       | eviks wrote:
       | Awesome interface idea, much faster and easier to select vs
       | regular menus, wish it were a standard, but meanwhile hopefully
       | this vision will bloom!
        
       | dbrueck wrote:
       | I wonder if it would make more sense for the previously-traversed
       | UI to move off to the side, rather than having the user move to
       | follow it, as a way to reduce the amount of mouse travel required
       | from the user.
       | 
       | They'd always need to move some, especially when the new options
       | would otherwise move off the screen, but in general this would
       | require less movement.
        
       | baerrie wrote:
       | Interfaces are meant to have friction, that's what guides the
       | user more than the "happy path". This radial menu is all happy
       | path. Having a list in a menu, with the most used selections
       | higher up in the list, give the user context like "this is higher
       | so it is more likely to be what I next" meaning they usually
       | don't traverse the whole list to get to the lower and less used
       | options.
        
         | maxbond wrote:
         | I like this a lot, this is a good analysis, but to be fair,
         | they did show a hierarchical pie menu. So there is still
         | friction and prioritization.
        
       | dfex wrote:
       | Great to see someone still experimenting with alternative UI
       | paradigms - the video looks amazing!
       | 
       | Sadly it doesn't seem to launch on an M1 Macbook Pro - the
       | process(es) start but no application/interface appears
        
       | RealCodingOtaku wrote:
       | Reminds me of "The GUI should be better. A lot better"[0] by Ross
       | Scott.
       | 
       | Edit: looks like this project is already submitted to Ross
       | Scott's forum post[1].
       | 
       | [0] https://www.youtube.com/watch?v=AItTqnTsVjA
       | 
       | [1] https://www.accursedfarms.com/forums/topic/5784-the-gui-
       | shou...
        
       ___________________________________________________________________
       (page generated 2024-01-31 23:00 UTC)