User interface design is arbitrary. It’s painful to admit, but it’s the truth. The pictures we draw to represent data are not intuitive. They’re consistent enough that people have adapted to them, but I credit that more to human ingenuity than anything else.
In films like Her, our users peer into a future where computing is indistinguishable from friendship. Meanwhile we’re rehashing tired traditions that haven’t meaningfully evolved since the Macintosh arrived on the market more than thirty years ago.
Apps are bizarre control rooms. When users have the courage to step inside one of these rooms, they find an austere set of levers and dials attached directly to a humming database. Sure, the grips on the levers are ergonomic, but this is still heavy machinery. Worse yet, every single control room is different. Different layouts. Different corridors. Different levers and dials. Each one built with an arbitrary blueprint.
This is a profoundly frustrating experience for the user. We’ve intervened in people’s lives with promises of productivity, and instead saddled them with a metric shit-tonne of buttons.
It’s an extraordinary time to start a small business. There is a seemingly magical app for every obstacle you will face, from bookkeeping, to your point of sale, to your online store. All you need to do is hatch an idea, swipe your credit card, and you'll be up and running in hours. We’re so close to our automated utopia we can taste it, but it's all locked up in control rooms. Every different service hawking its own panel of proprietary controls.
This is a harsh view of the state of software design. I’m grateful for how far we’ve come with the graphical user interface, but it’s still an intimidating abstraction. The next step in making good on the promise of software is teaching it how to truly communicate.
We’re social creatures. The most natural model of interaction we have is conversation. It's a deeply flexible and nuanced process, and we’re wired to relate to people and project personality onto everything around us. We live in a running dialogue with the universe and its contents. Our software needs to become a part of this dialogue.
Humans take to messaging because — like interacting with other humans — it's an everything bucket that happily catches any kind of input, parses through the chaos, and responds with simple and meaningful feedback. It’s a supportive and forgiving relationship. That's the brilliance of the conversational interface: humans can toss all of their intent and whims into one messy pile and receive a tidy bundle of answers in return. What the interface looks like is irrelevant, so long as it's listening attentively.
Teaching software to communicate with humans is a tremendous challenge. Computers are not well suited for this kind of work, and we've been designing levers for a long time. Here are some of the areas where we need to make progress:
- UX practice needs to coin its own version of the Robustness principle. As a rule our software should accept any kind of input our users can throw at it, and present a minimal, clear set of results every time.
- Whether or not the sentient AIs from science fiction ever become a reality, we’re already living in a world where the line between human and machine is blurred. I believe delivering an excellent customer experience will require a seamless mesh of human and robotic agents working together behind the scenes of every service.
- Most apps will have to start dealing with very fuzzy inputs, or sit on top of something else that can (e.g. Siri).
- Writing will become the primary medium of interaction design. What kind of scenes do you want to script between your users and your service? How will you develop the character of your app? Think beyond screens linked together in flows, and imagine what kinds of dialogue people will be trying to have with your product.
- Let’s retire the intuitive vs. confusing spectrum that we use to describe software. How can we articulate the personalities of the services we’re building? Are they friendly, authoritative, or maybe smug?
- Stop relying on terms like ‘app’, ‘site’, and ‘touchpoint’, and accept that our companies are perceived as monolithic, personified entities.
- I think service design is a more accurate and useful category than product design for the kind of work we’re doing.
We’ve had an incredible run with the GUI. A good portion of the world now uses computers in their daily lives. They form lasting emotional connections to the devices and software that they use. But the relationship isn’t reciprocal yet.
Once the products we build come alive and start communicating with human beings on their terms, the magic of computing will feel as effortless as a conversation.