Forgive your users; even when they are drunk!

Forgiveness is an important feature of good design. You should help your users by minimising the impact of mistakes or, ideally, prevent them from happening at all.

One way you can make your interfaces more forgiving is by employing a ‘forcing function’ (aka confirmation). This technique makes the user verify that what they requested is what they intended. There are 2 kinds of confirmation: A dialogue; where you ask the user a question e.g. “Are you sure you want to delete all your files?”; or a 2 step process e.g. armed… fire! Both approaches slow the user down so that it is harder for them to perform the action by mistake and give them an opportunity to change their mind.

Google recently introduced a feature to Gmail called “Mail Goggles” where if you try and send an email late at night over the weekend it assumes you are drunk and forces you to answer a series of mental arithmetic questions first! At first I found this quite funny, but the more I thought about it the more I liked it as an idea.

We’ve all sent emails we regret. Some of these are when you have been out at the weekend and returned home a little worse for the wear. Of course, the software can’t tell that you’re drunk but by introducing a 2 step process it means you can’t just send the email without reflecting upon it. By making the second step a mental arithmetic test, they hope that your lessened mental capacity will be unable to perform the calculations and you’ll give up – or at least recognise you aren’t in the clearest frame of mind!

There aren’t many systems that should go so far as to test their users state of inebriation; but it is worth considering how you can compensate for a users state of mind when they are using your products: will they be under stress, working in a hurry or not giving your product their full attention?

  • Use your system knowledge to check unusual or unexpected data – e.g. if the “Quantity” field on your order form averages less than 10, verify the user meant it if they enter 100
  • When the user is performing a critical step – slow them down by making then perform multiple steps – it will force them to pay more attention and prevent accidents
  • Consider delays on some operations and provide an option to cancel e.g. “Your computer will reboot in 5…4…” – this will slow them down if they are in a hurry
  • Can you be like Google and take the time and day into account to infer anything? Maybe your software could act differently at lunch time or last thing on a Friday?

I think Mail Goggles is a great feature and something we should learn from. It shows a high degree of attention to usage patterns and an innovative solution that could save a user’s blushes. Imagine how relieved you’d be the next day when this feature prevented you sending the email where you told your boss what you really thought of him!

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Web Interfaces | Tagged , , , , | 3 Comments

Site News: Usability Friction Amazon Store

I’ve added an Amazon store to the site today. There’s not a vast quantity of stuff in there, I could have just added to the store by Amazon category, but I’ve hand picked everything on there myself. Everything in there I’ve either read (or am in the process of reading!), so if you are interested in usability or design these books represent a great starting point.

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Misc | Tagged | Leave a comment

Site News: Post Titles

I had a bit of an epiphany today about the way I title my posts to this blog. I think most of them are the wrong way up. I have been titling them based on the example – rather than the lesson that can be learnt from it. So unless anyone objects strongly (not sure why you would!) I think I’ll start doing it the other way up. I’ll probably change the structure of the posts themselves to reflect this too – introduce a design principle, explore it and then give a real world example. Here’s a couple that I would rename:

Thinking about how I’d rename these posts has made me realise if I rewrote them now I’d write them very differently and that they would probably be much more useful! This also reflects the direction I’d like this blog to head in; to be a resource for people who are interested in design and usability factors rather than a list of my grumbles!

Thanks to everyone who’s been reading so far – I hope that this change will make the blog better for you!

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Misc | Tagged | Leave a comment

Verbose seat reserved LED signs on Virgin Trains

I travelled to Leeds to visit a client on a Virgin Cross Country train last week. Above each pair of seats on the train is a small LED sign that says if the seat is reserved or not (see the picture – sorry about the quality it was taken on my phone in less than fantastic light). This is a great idea, it means that the staff can enterĀ  the reserved seats from a central computer rather than having to walk down the train to stick the little paper cards in the top of the headrests.

When a seat is reserved it says, for example:

“10 Sheffield to Leeds” (referring to ‘Seat Number’, ‘Reserved From’ and ‘Reserved To’ respectively)

If it is free it says:

“This seat is not reserved”

The problem is that the screens aren’t large enough to display the whole message, so it has to scroll – and it scrolls quite slowly. So when you are trying to find a seat you have to stand and wait to read the slowly scrolling message before you know if it is available. However, this just isn’t possible when there are a lot of people pushing to get on to the train. This situation could be improved:

