On the User Experience of Flying
An Open, Friendly Letter to Southwest
I have been flying with you for roughly ten years, and I routinely travel between Los Angeles and San Francisco. While coming home for the winter holidays, the plane I was on needed be cleared to fly. As we sat on the tarmac with some spare time and not a lot of spare space, I started thinking about the design challenges involved with flying. I’ve taken the liberty of writing out some thoughts.
One way of thinking about your product is that there are three containers of “user experience”:
A) using the website to book a flight
B) the entire experience between the time a customer starts to think about packing and once they are done unpacking*, which subsumes
C) the flight itself.
*Part B can be sub-divided into two parts — pre-flight and post-flight.
What follows are some observations and potential solutions, roughly organized by container. I know this is obvious, but traveling can be a stressful experience; you’d gain brand loyalty if you could reduce the tension and friction involved with traveling more than your competitors.
A. Using the website to book a flight
First, a caveat: I’m going to focus on the basic experience of picking and reserving a flight, and not any other part of your website.
Observation: It seems to me that the time of departure is not among the primary pieces of information that a person uses to decide when to book a flight. Instead, they use the estimated time of landing, as well as something like “what time to I need to be at the airport” or “what time to I need to start focusing on the tasks that will get me to the airport.” Most people mentally make this adjustment in their head, and you could save them this step.
Potential Solution: Have a “view switching” tab of the flight selection page, which, when selected, would display the estimated flight boarding times instead of the estimated departure times. Or maybe you show this in addition to the information currently on the website.
Observation: People care just as much about the uncertainty of an estimate as they do about the value of said estimate itself.
Potential Solution: You can go a step further and communicate that the times displayed on your website are estimates: show us the predicted time (of departure, for example), and the “spread” so to speak, which you could call the 95% credibility interval. I have no idea how this would mesh with your “percentage on-time” flight statistics, but we users (this one in particular) would likely appreciate it.
B. The time between a person’s “intention to pack” and when they unpack.
Part 1: Everything up until on-boarding
Observation: Estimating what time you need to be at the airport is tricky. If you do it wrong, you miss your flight, but you don’t have enough information to precisely do it right. If you do miss your flight, it’s hard to learn anything more precise than “give your self more time in the future.” Most people just guess or use some family rule like “be there 2 hours in advance.”
Potential Solution: For each flight, show ranges of what time you’d historically need to check in by to make the A, B, and C (etc.) boarding groups. If you want to get really fancy, offer an estimate of how “packed” the TSA security lines are, by looking at how many other flights are taking off from the same terminal within the same 1-hour window. Even if you can’t empirically measure the change in mean security wait time per minute, you could offer something like “there are 2 large and 6 medium sized flights scheduled to take off within an hour of your flight in your terminal.” This would be incredibly helpful for holiday travel.
Extended Potential Solution: When people sign-in to your website, allow them to answer the following questions are part of a “traveler profile”:
- Are you [Usually, Sometimes, Rarely] on time when you get to the airport
- Is your preference for which boarding group you are a part of [Strong, Moderate, Weak/Don’t Care]
- Do you tend to check bags? [Yes, No, No Clear Pattern]
- When traveling, do you tend to eat before you go to the airport and after you leave, or do you prefer to eat the food in the airport?
- Do you have PreCheck (or something similar: Clear, Goes, etc.)
- What’s your packing style? [Haphazard and last minute, relaxed and early, somewhere in between]
The answers to these questions form a person’s default preferences. Then, when people look for a flight (while signed in):
* Have users enter in their destination, as well as windows of times that work well, or have the option of selecting multiple flights that could work. (Though if they know which flight they want, they should be allowed to just do the simple booking process you already have in place.)
* Give users the option to change their “default” preferences, including if they have any oversized bags. Then ask from what location users will be traveling to the airport from.
* Using historical traffic data, as well as your own internal data about terminal congestion, predicted departure times, and predicted times to be in which boarding group, rank the flights in terms of “which are easiest to get to” and return a recommended list of flights.
* Send text messages prior to the flight about when would probably be a good time to leave. I’d pay an extra $3–5 fee for this service every time.
Meta-Observation: You seem to have a ton of data that you are sitting on and not doing anything with. I have frequently had the experience of the time of departure of my delayed flight creep further and further away from the original time. You don’t seem to have a set up a machine learning system to predict how these predictions will change, or how inaccurate they are, or how the weather forecast in other parts of the country will affect aspects of a user’s travel experience. Clearly, these things will require R&D.
Potential Meta-solution: Figure this out for, say, the Oakland airport first, then use what you’ve learned to roll this out to other airports of a similar size, and so on until you can do things like O’Hare and Newark. In fact, you might want to set up an internal team that functions quote like a startup unquote (in the best, not worst, possible sense), replete with at least one data scientist type with access to the relevant training data. There are “test kitchens” that are open to the public. Why not select one or more airports to be “test airports” where you can test out new things?
B. Between Packing and Unpacking Part 2: Off-boarding to Unpacking:
Observation: The wait-time at baggage claim is a black box. Additionally, people may not have an immediate need for their bags if they are returning to a place they call home. If a flight’s been delayed, and it’s after 1-am, some people are only going to baggage claim because they’ll need what’s in their baggage at some point in the future, not in the next few hours.
Potential Solution Develop a model to predict the crowdedness of baggage claim, and show users — via an app or text message — a) the mean length of time to currently get luggage from the plane to the baggage claim, and b) how likely this time is to change over the next 45 minutes. If a flight’s been delayed by a few hours, and they will now land after midnight, give users the following option:
* If they make this choice within five minutes of being allowed to use their cell-phone once they land, they can pay to have their bags shipped to their house in the next or two instead of picking them up at baggage claim.
C. The flight itself
Observation: Being in a plane is a time where one is closely surrounded by artificial material. The interior of the plane is devoid of natural colors and, if the windows are closed or it is dark, natural light.
Potential Solutions: Paint something or put a decal on the ceiling of the plane. If the same planes fly roughly the same routes, maybe make the interior decor relevant? Or, you could put in some “floral” arrangements that a) could survive the low moisture content of the flight, and b) are somewhat dehydrated anyways. Maybe you use herbal tea plants: Chamomile stalks, Mint etc. Allergies might be a concern, but I think it’s worth researching.
Observation: Flying involves a lot of sitting, and the experience is similar to being in a restaurant.
Potential Solution: Give people the option of, when their seat or row is called, of getting up and getting their drink / snacks from the galley, instead of being served like in a restaurant. Yes, the wait time could be longer, but if done correctly, this would also allow people mingle. Maybe you allow people to preselect this option before they board (again, via text message or app), and disallow it if the flight is predicted to be too turbulent.
Clearly, there are more things to think through that you all know about that I don’t, because I’m on the outside. And this is just one person’s brainstorm, I imagine a small team could do a lot to rethink the flying experience. Please let me know if you have any questions; I’d love to see these ideas either considered or implemented.