The value of interface design patterns

Amy Hoy writes a provocative blog post, “screw interface patterns” arguing that following interface patterns leads to boring designs. The thing is that originality is a primary goal only when you are making art. And even artists – especially artists – rely on some combination of established structure and variation – the genius is choosing what to keep familiar and what to vary.

When you are building software that people use, conventions are especially important. People need to recognize the objects and functions, otherwise they will get confused, frustrated, and go away. If a design element isn’t exactly what users are familiar with, it at least needs to be learnable. A completely original signup pattern might be creative, but it’s probably not good design if your users can’t get in to use your software.

Also, in some cases, the existing established patterns are actually unhealthy. For example, in public web applications, using a different username and password per site, and forcing users to enter usernames and passwords for other sites when using integrated services. In this case, adopting OpenID and Oauth are new good patterns to adopt. A design pattern writeup, in this case, can argue for a new solution in place of an old one.

Unless your goal is to clone another existing piece of software, you’re probably trying to add some kind of new behavior, something different from what exists already. At Socialtext, we do this all the time when we seek to adapt social software patterns developed in the public internet for use in companies and organizations. When you do this, you need to make decisions all the time about what conventions to keep, based on the models you’re using, and what new designs to add. For example, when creating a social network for use in organizations, explicit “friending” doesn’t make much sense – what does it mean to “friend” your boss or colleage. We left it out, and implement asymmetrical “following” instead. A key part of the value of design patterns is to help you think, with some richness and nuance, about the items you want to keep conventional vs. the items you want to vary.

The Amy Hoy article criticizes design patterns as if they were intended to be used like a textbook to cram for a test – learn the answers to repeat in the book. But that’s not the goal of patterns, and I’d argue that if anyone uses them that way they’re doing it wrong. One of my favorite quotes: “It’s not a religion, it’s just a technique.” Design patterns are tools for designers to make their own decisions, not an AI module intended to replace decisions.

I am a big fan of the O’Reilly Designing Social Interfaces project (disclosure: I was a reader of the manuscript, but I was a fan first). Not because I agree with everything in the book, but because I use the material to help assess which conventions to use and which to vary.