Revealing Interfaces

Reveling Interfaces

If you’re an Interaction Designer, I’m sure you’ve noticed a new design pattern in the past year – one that doesn’t really seem to have a proper name yet. In fact, you’re probably already incorporating this pattern into your designs. It seems like almost every major redesign is leveraging this pattern to help hide complexity: Amazon, Linkedin, TripAdvisor – and sites like Target, Google, and Yahoo have been using it for awhile. It’s a design pattern I’m calling “Revealing Interfaces”.

I have a habit of taking screenshots of interesting UIs. I have a large collection that I browse through for inspiration when creating something new. I started the above presentation to help provide some context for what I was trying to do with some of my own Designs. I’d been interested in reveling interfaces and recently I came across a couple of pieces that when put together gave me the idea to help better explain this pattern.

The first was when John Maeda came to my work to give a talk. While reading “The laws of Simplicity” I came across this quote:

“Hiding complexity through ingenious mechanical doors or tiny display screens is an overt form of deception. If the deceit feels less like malevolence, more like magic, then hidden complexities become more of a treat than a nuisance.”

I like the fact that while a revealing interface could harm traditional usability heuristics by “hiding” away functionality, once someone actually uses the interface, they could be delighted by the options revealed to them.

The second was when around the same time I saw a post “Hiding Complexity” over at one of my favorite blogs (future perfect by: Jan Chipchase). These two photos so elegantly demonstrate what the purpose of a revealing interface is: removing initial complexity.

hiding.jpg

At it’s most basic, it’s really something as simple as a drop down menu on a website. But in the last year or so, with more highly skilled people at the helm, pushing the limits of XHTML/CSS/JavaScript/AJAX it’s becoming much more.

No longer are the days of waiting for a full page load just to update your status. With a single click you have access to power user features that used to be buried three pages deep. An entire site can be navigated from the main page, without overloading the front page with tabs or links.

The interface becomes more fluid, interactive, and more like a conversation. In some places it can even read your mind ;-) “Yes, Netflix I was wondering what the plot of “reign over me” was, thanks!”

Along with these new reveling interface patterns comes a new budding visual language to denote when something can reveal more information – and when does it just take you to a new page? I’m sure there are a new pile of accessibility concerns with the extra levels of DHTML and JavaScript – and how does usability change, when you can’t really ask the question “where would you click…” or “what do you expect…”?

Please take a look at the embedded presentation, hopefully this post can help start defining this pattern and get the conversation going – and feel free to start that conversation below in the comments :-)

3 thoughts on “Revealing Interfaces

  1. I like the idea – esp hits home with the a/c unit but simple, repetitive tasks should be easily visible
    Not so much a treat when I have to search for common functionality
    so I agree and I don’t

  2. Great post! It’s something I’ve seen but haven’t paid much attention to. As soon as I started reading my mind started to wander to all the the ways I could incorporate a revealed interface into my work. Thanks.

  3. Great post, Jeremy. I’m surprised you didn’t have any gaming screen shots in your deck. Games, especially the more complex ones like real-time strategy, have been doing both Revealing Interfaces and Progressive Disclosure for years.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>