In this episode, James and I talk about breaking into the WordPress forms space, early decisions and pivoting, and building 3.0 from the ground up. Learn about how they built a following, evolved the product, and how they tested and migrated their customers to a brand new, fantastic build of the plugin, and what it could mean for the future.
Joe Casabona: Hey, everybody. Today’s episode is brought to you by two great sponsors. The first is hover.com. With hundreds of domain extensions, no heavy-handed upselling, and best-in-class support, Hover makes it easier to spend less time on your domains and more time on your big idea. I’m a big fan of Hover as well as a customer. I registered all of my domains to them and I couldn’t be happier with their service. And now, you can use the offer code, ‘buildsomething’ for 10% off your first purchase. Head over to hover.com for more information.
Our next sponsor is a new one, Project Panorama. Project Panorama is a WordPress project management plugin that visually communicates project progress to your clients and team. At a glance, your clients can see exactly how close the project is to completion and what has to be done, and what has to be done next. Panorama is meticulously designed to impress your clients and save you time, allowing you to bill more. Check it out at projectpanorama.com. That’s projectpanorama.com.
And now, on with the show.
Hey, everybody. Welcome to another episode of How I Built It, the podcast that asks “How did you build that?” Today, my guest is James Laws of WP Ninjas. James, thanks for joining me.
James Laws: Thanks for having me. I’m really excited to be here.
Joe Casabona: Me too. I’m very excited. You know, we’ve kind of talked in the past. I’m like working on some instructional videos for the new version of Ninja Forms 3.0, which we’ll start talking about in a little bit. So I’m really happy to have you on the show. I also love the mastermind podcast that you did with John Gallia.
James Laws: Oh, thank you.
Joe Casabona: Yeah, it’s absolutely. If everybody is listening out there, if you haven’t heard that one, definitely check it out at Mastermind.fm. It’s fantastic.
James Laws: We really enjoy it. It’s a lot of fun.
Joe Casabona: Yeah. So, let’s just jump right into this. Why don’t you tell us a little bit about yourself and your product and how you came up with the idea for Ninja Forms?
James Laws: Yeah. Sure. So for those of you who may not know me, James Laws is my name. We have a little company called WP Ninjas, where we started doing client work as a starting point. And then kind of got thrust into the product space with a form builder. And so I have a business partner who’s worked with me. He’s been kind of the main developer of the project and I’ve done primarily the business side. But in the early days, it was kind of all hands on deck. We all did a little bit of everything. So yeah, that’s a little bit like just kind of a short abbreviated. This is kind of the business we do, and this is who’s doing the work, right?
Joe Casabona: Yeah. Nice. And so Ninja Forms came out in what? 2013?
James Laws: Well, Ninja Forms 2.0, came out in January of 2013. But our 1.0 version actually came out way back in like June of 2011. So we’ve actually been around for a long time.
Joe Casabona: Oh wow! Nice. So when you decided to make Ninja Forms, so this is going back a little bit further than I thought, because I know that Gravity Forms was the big, it was like the big kahuna in the water or whatever. I’m like messing up 19 colloquialisms there. And I mean, now there’s tons of WordPress, like form builder plugins. So, what kind of gave you the idea to build Ninja Forms?
James Laws: Well, and so let’s not be under any imagination that Gravity Forms is not, still the big kahuna in the WordPress Forum space, right? They are, they’ve done a great job with their brand and their product. And they’ve been around for a really long time. And we got a really good loyal fan base, who just loves what they do.
So when we built Ninja Forms, we weren’t building it with a product in mind. We were literally just building a solution for a client. We were working with a junior achievement branch in our area and they were doing events and they needed, then there were all different kinds of events. So they may be where they’re registering people to get a table at a banquet, or a bowling team, or just a one-off. And they just needed an easy way to create registration forms for all of these. And we were new in the WordPress space just doing web development client work. And so we didn’t really know what the space looked like. We just knew how to build stuff. So we built a form builder. It was an ugly, ugly form builder. But we just kind of build it. And that was kind of the alpha of Ninja Forms.
Joe Casabona: Nice. That’s awesome. So, and then from there you kind of decided, “Hey, we can make this into a product?”
James Laws: Yeah. So we built it for the client. It worked for them, they were using it and we just kind of circled back and said, “Hey, I wonder since this is such a useful tool to build forms, I wonder if this is something that would, that we could release and other people might want? Maybe we could have a product.” And so that’s at the point that we started saying, “All right. Well, let’s see what this WordPress ecosystem looks like? like what does having a product look like?
Joe Casabona: Nice. And so, okay. So at that point, you started to do a bit of research. So can you tell us about that? Like how did you kind of go from, “All right, we have our product. And now we want to put it out there.” Did you check out competitions or things like that?
James Laws: We, on a very high level, we did. Like we did some searching for form builders or, you know, kind of makeshift form creation tools. And obviously, Gravity Forms came up in the search and a few other plugins came up in the search, but that was about the extent. We just really wanted to know how much was out there. And at that time there were a lot of little plugins, but as far as like big names that just came right out, there’s only a few. So we were like, “Okay, well, there’s a few. So there’s a market. There’s people who are buying these kinds of plugins. And so let’s see what we if we can kind of refactor this enough for public release and put something out.” So in June of 2011, we put up a site and started selling the first kind of premium Ninja Forms plugin that started this process.
Joe Casabona: Nice. And so, you know, this is a question that I get a lot of, you know, what I’m, I’m sure you probably get it a lot too, or you hear a lot about it. You know, which WordPress forms plugin should I use. And my answer is always, it depends on what you want to do and what you’re looking for. So how do you kind of differentiate yourself from what’s out there, especially in the beginning with Gravity? Like, you know, when you were kind of going up against Gravity Forms, like this relatively new plugin.
James Laws: Yeah. So in the early days, we made all of the wrong business decisions that most people were making at that time. So we try to compete on price. I think our first price point was like $15 for, you know, in a head conditional logic and multi-part forms. And at that time we were the only ones who had a save user progress functionality. And so we charge all that for $15. Mind you, that was unlimited updates and lifetime updates and support. So we were, I mean, we were so cheap, it was ridiculous. And I think that hurts us because, you know, when you get what you pay for, right. So when they see something that cheap, people just like, “Ah! why even bother.“
So at first, we were just competing on price, feature for feature. We were, you know, we had about similar features at that time. We were still early, so we didn’t have all the integrations that we have today. But I think mostly at that point it was really just a price game. Can we undercut on price? But that didn’t work for us. And I think in the first six months, we may have done like $3,000 in sales total, in the first six months. And that was with getting a lot of publicity in the early days. Like people mentioning us and then it just kind of died out. So it didn’t do a lot.
So, the thing that actually differentiated us in the middle of 2012, we decided to shift our business model to the add-on business model. So instead of offering a Pro plugin, we offered a core free plugin and sold individual add-ons as functionality. And that’s what we launched in 2013. And that’s where most people think we started. Like that’s our origin story, they think. But that the truth was just a pivot and business model. And that is actually, I think what started catapulting us into having a fairly popular plugin, because I think what it did is it solved the pain point that some Gravity Forms users and other people had where they wanted a piece of functionality, but they didn’t need the whole kitten caboodle, right. They didn’t need everything. And so we started giving them just the thing that they wanted, just conditional logic or just multi-part forms.
Joe Casabona: Nice. That’s awesome. And that is…There are two great pieces of advice there. One of which I got right before this call, I had a, I’m in my mastermind group and that’s the, if you pick a price that’s too low, you know, people will see that, right? They’ll see, well, there’s not a whole lot of value there because they’re not valuing it. You know, they’re not pricing it very high. I’m like, absolutely in that same spot. You know, with a couple of my online courses, I was told my price is too low. So, you know, so that’s more food for thought and you’re definitely reinforcing that by telling that story.
So. And then the other is that pivot was so important. Because that really helped your business. And I think that’s, you know, I think the great thing about Ninja Forms now versus Gravity Forms is that you can get Ninja Forms for free and use the basic functionality which is not something that you can do with Gravity Forms. There is no, as far as I know, at least there’s no free version of Gravity Forms.
James Laws: Yeah. It was an important pivot for us. And I think the takeaway for me, there is anyone in the product space, early in the business space at all, whatever your, whatever it is that you’re doing is don’t be afraid to experiment. If we didn’t try this out, we wouldn’t have known. It was like a major point. And we also have to remember that, what got you to where you are today is not necessarily going to get you to where you want to be a year or two years down the road. So you have to constantly be experimenting and pivoting even in little ways to push your business further.
Joe Casabona: That’s awesome. That’s great advice. You know, don’t sit on your laurels essentially. That’s resting on your laurels. Is that what it is?
James Laws: Yeah, I think that’s it.
Joe Casabona: I’m really bad with these today. Awesome. So you had your research, you had, I guess you had some feedback from customers. But I mean, you run a podcast called masterminds. So, I think I know the answer to this question, but, did you talk to anybody about features, business advice, direction? Are you in a mastermind yourself?
James Laws: Yeah. So I’m in a couple of masterminds. Mastermind.fm actually started from just being a mastermind between John and myself. We got together for some calls and would talk shop, and business, and offer advice, and talk about problems. And then somewhere along the line, we both said we wanted to do a podcast. At some point, we said, “Well, why don’t we just take this conversation to live, like, let’s just let everyone listen in on these conversations.” So that’s kind of how mastermind.fm got birthed.
But I’m also in another one. And I have obviously lots of friends in business too that I constantly will pick their brain. There’s some that I consider like mentors from afar. I read everything that they write, and I get a lot of information from watching their experiences. So that, yeah, there’s a lot of that going on.
But in the early days, we didn’t have a lot of that because we weren’t known in the community. We were relatively disconnected from the greater WordPress community. It wasn’t until right around April or May, that we were kind of getting to know Pippin Williamson a lot because he had EDD and we were deciding to sell our add-ons through EDD, that we started getting to know him a little bit better. And he started looking at our code, and offering advice, and kind of, we were picking his brain because he was using the same business model.
And so that was, that’s probably the next step. Like the next thing that took us off, we kind of reached out and said, ‘Hey, does anybody else want to build add-ons for Ninja Forms?” And we’ll sell them on our site. And Pippin said, “Sure. I’d like to do Mailchimp.” And so he built our mail first, very first third-party integration and the rest is history. Like we always have another explosive point for us.
Joe Casabona: That’s awesome. And that…So the takeaway there I guess is, just ask. That’s something that I’ve been learning lately a lot. So, that’s great. And again like, that Pippin is a great resource for a lot of things. He’s a great coder. He’s got a very successful business. So, he was definitely a very good friend to make in the early days.
James Laws: Yeah, I agree. And he’s just a genuinely nice guy.
Joe Casabona: So like he’s somebody who wants to, you know, improve the community and like to push the community forward. So, which we need a lot more people like that. So, which is awesome. Cool.
So I guess let’s get into the crux of the matter, right? You have this plugin, we talked about the journey til, 2.0, which was kind of like your explosive point. And then you just rolled out 3.0, right? Which came with a pretty big interface redesign like it was. So I would love to hear how you and your team kind of built 3.0 specifically.
James Laws: Yeah, absolutely. Well, so this was kind of a big step for us because generally when something’s working, you don’t want to mess with it. And we messed with everything. We messed with how data is saved and built in the backend. We say we change how it’s displayed on the front end. We change the user experience and the user interface dramatically. So we change absolutely everything. So this was a risk for us to take and it’s not been without its problems. I would be remiss to say, “Oh yeah. It was a smashing success and we’ve not had any difficulties.” We’re still working through some difficulties, but we think it’s going to pay off in the long run.
So yeah. What happened was, we hired a company that did our branding. And we reached out to them and said, “Hey, we want to do a new UI. And we think we’re too close to how forms are built. We’d love your user interface design. We want you to help us kind of rethink how forms should look. like how should building forms look like?” So we just reached out to them and started the process. And so that was the first step.
Joe Casabona: That’s awesome. And that is something that I think is a great takeaway for all developers. You guys are really close to the process. You have a bunch of assumptions, get hand, you know, hand that process off to somebody who has no assumption. Or has no assumptions about how the way your plugin works, and just kind of starts with a blank slate. So, you got a new UI from the people who did your branding. You said that you started to do everything kind of from like the ground, like how data is saved and things like that. How was testing, all that, especially for like, so, three is backward compatible with two, right?
James Laws: Yeah. So it’s an…We did something interesting that I’ve not heard of any other product doing at this point. So when you download even right now, if you download the current version of 3.0, we’ve actually shipped 2.0 code with it side-by-side in a deprecated folder. So if you’re using deprecated add-ons or old add-ons, for instance, anything below a 3.0 version, we by default, either if you’ve started on 3.0, we warn you that it’s not compatible, or you get at the opportunity of rolling back to the 2.9 codebase. So you can still work in 2.9 with 2.9 add-ons. But if you’re using only 3.0 add-ons, you can actually convert to the new codebase. Now, this is both brilliant and frustrating at the same time because it’s confusing. It can be confusing to users. Like users are like, I’m on 3.0, but I don’t see the same thing as your documentation shows. They’re like, “Well, okay. Let’s explain that.” We’ve learned that there’s some things that we could have improved in that process, but in the end, it has saved a lot of people some frustration because they don’t end up updating to something that they can’t currently use. It makes it, if they do update and something isn’t working the way they expect, they can instantly one-click rollback, and be right back into the state that they were in before and not have any problems.
So that was kind of a creative process for our testing process was to kind of create a way that made everything compatible and made it easy to kind of switch back and forth between versions, if necessary.
Joe Casabona: Yeah. And that’s something that’s pretty tough and that’s something that makes a lot of people kind of reluctant to upgrade. You know, I came from like a higher ed. I worked in Higher Ed for three years and upgrading was like this big to do. And like upgrade was even like a bad word, like, cause it was, it’s affecting so many different systems. So making something backward compatible is probably a headache in and of itself. But it saves your users the headache like you said.
James Laws: Yeah. And there’s an additional struggle too, of converting people. Like if people are on the 2.9 codebase because the database structure is different, how we’re pulling the data is different. How we need the data is different. It’s saved in different options and in different ways. We had to write and we’ve done a pretty decent job. But still, some people have issues because we can’t, we weren’t able to anticipate everything. But we’re converting all of that data over to the new system so that nobody loses anything like that. All get converted. If you do calculations this way, we will convert it to the way we do calculations in the new way, conditional logic, the same thing multi-part forms the same way. And so that was definitely a challenging process to figure out how to make that work.
Joe Casabona: Man, yeah. So, okay. So how did you, I think I started to ask this before, how did you test all of this?
James Laws: Well, we have some automated testing, a little bit of automated testing. We’re trying to get more automated testing in place because we think that’s important. But it’s difficult sometimes to do that with moving ships. So, but we’re trying to get some more automated testing in place. The truth is we’re a small team. We have really two full developers and then a junior developer. And so what we ended up doing is just writing, testing. I mean, we manually tested everything we could possibly test. So we ran thousands and thousands and thousands of conversions of super long forms to really short forms, to very complicated forms with every single add-on installed with just core installed. Like we just manually did so much testing through every single stage of the process. And we caught a lot of stuff that way.
Now, of course, there’s some stuff that we weren’t able to test and catch. And so we have had some of those issues that we’ve worked through. Luckily that’s been a very small subset of users. So that’s been really cool.
Joe Casabona: Awesome. And, you know, I can definitely vouch for this as a developer. Testing is one of my least favorite things to do because you essentially, I mean, it’s like building a wooden table and then like taking an ax to it.
James Laws: Yeah. It’s mind-numbing and it’s so tedious. Going it like you end up doing things like, “Well, let me go in and purge the database again. And let me do this, and let me change this option.” And it’s crazy.
Joe Casabona: Yeah, man. So that sounds like a ton of work. But I mean like that’s almost what you have to do with forms. So forms are A: the main way that people interact with websites and B: there’s so many different permutations of forms that could be for websites. So, you know, manually creating it and just kind of making a bunch of test cases sounds like it’s tedious, but it’s the thing that has to be done. So.
James Laws: Yeah. I think, you know, a lot of times you get the advocates for like unit testing, and unit testing is great. It’s not the unit testing is a bad thing, but unit testing is really hard to test when anything can be entered in. Like unit testing can tell you, “Did you get back the value you were expecting?” But I can’t tell, did I put in the right value? Did I, like, it’s really hard to work unit testing straight through. So in a form space, when you’re talking about a lot of user-generated content that’s got to go through multiple systems, unit testing is tough. And yeah, you can, there is other testing you can do. And we were implementing those things. But manual testing, unfortunately at times, is the only full-proof way to say somebody watched it, saw it, did it. And we’re okay.
Joe Casabona: Right. Well, it sounds like for anybody who’s looking for a good idea there, a random form generator add-on for Ninja Forms will.
James Laws: Yeah. Absolutely. Absolutely.
I know enough of it to talk somewhat intelligently, but then if we get into the nitty-gritty, I start to, my lack of knowledge begins to reveal itself. The truth is, we use a lot of cool technology and we’re actually now just starting to implement the Rest API a little bit more thoroughly, especially with 4.7, coming out of WordPress and putting more of the rest API in place.
Joe Casabona: That’s awesome. So we have a pretty good timeline. You know, usually, I like to ask about the transformation of the product, but we have a pretty good timeline for [Inaudible 22:26.33]
In 2011, you launched, you had a big pivot in 2013 where you switched to the add-on model. And then in 3.0, we saw a really big UI transfer. We taught, I mean, like basically a ground-up transformation. So, what are your plans for the future? You just rolled out 3.0 pretty successfully. You’re integrating the Rest API, but do you have anything big on the roadmap for, you know, the next few months or?
James Laws: Yeah. So that’s the struggle, right? Because we are a small team and we’re actually pivoting the structure of our team to make it more, make us more capable of pulling off some of the plans that we have. We’re obviously going to continue to push Ninja Forms forward with more because integrations are really easy to build. A perfect example is not that this is a complicated one, but our developer one evening took a couple of hours and built Click Send. And now, you know, and it just does what it needs to do. It’s really fast. And so you can build integrations on Ninja Forms, like very, very rapidly.
So we’re going to be putting out lots of integrations to help that process out. We have a lot of other applications that we’ll use. Ninja Forms is kind of the framework that we’re getting ready to build. And we’re also looking at different SaaS options that we can do because Ninja Forms is now somewhat headless, it does, you know, it doesn’t need necessarily even WordPress to do what it needs to do. But Ninja Forms can also be generated anywhere. So it’s not going to be long that somebody will be on the front end of their website and click add new, and there’s going to be a form option. And the builder will just load on the front end of their website. They can build their form and drop it right in, which can be done in the post editor that can be happening to any custom post type editor.
So it’s kinda cool that the way Ninja Forms are being structured, there’s really no limits to where we can inject it when the time when it’s necessary.
Joe Casabona: That sounds awesome. It sounds like that makes it sound like amazingly flexible. So it could do things like, be like a Google forms competitor almost, or like a Zapier replacement, something like that. You have so many integrations and building those things on the front end.
James Laws: Yeah, that’s actually, it’s funny. You know, at one time, Chris Lema wrote a post about how to create a post with Ninja Forms using conditional logic and our front end posting add-on. And one of the things he talks about is that the power of Ninja Forms really is in the actual system like it’s, yeah, you can build fields, all form builders build fields. But our action system lets you add an unlimited number of actions that happen and fire kind of like a Zapier when a form is submitted. So you can integrate it with CRM’s and send off fire-off payments. You can do all of those conditionally and say if this option then sends a Stripe. If this option, go to PayPal. If they collect this option, send them to their Salesforce. If they go to this one, you know, subscribe them to your Mailchimp newsletter, like you can do all of these things with one form very powerfully.
So the action system is kind of really what sets Ninja Forms. I think the UI is pretty amazing and beautiful. But the action system is really where the power comes in. It’s really kind of cool.
Joe Casabona: Yeah. That’s fantastic. So, definitely excited to dive even deeper into that. You know, I’ve been playing with it a bit, but that’s so cool.
So we are, we’re banging upright against time. So the last question that I like to ask is, do you have any trade secrets?
James Laws: Trade secrets. That’s a tough question, right? You know, my trade, my biggest, I think my biggest secret or my biggest recommendation towards learning, towards success, leaning towards success is, invest in people. Don’t invest in products. Don’t invest in ideas. Invest in people. People will always take you farther. And so that, I think that’s true in friendships. I think that’s true for employees. I think that’s true in partnerships. One of my core values. And it’s become the core value of our company to be a cheerleader.
And so, you know, we get caught so much in the WordPress community about WP drama. And so my thing is when I see somebody, somebody has a snafu, somebody has a bug, somebody has a secure, I tell my team, we don’t pile on. We don’t critique. We cheerlead. We build them up. We tell them it’s going to be okay. We offer our support. We build up. Because in the end, I would rather invest in people and put positive energy into the world instead of negative. And I think that will pay off on your business every single time.
Joe Casabona: That is phenomenal advice. That’s, I’m going to, I’m probably going to add that again to the end of this podcast. Because it’s something that I need to hear a lot too. You know, we just, there was just a bit recently at the time of this recording of WP drama and, I know that you know, being more positive definitely would have been better than piling on to what you know, quite frankly, something that we probably don’t have the whole story too. So, that’s also incredible advice.
This is the week before the election. So this podcast will be coming out after the election. But it’ll definitely be words to remember, you know, in a post-2016 election world. So, awesome. James, thank you so much for joining me today.
James Laws: Well, thanks for having me. I had a blast and it’s really been a pleasure.
Joe Casabona: Me too. Absolutely. Make sure to check out Ninja Forms and Mastermind.fm. I’ll link them both in the show notes.
Thanks again to our sponsors, hover.com, and project Panorama. Definitely check those guys. If you enjoy the show, head over to iTunes and give us a nice rating and review. Those really help with listing as higher in iTunes. We only have a couple more episodes left of Season One. We are ending in the middle of December. We’re taking a short break and then we’re coming back with a vengeance with Season Two in January but we still have a few more episodes. So let’s go ahead and enjoy those.
And until next time, get out there and build something.
Free Email Course!
5 Fast Fixes to Grow Your Podcast.
Wondering why your podcast growth is stagnating (or non-existent)? You likely just need to make a few small tweaks to see growth. In this free email course, we’ll go over what they are, why they work, and how you can implement them. Sign up below to have it delivered instantly.