Today’s third presentation in the General Track is from Kevin Stover, talking about plugin development. More specifically, “The Candid Developer. Developing and Maintaining A Successful Plugin… Is Scary”.
Kevin begins by speaking about his role, and the new branding for Ninja Forms. Their main plugin has had almost 400,000 downloads, and are predicted to sell $350,000 worth of plugins by the end of this year!
With a very natural speaking style, Kevin gags about how he messed some things up, like taking too long to release code. He reckons people take too long as they keep on adding feature after feature, instead of getting their code out there. So, learn to say no to yourself.
Lack of Knowledge
He feels he doesn’t know enough, as there are so many ways of doing things, in lots of different ways.
Kevin wants to replace it whenever feasible, but really, legacy code shows how you’ve moved on as a developer, and how you’re learning new things.
With a comical meme on his presentation, he announces you should really just ship it. Seriously, just do it.
People want support, and so as a developer, you’re gonna have to do it yourself. Using Inbox Zero, he loves the feeling of getting down to no support tickets, but as Kevin is a very task driven individually, he feels it’s a bad thing with support, as he wastes time on it, with little time left for development.
You should also decide if you’re a developer or support agent, and if you’re a developer, set a specific time each day to answer support, and don’t lose focus from the development itself. Remember also, support requests are people, and you should treat them with respect!
“Removing this function shouldn’t affect anything else” – hmm, maybe it does. When updating a plugin, remember that any errors you make with be available on all of your user’s sites! Test, test, test.
Also, Kevin says the attitude, “It’s just a CSS tweak”, is wrong! In this case, it made lots of buttons un-clickable, and again… test, test, test.
Don’t release updates on a Friday, or you risk rushing things, and not always be able to answer support requests regarding the problems you may face.
Managing Community Projects
Ninja Forms is based on GitHub, with other developers making add-ons for it. It’s a great way for others to provide feedback, and “help you get better”.
Everyone Has An Idea
“Your job is to figure out which ideas are good, and which are bad.” Consider placing it in an add-on, as opposed to adding it to the core version of the plugin. Remember though, “you are the gatekeeper”.
Keep An Eye On The Big Picture
Don’t always think that everything is right – always think of the bigger picture.
“If this guy can be a semi-successful developer, anyone can!.”
“Humility is the most important attribute for a developer (or person).”