Paul Makepeace ;-)

December 2, 2005

First Great Western: still broken

Posted in: Rant

We're approaching 2006, well over a decade since e-commerce has been happening on the Interweb. Despite this, it's apparently still not possible to reliably purchase a train ticket online in the United Kingdom.

I speak specifically to First Great Western. Having browsed and selected available fares at the mostly competent National Rail site I selected the First Great Western vendor. Rather than simply presenting me with a single credit card+address form, or paypal link I have to register as a new user. Why do this? Guys, this is 2006. Forcing users to register is so pre-dot-com.

Then I have to go through multiple confirmation screens for billing and delivery addresses. The competency of the programming is so low that I am forced to "Choose delivery address" and select the only available delivery address out of a one element pull-down menu.

I click continue and then.... the screen goes blank. Nothing. Empty document.

Two years ago I wrote a rant about how not to buy a train ticket. What's changed?

This is the industry I work in. I'm so disappointed and embarrassed. Who is entrusting the nation's transport infrastructure to people who are writing code that makes a user select from a one element list? Can we just call ourselves Britain and give up the pretense of the "Great" bit? Absolutely, First Great Western do not deserve it.

Some handy hints

Here's how they could've done it using some basic software engineering and user interface design principles.

0. Remember why you're here

Priority one is Make The Sale. You're not in business to serve web pages but to provide a service and generate revenue.

1. Make it easy

Every click a user has to perform anecdotally halves your audience (anyone got a link for this? Nielsen? It's practically a truism now in Web design but worth re-emphasising). Don't make users go through a ten-step process to purchase a train ticket.

2. Build in resilience and provide alternatives

Software fails. It's not if, but when. In engineering terms, degrade gracefully. This effectively means provide contingency plans that either the software itself can use after detecting a fault in itself or the user can take advantage of.

Software fault detection is a big topic but it's a well researched and documented one. Some examples of the latter as an illustration of how trivially this problem could've been avoided simply by assisting the user:

a. provide a link to a single-page purchase form
b. provide a link to an alternative vendor, e.g. paypal, nochex, etc
c. provide a sales phone number

3. Manage software failures and stay accountable

Does First Great Western actually know there was an error? The impression of quality is so low for me that I strongly doubt it.

What's a solution?

a. software automatically emails errors to an inbox that alerts a human
b. humans reviewing error logs
c. external 3rd party validating error logs and directly tying this into publicly accountable performance metrics. We do this for train punctuality, why aren't we doing it for web server performance?
d. provide an automated testing facility. Every five minutes a piece of software attempts to search for fares, buy a ticket, register a user, and so on. This is so easy to write or buy these days there's simply no excuse.

4. Keep the user informed

If all our software contingency measures fail, make it as easy as possible for the user to complete her sale. Job #1 is Make The Sale; as a corollary keep the customer happy. I now have to make a phone call to complete my sale but what train times did I select? I have no idea, that was (literally, I'm afraid to say) ten clicks back.

What's a solution? On every page inform the user, "You are purchasing an Apex Return (£20) for 1 adult from London Paddington to Bristol Temple Meads, departing 24 Dec 2005 at 08:30, and returning 28 Dec 2005 07:15."

How hard would that be? How useful would that be?

5. Provide a contact point

They have an "Email us" form (two clicks away) but nothing that suggests how much state they're sending to First Western, e.g. what page I was on, what I was doing, what I'd clicked. I'd boldly assume they'd know who I am, since I am logged in. No, I have to fill out an email address to reply to.

Simply prefilling the email form with the sort of information listed above about what I'm doing, when, and who I am would be an order of magnitude more useful and helpful than expecting the user to start with a blank canvas.

6. Save state

Thinking it might be a browser issue, I logged in from another browser. There was no record that I was on step 5 of 7 purchasing tickets from Bristol to London. Why not? That information is stored on the server in my session data; my session's still live and accessible through a cookie in Firefox. Why is it not tied to my login details?

This isn't rocket science. It's a few lines of code.

So there we have it. I wonder when will we be able to reliably purchase tickets online?

Posted by Paul Makepeace at December 2, 2005 12:45 | TrackBack
Comments how I hate thee... doesn't work on macs, but doesn't tell you until it stumbles over the 'choose delivery address' thing. Ok, fire up VPC, it still is the most convoluted ordering process for a ticket one could imagine. I'm *not even having the tickets delivered* so why bother?

Run by Virgin too, I expect better.

Posted by: paulpod at December 6, 2005 14:12

I am sure that you know that nothing has altered as at Seotember 10th 2006. I have been directed round in circles by this software asking me to register and then telling me I am already registered - dumb page then has nowhere to go but round again. When I phoned the rail service they said "well theres no fast ticket machine at Swindon station anyway ! Why don't managers review this software before releasing it

Posted by: Graham at September 10, 2006 16:15

I have not been able to get through with purchasing tix from them and I have tried multiple times b/c it kept telling me I had done something wrong or that there were too many numbers in my credit card. All BS. But then the fees show up pending in my bank account, and I STILL don't have any confirmation codes for any purchases. They tell me the money will be refunded w/in a few days. We will see.

Posted by: Jasmine at February 20, 2009 22:54
Post a comment

Remember personal info?