I. An interface is a window between two complex systems.

Most of the time, one of those systems is a person.

The interface marks a boundary. It is the place where the human meets the machine.

II. Most software is incredibly complex. Often, it is so complex that not even one developer who built the system can keep the whole of it in her head at the same time.
Information passes from place to place, is modified, recombines, evolves and mutates in a thousand different ways. An interesting program is a highly choreographed dance of a thousand different pieces of data.
To make it even harder, this happens on many levels at once, from the base electrical impulse guided by physical law, all the way up to conceptual objects that contain, modify, and recreate one another.
The fact is, there’s a lot going on.

Meanwhile, on the other side of that boundary, a person is… a person.
Talk about complex.

III. An interface is a window. It is also an adapter.

The user wants to get something done. He has in his mind a model of what he is trying to do.
This model comes from his life experiences, psychology, learned behaviors, things he’s observed in other people, and probably 20 million other subtle factors.

The system also has a model. This model is built up over time, a slow accretion of 20 million small choices made in every line of code, in every aspect of the system design, during every step of the development process.
The odds that this model matches the user’s model are very, very small.

It’s the job of the interface to translate between the user’s model and the system’s model.

It’s the job of the interface to manage and reduce complexity.
(To compliment an interface, call it deceptively simple.)

It’s the job of the interface to bridge, not just 2 worlds, but 2 million — the world within the system, and the personal worlds of 1,999,999 different users.

That’s why making interfaces is hard. That’s also why it is worthwhile and necessary.
Because you could make life frustrating and difficult, but instead you get to make it pleasant and simple. Because you get to bring a small bit of order to a whole lot of chaos. And because you get to make things, in some small way, better or easier or more fun than they were before.