Interface Design - tips, resources and ranting
Ranked #19,016 in Computers & Electronics, #375,890 overall
Interface design - why should you care?
User interfaces are everywhere. I'm not going to go so far as to say that everyday objects, such as a fork or spoon, have interfaces (although some people would argue that very point), but even ignoring that category, interfaces still make up a major part of your everyday life.
Computers are an obvious example. There is the operating system's interface itself, the interfaces of the various bits of software you use and the web sites you visit. Then there's the interface of the computer itself - the mouse, the keyboard, the screen, the power switch, etcetera. All part of the parcel.
There are more and more examples. Information kiosks, such as cash machines. The remote control of your television. The buttons for operating a lift. Your car's controls and dashboard.
Having said all that, I'm going to limit myself a bit and just talk about software interface design (that covers applications, web pages, and things such as kiosks or the interface your set top box provides). I'm also going to go out of a limb a bit and say,
"With a very few exceptions, software user interfaces are extremely badly designed."
But before we get too far into that rant, let's cover some basics.
[Thanks to juhansonin for the Wordle image and my colleague Adrian for content]
The interface design process
-
Draw up a list of everything that the system is required to do. In reality this is very hard to do, as nearly everything evolves as work progresses. However, it's still very useful to have an initial specification. Even if it goes to pot very quickly, the process of creating it alone can be useful.
-
Analyse the requirements of your typical users, usually by surveying the intended users and their peers.
-
Design the information architecture -- the way that processes and information flow within the system. This is a very important step that is often missed completely.
-
Prototype design. Prototypes are often designed on paper or in a very stripped down interactive form. Again, this step is often missed and it shouldn't be!
-
Rigorous usability testing. This is done with a real user or users (the more the merrier). This one is important enough that I could say it several times. Even showing it to one person (e.g. your mum) can give you really valuable insight. Needless to say, importance is often inversely proportional to how often a task gets done...
- Design how the interface will look in its final version. Once all the functional elements are operational, the information is organised and the usability has been tested, it is time to create the interface itself. Depending on the software, to create a unique look and feel, a graphic designer might be involved at this stage and custom icons may be created.
Interface design books
Go on... let's see what Twitter has to say
Concepts in interface design
-
Learnability
How quick is it to learn an interface? How easy? Many of us have been given a few seconds pause in front of an automatic ticket dispenser or cash machine from time to time, and some of us are still struggling years later with our computers.
In general, an interface should be quick and intuitive to learn, but it is always going to depend on the complexity and specialisation of the system. Something such as an information kiosk has to have a zero learning curve, whereas the interface for a complex piece of 3D animation software is always going to take a while to learn (and trying to make such a piece of software easy to learn would inevitably compromise its features and power).
-
Consistency
Consistency is more important than anything else in interface design. It ties everything all the components of an interface together. It is fairly easy to achieve in terms of the visual design and icon design, but a lot of designers fail when it comes to the layout of different screens, dialogue boxes and that kind of thing. Maintaining commonality, (visually and structurally), between all your different interface elements is extremely important.
-
Intuitiveness
What makes an interface intuitive? It's easy to define, but very hard to put into action, and many interface designers struggle here. One problem is that of perspective - when you've been looking at an interface in development for a long time, it's very hard to see how a new user will interpret it.
Nevertheless, like learnability, intuitiveness is extremely important in interface design. It's not the same as just making it easy to use, but rather designing the interface so that it feels like second nature to use.
-
Prevention
It's better to stop a user from doing something unwanted before they do it, rather than telling them off afterwards (kind of like with fighting crime - something that most governments don't seem to get!).
The simple way to do this is usually by greying out buttons or menu items as appropriate, but there are other methods.
-
Metaphors and idioms
Metaphors and idioms are ubiquitous in interface design. Metaphors suggest an idea or some functionality to the user by way of a simple graphic device, usually an icon (for example, the metaphor of a disk in an icon represents 'save' functionality). Applications are also often encompassed in a global metaphor, such as the idea of a desktop.
Idioms are commonplace interface elements that most users will instantly recognise and know how to use - scrollbars, for example.
-
Simplicity
The simplest ideas are often the best, and interface design is no exception. Simplicity is important here as it can help to keep your system intuitive and easily learn-able.
That goes for the look of your interface (keeping things clutter-free), the work-flows involved (keeping the number of dialogues and clicks required to complete a task to the minimum) and your feature set (not overwhelming a user with too many features and options).
But - always remember, there is a big different between simple and simplistic. Simple means refined and carefully considered, simplistic merely bodged together without much thought.
-
Aesthetics
Last, but, of course, not least, the aesthetics are extremely important. It doesn't matter how well executed an interface is, or how easy it is to learn and use, if it's ugly, most people will be turned off by it. Some types applications are almost always well designed from this point of view, but many are just left plain ugly, on the basis that, "that's how things are done in this industry," or, worse, "that's how our types of users like it."
This is a huge failing. Note that an aesthetically pleasing interface doesn't imply anything fancy, distracting or flashy. Something a> can also be incredibly aesthetic.
Icons can often make or break the aesthetic appeal of a web site or software interface, especially when your windows and dialogue box styles are limited by the operating system. Indeed, Steve Jobs himself has stated that the most important difference between Windows and Mac OSX is that Apple, to quote, "make the icons so good you'll want to lick them."
What do you think are the most important aspects of interface design?
User experience
User experience is one of the most important parts more...1 point
Usability
There are several problems with usability. There are a huge number of popularly accepted myths floating around, often started or propagated by people doing pseudo-scientific testing without any real knowledge about how to run an experiment (one recent study showed that the only determining factor in usability experiments was the experimenter - in other words, the same test run on the same interface using the same methodology gets completely different results depending on the person running the experiment).
Another big problem is that usability is held above all other considerations. Yes, it is important, but you need balance. There is a big temptation to go for a one size fits all approach, making an interface suitable and usable for everyone. The problem is that by accommodating everyone, you end up appealing to no one. Failure, in other words.
There's also an idea that 'usability' just means making sure that people of all learning levels and physical/sensory abilities can use your interface. Yes, of course, this is extremely important, but it is not the only important part. To be properly usable, an interface also has to appeal to its target user, as well as being technically feasible for them to use. That's much harder to measure, so is a factor often ignored.
All that said, properly looking at your users and taking time and trouble to answer the following questions properly (instead of going for a blanket approach) will do wonders for your usability.
-
Who will be using the interface and what knowledge do they already possess?
-
What would the users of the interface like to be able to do?
-
What, if anything, will the application need to be able to do without user guidance?
-
What context will the user be working under? Are they in a high pressure environment or working from home?
-
What kind of errors will users be making and how often will they be making them?
-
How fast will users need to complete their tasks? Air traffic controllers need to be able to work quickly compared to, say, a writer or journalist.
-
How much training will users require or be able to have in order to use the system? Detailed accounting software will obviously have a different learning curve than an information kiosk at a museum.
-
What are the expectations or limitations of your target demographic of users?
A highly trained engineer might well have different expectations of a piece of architectural software than someone who just wants to do some quick visualisations.
Your thoughts?
-
-
cyberpunkdreams
Sep 27, 2009 @ 4:09 pm | in reply to adwords-marketing | delete
- I am a developer, yes, amongst many other things! Although I didn't realise the word 'bugbear' gave me away...
-
-
-
adwords-marketing
Sep 15, 2009 @ 10:13 pm | delete
- Very nice lens. I am a software developer and I'll admit that most days, the interface is the least of my concerns. I'm more often concerned about the function of an application than the usability. Defects are things like how is corrupt data making it into the database or why is a particular piece of code throwing an exception. Anything about usability is usually given a very low priority.
I agree that everything application needs some usability testing, because the developer is rarely looking at the UI.
P.S. If I had to guess, you are a developer too. Your use of "bugbear" gives you away.
-
-
-
Cinetech
Apr 18, 2009 @ 8:25 pm | delete
- The content is fantastic! People please read this information carefully and take notes. 5 stars!
-
-
-
manujarch
Apr 18, 2009 @ 8:22 pm | delete
- Indepth write up.Amazing!
-
-
-
mysticmama
Apr 18, 2009 @ 7:41 pm | delete
- very nicely done!
-
by cyberpunkdreams
Ack, what to say? I do lots of things, from painting to cooking, reading to writing, gardening to marketing. So I don't like labels and pigeon holes.... more »
- 6 featured lenses
- Winner of 4 trophies!
- Top lens » My Teapot Collection
Explore related pages
- Icon Design - how to, resources and the rest Icon Design - how to, resources and the rest
- The Best Icons on the Web! The Best Icons on the Web!
- How to Start a Web Design Business How to Start a Web Design Business
- Google Mapquest Driving Directions - which is better? Google Mapquest Driving Directions - which is better?
- Computers for Graphic Design Computers for Graphic Design
- Photoshop Graphics Editing Tips Photoshop Graphics Editing Tips
