I’ve always been interested in computer user interface design. Like economics, it’s an exercise in constrained optimisation. An interface is constrained by the limits of the computer like the 2D screen and mouse + keyboard input. Given these constraints, the challenge is to design the most efficient interface that allows users to do what they want to do.
One of the dimensions in which websites and software compete is the quality of their interface. This is particularly important for websites, where competition is only a click away. The key is to recognise that the interface imposes costs on the user. They don’t pay money to use your website, but they do pay with time. They are not interested in your interface per se, but the content or services on your site. Every extra interface complexity is like charging a slightly higher price to users. Think of it as a per-click cost. Every click imposes cognitive costs on users and makes your site more ‘expensive’. If your rivals have a ‘cheaper’ interface, they’ll attract more customers than you. Fewer clicks = less cost to users = more traffic (everything else equal).
It’s not that people dislike thinking per se. People do like thinking about things like sudoku puzzles or crosswords. A lot of people also genuinely like thinking about their work. People are happy to think about things that are related to an objective that they have. What they don’t like is having to think about things peripheral to the objective, like how a user interface works. It’s like walking along a crowded street. You don’t mind walking, but all the other people getting in your way annoy you, because they’re imposing extra costs on achieving your objective. Badly designed interfaces are like crowded streets.
With this in mind, here is an interesting talk called “Don’t make me click” by Aza Raskin at Google about interface design:
Aza’s company, Humanized, has developed some interesting software, including Enso, which is a simple pop-up command line. To activate it you press the caps lock key and then type in special commands. For example you can type “google xyz” and you’ll be taken to the page of Google search results for xyz. Once you get used to it, it’s quicker than opening a browser and doing a search.
Somewhat unrelated, but rather amazing, is this talk at Google by a 12 year old kid about programming. It’s pretty technical, but this kid is incredible. I mean, he’s talking about programming, to people who work at Google. I think he knows more about programming than I know about economics.