[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)