Newsletter
  • Get a newsletter digest every Friday:
Contact

Send me feedback, tips, bug reports, and anything else:

About me and the blog

My name is Marcin Wichary (he/him). I’ve worked as a UX designer, typographer, front-end person, and manager at Google, Medium, and Figma. I’ve also written a book about keyboards and typing, gave talks, and published essays about design, typography, and technology.

Unsung is my blog about software craft and quality.

More info about Unsung

Send me feedback, tips, bug reports, and anything else:

More info about Unsung

An unexpected command palette

When I linked to the troubled New York City/Big Apple Game, at the very bottom I mentioned a web emulator of Atari I just discovered, called A8 Web.

What was particularly interesting about this emulator that I haven’t seen before, is that it came equipped with a ⌘K command palette:

I didn’t expect this kind of a professional UI in such a small piece of software, but I immediately embraced it – it not only gave access to various expected commands like “mute audio” or “resume emulation,” but also allowed to simulate all of the inputs. One of the challenges with emulation is that keyboards never match, special buttons like Start or Select don’t exist, and joysticks might not be connected. That might leave you truly stuck when the key absolutely need to keep going simply isn’t something you can press. Here, the creator thoughtfully adding all of those inputs to the command palette got me unstuck quickly.

I am generally a big fan of command palettes as a UI layer underneath more visible layers. They are a nice way to enable flow, an interesting vector of discovery (just browsing the list above taught me a lot about what’s possible), and a good place to stash lesser-used commands that do not deserve more prominent places like menus or on-screen buttons. Done well, they’re useful with the keyboard and with the mouse. Some old professional apps like Photoshop that didn’t bother to update their core interface feel extra obsolete without a command palette today.

A8 Web’s implementation isn’t perfect – it should probably be floating atop the emulated screen rather than sliding in from the side, and I would make the input commands not auto-close the sidebar – but it was such a positive surprise that made me rethink some things I thought I knew about command palettes.