Tech News
← Back to articles

Command K Bars

read original related products more articles

The Context

Graphical user interfaces (GUIs) have been the bread and butter of user interface design since the mid-1980s. Having all your computational objects and actions laid out in little pixelated boxes, icons, toggles, and buttons make it easy to understand what you can do with a computer. They make the affordances visible, as we say in nob-designer-land.

Before GUIs, every computer interface was a command-line interface (CLI). You typed memorised text-based commands into an input. This certainly kept the screen free of clutter but had several downsides. It was difficult to remember what commands were available. You couldn’t see the current state of the system. Everything was hidden away behind that blinking cursor.

I explored this history and trade-offs between these two interface paradigms in Programming Portals Programming Portals Small, scoped areas within a graphical interface that allow users to read and write simple programmes so I won’t delve as deeply into them here. The important tensions we’re going to focus on are the trade-offs between pixel real estate, cognitive load, and complexity.

Well-designed GUIs make interfaces easier for new users to learn, improve discoverability, and are better suited to multi-tasking workflows. But they don’t scale very well to complex systems with hundreds of commands – especially if those commands can be combined to create emergent complexity. GUIs rely on representing computational objects and functions visually. As in, graphical shapes and text that use up the precious commodity of screen space.

Here’s a series of screenshots from Cinema 4D, a popular 3D modelling and animation app:

You absolutely could not do 3D modelling without a graphical interface. Defining 3D objects in text without being able to see them would be laborious, error-prone, and absurd. And yet look at the number of icons, panels, and toolbar options in these screenshots!

The dropdown menus have submenus. Every pane has multiple tabs. Numerous pop-over panels contain enough functions to be apps in themselves. From personal experience I can tell you finding anything in here is a wild goose chase. People spend hundreds of hours learning to use this interface.

This is not a rag on Cinema 4D. Professional 3D modelling involves a lot of inherent complexity. People need fine-grained control over their creations. And Cinema 4D gives them access to an array of tools that profoundly expand what they’re capable of making. But simply finding what’s available in this dizzying UI becomes a challenge.

This issue isn’t limited to unusually complex applications like Cinema 4D. Think of all times you’ve gone hunting through a settings panel trying to track down functionality you know exists, but can’t quite locate. Even in much simpler apps, finding the tiny toggle button that will make them stop emailing you every day is a genuine challenge.

... continue reading