A good web site behaves like a top-class butler or a concierge in a
hotel. It looks after you, it intelligently anticipates your needs, and
it goes out of its way not to make you feel bad.
When everything's okay, it lets you get on with your business. When
something's wrong, it offers prompt and positive assistance.
When everything's all right, I want
- Where I am. I want to know: "Am I
in the right place?". My friendly site says: "Yes, this is where you
are, stop here for x, y, z."
- What I can do here. I want to know:
"Can I do my task here, or where?". My friendly site says: "Here's how
you do it."
- Where I can go to from here. I want
to know: "Am I on the right path to achieve my goal?". My friendly site
shows me the best route to get there.
If something's wrong, my friendly
butler tells me the three key things, with only as much detail as is
When something goes wrong, I need 3
- Status, i.e. what the situation is
(e.g. "Login failed" / "Unable to send message")
- Why it happened (e.g. "Password
supplied was incorrect" / "The server is offline")
- What I can do to make it work (e.g.
"Re-type your password" / "Try again in 20 minutes" / "Contact helpdesk
Intelligently anticipates my needs
If you go to Google, what do you
have to do in order to search?
You just type and hit Enter, or click
a button. Two things.
Google helps me succeed quicker by
placing the cursor in the search box when the page loads. It's a tiny
thing, and not particularly intelligent, but it makes a huge
difference. Consider the
difference between Type > Enter, or Move hand to mouse
> Move mouse pointer to search box > Click mouse button
> Type > Enter. That could easily take five times as
long. Considering the number of searches I do on Google, that tiny
thing probably saves me a minute every week. Multiply that by the
number of people using Google, and you've got a lot of benefit!
Examples of bad web site behaviour
This is a website that I use at least
2 or 3 times per week. One reason is that I can actually order train
tickets in a couple of minutes. Another reason is that it reminds me
just how bad websites can behave (and how easy it would be to make them
A few quick design criticisms, while
- One good thing is the goal-oriented
navigation options on the left hand side: Buy train tickets, Book a
- The inverted tabs at the top are
part of this site, but don't look it because: a) They're upside down
and seem to be attached to something off screen, and b) They sit above
the site ID, so appear to be separate to this site.
- The Short Breaks don't work very
effectively as a cross-selling mechanism, because they're in a floating
frame which has a solid top and bottom. At first glance, you only see
three plain-looking offers, and the prices don't jump out. The only
thing that tells you there's more is the scroll bar, but because that's
also floating in the middle of the page, it doesn't really register.
- The Quick Timetable form in the
middle of the page is a complete jumble, with very little logic to the
layout. It hints at how bad the site's attitude is about to become...
- The search target is made up of two
elements: Graphic text that reads 'Get Train Times', and a
(>>) graphic. These should be unified, to show that
they're the same thing, and should preferably have a bevelled edge to
make it clear it's a button and that clicking it will perform a
- Even though I've saved my regular
journey twice on Thetrainline, it never remembers it on the home page,
even though it remembers who I am. (It does manage to find my favourite
journey if I click on 'Buy Train Tickets'..)
I went on this site with a single,
clearly-defined goal: I wanted to know, "When is
next train from Southend to London?"
Pretty straightforward... you'd
think! I typed in Southend and London, and hit 'Search' ('Get Train
Times'), thinking that this would tell me the next few train times.
The site is complaining that I
haven't told it the exact date I want to travel on. And to make matters
worse, it's using red text, which means 'error', which means it thinks
it's my fault!
I have to enter the date I wish to
travel on, as well as the month! Can't the server guess the month, if I
say I want to travel on the 24th?!
Bizzarely, the comment against the
label tells me that I'm supposed to put in a 2-digit year as well. This
goes back to the percentage game: how likely is it that Thetrainline is
going to leave me seething because:
- I wanted to get a ticket for NEXT
March, and it found me tickets for THIS March instead, or
- Every time I try to do a quick
search, it tells me I have to enter the exact date/month/year?
If I happen to enter the correct
date, but use backslash (\) instead of a forward slash (/), it tells me
I've made an error again. Notice that it doesn't tell me how to remedy
the error. As far as I'm concerned, I've entered a valid date. The
difference between a backslash and forward slash is the computer's
problem, not mine. What would a polite, well-meaning butler-like
computer do in this situation?
Anyway, I managed to find and fix the
'error'. I put in the date, as requested, in the right format.
I don't have a picture of the site
complaining that I entered a valid date, but neglected to say what TIME
I wanted to travel. Remember, all I want to know is when the next train
is. This site makes you enter a time, in both hour AND minutes. You
have to choose either 00, 15, 30, or 45 minutes. I enter a time. It's
3.10, so I enter 3.00, to make sure I get the next train time.
"Outward travel must not be in the
past". The computer's correct, in a computer way of thinking. Its job
is to sell me train tickets, therefore the tickets must be valid,
therefore the journey must be in the future.
But what if I wanted to use the site
to check when the last train left? What if I wanted to see what time
the train my friend just caught gets in to its destination? The site
would refuse to oblige me.
And you can't just put "15" and leave
the minutes blank. You have to put in the minutes, and the minutes must
be in the future. So if it is now 15:01, how do I find out about the
15:14 train? I can't. If I put in 15:00, it will tell me that the time
I travel cannot be in the past. If I put in 15:15 (the nearest other
option), it will only retrieve details of trains setting off AFTER
This is a site that behaves like a
computer, not like a human being, never mind a friend or a faithful
butler. When there's a problem, it fails to anticipate what I mean - it
can't think like a person (hasn't been programmed to). It would be easy
to assume that I always want the next train times, unless I specify
otherwise, wouldn't it? When there's a problem, this site tells me, and
then leaves me to work out exactly WHAT went wrong, and exactly HOW to
Very often, the ways to make a web
site help users succeed are simple, quick, and cheap to implement. If
Thetrainline made a few small changes, they would please more people,
and they would easily recoup their costs.
should I handle errors in online forms? (From Caroline Jarrett's site,
Forms that work
Nielsen's Alertbox column on Error Message Guidelines, June 2001