Collaborating to Improve Performance

A colleague recently asked me: “Can we influence coding decisions or technology investments with some amount of UX prioritization around performance?”

It’s a great question for UX designers because yes, performance can make or break a delightful customer experience. Here’s how our team built an app with great performance:

Our team sees the user experience as a shared responsibility. Of course, this includes having great performance.

When our team was first starting out, the UX team had a seat at the table to ensure that we chose a platform that would allow us to create a great user experience. Performance was absolutely part of that discussion and that’s continued as we’ve made other tech decisions.

We work very collaboratively. I review my designs with my other teammates frequently, often multiple times a day. The engineers have all sorts of questions about the save model, when things are cached, desired behavior when the app crashes, what to display while information is loading, etc. Then we’ll brainstorm and decide upon the right approach for a given situation, and I’ll document the decision for future reference.

I also make myself highly available to the engineers as they implement the UI. I’m often answering emails and chat messages to clarify things, such as what should happen in an unanticipated edge case. Or I’m sitting next to an engineer and we’re trying out a few different animation options to see what feels right on a device.

I’m a big believer in this type of collaboration: I find that it takes me much less time to create a spec that helps the engineers build out what I’m envisioning. On the engineering side, we have far fewer UX bugs which means we can spend more time charging ahead.

Having a highly collaborative team also allows us to solve problems more effectively. When it comes to creating better app performance, here are just a few of our design/engineering approaches:

  • Interaction workflow tweaks
  • Adding “loading” screens
  • Changing how we export assets
  • Changing save/cache state
  • Loading things in the background before they are needed
  • Moving user to a new screen and loading in info piece by piece
  • Various back-end improvements

And why stop at improving app performance?

Collaboration is our greatest tool for crafting delightful user experiences.