If you’re ever interested in getting into WordPress plugins, then there’s a wide array of material available for you to read – this includes material across who-knows-how-many blogs, people on Twitter, and even physical books available on Amazon or likely your local bookstore (well, maybe – heh).
But when it comes to building and maintaining a free plugin (let alone several), I’ve found that there’s not as much discussion, sharing, and overall dissemination of information available. To that end, I thought it might be worth looking at four things that I’ve found useful when maintaining free WordPress plugins.
Free WordPress Plugins
To that end, I thought it might be worth sharing a few things that I’ve found useful when maintaining free plugins.
First and foremost, the challenge of building and maintaining free plugins is that they become our responsibility – they can become a time suck – and they detract from our paying gigs and the primary reward comes in serving people and their blogs above all else.
This is certainly not a complaint, but it’s the nature of maintaining a free project. On top of that, that doesn’t mean it’s an excuse to mistreat, abuse, or ignore your users, either. After all, it was your – or our – decision to launch the plugin in the first place.
With that said, here are four things that I’ve found to really help streamline working with free plugins (especially those available in the WordPress plugin repository).
1. Support Policy
It’s really nice that the WordPress plugin repository comes with a built-in support forum; however, it can also be a bit of a time suck of you have a number of plugins that are also fairly, widely used.
You’re bound to get comments, questions, feedback (yeah, some positive, some negative) all of which are going to create a sense of obligation to respond.
It doesn’t have to be this way, though.
Sometime last year, I threw up a sticky post in the plugin’s support forums that basically said my support policy was via email and that I was not going to checking the forums. This advice came from a friend and I thought it was great.
Yes, people still leave comments on the forums (I suppose they don’t read the post or they are looking for other community members to help them out), but the ones that really need help always find their way into my inbox.
2. Track Requests
As with any piece of software, there are going to be feature requests. Sometimes, they are worth implementing, sometimes they aren’t.
If you find yourself following a similar methodology as above, then you can expect to have some feature requests (or maybe even bug reports) show up in your inbox. Above all else, consider this a good thing.
Next, have a way to track it. If you’re strictly using WordPress’ Subversion repository for your work, then you’re going to need your own system for tracking requests – TextEdit, Evernote, Notes on your phone – it doesn’t matter.
If, on the other hand, you have something worked out where you’re maintaining the plugin on GitHub and then sending the distribution to Subversion, then use GitHub’s issue tracker to enter requests, bugs, enhancements, and all of that fun stuff.
3. Update When Possible
Above all else, you can expect WordPress to be updated every few months. This gives you a chance (perhaps an obligation) to revisit your plugin and make sure that it’s compatible with the latest WordPress code.
On top of that, it may give you a chance to refactor that area of the code that’s bothered you for so long. Or it may give you a chance to introduce a new technique that you’ve not always been happy with how it turned out.
Regardless, at least keep the plugin updated with the latest version of WordPress.
4. Maintain Perspective
There’s a lot of amazing stuff happening both online and offline in the world and, for many, the number one priority in our life isn’t WordPress or the work that we’re doing.
Don’t get me wrong: It plays a significant role in our lives especially for those of us who make a living off of working with the application, but there are also other things to focus on. There’s a time to focus on your latest project, and there’s a time to focus on other things.
Additionally, people can get disproportionately angry about the way a plugin works. You have to shrug that off, but at least try to tease out – through all of the noise – their main complaint. Try not to take it to heart (much easier said than done) and see if there’s nothing something that can be done about it in a future release (see Point 3, above).
If so, great; if not, then just let them know that it’s likely not a possibility.
There are millions of plugins many of which will do the thing that yours does but perhaps with a twist. Some will be better at it, some will be worthy contenders, and some will be worse at it.
Whatever the case may be, maintain perspective of where your plugin falls in the grand scheme of things. Yes, people are going to complain, and yes people are going to praise it, but neither of these are worth dropping everything to get back to them.
I know – we get deeply and personally invested in the work that we do. But we need to also be deeply and personally invested in the people and things around us, too.
There’s More
And yeah, there’s more than can be said and done (and I think it’d be fun to hear what you have to say in the comments) but these are the four things that I’ve found to be most helpful when working on free projects.
No, I don’t work on them as much as I’d like. Yes, I’d love to continually add new features. But I also have to remember where they fall in the grand scheme of things. You won’t find me releasing junk (if I can help it), but it may not also be updated as frequently as something that has a paying customer base.
Such is the nature of free work. At the same time, it’s not an excuse to release junk and then never fix it. Just maintain a good support policy, track your requests, make sure to keep it current with WordPress, and maintain a perspective of where it fits in the overall scheme of what you have going on in your life.
Leave a Reply
You must be logged in to post a comment.