→ On hiding vs encapsulating complexity

John Gruber discussing Twitter’s experimental reply interface.

The fundamental problem with most designers of complex systems intended for mass market use is that they decide to hide complexity. They won’t admit it — they’ll deny it even — but it’s because they’re disdainful of their users. They think their users are stupid, so they need to present them with a design for stupid people. If they weren’t stupid they wouldn’t be confused, right?

That’s fundamentally wrong. If people are confused with a design, the problem is with the design, not with the users. It’s Twitter’s designers who aren’t smart enough, not Twitter’s users, because if Twitter’s designers were smart enough, they’d come up with a design that wasn’t confusing by encapsulating rather than merely hiding complexity. It’s the difference between actually cleaning up a mess versus just sweeping the mess under a rug. This new Twitter reply interface is a “sweep it under the rug” design.

A good “simple” design will help users to understand what is actually going on, how a thing actually works. A bad “simple” design will leave users just as confused as ever with even less chance of figuring it out, because what they need to see to understand it is hidden.