The unreserved seat problem scrolling problem is trivial so solve. We simply change the message to say what the seat is rather than what it isn’t: “This seat is not reserved” becomes “Available”. Or, if you want to really spell it out “Seat Available”. This is much better – you don’t need to perform the logical deduction of ‘the seat is not reserved therefore it is available’, or as Jakob Nielsen puts it “Usability increases when users need fewer mental transformations to convert a sentence into actionable understanding”. Also, as it is much shorter the display doesn’t need to scroll and you can tell at a glance that it is available.

There isn’t much we can do with the wording on the Reserved seats, but we could make life a little better. As far as I can tell, the notices are put up at the start of the journey and left until the end. This means when I read the notices I am expected to have knowledge of the route – as an occasional train user I don’t know the order of the stops. Major cities I can guess at but I haven’t a clue about the smaller village stations! Have we gone past them? If I take this seat will someone ask me to move in a few stops time? I have no idea! The train knows where we are on the route (there’s another display above the doors showing the next stop) so why not tap into this status and automatically change the seats to “Available” when the stops they refer to have been passed? Granted, this doesn’t tell us if the duration the seat is reserved for is after the point where we want to get off but it is certainly an improvement!

I guess if you catch the train regularly you can quickly spot the available seats; but you are used to an imperfect system rather than it being well designed!

When writing information displays:

  • Say what it is (use positive statements)
  • Use an active voice
  • Your objective is to communicate fact – make every word count (it really doesn’t come across as terse!)
  • Consider the environment they will be seen in and cater for any handicaps this introduces.
Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Physical Interfaces | Tagged , , | 1 Comment

Why Google’s Chrome Browser Tabs get it spot on

Google’s Chrome Web browser was released to much fanfare last week. One of the touted features was their redesign of the tabbed interface. They got it spot on, it’s exactly how it should be.

Here’s how Apple do it in Safari (click to enlarge):

Here’s how it’s done in Firefox (click to enlarge):

And here’s it done right in Google’s Chrome (click to enlarge):

Tab panes are used to group together related items and navigate between them. The address bar, the navigation controls and the page that it loads are obviously related. Firefox and Safari have created 2 visually distinct groups; the controls and the page content itself. Whilst It doesn’t take long to realise that changing the tab attached to the controls also changes the page (their close proximity helps) they should all be grouped together so that the behaviour is less surprising to the uninitiated.

By re-arranging the window so that the tab encloses the address bar, the navigation controls AND the page you are browsing, Chrome ties together the entire view, makes the relationship explicit and it just feels more natural.

This approach has other benefits too;

  • Switching tabs is a fairly frequent task – I’ve lost count of the number of times I’ve missed the tab bar and clicked a link in my bookmarks bar. Moving the tabs to the top and leaving the bookmarks bar where it is solves that one!
  • Whilst the tabs are physically further from the content, when the browser is maximised you can take advantage of Fitts’ Law so that selecting them is quicker – possibly even quicker than in their conventional position.
  • Safari supports dragging a tab into a new window; doing this from the top of the window feels more natural – like you are tearing a page from a notebook. Although, Apple’s slick use of animation to produce a mini version of the tab mitigates the worst effects of this.

Whilst writing this post, I have been pondering why the tab bar is where it is on other browsers. I think the most likely explanation is that whilst it isn’t attached to the content it is very close to it. Its proximity gives it the grouping effect and makes the tabs convenient to click. Also, it is probably the approach that required the least re-design! However, I think on balance it’s Google who are right in this case.

I’m really pleased that Google have released Chrome; though whilst I wont be using it (no Mac version!), I think a fresh face in the browser market with new ideas who is willing to rethink existing conventions is something we all should welcome.

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Software Interfaces | Tagged , , , | Leave a comment

Learning more about CRAP

I posted yesterday’s tutorial to hacker news and I must say I’ve been overwhelmed with the response I got; so a big hello and thank you to everyone who clicked through! A few people were interested where the term CRAP came from and if I invented it. No, I didn’t invent it; all I did was take the term and then apply it for how you can make your user interfaces clearer.

As far as I know its quite an old term from the field of Graphic Design. But if I cast my mind back, I think I first heard about it in Robin William’s book: The Non-Designer’s Design Book. I really recommend getting hold of a copy of her book – I loved every page of it, it’s very easy to read, full of practical advice and good examples/case studies. Once I’d finished it I was applying what I had learned to everything from my CV to reports I was writing at work! Only trouble with my work reports was the admin team would then butcher them to apply the “corporate style”. Arial 12pt – the philistines!

