Minimal Interactions

Marco Arment wrote recently about overdoing the interface metaphor. You should go and read it for yourself if you haven't already.

The example he uses is the OSX which mimics a real-life object almost exactly. By definition then, it is also not as good as a piece of software designed without those limitations.

In this case the opposite is Soulver, a clear and simple application that does calculation in an almost perfect manner. I had never heard of it but now can't get enough.

The post really got me thinking about taking software interactions and distilling them down into their purest form. There is no need to press "physical" buttons on the computer screen when I have real keyboard buttons right at my fingertips.

At this point I assume that a single keyboard button press is more "pure" than a mouse triggered action. A key-press which leads to an instant action is far superior to a mouse requires panning, pointing and then clicking. Cumbersome in comparison.1


One of the examples I've been thinking about is creating a new "thing", for instance a new row in a table based system or list.

The abundance of GTD applications means there are actually three different examples of this in the wild. In all cases there is also a mouse based button to trigger but here I'm more concerned with the keyboard.


Lagging behind the other two applications, Things requires the classic command-N (⌘N) to add a new todo. Although it sticks to the convention laid out by Apple it does require a slightly awkward stretch to do it with one hand. Hitting return (↩) will confirm the new todo but hitting it a second time will only select the existing todo for editing.

The Hit List

Half way between both, The Hit List uses return (↩) for creating a new todo. Where it acts strangely is that you need an additional return to confirm the first and then create a second. Adding multiple actions in a row results in an odd double return pattern.


Finally, we have OmniFocus return (↩) creates a new todo. Each strike of return gets you another. It's as simple as starting a new line in a text document. It's the lowest barrier to entry and it works exactly as you would expect.


It's pretty obvious from the design of all three apps that a lot of thought went into each individual action, but it's also clear that we need to reduce ever interaction down to its most basic form.

As designers we need to make sure that our users can get the most done with the least amount of effort. Keystrokes matter, lets keep them to a minimum.

  1. I'm not sure where a keyboard multi-key shortcut stands on this scale but I'm tempted to say it would be even worse than the mouse. This also doesn't take into account that you need to learn shortcuts, but you also need to learn mouse interaction to some degree.