Command Palette Interfaces
philipcdavis.com
philipcdavis.com
Edit: PowerTools also includes an Alfred-like launcher, and its pretty feature full. if it could pop up consistenly (its a bit buggy) at a reliable speed, I would replace the Windows taskbar search with it.
Keeps interfaces clean and improves UX simultaneously (in almost all cases) - a win/win.
I've started building my projects with shorcuts + command palettes as the default execution mode for new features, where the rule is:
- Build the feature with keyboard shortcuts + command palette first
- Add GUI/modals/buttons/etc either at the same time or later
A command palette when implemented correctly, can also strike a balance between older users and power users. It doesn't hold power users back, but the verbose nature of the instructions and command (no more undecipherable icons and strange UI interactions) can also be easier for older, less techy users - IF implemented well with a lot of testing.
There is still a lack of discoverability with a command palette. Our solution has been to include commonly used commands, and most popular commands alongside, as well as introducing some new ones intermittently.
One more problem is context. More complicated commands may be harder to grok or conversely very long for users to remember. The UNIX solution is switches, which is short but hard to remember (https://xkcd.com/1168/), and the alternative is long sentences which is hard to parse, perhaps too long, and has too much variation to be reliable.
Finally, they're also a great way to discover what paths your users would like to go down but can't. It's hard to understand what button they couldn't find or what label they didn't understand from a traditional UI, even with extensive user interviews and analytics. With an omnibox, each failed search is a point of information to you.
For those interested here is a small list of them, though not comprehensive, that I've found useful:
Launchers
MacOS
- https://obdev.at/products/launchbar/index.html
Windows
- https://docs.microsoft.com/en-us/windows/powertoys/run
Linux:
- https://github.com/davatorium/rofi
- http://tools.suckless.org/dmenu/
Command line
- https://github.com/junegunn/fzf
- https://github.com/clvv/fasd
- vim : https://github.com/junegunn/fzf.vim
Emacs