How does your app work in the real world? Are you sure?

Photo by  Omer Rana  on  Unsplash

Photo by Omer Rana on Unsplash

It was 2012. I was flying in to Detroit to give a talk at a big car company. While we were taxiing to the gate, I pulled out my iPhone 5, and opened it up to find a magical e-mail: It was from Hertz, telling me about my rental car -- the make and color and what stall it was in. At the time, this was major revelation: Instead of having to go find the Gold Board and look for my name, my space number, and then hump around the Hertz garage, hunting for my ride, I already knew where my car was. While I was still on the plane!

If you've never been to the Detroit airport in glamorous Romulus, it covers about 5,000 freaking acres, so I was thrilled at the inspired customer service Hertz had channeled through my little phone. That is, until I got to the lot. Space 229. Uh...there was a sign for 168-179 to the right, 85-112 in the center and 300-400-500 to the left but nothing with my number on it. Turned out that another lot had been added and the sign hadn't been updated, so by the time I had run all over this gigantic maze and finally found my car I was so pissed off that I'd completely forgotten about the happy little email and basically just hated Hertz. (I am not alone.)

I started my talk the next day with the Hertz story. Because it actually was perfectly relevant for a group of enterprise app developers. "Hertz had done a fantastic job of surprising and delighting me on the airplane," I told them, "and then the whole thing fell apart. Their engineers wasted all their engineering muscle, all their creative power, all their time and energy on this mobile experience that, in the end, just sucked."

pps for any retail or service business need to consider what will happen off the device as well as on it. At my current company, we work really hard to avoid building our app in a vacuum. It takes more time, and more effort, but it saves us a lot of hassle in the end. And it keeps people from telling hostile Scrollmotion stories for years after they use it. Here are five ways we avoid turning our users into Angry Alans:

1. Don't recreate your desktop.

No. Stop. Tempting as it is, do NOT try to recreate your existing desktop experience on a mobile device. You might as well set fire to a pile of money. Do the research that you need to understand industry trends and what your competitors/colleagues are doing, then start pulling together the elements of a great experience. As Steve Jobs liked to say, "Good artists copy. Great artists steal."

2. Make sure your team is on the same page.

Once the preliminary research is done, gather every department in your company to walk through the results. Engineers need to listen to marketing; customer service needs to understand design. Before the coding begins, everyone needs to be heard. Keep doing this. Often.

3. Put yourself in customers' shoes.

If the Hertz engineers had gotten on a plane and rented a car, they would have seen pretty quickly where the pain points were. You have to find engineers who actually want to go out in the wild and put themselves in the customers' shoes. Did anyone from Hertz talk to the desk agents and ask them about the top 10 questions they were getting asked? Did anyone talk to the bus driver? The customer service team? I am guessing not.

4. Think about how customers will physically use the app.

Our app is for presentations, so in many cases it is a shared experience, usually on an iPad, between the user and a potential customer. That means thinking about how users actually hold the device: Where do their hands go, where should the buttons and other UI features be so their hands don't obscure the screen, how big do tap targets need to be to be found easily without being disruptive? If you don't think about those issues, you design an interface that drives people crazy. And lose them forever.

5. Iterate, iterate, iterate.

Be vigilant. Watch real people use your app, again and again, for as long as it is out there. (Real people almost always find bugs beta testers miss because they're not running through a script.) You have to walk through the customer journey from end to end because your app lives in the real world, and that is always changing.