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:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
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:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
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:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
Posted in Tutorials | Tagged , , , , , | 5 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:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
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:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
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:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
Posted in Physical Interfaces, Software Interfaces | Tagged , , | 13 Comments

Be careful with iPhone orientation specific content

I stumbled across Engage Interactive’s post about iPhone orientation specific content last night. What they have managed to do is to change what is displayed on screen based on the orientation of the iPhone. If you hold it upright you’ll get their Blog; rotate horizontally to the left and you get their About page and rotate to the right to get a mini portfolio.

I’m a Software Engineer by training and that part of me is screaming out how cool this is. Technically, it’s a really impressive feat and it looks fantastic. We need this kind of innovation to push the field forward. However, the usability side of my brain thinks that in this case it’s not such a good idea.

It’s just not the expected behaviour – it violates the ‘Rule of Least Surprise’ which simply says to “Do the least surprising thing”. I think Eric S. Raymond sums this up best: “Novelty is a barrier to entry; it puts a learning burden on the user, so minimize it”. In fairness to Engage Interactive – when you visit their site on an iPhone you get a mini tutorial. But, I don’t really want to be reading tutorials on how to use a web site! On a slow connection this would just be annoying!

However, I do think they are on to something – as a technology demo it opens up some pretty exciting possibilities for others to build on. Personally, I think using the orientation sensing to display an entirely different page is just too confusing. But, I can see it being good for augmenting the existing page – maybe using the extra width to display more detailed information, or add extra views such as graphs etc.

But, well done to Engage Interactive for coming up with the first example of this that I’ve seen – keep up the good work.

Share this post:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
Posted in Web Interfaces | Tagged , , | 5 Comments

iPod headphone disconnect automatic pause

Picture of iPod Classic

Picture of iPod Classic

Edit:Many people seem to be ending up on this page when searching for a solution to their iPod pausing randomly. I’ve put some of the common solutions to this problem in the comments below. Hope this helps!

I love my iPod. I’ve owned 3 different ones (5 if you count my 1st and 2nd generation iPhones!). There’s a great feature that you may have not even noticed exists – when listening to a song if you accidentally pull your headphones out, the iPod recognises this and automatically pauses the track!

There isn’t much point continuing playing when you can’t hear anything so it makes sense to pause. This is especially good if you are listening to an audio book as it saves all the messing around rewinding to try and find out where you were up to.

This feature is using a design principle called Forgiveness. Forgiving designs do what they can to prevent mistakes but when they occur they minimise the consequences. Here, the consequences of interrupted playback are minimised by pausing the track until you are ready to resume.

A way you can incorporate forgiveness in to your designs is to think of your product as a finite state machine and then consider what you can do automatically when the state is changed. Here there are two relevant states: “with headphones plugged in” and “without headphones plugged in”. Changing between the two states has been gracefully handled and the most logical action taken.

It’s an unfortunate truth that these kinds of features are often overlooked, but when you do notice them you realise that the team that put the product together has put in a lot of effort. So, try and take the time to think about the different states your product can exist in and then think about how you can make your users lives easier by automating things during the transition between the states.

Share this post:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
Posted in Physical Interfaces | Tagged , , | 6 Comments

Cash Machine/ATM Staring Contest

Cash Machines (or ATMs if you prefer) are a big part of daily life. They have pretty much replaced going into banks for drawing out cash. Many of them are located in high traffic areas such as shopping malls, train stations and airports. The busiest always have a queue of people waiting at them. So, it’s pretty important that they are easy to use and to make the interaction as fluid as possible.

There are many things they could do to improve, but the one I want to look at today is the 2nd step – entering my PIN number.

Some bank’s cash machines are bad at this. I walk over; insert my card and enter my PIN. The machine stares at me blankly; almost sinister. I stare back. The machine is daring me… it’s thinking ‘just one more number and I’ll eat your card’. I look around nervously… then spot some tiny text hidden away on the dimly lit screen to: “Enter your PIN then press Enter”. I hate those machines.

Why do you make me press enter?!

Everyone’s PIN is EXACTLY 4 digits long. Passwords on a computer or a website can be any length so you need a way of saying you’ve finished typing, but here they are always 4, this is common knowledge – the step isn’t necessary.

So, why do they make you press enter? It’s a confirmation step so you have chance to go back if you made a mistake whist entering your number. But that’s not really an excuse to add friction to the process – the confirmation is only of any value to the last number you enter! It doesn’t make a difference to the first 3 numbers – you can go back and correct these before the confirmation even comes in to play!

Pick a number between 0 and 9

In practice, this step only saves you if you type in the last number incorrectly. Cash machine keys are pretty large so I’d imagine the chance of mistyping is pretty slim in the first place! Even then, the consequences of getting it wrong are minimal – you get 3 attempts – so even if the first attempt is wrong you get another 2 shots. Human nature is such that if you get it wrong the first time you’ll pay more attention the second.

If mistyping is a frequent problem, I’d still remove the step (the 4 asterisks on the display don’t exactly help here!). I’d accept the 4th key as confirmation, but then insert a pause whilst displaying a way to cancel the confirmation before the validation actually takes place. The user would perceive this time as part of the validation process. You could even display an advert for another service whilst you have their attention.

Wherever possible you should try and reduce the number of steps and interactions you make your users go through to achieve their aim. Ask them to participate only for the essentials. If you can reliably guess what they will do, don’t make them do it!

Share this post:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
Posted in Physical Interfaces, Software Interfaces | Leave a comment

Welcome

It’s taken a while; I’ve had this blog in my head for years now and have never got round to it. I blame work, I blame university, I blame laziness. I did make a start at it once; but then work, university and laziness ganged up and put a stop to it.

This time, I put my hand in my pocket and bought some hosting in the hopes that having a lighter wallet would motivate me into sticking at it. That and the help of Upstart blogger’s 30 day blogging programme.

So, welcome to usabilityfriction.com! This is a blog about the usability of things. Unfortunately, a lot of things are bad to use. Some make grown men cry. On the other hand some are fantastic. I’m going to use this blog to show examples of both and investigate why the bad things are bad and why the good things are good.

You might consider that your job has nothing to do with usability; but, for example, that form you just created for customers to fill in could be a nightmare to understand if you’ve designed it badly. Usability affects everything that we interact with – products, web sites, processes, software and even down to the cupboard you put your mugs in. So its well worth learning about for almost everything you do. It isn’t hard and doesn’t need to cost anything; most of it is just common sense. But when used well it reduces mistakes, saves time, saves money and makes people happy.

I hope you enjoy this blog, I hope it will make you think. If you agree with what I write, or better still disagree, please use the comments. I’d love to hear your feedback!

Share this post:
  • Add to favorites
  • email
  • Digg
  • Reddit
  • del.icio.us
  • Slashdot
  • Google Bookmarks
  • Technorati
  • HackerNews
  • StumbleUpon
  • Twitter
Posted in Misc | Tagged | Leave a comment