For Memorial Day weekend, my girlfriend and I traveled down to North Carolina to visit family. On the way, we decided to book a hotel with the Hotels.com app. Using it brought up an interesting point: the most important part about creating software is the user experience.
The goal of the Hotels.com app is simple: allow a user to book a hotel from their phone. In my opinion, the app falls short. Why? Because yes, you can kinda-sorta book a hotel, but it’s a terrible user experience.
Let me explain.
We knew we needed a hotel. So, we downloaded the app and plugged in the location:
OK, so far so good. We found a hotel with great reviews, then started the payment process. Unfortunately, that was where the problems started.
I chose PayPal as a payment method, so the app presented a UIWebView with the PayPal login page. I filled in my credentials, and tapped login.
Next, there was a review screen. I selected the payment method I wanted, confirmed the total price, and tapped “Pay Now”.
Generally, at this point you’d expect to see some sort of confirmation screen. Or, if you forgot a field, the app might display an error message. Instead, I was oddly redirected to the login screen:
Uhmm.. ok? I know I tapped the “Pay Now” button. Did I fill out a field incorrectly? Was the hotel booked? Was I charged? There were no error messages on the screen. I didn’t receive a confirmation email. The charge didn’t show up in my bank account. The only thing I could do was try again.
So I logged in, filled out the payment method, and tapped “Pay Now”.
The app then redirected me to the login screen. Again.
I tried two more times, but no luck. There was no feedback of any sort - I was just redirected back to the login screen.
Eventually, on the fifth try, I was redirected to a confirmation screen and received a confirmation email. I’m not sure why I stuck around for five tries, but it eventually worked.
Back to my earlier point: the user experience is the most important part of software. In my opinion, the Hotels.com app really dropped the ball here.
Here are two steps I would suggest to make the user experience much more enjoyable:
Replace the UIWebView
Facebook tried using UIWebViews in their app a few years ago, and it was generally considered a disaster. At one point, the app had 11,839 1-star reviews, many of which complained about the apps performance. Why was the app so slow? Because it used UIWebViews instead of native components, like the Hotels.com PayPal form.
Hotels.com should ditch the iFrame-like monstrosity and build a native PayPal payment form using the PayPal iOS SDK. Not only would this speed up the payment process, it would also open the door to another improvement:
With a native PayPal payment form, the app could present feedback to the user. Currently, the app redirects to the login page when an error occurs, which produces an incredibly frustrating experience.
A strong focus on user experience can make or break an app. After having such a frustrating experience with the Hotels.com app, I will most likely book elsewhere in the future.
I used Redacted to blur parts of the images in this post. You should definitely check it out!