I’m not sure case studies are terribly interesting, but for those who are considering similar endeavours, they can be helpful. What we are about to present are the challenges we faced selling a WordPress plugin and the solutions that have made us a success thus far.
A little about Ninja Forms
Ninja Forms, at its core, is a plugin that makes it very easy to create web forms to be used on your WordPress site. It offers a drag and drop interface for sorting fields, per form & field options, and various settings for what happens when a form is submitted: things like saving to the WordPress database, sending emails to selected admins, and sending emails to users who submit the form.
We created Ninja Forms a few years ago when working for a client that had some very specific needs. There were other form plugins available, but they were either cost prohibitive for the client or not flexible enough for us as developers.
When you spend countless hours developing something as extensive as Ninja Forms, the idea that it could be a marketable and profitable plugin eventually arises. So, our adventure began.
Ninja Forms had plenty of challenges
Every product will have its challenges that need to be overcome. Part of becoming successful is properly identifying what your specific challenges are. Once you know the real struggles you face, it is much easier to conquer them.
In our journey, we discovered three issues we needed to address before we took on anything else:
Ninja Forms was late to the form plugin party
When Ninja Forms was launched to the public, there were already several popular competitors in the market. Contact Forms 7 had already been around for several years and had become a go to for many WordPress users. Gravity Forms had been around a couple years as well and was a fan favorite among developers. There was also Formidable Forms, which had also been around for a couple of years.
Being late to the market meant that we were behind in brand recognition, market research, and a few other key areas that can really help a product gain traction.
The Form Creation plugin market is very saturated
We named three plugins above, but if you search for forms in the WordPress repository you will find over 20+ related plugins on the first 7 pages. You would certainly find dozens more if you kept browsing. That’s not counting other plugins that have their own site, or that are sold in marketplaces like CodeCanyon.
It’s easy for a plugin like Ninja Forms to get lost in such a large crowd of competitors. In fact, early on we had several commenters in the WordPress community advise us not to bother pursuing the plugin, because WordPress didn’t need another. We’re glad we didn’t listen.
Ninja Forms wasn’t terribly unique
There are only so many ways to create a form builder plugin, and we essentially all do similar things. We allow you to easily add different kinds of fields to a form, place that form anywhere on your WordPress site, and send email notifications to admins and/or users. Some have a drag and drop interface. Some save to a database, some have more advanced functionality. Some are completely free, some are freemium, and some are exclusively paid plugins. But at the core, we all do the same things. Granted some do them better than others.
In a sea of possibly hundreds of other form plugins, Ninja Forms didn’t stand out all that much. We tried being cheaper because that was one of the pain points for our initial clients needs, but for the record, price is a terrible differentiator and attracts the wrong kind of customer.
How Ninja Forms stopped getting lost in the crowd
The answer to the major challenges Ninja Forms faced was pretty obvious. In order to standout among a bunch of plugins that essentially did the same things, we had to discover what was going to make Ninja Forms different. I said it was obvious, didn’t I?
Determining that Ninja Forms had to be different was the easy part; how we were going to accomplish that was less so.
One thing we knew was that having massive functionality wasn’t enough. Functionality is easily developed and changed. We needed a completely unique ethos.
A Different Kind of Freemium
When one generally thinks of freemium they think of a shareware kind of model. You get limited functionality for free but then pay to upgrade to a full featured version of the product. This is a completely legitimate model but it didn’t solve the problems we were facing when we built Ninja Forms and initially tried selling it.
The free version rarely did what we needed and wasn’t flexible enough to extend. The paid version was either too expensive for the client or came with a bunch of other features that the client didn’t need and only promised to confuse them with stuff they would never be using.
We began to ask ourselves a couple questions:
- What if the free plugin wasn’t stripped of all of it’s power and instead was highly extensible?
- What if you only had to pay for the specific advanced functionality you needed?
This led us to what we call the Extension or à la carte Freemium model.
We built Ninja Forms 2.0 to be a very powerful and free form creation framework.Instead of selling a “Pro” version with everything and the kitchen sink, we decided to sell add-ons that could enhance the core plugin’s functionality. Here are a few of the reasons, although I’m sure there are many others.
- Users only buy what they need – There is no reason to buy something that you aren’t ever going to use. With the extensions model, Ninja Forms gives users options without clutter.
- Allow developers to sell their extensions on an official Ninja Forms marketplace – Users who need additional functionality come to ninjaforms.com first, and now other developers can benefit from that direct access to users looking for features they may provide.
- Extended functionalities get more attention because they are revenue earners – If a plugin has a ton of features, it’s likely that the one feature that’s most important to you won’t get massive amounts of attention. Since these pieces of functionality are revenue earners, you can be confident that those features are always being looked after.
- We don’t have to maintain two separate code bases – When you have a “free” and a “pro” plugin that shares the same core code base, many times you end up maintaining them separately because of the pain of pulling out all the “pro” features every time you need to update the “free” version. By making the core code base “free” we only have one to worry about.
The extension model isn’t all puppies and rainbows, though. There are some negatives to keep in mind:
- The extension model can end up making you more expensive than your competitors. Because we have over 20+ extensions available at ninjaforms.com, ranging from $14 to $129, if you were to buy every feature that Ninja Forms offers, we’re the most expensive form plugin currently available. Side Note: plugin and theme developers seriously undercharge for the products that they create and sell. We want to be a part of the solution, and so we believe we charge more appropriate amounts for the features that we provide. Some day you will be selling your themes and plugins for well over a couple hundred dollars. When you get there, you can thank us.
- Compatibility can be very complicated. When you have such an extensible code base and dozens of extensions that rely on that code base, and many times each other, it can be very difficult to maintain compatability across all extensions. It’s not impossible, just difficult.
A Different Kind of Community
Keeping Our Code Flexible
First, we made the conscious decision to keep our code extremely flexible. We try and make sure that nothing is locked in. By that, I mean that we added hundred of actions, filters, and utility functions, so that any piece of Ninja Forms can be altered. This makes Ninja Forms extremely extensible. At almost any point you can alter what Ninja Forms does or displays.
At its core, this is what has made the Ninja Forms marketplace possible. Time and time again we are told by various developers that they love extending Ninja Forms because of how easy we’ve made it. Because of this, we have 10 developers who build their own extensions to sell and more joining all the time.
Becoming Truly Open Source
Another big change was to make Ninja Forms completely Open Source. We didn’t want this plugin to just be our framework but the entire WordPress community’s framework. We wanted a plugin that people could trust for their development, clients, and businesses, because they could actively participate in the plugin’s development.
With an eye towards this, Ninja Forms development is handled in much the same was as WordPress itself; just as WordPress is an open source project that any of us can contribute to and can be extended by plugins, so is Ninja Forms. Anyone can contribute to the project, and Ninja Forms can also easily be extended by the creation of new plugins.
Opening up your code to the community can be scary and some have the notion that it’s dangerous to build a business on the back of open source code. We couldn’t disagree more. The benefits that have come from this decision have been invaluable. This is definitely one of the best decisions we’ve ever made.
There are numerous benefits that becoming open source provides, but here is a short list:
- Better and more varied ideas – Having input from multiple developers can only improve your project. In our experience, someone will offer a concept, and then the community will discuss it until it becomes so much better then it was initially. This can only happen from more eyes on the project.
- Checks & Balances – Sometimes an idea is terrible. A strong community can help to regulate what goes into and out of the project. It can keep the project on the correct path. We once had an idea for handling submissions by creating an email-like client in your WordPress admin. It was a terrible idea for the core Ninja Forms plugin. Thankfully, it was shot down by the community because it took the core of Ninja Forms beyond its scope. The community was right.
- More people writing code – If you’ve ever built a large code base by yourself, you know how hard it is. Transitioning to open source means you can have an extremely large team of developers. Instead of one person building it all, there are several that can take a piece of the plugin and make it better.
Of course the same reasons that make this a great decision are also the very ones that can make it challenging.
All the ideas, checks, and balances are great, but at some point someone has to be the decision maker. This is tough, because you obviously appreciate everyone’s contribution. You can’t take a group of developers, throw a feature idea at them, and think that they are going to arrive at the same conclusion. They have different experiences, different approaches, and many times, different end goals. That’s like getting a group of diverse people to agree on the Beatles vs. the Rolling Stones, Marvel Comics vs DC Comics, or Star Trek vs Star Wars. It’s just not going to happen. But in case you were wondering the correct answers are The Beatles, Marvel, and Star Wars.
Is Ninja Forms Successful?
So the question you are probably asking after hearing about our initial struggles and the solutions we’ve tried to implement is, did it work? Yes, we think it has been very successful. But, since success can be very subjective, why don’t we just share some numbers, and you can decide for yourself.
In the past 14.5 months
- FREE Downloads: 270,000
- Total Transactions (#): 3,575
- Total Sales ($): $185,000
- Total Extensions Sold: 4,460
- Website Statistics (Since 9/1/13 or 6.5 months)
- Total Visitors: 120,821
- Unique Visitors: 74,820
- Page Views: 535,633
- Website Statistics (Since 9/1/13 or 6.5 months)
In 2013, Ninja Forms took in about $135,000 in extension sales, and in 2014 we are projecting over $300,000. We certainly don’t think we’ve figured everything out with this model, so your mileage may vary. We are extremely excited about where Ninja Forms has come from in a very short period of time and where we see it going.
I wanted to highlight a few ideas that may not have been thoroughly unpacked in the content above. It’s a quick list of ideas for those of you looking to release a product of your own. It’s hardly exhaustive, but these thoughts will definitely help get you started.
- Find what makes you different and capitalize on that.
- Price is a very bad differentiator.
- Invite and embrace the community around your product.
- Find a mentor that is successfully working in the business model you are considering.
- Be careful which voices you allow to speak into your business.
- Decide what is a success for you; that is really the only metric that matters.
I hope this information was helpful to you. If you’re working these things out for your business and would like to discuss it with someone who has been there, please fill out our contact form. We would be happy to talk to you.