“With plugins, like in everything in life, you have to take your own path,” began Sam Hotchkiss, starting his highly informative talk at March’s WordPress meetup here in Kathmandu.
I met Sam at WordCamp Mumbai and when I heard that he was going to be in Nepal for a few days, I thought it would be a great for our WordPress community here to get to meet him. Sam graciously agreed to not just attend our WordPress meetup, but also do a repeat of his Mumbai presentation.
Because of his talk, this month’s WordPress meetup was unusually well attended, with more than 70 people showing up.
Sam works on JetPack Team at Automattic, and his talk was enlightening to all, coders and non-coders alike, because it covered a lot of ground, including the QA process when updating code, plugin security, writing good code that others can build on, finding a market, turning your users into ambassadors, and even how to get hired at Automattic.
The walkthrough of the QA process before pushing out new updates was an eye opener for many in the WordPress community here. We do not put too much thought into QA.
In his talk, Sam emphasized that before pushing out new updates, you need to have at least three set of eyes; one who will install the code and review everything completely, one who will at least look over the code, and one for a final check.
“We have broken millions of sites before,” he said, “We don’t like to do it.”
After that there is a stable beta release of the code, and then a string freeze after stable beta, because the code is then sent to internationalization, and cannot be changed.
There were also tips on when to release a new version of your product — not right before you head home on a Friday night, and definitely not over the holidays. If you have something ready on Friday night, it is better to wait until Monday and release it first thing, so you can be available for support in case things break. Very useful insight for all of us here.
Sam’s personal experience informed a lot of the talk, and it was fascinating to hear his thoughts on the various aspects of plugin design, development, testing, marketing, updating, monetizing, and future growth areas. I am going to quickly recap the major parts of his talk, since it could be useful to a lot of us in the WordPress community who are looking to get into plugin development.
Sam covered a lot of ground on how a plugin gains traction. A major factor was security. If a lot of people start using the plugin, but there is a security breach that will just bring you right back to zero, as people are not going to use it. For any plugin, it is important to get the basics of security right the first time.
Another tip was to figure out a core functionality, and include hooks for other features, making it easy for people to customize the plugin to their needs without changing it. While it can be very difficult to figure out a core functionality, and very easy to dump everything, making intelligent design decisions will make sure you have a plugin for the ages.
Another tip was to write readable code, to help other people build up on your code. If your code is unreadable, nobody wants to touch it. But people can easily add on to readable code, increasing usage.
“Time spent writing quality code is never time wasted,” said Sam, and I agree.
A plugin’s chances of success are also increased if you have a lot of users testing it. This gives you insight into a lot of use-case scenarios, many of them you might not even have imagined. And if you have a core group of trusted testers, you can build upon it slowly, by building a better and better product.
Sam touched on not spending too much time on making something perfect. You shouldn’t wait until you have a perfect product. A better approach is to get something out the door, get users on board quickly, and then iterate often to arrive at a progressively better product.
You need to build your user base slowly, to make sure you are really solving a need for your users. A small group of trusted users will give you good feedback, and won’t ruin your reputation by telling all of the Internet that your plugin is not working well. They will point out the issues to you, giving you a chance to fix it.
Turn your users into promoters, you want them to tell their friends. Make it easy for them to do so with a tweetable or shareable link, and watch your plugin grow.
When someone reaches out for support, this is a good time to get to know them one-on-one. Learn how you are helping improve the lives of your users, instead of being defensive or doing all the talking.
Show your users that you are a real person, not a half-man half machine somewhere, so they can connect to you and your product.
In terms of revenue, Sam suggested it was better to figure out a recurring revenue model for your plugin. In the best case scenario, you are looking to find people willing to pay you, without taking up any of your time. Paid support does not scale and requires your time. A freemium model, where you give people a solid experience for free, and provide the option to pay for certain add-on features is a good model, as is proved by the Top 10 apps in the app store, which are all free, with payments for extra features.
According to Sam, the biggest growth place in the future is in API reliant products.
Sam also talked Nepali WordPressers through the hiring process at Automattic. Here is the process
- You go on the Automattic website, find a job you are interested in, and send in an application.
- Matt (Mullenweg) reviews every application, so it might take a few weeks for you to hear anything. If you haven’t heard anything, that means you are still under consideration.
- In the second step, a group reviews your application, and if you are applying for a coding job, you will have 15-20 minutes of coding test.
- Then you will get a decision. If you are rejected the first time, don’t hesitate to apply again. Almost 30% of Automattic people were rejected the first time they applied.
They have US salaries for everyone, and they are looking for people to work as Happiness Engineers in this part of the world!
Here’s the link to Sam’s presentation. Hope it helps.