Have been doing a lot over the past week or so to do with Interface Design for applications. There are some really good resources out there, many linked to on the Adaptive Path blog.
It was a post on this blog recently that caught my eye. Dan Saffer was talking to Bill DeRouchey of Ziba about Interaction Design - how you actually create the interactive user experience (of a software application, a website, a physical product, etc.). It's a good interview, well worth a read if you are designing any sort of interface.
The piece that Dan actually quoted from Bill (below), was what struck me (and obviously him):
We’re surrounded by buttons and icons and little blinky lights that can give us examples of how people think about devices and interaction design because there’s one thing that’s definitely true, people don’t approach the product from a void. They’re taking the learnings that they’ve experienced with other products and they apply them to a new product: that’s why you tend to see the same icons over and over that mean the same thing; they have a stock meaning within the language of interaction design. An arrow tilted on its side and pointing to the right means play because it always means play, and because people know it means play when they approach a new device and they see that, they think, “That’s play.” It’s such a simple thing, but it comes down to the core of a visual language that we all share, and I think it’s important to try to deconstruct that language so we know how people are approaching a new product, a new device. So we can make it intuitive and they can tap into what they already know.So basically, without even really knowing it, we've all learned a new language. It's the language of icons, buttons, knobs, links - all the interface components of modern technology. We expect certain symbols to convey specific functions and we expect these functions to work in the same way across applications - on the web or desktop. 100 years ago this language was non-existent. Hell, 20 years ago it was almost non-existent. My Dad still doesn't know how to use a web-browser!
Adhering to this 'language' when developing an application interface makes the actual design invisible - we spend no time decoding the interface, it just all works as expected. We all know who does this best.
It's a simple idea. But a powerful one.
Now to just try and figure it out myself...