Most people don't understand user interfaces.

I mean this in the same way that most people don't understand books, or music, or movies. They are, of course, able to consume each of these media forms. Indeed, they may be quite sophisticated consumers. But even the most sophisticated consumers often have no clue how to create a book or song or movie. Many a renowned critic has flopped when they turned their hand to the creation of art.

I was recently at a workshop with a number of accomplished user interface designers.

Two of the striking things I learnt at the workshop were: (1) just how challenging it is to design a great interface; and (2) how poorly I understand that process.

Another realization, harder for me to express, is that I did not (and do not) fully understand just how important user interfaces are. It's tempting to think of them as window dressing, a pretty add-on to a computer program. But that's wrong. Intuitively, I'm beginning to understand that their design is a very deep and fundamental part of the program. For instance, it makes just as much sense (maybe more) to speak of a breakthrough in user interface design as it does to speak of a breakthrough in algorithms, or data structures.

I wish I could express this idea better.

How does one become a good user interface designer?

Of course, I don't know. But I suspect it's not so different to becoming good at writing or any other creative art, and that some combination of the following helps:

One final thought. As a rough-but-useful dichotomy we can think of user interface design as either user-driven, or technically-driven.

In technically-driven design, our interface is built using whatever techniques are easily available to us. Think of a framework like Rails plus the browser. That framework makes techniques such as web forms easy to implement. So we build a user interface based on those techniques.

User-driven design doesn't start from the available techniques. Instead, it starts by analysing how the user is thinking about the problem, and uses that analysis to develop interface ideas.

Technically-driven design is the approach most often taken, even by designers. Indeed, I suspect this is true even of people practicing what they call user-centered design. It's a lot of work to think through an interface from fundamentals.

User-driven design will result in much more original designs. However, that doesn't necessarily mean better designs! But pursued with enthusiasm and a self-critical approach, it'll eventually lead to much more growth as a designer. And that will, over the long run, lead to much better (and more original) designs.

Note: My title is taken from Steven Johnson's book. I haven't read the book, but its title has been bouncing around my head ever since I attended the workshop.