Just reading that one book will change the way you look at page layout. It’s also a great starting point if you choose to read deeper into design in the future. I really can’t recommend it highly enough!

Here’s a link to the book at Amazon (aff):

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Tutorials | Tagged , , , , | Leave a comment

How to make your user interface CRAP

Graphic design has 4 basic principles that appear to varying degrees in all well designed works; Contrast, Repetition, Alignment and Proximity. They are there to help guide you in making attractive designs, but I think they can (and should!) be applied when designing user interfaces. This post will show you how. Anyway, I like the acronym!

Contrast

In design avoid things that look similar; if 2 elements are not exactly the same make them very different. Don’t do your titles in 12pt Arial and your body text in 10pt Arial – they just look too similar to stand out. You can create contrast in many ways for example:

  • Different fonts
  • Different sizes
  • Colours and backgrounds
  • Borders
  • Differing alignments
  • Spacing

Our eyes are fond of contrast, it helps us prioritise and sort through the information before us. So how can we use contrast to improve usability?

Emphasise Primary Interactions

Use contrast to put emphasis on the most common or likely interface interaction and reduce the weight of secondary choices.

Good use of contrast for OK/Cancel buttons

Figure 1.

Figure 1 shows a good use of contrast. By reducing the visual weight of the cancel action, emphasis is put on the OK button. This makes the cancel button less prominent and therefore less likely to be quickly clicked by mistake.

Highlight Important Notices

Contrast can be used to highlight important notices requiring attention. For example, when showing an error message it is important that this immediately stands out otherwise the user will not see that they have made a mistake and will assume that something is broken!

Figure 2.

Figure 2.

Figure 2 shows the default look for error messages displayed when writing web applications using Ruby On Rails. The bright red box jumps out against the rest of the page and the user is in no doubt that they need to correct something before continuing. The field on the form containing the error is also outlined in red to increase its contrast with the accepted fields.

Group Related Elements

Contrast can also used to group related interface elements together and make them stand apart from each other.

Figure 3

Figure 3

Figure 3 shows the posting controls in WordPress. Notice how background colour contrast is used to group together the actions for Save, Publish and Delete Post. Bonus marks go to the WordPress interface designers for using contrast to reduce the visual weight of the “Delete post” link!

Repetition

Repeat visual elements throughout the design. Repetition creates unity and ties together things that would otherwise be perceived as separate. Repetition in usability at its most basic is simply to “be consistent”. If you have a way of interacting to achieve a certain goal in one place, make sure you repeat it everywhere to promote internal consistency. If you aren’t internally consistent across your system it gives the impression that the product was thrown together and there was no clear guiding vision. So, it is important to either ensure that team members working on different parts of the system stay in contact, or appoint someone with overall responsibility to maintain the consistency of the interface.

Consistency helps improve the learnability of the product. People are very good at recognising things they have already seen, and will be confident in their expectations of the results of their actions. Take advantage of this to speed up learning of the system by letting them apply things they already know.

Consistency doesn’t stop at the boundaries of your product. Repeat pre-existing conventions to achieve external consistency. For example if you are writing an application for the Mac take advantage of the existing skills people have and follow the conventions of that platform.

Google Web Search

Google Web Search

Google Map Search

Google Map Search

Google Product Search

Google Product Search

The search interfaces are consistent across Google’s suite of products allowing users to rely on their existing knowledge of how to use the system and how it will react.

Alignment

Alignment is probably the most obvious of the 4 design rules; it is the placement of elements such that the edges (or their centre lines) line up horizontally or vertically. No element of a design should be just thrown on the page randomly, it should have some connection with another element on the page to create a unified, cohesive feel.

Alignment can be used to guide people through a design; such as arranging form fields in to columns to indicate the order the elements should be filled in. Users will naturally go down the form vertically, but if they reach a row containing more than one element horizontally they will follow that alignment before continuing vertically.

In a nutshell, unless you are drawing attention to a specific element (by increasing spatial contrast), ensure that elements of your page are neatly aligned to ensure a clear reading order.

Figure 4

Figure 4

Figure 4 shows the print dialogue from Firefox 3. Notice how the labels down the left are right aligned to the central column of colons and the controls are left aligned. This creates an association between the labels and their controls. The row of colons lead the eyes down the page vertically and where more than one control appears on a row your eyes are led horizontally.

