From my perspective, the question of what one thing we can do to make a website better is not a technical one. The more I browse the internet, the more I realize that the biggest issue with a lot of websites is the fact that they don’t let me accomplish the task I am looking to get done. Whether it is the usability or the information architecture or the performance it doesn’t really matter. Over the years, new browser capabilities and the tech stack have made it possible to add more and more complexity to an average website. We see it everywhere: in pages presenting the product, in booking services, in portfolios, and in online shops. We try to delight the user instead of focusing on one simple task: helping the user accomplish what they came to do.
If I were to point out one thing that people can do to make their website better, it is to take a moment to think about the most crucial actions that we want our users to be able to do on a page and make them as easy and accessible as possible.
All visual effects, fancy graphics, beautiful interactions, and tracking scripts should come second.
I can give you an example from my own experience. A few years ago, I went on holiday in a remote area with very limited internet access. My luggage was lost and there were not many places where I could buy extra clothing or cosmetics. I could not find where my luggage was or when it would be delivered because the airline website did not load on my limited data—it would not even show a phone number I could call, and the email address I found someplace else turned out to be outdated. The website did not follow the rules of progressive enhancement and graceful degradation; it only allowed privileged users with a good enough internet connection to download a huge amount of JavaScript that’s responsible for building the whole experience. In their case, a simple form with two text inputs and basic text information as a fallback would have easily solved my issue. I can bet that the developers spent countless hours making the experience delightful, yet I was unable to even see it.
It is easy to get caught up in the moment and follow the milestones for the project as they are described through tickets in Jira or some other project management software. It is easy to reuse the solutions we are used to. and we can easily copy/paste from previous projects or Stack Overflow. It’s also easy to assume that if something “works on my machine” it will also work for everyone else.
What’s difficult is taking a moment to look past the features that add new value to the project and to focus on parts of the app that may have been overlooked in the process. It is hard to stay on top of things like new features and browser APIs are being released. It is hard to think that someone might not have the same privilege as we do.
Take a moment to rethink what is its true value to the user visiting and to try to look at the page with a fresh eye.
It can be challenging as we get used to the solutions we built. It is hard for us to imagine how people can fail to follow the instructions or clues we left for them on the screen, or imagine how the page might feel to an unsighted user or someone who can only navigate using the keyboard. We forget to test edge cases and anything that goes beyond the “happy path” of the user and instead tend to overlook the fact that we are using a powerful MacBook with a sharp display and internet flowing at a steady pace. We forget that some people are not native English speakers and consider that a word that is self-explicable to us can mean nothing to a user who does not use it in everyday conversation.
I challenge you to take time to look at your website as if it was your first time around.
Use it in the production environment with the stream of third-party resources that might not be there when you are in the development mode. Use it with a very poor internet connection and measure how long it takes to accomplish a simple task like filling a form. Try using it with a different device you might have not used before.
.
.
.
I challenge you to find a real user of your website and take a moment to watch how they use what you built during a user testing session.
You probably have some assumptions about what causes headaches for your users and what doesn’t. I could bet that some of these assumptions will be challenged and you wind up creating a whole list of things to fix that you wouldn’t otherwise consider.
I hope that progressive enhancement doesn’t become yet another buzzword and that you really take a moment to help the user accomplish what they came for. If you are interested in learning more on this topic I can recommend getting familiar with one of Jeremy Keith’s presentations on that topic or the article by Aaron Gustafson that popularized the idea.