I have written a lot of plugins. Some I love, others I’m indifferent towards, and others I hate. The plugins I’ve written have been created for a lot of different reasons. Some are for examples to be used in tutorials, others are for custom client work, some are built out of necessity, and others are built just to scratch my own itch.
After writing and maintaining 100+ plugins, I’ve discovered that there is one definite category of plugins that are the most enjoyable to build and maintain, and those are ones that are built for yourself to satisfy a personal need or desire. Plugins that scratch an itch.
Several of the primary plugins in my portfolio are ones that I wrote for clients or built in order to satisfy a need I saw in the community. These plugins have done well overtime, and one of them is even the very first plugin I wrote. The problem with them, however, is that I struggle to find the motivation to maintain them because I have very little personal interest or need in what the plugins do. Each time a support ticket is opened for a plugin I don’t have an interest in, I groan a little because the plugin(s) has become a chore to support.
When I first started writing plugins I would write a plugin for anything, regardless of whether I had an interest or need in what the plugin did. I just liked writing plugins; plugins for everything. Overtime, I’ve learned that building plugins for anything and everything can be very damaging to one’s motivation. The more plugins I write for things I have no interest in, the less interest I have in supporting or updating those plugins.
One of my old plugins, that was written for a client at the time, has a bug that will only require a 3-4 line patch to fix, but I dread opening the plugin to fix the bug. Why? Because my lack of interest in what the plugin does has destroyed my interest in maintaining the plugin.
Contrast that now to a plugin that I have a personal interest in and need for. Restrict Content Pro, for example, is one of the plugins that powers a significant portion of this site, and several others that I own or maintain. This plugin was originally built out of my own desire to offer a members-only section to this site. I wasn’t happy with any of the existing plugins available, so I decided to scratch my own itch and write my own.
Scratching my own itch is also the reason Easy Digital Downloads exists. I wanted a good way to sell my plugins but wasn’t happy with the current state of e-commerce plugins for digital goods.
Both Restrict Content Pro and Easy Digital Downloads came from a personal need, as did many of my other plugins, and guess what? I really enjoy actively developing and supporting the plugins. This is not a coincidence.
Being able to work on the kind of projects I want to work on is an immense blessing, though also something I worked very hard over several years to achieve. I believe very strongly that one of the reasons I’ve been able to get to the point where I mostly work on what I want to work on, is because I chose to start projects that scratched my own itch, and I chose to devote as much time as possible to them, even when it was more profitable to work on other projects that paid better. My personal love and interest for these projects drove me to work harder, longer, and smarter on them, which, overtime, propelled the plugins into a profitable position.
The conscientious decision to work on projects that interested me has made me a better developer, a better business owner, and even a better father and husband. I enjoy what I work on, and that makes a huge difference in my day to day life.
I’d encourage you to try and focus on plugins or other projects that scratch your personal itch. If you work hard and work smart, you may just end up building a plugin that supports you financially and also one you love working on.