The importance of performance in software UX

Recently, I tried a new software product. It was an email client that was beautifully designed with delightful moments across the complete product experience. It had a slew of great features and capabilities: keyboard shortcuts for power users, smart inboxing for multiple emails, read later functionality, advanced labeling and tagging, and good search. It was also reasonably priced, and supported native-versions of their product across multiple operating systems (OS X, Windows, iOS, Android).

That final point was a big selling point for me because recently, I added a Microsoft Windows computer back into my stable of daily devices. The email client I had been using for years up to this point (and loved) was unfortunately only available on OS X, iOS, and Android. They had native Windows-version on the roadmap, but at the time of this writing, is still not available. I wanted to continue having a consistent native, email client experience across all of my devices: Windows computer, iPads, Apple laptop, and Android phone). This was the main reason I started the hunt for a new email client.

Thankfully, I was able to trial the new email client before committing and subscribing annually. I used it for 10 solid days out of a 14-day trial period. In that time, I got to experience and use some of those thoughtful and well-designed experiences and features across my multiple operating systems. By the fourth day I was really digging it and almost certain I was going to end up subscribing. It checked all the boxes for a modern, sophisticated email client. It was the perfect balance of powerful features with a clean, minimal aesthetic and was enjoyable to use.

So why didn’t I end up subscribing and becoming a customer?

With all the bells and whistles, features and capabilities, they missed the mark on a key aspect of the user experience for any software product, in my opinion. Performance.

Performance and user expectations

The performance issue I experienced was what I considered to be table stakes for any multi-platform email client: syncing inboxes across the supported operating systems. This did not function as you would expect, especially if you had previous reference using other email clients supporting multiple operating systems. For example, the email client I had been using for years up to this point, was able to quickly sync between all of my connected devices. And if one of the devices wasn’t in sync, I could quickly refresh the inbox in a matter of seconds, and confidently know that everything was updated. This new email client didn’t behave as expected.

I began recognizing this as a potential issue a couple days into the trial, and found myself duplicating the work I already did to manage my emails on another device. I would bounce between devices and learn the work I did on one device wasn’t syncing to other devices, even though it was supposed to. I remember one day, I archived, set read laters, and organized 60+ emails on my work computer, only to have to do it again on my Android phone, and again, later that night on my personal computer. I initially assumed this was because I was on the trial version, and that it was an intentional limitation and constraint they had for trial users because, there’s no way performance could be this terrible, right? Wrong.

As my trial end date approached, I would need to decide if I was going make the move and pay for a year upfront or not. So I Googled what I was experiencing only to find out that was one of the biggest gripes their current users had. I found a public link to a feature request with this exact issue upvoted by their customers and unanswered for the last three years. There were a lot of angry and annoyed users sharing impassioned responses. The range of the responses were from rude to more thoughtful responses of users that were actually very pleased with the design and user experience, but fed up with the performance issue around syncing across devices.

So even though this product supported multiple operating systems, had a slew of modern features, looked terrific and felt great to use, that single performance issue with syncing across devices rendered the product completely useless to its users. I ended up canceling my trial on the 11th day, removing and revoking email access, and went back to the email client I had been using. While it wasn’t available across all the major operating systems, it was free to use, had great design and UX, had my most important features for email management, and most importantly, met my expectations around performance.

Performance is a pillar of UX

This personal experience is a good reminder how performance is a core pillar of user experience. Some of us can forget that, prioritizing the importance of the visual and tangible experience over performance when building software products. But performance is just as much a part of the user experience, and with this example, can even nullify those other aspects of the user experience, making great design irrelevant. Identifying those key areas of your product that require a level of performance that align with user expectations is critical. Without a consideration to performance, you could end up with a product that looks great, but no one can or will want to use.

Up next Are Designers bad at building their brand? Earlier in the month while on holiday break, outside of spending time with my family, I took some time to reflect on myself, my lengthy career (16+