This article is more than 1 year old

Off the Rails: Enquiry Web site fails to deliver

Germans do it better

Analysis The recent revamp of the UK rail enquiries website has been a backwards step from a usability point of view, with the site generally less friendly towards passengers wanting train times than its predecessor.

This is a site where usability is particularly important. Looking up the times of trains is its whole purpose, so there’s no excuse for anything that makes that simple-sounding task any harder than it need be. Commercial sites that make money from adverts sometimes intentionally degrade usability to increase the number of page impressions that users generate, but that doesn’t apply here: the site carries no advertising and its owners, an association of the train operating companies, make their money from people catching trains not from them looking at websites.

Even if you’ve no intention of catching a train in the UK, the site provides a useful counter-example of things not to do on your own sites.

Finding the site

First, some good news: there’s one aspect of the new site that’s a definite improvement. A fundamental step of usability is making sure that users can find the site, usually with a memorable URL. In this respect the new site, at is a vast improvement over the previous location, the baffling The “my” in the new URL is a little unnecessary (what if I want to plan somebody else’s journey?) but at least it’s something we’ve got a hope of remembering.

Unfortunately this improvement has been coupled with one of the most serious usability transgressions: killing off a former URL. While the new location is better, the previous URL will have been bookmarked by thousands of people. All these bookmarks have been rendered impotent because the old URL, instead of doing the sensible thing and redirecting to the new site, simply returns a ‘no route to host’ error message. This is infuriating for users and completely pointless. Useful URLs should never be allowed to die.

Filling in the form

Having found the site, it can be seen that its heart remains a form for entering journey details. After specifying the starting point and destination the next thing required is the date and time of travel. The previous version had the date textbox prefilled with the current date, which makes things very easy for people looking up times just before travelling, surely a common scenario. There also used to be a separate radio button labelled ‘tomorrow’, to avoid ever having to type in the following day’s date.

But not any more. Now there’s just an empty textbox. If you have the temerity to leave it blank the system doesn’t assume that you want to travel today — not an unreasonable assumption, especially given that the time of travel defaults to an hour or so in the future — but barks back an error message.

You don’t need to be a usability expert to see that this is a retrograde step. An interface that forces people to lift their hands from the keyboard, roll back a cuff, and press the ‘date’ button on their watch simply isn’t a good interface.

(Tip for typing dates: Despite the site clearly stating that dates should be entered in ‘dd/mm/yy’ format you don’t need to type leading zeros, you don’t need to type the year (like they have timetables for more than a year in advance anyway), and you don’t have to use a slash as the separator. So you can make life a little easier for yourself by typing “6 5” instead of “06/05/03”.)

Starting the search

Once the form has been completed it needs submitting, something normally so simple it wouldn’t warrant a mention. But after typing the date pressing the Enter key achieves precisely nothing: the form just stays exactly where it was, in Mozilla at least. Moving your hand to the mouse and clicking on the button works — but it’s senseless to force people into using a mouse, especially since their hands must be at the keyboard from typing the date.

Viewing the source code reveals the reason for this inconvenience. Instead of using a standard HTML submit button or submit image the site’s builders have wrapped an ordinary image in some JavaScript which submits the form when the image is clicked on. Because the image isn’t marked as an HTML submit image the browser has no information about how the form should be submitted, which leaves the browser powerless and renders Enter inert.

It’s hard to see why the form was designed that way, since it took more effort to use JavaScript than to stick with plain HTML. Some sites use JavaScript form submissions to perform some client-side checking before submitting the data to the server, but there isn’t any of that here: the JavaScript is entirely pointless.

Most of a time that’s merely an irritation, but using JavaScript like this immediately makes it impossible to submit the form using a browser that doesn’t have JavaScript, such as the text-only browsers like Lynx. These worked with the old site — the output may not have been pretty, but if you just want the time of the next train that probably doesn’t bother you so much.

Now if you don’t have a JavaScript-enabled browser you’re stuck. Of course most people have graphical browsers, but that’s no excuse to exclude a minority who don’t. When visiting The Reg’s co-lo I used to run Lynx on a server to find trains home. Being remote servers they naturally don’t have a graphical interface and therefore don’t run a JavaScript-capable browser.

Consideration for the visually impaired

It is arrogant and inconsiderate to presume that everybody else experiences a website the same way that you do; for example blind people often have aural browsers which speak the information. As a rule of thumb if a site can’t be used with Lynx it will be hard for an aural browser to cope with it, so the new train times website could be — completely unnecessarily, remember — hard or impossible to use in such environments, something which may count as discrimination.

The usual way of checking how a site fares for people with disabilities is with Bobby, an online tool which reports specific problems, but for some reason Bobby can’t be run on the new rail website and consistently reports a connection error.

Cookie monster

Managing to trigger the JavaScript to submit the form isn’t enough to ensure that the system takes any notice of you. If you happen to have cookies turned off then you just get presented with the form you started with, but with all of your data conveniently removed. That’s it: no error messages or anything.

The only thing cookies add to HTML is the ability to identify users returning to a website — useful for providing personalization. There’s no need to require them merely for navigating within a website, since HTML forms provide sufficient mechanisms to keep track of a user.

