UX while booking online tickets at irctc.co.in

The end user experience, according to me is tantamount to any other effort that goes into shipping a product – Software or otherwise. It is interesting to note how businesses/products across the world alleviate some pain point in the customers life.

But, what good is a product that in spite of being feature rich, is too complicated to use ?

With the advent of several technologies and webify-ing of services, this aspect of product development/service offering has taken even serious proportions. UX aka User Xperience or Usability is what I am referring to.

I was at the World Usability Day held at NIAS (IISc, Bangalore) on the 5th of this month. Thanks to the volunteers and the sponsors, the event was neatly done with no hassles whatsoever. The only bottleneck was reaching the venue, the credit for which goes to Bangalore traffic!

The most interesting session was the ACID test results for the website which is used to book tickets for Indian trains. Ironically this domain belongs to the Indian Railway Catering and Tourism Corporation (IRCTC) and not the Indian Railways, which explains the absence of the Railways logo.

Before I proceed, let me put to rest some widely spread misconceptions. In software parlance, a developer and a designer are often depicted as two mutually exclusive entities and at war with each other. But my take is that any developer with a wee bit of aesthetic ability would be a combo asset to any organization. If there has to be a distinct demarcation of roles, such a developer would work very well in tandem with a designer.

Anyways, let me get back to the topic at hand. Besides other parameters, the ACID test summarized irctc.co.in as follows:-

  • Highly useful (the pain-point it addresses i.e. booking tickets without standing in a queue, is a sure winner)
  • Highly un-usable (the ease with which the task of booking a ticket is achieved)

The fact that registration is a pre-requisite for booking tickets at this website was not very clear in the first place. But the real problems surfaced only after one logged in. I will not get into details (the confusion surrounding i-ticket and e-ticket) here but present a simple scenario where the user wants to book tickets from, say Bangalore to Chennai. The From/To/Date/Class/Ticket Type are entered accordingly and the user clicks on ‘Find Trains’ expecting … well not what follows:-


That is as cryptic as an error message could get. The novice user wonders where the mistake happened. The From and To fields are populated according to station codes

The image next to the From and To fields has to be clicked to search station codes which in itself is a long and confusing operation (I will later in this post show how that can be made seamless and extremely intuitive)

In order to fill the To and From (we are still at To/From … those are the first of fields to be keyed in), the following navigation is required.

  User Action Result
1 Click image next to ‘From’ input field A new window pops up.
2 Enter the Station name, Bangalore in this case  
3 Click Submit A list of station is shown in the same window
4 Click/Select appropriate station  
5 Click ‘GO’, not ‘Submit’ This window closes and the station name goes and sits in the From field in the parent window.

The snapshots follow:-

Step 1 – Hovering the mouse over the image shows the following ‘alt’


Steps 2, 3 and 4


Step 5 – The FROM field is populated.


Now, repeat the above for ‘To’ field 🙂

I have been using irctc.co.in for quite sometime now and have got used to this user experience. Imagine the difficulty faced by a first-time user.

What follows is not rocket science although there’s some amount of jargon involved. AJAX has been around for long and this might be probably the most primitive of applications ever written. But that is not the point. The user experience, which is of prime importance, improves manifolds.

The table above shows that 4 clicks are required to populate each ‘TO’ and ‘FROM’ field. The technique depicted below reduces this to just 1.


What say ?

What gets populated in the example above is ‘SBC’ which the station code. The script could be modified to show the station name as well.

[ I doubt if anyone would be interested in the code. Just in case you are, please leave a comment and I’ll be more than happy to share ]

Now, here is some food for thought.

  1. Why has design not been the focus and why is that technology is where most of the action happens? NID/NIFT are the only names that come to my mind when I think of education in this field in India.
  2. There are umpteen successfully implemented live solutions available for online ticket booking. Why does the Government of India not take a cue from them. Is it pure apathy?
  3. Am I a designer or a developer? 🙂

Perchance, I met an ex-employee of irctc and some probing revealed that the state of affairs is indeed sad. The people aren’t qualified enough and are also not paid well. That partly answers question 2.

