Beginner’s guide to usability research for WordPress developers
As a former WordPress developer I’ve learned a lot in terms of usability testing of my plugins. I’ve also missed some great opportunities by not testing and not improving on user feedback enough. Here’s what you can do to avoid those mistakes.
While implementing new features and creating new plugins and themes is the thing we usually go for in the first place, we all should remember that we are doing it for the people who are going to use our products.
And that in a highly competitive market, skipping on UX research may leave us way behind our competitors. Everyone can bring a similar, but easier to use product to the market if they put effort and some resources into it.
It’s not that difficult. It doesn’t require a lot of work. It just requires a bit of a different approach. Here’s an introduction to UX for WordPress devs I’ve written a couple of days ago, if you’re interested in the basics.
The people you are going to read about are fictional characters I created for the purpose of giving you some ideas. They are based on my 10 years of experience in developing for WordPress and my passion for UX, though.
Okay, let’s listen to them talking about their ideas on UX testing they implemented in their work!
Use server configuration data to understand your users
Akshay, a beginner UX Hero and an independent WordPress plugin developer from India is struggling with a large volume of support requests from the users of his plugin, which make his job at his company an exhausting experience:
The feedback I get from the users is that my plugins are difficult to configure. I’ve put so many advanced features into my plugins that people are always lost. They thought they will install a plugin and it will just work, but that’s not the case and my users are disappointed. They also experience a lot of errors because I’m always trying to use the latest PHP version and their servers don’t support all the new language features.
Akshay decided to learn who his users really are. He updated his plugins to send a daily report via a cronjob to his servers. The data he collects is pretty good in itself. Most importantly, he’s learning about his users from two types of datapoints which he is tracking in a dashboard: if they have WP_DEBUG enabled and what kind of error reporting do they have enabled in PHP. He uses this to establish the level of knowledge of the average user and learn how many advanced users are using his plugins.
It turns out that less than 10% of people who have his plugin on their site have done anything advanced to the configuration options. No wonder they are lost with all the programming-related messages, options and descriptions in the admin panel!
Akshay decides to completely redo the settings page so that it will be more approachable to people who have no idea how his plugin works. It’s either that, or he will have to pull the plugin down because the amount of support required is too big for his endurance.
He writes completely new descriptions which use easy to understand language.
He hides the most advanced options from the user’s view and gives them a safe, default setting.
He also collects data on the environment the users are running in to make sure they don’t experience compatibilty issues and errors. He gathers data on server type, PHP version and the extensions that are enabled in PHP. This allows him to have a good overview of which features he can currently include in his code.
He makes some prototypes and by using a message in the admin area invites the users to click through them and provide a feedback via a Google Form survey.
The feedback is extremely positive and the users seem to agree that this is a great step forward. Akshay implements the changes and pushes version 2.0 of his plugin to celebrate a completely new era in his approach to his work, an user-centered design era.
Asking how people use your plugin to open up to new opportinities
Olivia is an Australian WordPress developer who started by creating free plugins for her own blogs and now runs a company in which she employs a team of 15 people. She is happy with how things turned out for her, but that wasn’t always the case.
I’ve always wanted to become a full-time developer, but was anxious about how to turn my passion for WordPress into a job. I fell in love with WP ever since I started using it. I love coding as much as I love writing and talking to like-minded people. Ever since I started asking the users of my plugins questions, everything started to fit together.
Olivia began running regular research surveys from her plugins. She mostly uses the settings screen to ask people direct questions about their use cases.
She asks what kind of user the person is — are they a hobbyist bloger? Are they a fellow developer using her plugins to deliver solutions for clients? Are they an agency?
She also asks for feedback on the plugin itself, by showing a message in the admin area after one week from the initial installation date. She wants to know which parts of the plugin the users find most difficult to work with and what kind of functionality is missing from the product.
From this research Olivia learned a lot about her initial user base and was able to assess which direction she should go next. She introduced new products and features which were well received. She fixed whatever she could and tried to turn every feature into a simple to use solution. She was also able to turn some of the new features into paid Pro versions and this initiated her transition to making WordPress development her full time job.
The most important lesson I learned is to trust the users. I may or may not know what people really need. The truth is, I will never be sure until I ask them. There’s an area for real surprises opening for you when you start asking questions and validating your initial assumptions about your own products!
Tip: here’s an article I wrote about validating your initial assumptions in your UX workflow that you may be interested in!
Develop a better UI by learning which features are used the most
Omer is a beginner WordPress plugin and theme developer from Germany, and an UX Hero. He’s created a plugin which allows users to set up payments on their website to access premium content. He struggled with users having mixed feelings about the setup process he used in his plugin.
Omer decided to collect the data on which features of his plugin the users have enabled.
A cronjob runs on the site every day and gathers a general overview of the settings. It then posts the data to a Google Spreadsheet via the API.
I managed to collect a lot of data from this. This allowed me to update my UI and the setup wizard to show all the most commonly used features clearly highlighted. I moved the lesser used features to a separate page in the admin panel. This allowed me to create a clear, easy to use and comprehend UI. Before that it was a mess, a big mix of all the settings here and there and people just felt lost.
Doing it ethically and always asking for permission first
With new laws being enacted on data collection, it’s more and more important to make sure you are fulfilling all the requirements and restrictions.
The most important aspect is to ALWAYS ask for permission to collect any usage data, regardless of whether it’s anonymous or not.
Failing to do this is a sure way to make your users at least very unhappy if they find out and may lead to more serious backlash.
Akshay, Olivia and Omer all ask for a permission. Whether it’s a setting an user can enable or disable, or a message that allows the user to decide to provide feedback, they all make sure to leave the control to the user.
What they can also do, is to make this a bit more pleasant and fun for the user. Writing a funny, lighthearted message, or telling the user how great they are and how valuable their feedback is to you can be a great and respectful way to achieve this.
Practical tips on collecting user research data from WordPress
There are numerous methods you can use to gather user research data. As a WP developer, you should already be familiar with them:
- Installation, activation, deactivation, uninstallation: you can hook up some data logging functions to record when the user performs those actions. Definitely ask for reasons for deactivation/uninstallation as this can shed some insight into the reasons why users are abandoning your product.
- Version of your plugin or theme: can be used to see how people update your products and maybe prompt them with a message to do it.
- Your plugin/theme features used: a handful of data from the options table regarding the features that the user is actively using. If your plugin adds a CPT, how many posts of that type has the user created?
- Server configuration: everything about the environment the user’s WordPress is running. PHP version and settings, WP_ defines, web server type etc.
- Installed plugins and themes: be mindful that this may be a bit sensitive, though.
- Type of site: is it a single install or a multisite?
- Site info: WP version, language, basic stats about the content like number of posts, pages, media in the library.
- Use cases: ask the user who they are (agency/blogger/hobbyist/dev) and what are they using the plugin for. Definitely ask for feedback, improvement ideas and missing features.
The data you collect should be as anonymous as possible. You should avoid collecting any part of the site’s content, especially without notifying the user first. The user should always know beforehand what types of data you want from them, even if they agree to provide it.
3 methods to gather and store collected data in WordPress
No, you don’t need a datacenter for this! Three ideas pop into my mind when it comes to collecting data:
- Add a cronjob to run once per day and collect all the necessary data. You can send this data either to your server or put it into a Google Spreadsheet via the API. Provide settings for the types of data you want to collect and allow the user to decide what they are willing to give you. Agregate the daily data inputs into single statistics for that day.
- Add a message in the admin panel to ask users for feedback. You can have a link to a survey in a Google Form for this.
- Ask for info right after activation/deactivation. Have a hook ready. Allow the user to skip this part.
Once you have the data, it would be nice to learn how to extract valuable insights from it, but that’s a subject for another article!
Okay, so here are the basics for gathering feedback from your users. They can become powerfull foundations for your UX research and can help you make better, more user-centered products. In today’s economy, catering to user’s needs and talking to them in a way that they are able to understand is a necessary step. Learning UX design will also be a great asset in your career, whether you work independently or become a part of a team with UX specialist on staff.