As a professional involved in the mobility space for years, I’m a firm proponent of mobile applications (big surprise, I know). But, a mobile app is only as good as the system you’ve built to support it. There has to be forethought and planning into how users are actually going to interact with and rely upon your application when you’re designing it. You have to make sure your technology stack can integrate with your application correctly, and you have to ensure all of that comes in a seamless user experience for your customers. A recent encounter with an airline company’s mobile application demonstrated what can happen when good apps go bad.

For purposes of this article, it doesn’t matter which airline’s app let me down. Suffice it to say, it was one of the larger airlines in the country, and their app has been available to its customers for years.

So, on a trip not too long ago, I used Airline X’s mobile application to check in for my flight the night before. I like to make sure I have a dedicated seat on the flight as well as bypass the check-in counter, and this app allows me to do just that. I get the QR code for my boarding pass and save the pass to the Passbook application on my iPhone. I’m ready to go and everything is looking good.

I get to the airport the next morning, and the check-in lines for Airline X are swamped. “Thank god I’m already checked in with a boarding pass,” I’m thinking. I roll through security no problem and check the departure screen to see if we’re on time. The screen showed that it was, where my departure gate was and everything was looking good.

As I waited in the boarding area, the gate agent let us know we’d be delayed 30 minutes due to weather. No big deal, I had a 2.5-hour layover, so an extra 30 minutes here made no difference.

Right as they predicted, we got the OK to board a half hour later. As I put my QR code to the reader, it came back negative.

That’s odd. What could be the issue?

The gate agent gestured me over. It turns out the flight I was trying to board was a delayed one from earlier. And, my flight that was supposed to take off at that moment had been cancelled due to weather. I had been transferred to a different airline because of that. But, the flight I was supposed to be on had already taken off.

What. The. Hell. How did none of this information make it’s way to me?

I have my phone number and email address registered with Airline X. I have their mobile app and have push notifications enabled. Even though my flight had been cancelled almost an hour before, at no point in time did their system alert me to that cancellation. The mobile app still showed my flight as being on time and ready to board even after it had been cancelled an hour prior.

After speaking with the lovely women at the gate counter, they told me that the mobile application is not directly patched into the flight tracking and cancellation systems. Nor is it equipped to tell you when you’ve been moved to a different airline in the case of a cancellation. As a mobile-savvy consumer, these are things I expect their app to tell me. When it still shows everything as hunky-dory, I take the app at its word.

To me, this is a failure in planning. The designers and developers at Airline X (or their development company) either failed to predict such a situation or decided it would be too cumbersome or expensive to fully integrate the app with all of their flight systems.

To be fair, I’m not looking for the app to rebook flights or get me on another airline on its own — I’m fine working with a customer service representative to do that. What I am looking for from the app, though, are notifications when my flight has been cancelled or severely delayed. Push notifications like this are not difficult to design or implement on the app side. Third-party applications like FlightTrack will give me up-to-the-minute status updates on my flights. So why won’t Airline X’s application give me the exact same notifications when it’s their airline in question? Why can a third party app relying on the same integrated systems be able to deliver what Airline X can’t?

In the end, I was pushed to a flight later in the day only because the gate employee is my new favorite person. She had to pull every trick in the book to get me onto a subsequent flight due to all the weather-related cancellations. She was an absolute rock star. But, all that effort was only necessary because Airline X’s app couldn’t send me a simple notification that my flight was cancelled, and that I needed to check in with Airline Y for my makeup flight.

The app has a beautiful layout and works great almost all the time. But in a situation where I was really counting on it being in-sync with Airline X, it let me down. Is the app a complete failure? No way. But it did fail me in this important scenario.

When thinking about how to develop your app, you have to ask yourself, “If I make a great app, people will come to rely on it. Are we prepared for each eventuality once they are depending on my app? When something unfortunate happens, how will the app respond?” These are the types of questions you must consider when designing and developing your mobile solution. If you put in the time and effort in the beginning, you’ll prevent a lot of user unhappiness down the road.