The title of this post is a pretty bold statement. After all, there are a lot of factors that make up a good user experience. Let’s be clear – I am not saying that network performance is the only important UX metric. Usability, interaction flow, aesthetics, clarity, and many more things are also vital to the overall user experience.
So why do I think that network performance is the most important UX metric? Why specifically network performance?
Overall application performance is very important also, but in today’s world, nearly every computer is a fast one. Even the ones you wear or carry in your pocket. There aren’t many applications that don’t have a networked component of some kind. A network-connected application lets us build things in a modern way and integrate with other applications.
If you think back to the last few times you’ve experienced extreme slowdowns in your everyday use of software tools, I would bet that the slowdown could be traced back to network performance.
Networking is a complicated, messy thing. It really is a series of tubes and wires! It’s really a wonder it works at all. Chalk that up to the protocols and hardware used to route and make sense of all that traffic. What I’m trying to say here, is that there are a multitude of things that could cause network slowness. All the way from your location to a main internet hub, and everything in between.
Cellular and Wifi technology have allowed us to use computers while mobile, as long as you have signal coverage. Again, amazing technology when it works. It’s come a long way in reliability and performance in the last 10 years or so.
It’s still incredibly common to run into areas little or poor network connectivity. Even if you’re based in a first-world country with relatively good internet access. Where I live, in the central US, I can drive 30 minutes from my house and be in an area with no cell coverage.
At my house, I am blessed to have “broadband,” at least according to the FCC. I’m not complaining – my speed is fast enough to stream Netflix and do most anything online. Sometimes it requires a little patience though!
There are many areas where you can only get 1-3 Mbps at home. If you’ve ever used that speed in daily use, you’ll know that it only allows you to do very basic things online. It’s not uncommon at all though!
Let’s say you live in a metropolitan area with good internet access though. How many times have you been in a building or other area with poor cellular or Wifi reception? While this continues to improve, building towers and deploying access points is expensive.
If you’re building a website or application, you should not assume that your end-user has perfect connectivity all the time. You should design your application or site to load quickly even on a slow or degraded connection. There are lots of tools out there to help you simulate a poor connection, such as the throttling tools built into Chrome DevTools.
- Modern applications are almost always built with a network connected component.
- Network speed and signal strength are often poor in many areas.
So if your application relies on a speedy network connection to function, and that network connection doesn’t exist or is too slow to allow any real use…then that’s an incredibly poor UX.
How fast is fast enough then? It really depends on your users and how much data you need to deliver to them, or vice versa. Setting a network performance budget for your application is a good way to start. There are probably diminishing returns on optimizations you can do, but there are many things you can do with minimal effort.
Don’t assume your users are as well connected as you are.