Even so, many sites have their reasons for insisting on cookies. This is acceptable so long as those with cookies turned off are warned. The old train times site didn’t require cookies so I wasn’t expecting the new one to do so. But if not accepting cookies prevents the system from working then the least the site could do is give an explicit error message stating that this is the case. Simply reshowing a blank form is a preposterous interface, leaving the user to guess what the problem is.

Trigger-happy error checking

Being able to fill in and submit the form doesn’t guarantee that you’ll get to see some train times though, thanks to some harebrained overzealous attempt at catching errors. If you start to specify a return journey then change your mind and blank the return date box but leave a time set you get the absurd error message ‘A return time must not be entered for a Single journey’. Why not? Since it’s managed to work out that I want a single journey why can’t it simply ignore the return time that is obviously so irrelevant.

More serious is the message ‘Outward travel must not be in the past’. Initially that sounds like a sensible thing to check for, but the first time I encountered this message was after a friend sent me a text message saying she was on a train that had left Liverpool at 15:22 but didn’t know when she’d arrive in Leeds; at about 15:45 I tried to look up her arrival time only to get the above error. Yes, of course the departure time is in the past — I know that because she’s told me she’s departed — but that doesn’t seem to be a reason to deny me the train’s scheduled arrival time.

(Another tip: If this happens to you simply submit the form with a time in the near future. Once viewing those times you can use the ‘earlier train’ button to see the time of the train you’re actually interested in — though if doing this for the Plymouth-Aberdeen train shortly before it arrives you may have to press the button an exasperating number of times to get back to its starting time.)

Viewing the train times

Amazingly, the new site even makes it as hard as possible for you to understand the train times after it has been persuaded to display them. It’s almost as though somebody wants you not to know when the trains are supposed to be running …

The first problem is you don’t initially get to see exactly where the displayed trains are going. Many towns across the country have more than one railway station. At least the new site permits you to search for journeys to any station in a town, rather than having to perform a separate search for each of its stations, but if you’re travelling to Manchester you probably want to know which of its stations you’re going to end up at.

The initial display of train times is exactly that — times with no station names. Gleaning this vital information requires pressing the ‘view details’ button. There’s a message warning ‘some places may have more than one station’ (may have? — it’s a fact that some places definitely have multiple stations; perhaps the train operators have some reason for hedging their bets on this) but it is displayed regardless of your journey. So unless you know your destination well enough to be sure it only has one station you have to press the ‘view details’ button just to check.

This is silly. If they can’t work out how to arrange their pages so that both times and station names can be displayed then they could at least make the warning message only be shown in situations where it is relevant.

When you do view details you encounter what for most people — people with mice, graphical browsers, cookies, and good eyesight, anyway — will be the worst usability sin on the whole site. In the initial view the times of five trains will be displayed next to each other, with each column listing information about a single train. In the detailed view this is reversed — the rows represent trains and the columns are for the details of each journey.

This is very disorientating. If you had your eye on a particular journey for which you were seeking details (and gone is the option to restrict the detailed view to just selected trains) then you have to hunt for it in the details page — if it was third from the left then it will now be third from the top. If you mistakenly look at the column third from the left then you end up reading the departure times (but only the departure times) for all trains instead. Perhaps tilting your head on its side would help?

The German alternative

Fortunately there is an alternative to the UK train operating companies’ website: the Deutsche Bahn timetable site. The German railway company kindly provide a version in English and, while the site doesn’t make this abundantly clear, it covers UK trains as well as its own.

The Deutsche Bahn site is free of nearly all the flaws of its UK counterpart. While its URL isn’t easy to remember (at least, not for those who don’t speak German) it can be found with a Google search for train times site:de. Its biggest disadvantage is that it won’t search multiple stations in a town at once.

But it has a form that’s easy to fill in — simply typing in the name of two UK stations and pressing Enter gives journey times. The date defaults to today. You can type in another or use the little arrows next to it to adjust the date one day forwards or backwards. The arrows are JavaScript powered, but this is a sensible use of JavaScript, doing something that wouldn’t otherwise be possible, and it doesn’t interfere with Lynx users’ ability to type in dates or submit the form.

The site doesn’t use cookies, and it doesn’t prevent you from searching for a train that’s already departed. Results are displayed in a form that’s easy to read. You can choose which journeys you want details of, and the details are shown in the same format as the summary view.

(Aside from usability considerations the Deutsche Bahn site has a couple of extra features. You can see intermediate stops in a journey, so you know at what times you should be passing through other stations. And there’s a personal timetable facility for people who regularly travel a particular route — you specify places, times, and a date range then you get e-mailed a personalized PDF containing the timetable for all the trains in that range.)


It’s disappointing to see the UK rail timetable website suffering such poor usability. With its new URL the changes mean it’s easier to find it but there’s less reason to want to. There are plenty of sites with worse problems, but this is one where it really matters. The site is trying to provide a service, but if its terrible interface puts people off catching trains then it will start to hurt its owners financially as well as irritating would-be passengers — about the only thing it’s good for is a study of usability problems to avoid when creating your own websites.

What’s particularly frustrating is that many of the problems have a big impact on usability but they are trivial to get right from a technical point of view. We can hope that this means the problems will also be easy to fix, but at the moment I’m thankful that the Germans provide a service that lets us look up UK train times. Now all we need is for the trains to actually run at the times in the timetable. ®

© 2003 Simon Myers, GBdirect

More about


Send us news

Other stories you might like