The way home decorators think about the style of houses is much the same way that software designers and developers should think about the software platform they are building.
By Pippin Williamson | July 21, 2013
WordPress plugins extend the default behavior of WordPress. There are hundreds, or even thousands, of additional features that can be enabled by installing one or more plugins in your WordPress powered site.
If you have installed a lot of different plugins, you’ve probably noticed that some add their features seamlessly into the WordPress interface, while others stray away from the standard interface, either a little…or a lot. Some plugins mesh so well with core WordPress UI that a user who didn’t explicitly know that the feature was provided by a plugin would never know it wasn’t part of WordPress core itself. Then there are other plugins that stick out so poorly, not even brand new users would assume it was supposed to be there.
For the sake of this discussion, we are going to categorize these plugins into two sections:
- Plugins that mesh well with WordPress
- Plugins that clash with WordPress
When I say the words “mesh” or “clash,” I’m referring primarily to the user interface elements of the plugins. This includes the colors, backgrounds, buttons, spacing…all of the elements that make up the overall user interface and experience.
The reason that I want to discuss plugins that mesh or clash with WordPress is because of the number one reason developers, like myself, build plugins: the users.
Plugins are built for people, whether it be just one person (perhaps the developer that built it), or hundreds of thousands of users. Plugins are built for the people that use them, yet it’s interesting because a large number of developers seem to completely forget that plugins are built for users.
After all, a plugin with no users is worthless, simply on the grounds that no one is using it. This becomes abundantly clear when you look at the way some plugins blatantly impose their own user interface on top of the standard WordPress experience. Regardless of what interface it is, there is nothing inherently simple or easy to use about an interface that is a combination of two or more vastly different styles.
A plugin that meshes well with WordPress is, generally, a plugin that is easier and more pleasant to use than a plugin that clashes with the standard WordPress interface.
For just a moment, let’s step away from the world of tech and WordPress and think about this concept in a very different, but very applicable way.
Imagine your house and the rooms inside of it. For the sake of this comparison, let’s assume it is a relatively clean house that has an overall sense of decor and cohesion.
Each of the rooms is furnished in a manner that makes the room “click.” The room’s furniture, wall hangings, and lights all fit together into a single, cohesive style. Each element complements another while also avoiding a clash with other elements in the room. The picture frames match the trim boards; the light fixtures complement the outlets; the chairs go with the table; the shade of the walls creates a comfortable tone with the hue of the ceiling; the kitchen, while different, fits nicely next to the living room; the bathrooms acknowledge the styles of the bedrooms.
As a whole, each room is different, but each room complements the others, and all together the rooms create a single, cohesive style for the house.
The way home decorators think about the style of houses is much the same way that software designers and developers should think about the software platform they are building.
WordPress is built by thousands of people from all over the world, and together, each person that has contributed to WordPress over the last ten years has contributed to a piece of software that has a single, cohesive “style” about it.
When you log into your WordPress Dashboard, each page within the admin area is familiar, and each page, while different, complements its siblings. The page you go to in order to modify your site settings looks and feels very similar to the page that you create your blog categories from. The interface for creating a new Post (be it a blog post or a news article) is very similar to the interface you use for creating a new Page.
While pages such as the one for creating a new Category look very different than the page for publishing a new Post, they still share definite similarities. All pages within the WordPress admin area share the same left (or right) sidebar where the navigation menu lives. The colors of buttons, links, and accents are consistent throughout WordPress.
Unfortunately, however, once a site owner begins installing a lot of plugins, this uniform style that they have grown accustomed to usually starts to get broken up little by little.
The living room couch, once fitting so perfectly with the armchairs, has now been substituted for one from a different decade. The basement walls, once a calm, refreshing blue are now a ghastly yellow that is almost blinding to look at. And the kitchen . . . oh the poor kitchen, it now has so many appliances and gadgets that no cook even knows where to begin looking for the right tool to create their perfect meringue.
(your plugin should not be the elephant in the room)
Now, you may not be as strict about your home decor as this article may sound like you need to be in order to appreciate the parallels – I most certainly have no sense of home decor at all – and that’s because you really don’t need to be. The idea is that WordPress, out of the box, is a beautifully crafted house that maintains style and class throughout, but once you start adding plugins, elements often begin to fall out of place.
By this point, you probably think I have strong feelings against plugin developers, but the truth is, I love them. I am a plugin developer that makes his entire living off of writing and supporting plugins.
Plugin developers are responsible for adding a huge number of new features to WordPress that do not exist in the core software. For example, if you run an e-Commerce website, you are almost definitely using a plugin to handle your product sales. If you’re running a multi-person writing team, you are possibly running a plugin to make writing with multiple people more streamlined. If you include sharing links for popular social media platforms, you are probably using a plugin to display those links.
A large number of the features that users rely on in WordPress every day actually come from plugins, and some of the features available in the core WordPress platform originally existed as plugins but have since been merged into the core software.
Unless you explicitly installed the plugin yourself, you may not even be aware that a particular feature comes from a plugin. And that is exactly how a plugin should behave.
A good plugin will merge so seamlessly with the rest of your WordPress interface that an unknowing user would simply assume it was “supposed” to be there.
One of the core responsibilities of WordPress plugin developers is to keep their users in mind and not place graphical barriers in place that prevent users from fluidly going from one task to the next. Unfortunately, this is an area that many plugin developers fail quite drastically at.
Plugins can create barriers in many different ways. There are plugins that will apply their own color schemes to menus, buttons, etc, and while these elements are not exactly barriers, they do encumber the user’s experience as they navigate through WordPress because they break away from what is normal and expected. There are plugins that create drastic new layouts for manipulating data within the plugin, and these often end up being so far and beyond the standard WordPress interface that users get lost and confused.
The last thing you want the users of your plugin to be is confused. A confused user is an unhappy user. A confused user is is one that needs to ask for help. A confused user is an expensive user.
One of the most valuable lessons I’ve learned over the last few years while I’ve been developing plugins is that the easier you can make your plugin to use, the less time and money you will spend on support. It seems obvious, but the huge number of plugins out there that blatantly ignore standard WordPress interfaces is enough to tell me that many, many developers have yet to figure this out.
Of course we have to assume that not all developers are also expert user interface designers, but luckily, WordPress has provided a number of tools to developers that make it exceptionally easy to create an interface within a plugin that exactly matches the standard interface user’s all around the world are accustomed to.
A plugin developer that does not consider what is best for the users is equivalent to a home decorator that ignores what the homeowner is asking for. If you are a developer, one of the best things you can to do better your plugins is to step back and think about them from the user’s perspective. Asking users for their candid thoughts on your plugin is a tremendous way to understand what your users do and do not like. If you are a plugin user, let the plugin’s developer(s) know what helps and hinders you. Responsible developers accept, acknowledge, and act on constructive feedback.
To learn more about the Pippin Williamson, visit his site: pippinsplugins.com.
5 Comments