As far WordPress is concerned, two of my favorite things are blogging – obviously – and extending the core application through the use of plugins.
Yes, I’ve done work with themes and even built a couple of web applications on top of the platform, but I often come back to working on plugins. They’re kind of like apps for WordPress, right?
And right now, there’s a mad dash for building apps for a variety platforms: be it iOS, Android, Mac, Windows, and any other major platform you can imagine – WordPress included.
But just as it is with building anything, building for WordPress presents its set of challenges. If you’re interested in getting into building plugins especially for fun, then here’s a run down of what you should expect.
What To Expect Building Free WordPress Plugins
The development process is much different from building software for any other framework or platform:
- You’ve got the core application layer – that is, WordPress – and its set of APIs
- And you’ve got a set of coding standards
- …and more
But the important thing to note is that if you’re just starting out with this, or if you’re coming from another platform, language, or community, then just because you’re going to offer your plugin for free doesn’t necessarily mean you get to develop it like its the wild west.
Specifically, whenever you submit a plugin to the WordPress Plugin Repository, your codebase is audited before it will be approved.
This is a fantastic way to ensure a certain level of quality for what’s made available through the WordPress repository, right?
But There is an Exception!
I said that you couldn’t develop as if it were the wild west, but the truth is if you’re planning to release it on your own blog, on your own site, or whatever other property you may own, then you’re practically free to build it as you see fit.
The thing is, over time, people have become a bit cautious of using free WordPress themes and WordPress plugins that aren’t hosted by a reputable source or that aren’t premium because of their lack of quality.
It’s not necessarily that the feature set is bad, it’s that the level of code quality is poor and often results in far too many hacks, compatibility issues, or general user experience issues. Though your work may not result in this, it’s likely to develop that reputation simply because of the reputation that this type of work as developed.
So do yourself a favor and get a free audit from WordPress.org plugin review team. You’ve got nothing but quality to gain from this.
Freely Available Tools
Additionally, if you’re looking to release a free plugin and are committed to following the guidelines for working with best practices, then the WordPress plugin repository offers a variety of free tools to use to support your plugin.
Aside from source control, you also get:
- A homepage for the plugin
- The plugin is indexed and searchable from within the WordPress dashboard
- The repository homepage includes a free support forum so that you can support your users
- A rating system for others to report how much they like (or dislike) your work
- Installation instructions
- A way to manage frequently asked questions
- Statistics of how many people are running which version of your work
- …and more
But here’s the thing that few people discuss or even know when getting into this game: If you have a plugin that gets particularly popular, support can become extraordinarily challenging.
You’re one person maintaining a project installed across tens of thousands of blogs, and these people all have the ability to share issues about your work.
Now, whether or not you have an obligation to help these people is a gray area for a lot of people. Some people say that because it’s free, there’s no obligation; others say that since you’ve released it, then you should be prepared to support it.
This is not the post for that debate.
A Word About Support
I’d be remiss if I didn’t make sure that I emphasized the aspect of support enough. As absolutely great as the WordPress plugin repository is, it can breed a lot of negative feelings towards a project that you once started out loving simply because of the sheer amount of requests that come in for support (be it features, requests, or genuine bugs).
I’m not saying ignore these requests – after all, some people will be taking the time to report on things that will only make your work better; however, if people are typically compensated for their time, and you’re spending an exorbitant amount of time addressing support questions, then it may be time to consider introducing some type of business model into your plugin.
Though that’s out of scope for this post, I do think that it’s worth mentioning offering a free version of a premium plugin is a way to go. If people enjoy your plugin and find value in it, they are often willing to pay for support for it.
“Your Plugin Sucks!”
One of the biggest challenges of managing a product is dealing with the level of complaints that you may receive.
The truth is, people rarely call customer support centers to say “thanks” or to say “great work,” right? I mean, how often do you really let your cell phone company know that you’re glad you didn’t get a dropped call with your last phone call?
To that end, shipping a product in any capacity – including a WordPress plugin – is subject to this, so if you’ve not yet developed a plugin or are on the brink of releasing one, then be prepared for complaints.
It’s not that users don’t praise plugins that they use. I’d be lying if I said that it didn’t happen, but the number of complaints will often far outweigh the number of praises.
That’s simply the nature of how people and, thus, the market work.
I think we’re all built differently as it relates to receiving criticism. Some people have thick skin and can take it, let it roll off their back, and go; others, not so much. But it’s something that can be learned and developed over time.
So if you’re in the latter group and you’re just entering into the market: be prepared, but don’t take it personally. It happens to all of us and, at the risk of making a pun, the words continue to be pressed :).
Now Go Build a Plugin
Basically, this post is a “if I knew then what I know now” about WordPress, then I would’ve shortcut a lot of mistakes, missteps, and learning certain lessons the hard way.
I think everyone appreciates learning from others so hopefully this post has helped shortcut some of the things that typically come with releasing a plugin.
At any rate, talk is cheap. Go build something :).