Proximity

Related items should be close to each other. Grouping related controls together helps to organise the interface. Controls that are close together are perceived to be more related than ones that are far apart. The related items create a single visual unit so your interface is perceived as being made up of a small number of related units rather than as a page full of many individual controls.

Figure 5

Figure 5

Figure 5 shows the left hand side of the iTunes interface. The playback controls are grouped together and perceived as one visual unit. The Library, Store and Playlists elements group their own sub-elements as 3 distinct groups, but their proximity to each other allows the sidebar to be perceived as an interrelated whole.

Contrast, Repetition, Alignment and Proximity are good and simple ways to improve the look and the usability of an interface. So next time you are designing a user interface, look for ways you can make it more CRAP!

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Tutorials | Tagged , , , , , | 3 Comments

iPlayer on Virgin Media Cable

Usability Friction reader Nick Wright emailed this week to tell me about the frustrating design of the BBC iPlayer on his Virgin Media Cable TV set top box.

The Virgin set top box has a common look and feel throughout the user interface which makes the system feel nice and unified. However, the BBC decided that they should have a completely different appearance for the iPlayer; the layout, the colour scheme, the button placements etc. are all different. This immediately removes the user’s sense of familiarity with the system. Given that the cable box already has the controls necessary for implementing this kind of interface it seems a little unnecessary. Having said that, the BBC will be wanting to establish a strong brand around the iPlayer so it’s at least understandable.

Changing the appearance is one thing, but what is unforgivable is how they have disregarded the interaction conventions that were already established on the platform. The major means of interaction with the box is through the remote control; a directional pad for selecting items plus the 4 coloured buttons for short cuts. Throughout the whole system, whether you are buying a play on demand movie or just using the basic TV guide, the red button on the remote is “Page Down” and the green button is “Page Up”. The BBC decided to ignore this and have red for “Home”, blue for “Page Up and the yellow button for “Page Down”!

By doing this they have introduced what are known as ‘Interference Effects’; in this case an example of ‘Proactive Interference’. This is where existing memories interfere with learning. The user is so accustomed to red being page down that they instinctively press it and are then surprised when it takes them back to the home page. On one level this makes the user feel stupid – “I know it goes back to the home page, it says so on the screen!” and you should never make your users feel this way by doing unexpected things. They aren’t stupid, they are just assuming the system will be consistent.

The BBC really should have followed the conventions set out elsewhere in the system in this case; it just makes their application unnecessarily frustrating – would it have been so bad to make the yellow button go to the home page?!

Conventions are a powerful aid to improving the learnability of a system, so whenever possible they should be used. That isn’t to say you can never ignore them; sometimes there is a compelling reason to. Just be aware that you are probably going to trip people up so your reasons need to be good!

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Physical Interfaces, Software Interfaces | Tagged , , , , | Leave a comment

Hollywood Studios Encourage Piracy

Don’t steal this car!

Imagine you’ve just bought yourself a new car, let’s say it’s a Volkswagen. You’re excited; you’ve been looking forward to this moment since you first saw the advert. You get in, and turn the ignition.

Over the car speakers a stern voice starts speaking:

“Have you stolen this car? Stealing cars is a crime and can be punished by a fine or a jail sentence”. This goes on for a few minutes telling you about how car crime funds terrorism etc. Mercifully it ends. So you try to set off. The controls of the car still aren’t responding. Suddenly, a rich deep voice starts to speak; “Coming soon from Volkswagen, the company that brought you the Golf GTI, the Beetle and the Polo…” you are now frantically pressing buttons in vain to skip the adverts – you just want to get on with your journey!

Finally, after being accused of theft and forced to sit through adverts for the last 5 minutes, the engine springs in to life. However, before you are allowed to set off you are shown a large image of the Volkswagen logo on the Sat Nav display, then the logo of the tyre manufacturers, then the logo of the stereo manufacturer, then the logo of the….

You think that having to endure this is bad enough. But, you have to go through it all again the next time you get in your car! Aaaagh! You just wouldn’t stand for this, so why do the film companies think it’s acceptable?

I love films, I own 100s of DVDs. I’ve never downloaded or bought a pirated film. Why am I punished for this? It makes me angry that I have to sit through unskippable accusations of theft, unskippable trailers and worst of all unskippable “Coming Soon to Cinemas” trailers for films that have by now been sitting in bargain bins for months since I originally bought the DVD!

