It takes a whole lot of talent and skill to create a functioning WordPress plugin. Most of us will probably never fully grasp the amount of work and dedication that goes into the process. From development to maintenance to support, it’s a pretty massive undertaking.
But beyond the programming skills, releasing a piece of software that anyone in the world can use also requires some courage. When you think about it, there’s a tremendous amount of responsibility that goes along with making your work available to the public.
For instance, could you imagine releasing an update that ends up breaking a user’s website? Or the amount of support you might find yourself having to provide for free? Even though a good number of plugins are written as side projects, the upkeep of a popular title could be similar to a full-time job.
I wanted to dig in and find out how some real-world plugin developers handle it all. So, I sat down with two very talented gentlemen who were kind enough to share their philosophies and experiences.
Meet the Developers
Matt Cromwell is the Head of Support and Community Outreach at WordImpress. They are the developers of Give, a popular plugin that helps non-profits take donations online. He’s also known as one of the administrators of the Advanced WordPress Facebook Group.
Robert DeVore is a Michigan-based developer who has authored several WordPress plugins and themes, including an upstart Gutenberg content plugin called Pillar Press.
I asked each of them the same set of questions via email. Below are their answers, some of which have been edited for brevity.
1. Whether you’re developing a new plugin or updating an existing one, how much time do you spend trying to avoid conflicts with other themes/plugins a user may be running before a release?
Matt Cromwell: We test against the most popular themes like Divi, Storefront, Avada, X Theme, as well as major plugins like Yoast SEO, WooCommerce, etc. But that’s always a moving target because you never know when they will push out a new update. We lean heavily on our Priority Support team (me as Head of Support) to work with customers on issues as they arrive.
When a conflict arises, we try to provide workarounds as well as reach out to the other author to see if we can get things working more smoothly. Authors who are responsive and make changes quickly are awesome and we create close relationships with them.
Robert DeVore: Time spent on potential conflicts with themes/plugins really depends on the work I’m currently doing. For instance, if I’m working on something WooCommerce related, I’ll make sure that it works with the Storefront theme and any of the official add-on’s from WooCommerce that it may be interacting with. Other than that, I build and adjust things based on conflicts as they’re brought to my attention.
2. With so many potential plugin and theme combinations out there, do you have an expectation of something breaking?
MC: Yes. Things will break, always. That’s an inevitable reality of providing code to tens of thousands of environments that you have ZERO control over. Every user has a completely unique environment which is virtually unpredictable for us to prepare for. We just work hard to make sure we aren’t the code in that environment that is creating the problem – as much as possible. Again, problems will happen, so we lean hard on Support to work out what exactly the conflict is and potential workarounds and then to create actionable issues for development to address.
RD: Yeah, I live by “hope for the best but expect the worst” with every release I push out 🙂
3. Do you feel pressure when a user reports a problem with one of your plugins?
MC: Currently we power 40,000+ websites all over the world, and generally they are all good causes wanting to do good in the world. If they can’t accept donations because of a problem with our plugin (or their unique combination of plugins and hosting and theme) then yes – we feel a real urgency to address the issue via Support as quickly as possible. On the other hand, when their problem is a niche issue, with a niche plugin, that only affect convenience in their admin experience but donations are still flowing – there’s a lot less pressure in that case.
RD: I wouldn’t describe it as pressure, but I do feel a bit of a pull inside to try and fix the problem as fast as possible. So, maybe it is pressure? lol
4. How much effort should a developer put into supporting a free plugin?
MC: I might be in the minority here, but I believe 100% in free support. It’s been absolutely vital to the success of our business and the robust quality of our code. Of our 40,000+ active installs, we have about 9,000 customers. That’s less than 1/4 of all our users. Free support is one of the best places we can interact with those 31,000+ other users (and) help them have a positive experience with our plugin.
Besides that, free support is part and parcel to being part of the global Open Source community that is WordPress. Any business that depends on WordPress should be contributing at least 5% of their time on the WordPress support forums in one way or another. The more educated user-base we have, the better it is for everyone.
RD: Personally, if it’s a free plugin and ONLY a free plugin (meaning, no commercial add-on’s or themes to go with it), then I think a developer should take bug/security notices seriously and look into fixes for them. Beyond that, any feature/enhancement requests can be taken with a grain of salt since it’s a free plugin you took the time to build and release, without much in the way of financial upside to spend too much time supporting it.
5. In your opinion, what is the biggest responsibility you have when releasing a plugin out into the world?
MC: That it serves the need of those who want to use it. I wrote a piece on what I call “The Single Purpose Philosophy” which says that a plugin should always ONLY do one thing. That’s the developer’s responsibility. Make the plugin serve that one purpose with efficiency, clarity, without fuss or clutter and get out of the way… All of the tweaks and bugs and compatibilities will come with time; but if you’re not serving your one purpose then there’s no reason to launch at all.
RD: SECURITY! Regardless if it’s a free or commercial product, the user’s security should always be #1. There’s a lot of “workarounds” that developers use to save time and cut corners, but those end up leading to more problems down the road for the end user and the developer.
Maintainers of the WordPress Ecosystem
The more you use and develop with WordPress, the more appreciation you gain for everyone who helps to keep it functional and flexible. While not necessarily “official” maintainers of the WordPress ecosystem, plugin developers play a very important role in its ultimate success. Useful and well-maintained plugins are part of what makes WordPress appealing to users and a viable option for web designers.
Many thanks to both Matt and Robert for letting us peek into their world! While their plugins, user bases and philosophies differ, both have shown the dedication required to serve the needs of users.
The post The Responsibilities of a WordPress Plugin Developer appeared first on Speckyboy Web Design Magazine.