This has been my longest post till date. Hope it serves some purpose!

16 thoughts on “UX while booking online tickets at irctc.co.in

  1. also whats with not being able to book tickets at night! anyway since you sounded confused, let me clarify…you are a developer.. Christian Dior is a designer 😀

  2. The programmers who did this were most likely getting the usual govt employee salary levels. Any programmer who continues to work there probably has had a tough time finding a coding job elsewhere – which probably is a pointer to his skills! Its not a surprise then that the usability of the site is so poor.

    Indian Railways is generating huge amount of profits. Even if they follow govt process and call for a tender, there will likely be many private organizations (who will find the PR of building the site for the largest railways in the world attractive) ready to design a good site. Looks to me like railways outsourced internally to one of their sister departments – IRCTC (which is primarily a catering organiztion!).

    To answer to Sreejith’s comment above: they blocked night booking to keep parity with offline reservations. Imagine if all tickets gets booked by the very few (compared to the population) who book online – what will the regular folks do?

  3. I have got so used to booking tickets painfully through the irctc that I now overlook the shortcomings. My firefox remembers the values I filled in and so I never go through the pain of searching for the station code.

    There are many things that could be improved, like pre-fetching ticket availability for the specified class. Showing availability for next 2 days and such things…

  4. Sreejith, although I bow before Christian Dior, I still consider myself a ‘combo-asset’ 🙂

    Gowri, Can’t agree more though i am not sure if that is the reason why they are down n out during night. They seem to be saddled with a lot of back-end problems.

    Sam, … thought NIFT was all about fashion ‘technology’. on second thoughts, design must be a part of the curriculum 😛 you can tell better. did u have courses on ‘usability’? btw, have edited the post 🙂

    Kunal, same here. Internet savvy users will always find some work-around. And, there is always scope for improvement. In this case, way too much!
    btw, congrats for your engagement 🙂

  5. Great article! Although I’ve never used the website (I’m an Englishman in the US of A :)), the frustrating user experience sent shudders down my spine. I’m familiar with the bang-head-against-the-wall breed of websites!

    It looks like one of the fundamental questions regarding designing a usable website went unanswered, “does it make my users lives’ much easier?”

  6. Well, its the other way round, we focus more on design/ innovation + functionality, technology usually contributed by the specialists.. Now I know how names can be deceptive!! 😉
    And thanks for the edition/addition!! 😀

  7. Neat post! Think its a positive sign for developers to be interested in design and i anticipate a need for such “combo assets”.

    At a high level, the IRCTC site is mostly object-oriented and not task-oriented. ( Eg. of an object is “Station Code”)

    It mostly doesn’t not meet the natural expectations of a user. (Eg ” the notion of booking a “return ticket” along with the onward one is a natural expectation of a user.)

    What is the average task-completion time to book a return ticket? Its anywhere between 20-45 minutes and often involves multiple attempts, depending upon the site’s performance. If the site is revamped, it could be brought down to 5 minutes or may be less!

    If you have booked tickets here, you might be familiar with “Unable to retrieve data due to communication error”. When this happens, users are forced to start all over again. There’s no notion of saving data.

    Additionally, there is no other alternative for users to book railway tickets online.

    The preliminary usability test findings will be shared on UPA bangalore site soon.

  8. shiftgorden, thanks for dropping by!
    and yes you are right about the unanswered question! 🙂

    sam, yup i remember the cutie doodle 🙂 dat was gud design!
    will do the tag soon.

    muthu, thanks that you appreciated the ‘combo asset’ funda. i am totally familiar with the nuisances of irctc website 🙂 will be good to see the UT findings!

  9. I am new to this Ajax world and yes i would like to tally yours with mine. If you can share your code then I can optimize it better

  10. If you ever want to read a reader’s feedback 🙂 , I rate this post for 4/5. Detailed info, but I just have to go to that damn yahoo to find the missed pieces. Thanks, anyway!
    p.s. Year One is already on the Internet and you can watch it for free.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: