If there is one area of web development that probably doesn't receive as much love and attention as it should, it's usability testing. It boggles the mind how some web-based tools, forms and applications have been given the green light while suffering so terribly from usability issues. In this month's blog post we'll talk a little about usability testing for web applications and why it is (or should be) a fundamental part of the development process.
What is Usability Testing?
Most web sites or web applications are made for living, breathing users to interact with. Before an application is released onto the web, it should go without saying that the functionality and interface of that application should be heavily tested by users to identify problems or areas that require improvement. Yet it seems so many sites go live with such little usability testing.
Here is the definition of usability testing from Wikipedia:
Usability testing is a technique used in user-centered interaction design to evaluate a product by testing it on users.
It seems pretty simple and common sense, right? If you're building a product for a set of users to interact with, you evaluate the product by performing testing with users themselves. That way you can ascertain whether the product is working as intended or falling short. Why then are so many sites, applications and online forms so bad?
Case Study: A child Care Registration Website
A classic example of poor usability testing was encountered recently when the author tried to register his child for a care program during the upcoming school holiday period. Registration is only accepted online through the company's website (which shall remain anonymous), so one would expect the process to be smooth and hassle-free. Unfortunately, it was anything but.
Firstly, the registration was attempted via Safari on an iPad. This is certainly not an unreasonable concept these days, since mobile and tablet devices now dominate web traffic. Apart from the usual form validation squabbles, all went well until the summary page, which for some reason did not work at all on the iPad. Since the summary did not work, a button did not appear to complete the registration, and there was no way to continue the process.
Regrettably, the author abandoned the registration form on the iPad (meaning all data was lost), and started again from scratch on a Mac. Yes, all five pages of data needed to be entered again from the beginning. After more validation issues, the form then informed the author that documents were required to be attached. Yet upon accessing the "Required Documents" tab of the form, it helpfully commented "No documents are required for this application."
After some to and fro, eventually the form seemed satisfied and indeed showed the summary page correctly on the Mac. After about 45 minutes of frustration, at last, the registration form was complete and ready to be submitted. However, upon clicking the "Register" button, the form cheerfully redirected back to the "Login/Register" page at the beginning, without a single message to indicate what had happened. There was no feedback whatsoever to show whether the registration had been accepted or not.
As such, the author attempted to submit the registration form again and again, assuming an error had occurred. But each time, the result was the same. No feedback, no message. After about ten minutes, five emails suddenly appeared in the author's inbox, each showing a message that registration was successful and each showing a different membership number. So it had worked, it seemed, but this information was never indicated on the form itself.
Thus, due to poor usability testing, something that should have taken ten minutes took more than an hour, and had resulted in an unpleasant and frustrating experience for the user. This could have all been avoided if the developer had incorporated usability testing into their development process.
How to Avoid User Frustration
As often as you can during the development process of a website, application or online form, usability testing should be performed by having a group of users interact with the product and report their findings. Almost always, users will report a problem or shortcoming that the developer failed to notice or identify prior to testing.
This process of constant prototyping and usability testing allows the developer to create a product that meets user expectations, is easy to use, logical and functional, and minimises user frustration. A happy user is critical to the success of a product, and may even translate to higher volumes of customers and sales, as a good product is recommended to others.
A negative experience, however, is far more damaging and costly, as users tend to react more strongly to these types of experiences. By performing quality usability testing often, a developer can help reduce their tech support inquiries and improve the user experience, resulting in more sales, polished products, and most importantly, happier customers.