If I lived forever I probably wouldn’t mind losing a few minutes. But I don’t. So I do. My leisure time is limited and I don’t like to spend it being spoken at. Maybe if there was a technical way that these trailers and notices could only be displayed only once it wouldn’t be so bad, but they are shown EVERY TIME I want to watch the film I’ve legally purchased!

Masochism!

So, what does this have to do with usability? Mainly the irony of the situation. If I had downloaded these films illegally I would just get the film itself. I’d double click the file and the film would start playing. I’d watch it then get on with something else. From a usability perspective the illegally downloaded film is a superior product – I’ve paid money for a less pleasant experience!

What I really want to see when I insert a DVD is to be taken directly to a menu with a prominent “Play” button already selected so that I can sit down, pick up my drink and press play. I’d probably watch the trailers after the film if they were listed as extras. Just don’t take liberties with my time and force me in to it!

The anti-piracy notices are a waste of time. It’s better to accept that a small proportion of people are dishonest, some just don’t value your product at the price it is sold for. They won’t buy it. They’ll get the cracked version without the notices anyway.

When designing interfaces and the user experience, take the most simple case. Assume your user is playing by the rules. Don’t blanket punish everyone and make the illegal option preferable! Make it as quick and easy as possible for your customers enjoy the product that they have paid for.

Writing this post reminded me of this funny clip from The IT Crowd:

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Software Interfaces | Tagged , | 2 Comments

How am I supposed to know I can tilt the iPhone?!

A good friend of mine told me that he was showing off his new iPhone to his dad over the weekend. Obviously, his dad loved it; but when he showed him how you can tilt the phone over and get the cover art for albums his dad said:

“How do I know to do that?”

It’s a good question, and it follows on quite neatly from my last post. It’s quite possible that someone could never find that feature. I knew about it because I -

  • Watched the keynote when the iPhone was announced (no it’s not sad!)
  • Have read about it in the news
  • Have seen the adverts
  • Have spent hours drooling over it on the Apple web site before deciding I needed one!

Most people will not have done any of those – so how are they supposed to know? Once you have discovered it, it’s the most natural way of doing this; but nowhere on the device itself does it tell you that this can be done! Nor is it a particularly intuitive feature – in the web browser it makes sense to rotate the device to get a better view of the information, but it’s not as instinctive to rotate a list of artist or song names.

Discovery vs. Direction

When designing new products we should strive to make things as usable as possible. However, this becomes harder as products become increasingly complex with more and more features. The iPhone has this doubly bad because it’s a new paradigm for interaction – you can’t assume that users will have any knowledge of how things are supposed to work through using similar devices. They need to be told about it somehow.

Apple do a great series of video tutorials, but the old computer in the corner with the videos on just isn’t as exciting as the new shiny toy in their hands! Other products come with a thick multi-language manual. If the videos on the computer in the corner are ignored the manual doesn’t stand a chance!

People are curious and like to experiment, they won’t put down their new toy to go read a manual. There is a certain joy in discovering new features which should never be removed, so we must hold a new user’s hand and encourage their experimentation. We need to just make sure we are there to help them when they get lost.

Now, I imagine that it is a rare case that someone would invest in an iPhone without being aware of its features (there are cheaper phones and contracts out there!) but making assumptions of knowledge on a brand new idea is never good. I would have added the following:

  • When you turn on the iPhone for the 1st time, it should play a very short video introducing the key modes of interaction; pinch, touch, device rotation etc. and then encourage the user to try them out with each of the applications. It just sets the scene.
  • Have the video tutorials pre-installed on the device within the iPod (so they can be easily removed using iTunes to reclaim the disk space). These could be referenced in the 1st boot video.
  • Include help pages! I’m not sure if Apple see it as a failure if people need help with their products, but there really should be a consistent and obvious way to show help on a per application basis. It doesn’t even need to be detailed – just explain the basics and give pointers for more detailed information!

Having said that, there’s no doubting, of all the phones I have ever owned, the iPhone is certainly the one with the least need for instructions! But that isn’t a reason to not help out when someone gets lost!

NB. This post is my entry to the killer titles contest fun over at ProBlogger!

Share this post:
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Facebook
  • Google Bookmarks
  • Live
  • TwitThis
  • Technorati
  • LinkedIn
  • E-mail this story to a friend!
Posted in Physical Interfaces, Software Interfaces | Tagged , , | 13 Comments