As smart-phone adoption continues to explode, gaps between a web app and mobile app experience are going to become more noticeable. Today I was booking flights on Southwest and noticed a subtle, yet important, gap between their iPhone app functionality as compared to their web site.
For a given flight, Southwest provides a nifty suggest functionality that gives you a list of possible airport names and their corresponding airport codes after you start typing in the city name. For example, here’s how it looks on the web site:
After entering “san”, the user is shown the different suggestions that would most likely match the city they are looking for. The other neat thing about this suggest feature is that it recognizes airport codes. So in addition to searching for San Francisco by entering “San …” you may also simply type in “SFO” like so:
Well, it turns out that the suggest feature in their iPhone app is not as smart. It will recognize “San …” but it will not recognize airport codes.
Ideally, there should not be a functionality gap here and the iPhone app should be able to find airports solely based on the airport code. From an engineering stand point, this is the whole point of creating an architecture that is built on top of services. If Southwest had a City Suggest Service internal API, both the web app and the mobile app could make use of it to provide identical functionality.
Southwest Airlines has an online check-in process that is mildly annoying. For airlines who have assigned seating, one can simply show up to the airport on the day of the flight and check-in at the airport itself. However, Southwest creates a disincentive to do this by having a first-come first-served basis for seating that is based on the order of when the fliers checked in. So for anyone who has flown, this comes down to the almost comical task of setting an alarm for yourself to go off approximately 24 hours before flight so that you can be one of the first ones to check in.
It is not uncommon for a flier to show up early and not be allowed to check in.
One way that Southwest could improve this flow is to give you an opportunity to automatically be one of the first ones to check-in without having to constantly come back and manually try to check-in. The interesting thing is that Southwest already offers this service! It is called EarlyBird check-in. However, you can only get it at the time you purchase your tickets.
So all Southwest.com has to do is to change their online check-in flow to serve the user the option to purchase EarlyBird check-in in the event that they have attempted to check in too early. Even if a small percentage of users make this purchase, this is still a new untapped revenue opportunity for Southwest.
For frequent fliers, having the ability to change or cancel a reservation is very important. Southwest has a fairly friendly cancellation policy where at the very worst you will be able to hang on to credit for a purchased flight and reuse it on a future flight. There’s a section on their site where a user can check how much credit a specific confirmation number has.
This flow is not designed for the most seamless user experience and can definitely be improved. To begin, three pieces of information are required of the user:
1. Flier’s name
2. Flier’s previous flight confirmation number
3. Entry of a captcha code
When I tried to go through this flow, I could not get past step #3 no matter how many times I tried. In fact, from the message below, I’m not even 100% sure if this is the reason why I cannot proceed, but I’m 100% certain my name and confirmation number are correct.
Thinking more about the captcha code, I realized how unnecessary it can be. The purpose of requiring users to enter a code is to protect against fraudulent users who attempt to obtain airline credits by doing a brute force program to guess millions of confirmation numbers.
The enhancement I propose can easily guard against fraudsters while not ruining the user experience for the 99.9% rest of the users who are not fraudsters. Since Southwest.com has an account system where users can sign in, the site can relax the captcha restriction and require that the user enter a captcha code only after 5 failed attempts of their name/confirmation number pair. The idea is that since Southwest knows which user has logged in, they can do a rate-limiting solution instead of a one size fits all solution.
Good users wont be slowed down. Bad users will be stopped.