Is the command palette a UX tool only for power users? Or can they be used effectively by non-technical users?

Command Palette

VS Code is equally accessible from the keyboard. The most important key combination to know is Ctrl+Shift+P, which brings up the Command Palette . From here, you have access to all of the functionality of VS Code, including keyboard shortcuts for the most common operations.

Command Palette

The Command Palette provides access to many commands. You can execute editor commands, open files, search for symbols, and see a quick outline of a file, all using the same interactive window. Here are a few tips:

another example from fman

The quickest way to explore fman's shortcuts is via the Command Palette :

Simply press Ctrl+Shift+P (or Cmd+Shift+P for Mac) in fman to open it.

Now that the Command Palette (see above) has become a normal UI feature for power users & developers across some apps (vscode, sublimetext, some pythonide, jupyterlab ...etc), I think that in any complex program with many hidden tools/features, a command palette would be of great use.

A modern command palette serves 3 distinct purposes as far as I can see

  • Discovery of commands/features based on what you want to do (i.e. duplicate a file? export a tree view ? create a timestamped zip ? ...etc.)
  • Discovery of shortcuts
  • Executing commands that have no obvious visual interface or is deeply nested somewhere and would require a few clicks. Or for the lazy who type faster then move the mouse and click and don't remember the shortcuts.

The way I see human memory works, is by associating which is the basic dictionary object (key, value). And our intent also is directly related to the action we want to take. Typically in any software a user has to learn to map his intent to the learned behavior of steps to execute in the software to achieve their aim. (let me know if I can explain all this better). I find that the command palette shortcuts this approach and allows a faster learning/doing experience.

I personally find it easier to remember words and actions of what I want to achieve than the steps I need to do to make it happen, so often I have to google up the exact recipe and execute it manually. However, a command palette assists with that greatly and reduces the effort required to do things. Google has also greatly influenced people to move away from structured information to queriable(?)/searchable information. I have also always thought that the command line was great for executing when you know what you want, and UI is great for discovery.

As for far in the future, we are moving from learning behaviors to just dictating what we want and let the software figure it out, this is what all this assistant stuff is for I think.


So my question is, is this only useful for people of certain types (i.e. developers) or is it widely applicable to the general populace?

MacOS has the help search feature, which is similar or it's action item which is quite good.

If anyone wanted to implement such a feature in a software, what would be the guidelines for them from a UX perspective?