- Pippin Williamson (twitter github Pippins Plugins)
- Curtis McHale (twitter github blog)
- Eric Davis (twitter github blog)
- Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
01:28 – Pippin Williamson Introduction
01:53 – Making Money Making Plugins
- Product Development
- Custom Development
02:57 – GPLv2 Licensing
- Disabling Features
11:45 – Building a business around open-source
12:48 – Transitioning from freelance to product work
- 072 – Saying NO
- Doing products during spare time
- Brian Casel
- The Bootstrapped Web Podcast
19:10 – Starting with products vs consulting
22:38 – Occasional Consulting
23:41 – Marketing Products
- Personal Brand
- Word-of-Mouth Referrals
25:42 – Customer Support
27:17 – Advice for people getting into commercial development
- Go the extra mile for your first customers
28:01 – Deciding what products to build
- Building what you need
- Best Practices
31:30 – Pippin’s Plugins
34:26 – Pippin’s Support Team
36:45 – Tools to Run the Business
- 1Keyboard (Curtis)
- Radium (Curtis)
- Episode 148 | Online Marketing Trends with Special Guest Clay Collins (Eric)
- The Online Marketing Makeover Training Course (Chuck)
- Bloons Tower Defence 5 (Chuck)
- SearchWP (Pippin)
- FacetWP (Pippin)
[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.]
[You're fantastic at coding, but do you have an action plan to take it to the next level? The upcoming book, Next Level Freelance, will help you optimize your freelance business for happiness. The book is packed with actionable steps to make more money, case studies, tips to find more clients, and exercises for you to establish your desired lifestyle. Extras include: 9 interviews with freelancers who make great money while enjoying great work-life balance, videos on strategies to find quality subcontractors, and videos on making more free time by outsourcing your daily tasks. Check it out today at nextlevelfreelance.com!]
[This episode is sponsored by Planscope. Planscope is a project management and collaboration net built for freelancers in the way they work with clients. It makes it easy to price out new estimates and once you’re underway and help answer the question, these get done on time and under budget. I’ve been using Planscope to do my estimates and manage my projects and I really, really like it. It makes it really easy to keep things in order, and understand when things will get done. You can go check it out at Planscope.io.]
CHUCK: Hey everybody and welcome to Episode 79 of The Freelancers’ Show! This week on our panel, we have Curtis McHale.
CHUCK: Eric Davis.
CHUCK: I’m Charles Max Wood from DevChat.tv. We also have a special guest, and that is Pippin Williamson.
PIPPIN: Hi everybody!
CHUCK: Since you haven’t been on the show before, do you want to introduce yourself?
PIPPIN: Sure! As he said, my name is Pippin Williamson. I’m a WordPress plugin developer. I spend my days writing plugins, supporting plugins, and generally running a business around commercial plugins. I have a couple of large plugins out there. One called “Easy Digital Downloads” and another one called “Restrict Content Pro” that I’ve considered my main ones. That’s pretty much what I do day-to-day.
CHUCK: I’m a little curious, generally, when you’re making money writing plugins for WordPress, are you writing the kind that people pay for and then they download the code and stick it in the WordPress installation? Or, are you doing custom development for people? Or, both? How does that work?
PIPPIN: I do several different kinds. I would say my day-to-day development, it would be considered product development where I’m working on a plugin or plugins that are purchased as a subscription or as a single purchase where the customer gets to install in their site and use. Then every now and then, I will do custom development for customers where they have a specific plugin request and I will build that for them that is tailored to their specific needs. Sometimes, those will be one-off plugins where they’re the only customer that ever uses it; sometimes, those plugins are then released either on WordPress.org for free, or they’re released as a commercial product under some sort of agreement with that original customer.
CHUCK: One question I have about that is, WordPress is licensed under the GPLv2, wouldn’t your plugins also carry the GPLv2?
PIPPIN: Yes, every single one of my plugin is licensed under the GPLv2. The way that that works – and this is something that a lot of people are a little unclear on when it comes to selling commercial plugins – at least if you will promote that you’re licensed under the GPL, all of your code inside of your plugins is GPL. Meaning that if your customer purchases it, they can take it, they can do anything they want to it, they can redistribute it, they can modify it, they had the same freedom that you would with, say, a source code in WordPress itself.
What we do for commercial plugins is when you purchase a license, you’re not licensed in the code, you’re licensed in support and updates. If you want to get support for the plugin, or you want to get access to the latest versions, bug fixes, new features, etcetera, you have to have an active license certificate. That license basically just grants you permission to get updates, we will deliver the updates to you, and we will assist you with problems. That’s what you’re really purchasing; you’re not actually purchasing the code behind the plugin.
CHUCK: So I can give it to my friend, then you can get mad, and I can say, “GPL, dude!”
PIPPIN: Yup, absolutely.
ERIC: That’s what I did with Redmine and ChiliProject. They’re both GPLv2 so the plugins I wrote, I actually had it in my contract that I could not give like a work-for-hire or any kind of that IP to my customer or my clients; I’d have to give them, “This is also GPLv2 so you’re going to get a GPLv2 plugin,” and I end up putting it on GitHub. The thing they would get is they would get the code and they will use it, and I would give them support and training and all that. Anyone could come along and download it, but they might not know how to use it; or, if they found a bug that was outside of my client’s used case, I wouldn’t build to support that the open source person downloading and use that.
PIPPIN: Yeah, absolutely. A case where this really comes into play is if you have a commercial plugin that then gets bundled with another commercial product such as the theme or something like that. Or, it’s simply distributed through some other means; maybe someone runs a website where they’re allowing people to download other commercial plugins free of charge or at a different rate. What happens is those people that obtain the plugin through the none official sources, you don’t get support for their issues when they come up. That’s really how you control it and you prevent it from becoming a problem for US business.
Customers, when they purchase a commercial product, they want support. They want to have their questions answered, they want to get their bugs fixed, etcetera. So by purchasing a license, that’s how you guarantee that as opposed to downloading it from somewhere else that’s a little shady or something like that.
CHUCK: Got you.
PIPPIN: We see a lot of problems where somebody will have a theme that they want to sell, usually on ThemeForest just because of the scale. What they want to do is make it easy for their customers and just sort of bundle a bunch of commercial plugins into the theme, whether it’s slide or plugins, forms, eCommerce plugins, whatever it is, they will bundle a lot in there. But it causes a problem because the customers are using it, then they run into a problem with whatever plugin they’re using that came bundled with the theme, but so then they have no way to get support for it. Because the theme that developer, while they may know the plugin really well, they may be a little bit of help, but if it gets into a really technical issue, they’re going to need to go to the actual developers of the product. If that customer doesn’t have a license key because they didn’t actually purchase it (they got it included with their theme as a bundle) they’re not going to be able to get support for it usually.
CHUCK: I guess the other question then is – so you can distribute it however you want to, you can give it away because it’s GPL, and it’s the support that comes up – can you disable certain features based on having a license or not?
PIPPIN: Yeah, absolutely, if you want to.
CHUCK: But it’s still open source so they can go and they can circumvent?
PIPPIN: Right, it’s still open source. If they wanted to, they can go and disable that.
PIPPIN: Usually, my own philosophy when I still a commercial product, I’d never disable features based upon a license key. What I would do instead is simply disable the automatic updates. Let’s say I push out version 2.5 of a plugin and it’s got X number of features, bug fixes, etcetera, any user that is on version 2.4, they’re only going to be able to update if they have an active license key. That’s usually the only thing that would disable for a commercial plugin – the access to support and the automatic updates.
CHUCK: So when it goes out and it says, “Hey, is there a new version?” your server says, “Not for you.”
CHUCK: Because you didn’t send me a license key that are –
PIPPIN: Yup, more or less.
PIPPIN: And it’s a pretty common practice. A lot of large commercial plugins and theme businesses do the same thing.
CHUCK: I guess this is kind of an interesting dichotomy – I know we’re still talking about GPL and that’s not exactly what we’re on here to talk about – I am curious, do you feel like the GPLv2 license impact your business positively, or negatively?
PIPPIN: I think it’s a great thing. I personally love the GPL. I like everything that it entails; the freedoms, the ability to do what I want with it or let other people do what they want. I’ve never really had a negative impact coming from it. I think the largest negative impact I’ve ever experienced with the GPL is people debating what you can and can’t do with it. In terms of actually hurting my business because something is under the GPL, it has never really happened.
CHUCK: It makes sense. Curtis and Eric, feel free to chime in, too. I know you both have worked on GPL stuff.
CURTIS: I had to agree with Pippin. I had clients asked about it, and I basically say it would be stupid of me to distribute the plugin I’m doing without due permission. But it technically can’t stop me; it’s just a bad business decision so I won’t make it.
CURTIS: And yeah, anything I would release, I just do GPL. I wouldn’t sweat it. The people that are going to try and steal it, they’re going to find it in some way anyways, and people aren’t going to pay for it anyway…You can’t fight it.
PIPPIN: A lot of people say that when it comes to the GPL, like if Curtis releases something, I’m not going to take it, rebrand as my own, and release it. It’s just bad business. I personally care about my own reputation from a business side and a personal side, so I’m not going to do that. That’s how a lot of people feel as well.
Now, there are those that couldn’t care less about that aspect. But in general, a lot of business, while there’s always the dark side of business, a lot of people are actually pretty friendly.
CHUCK: I guess the other thing that I ran into is that some businesses are afraid of the GPL.
PIPPIN: Absolutely. I’ve seen a lot of thread, there was one recently on ThemeForest. When ThemeForest made the switch to allow theme authors to go GPL or not, there was a lot of people that just spoke out of the form saying like, “This scares the heck out of me because somebody else is going to make my code and resell it and do stuff like that.”
I think that is a very real fear that is perfectly valid. I think in general, people make it a lot more serious than it really is. Obviously, it’s what’s going to happen. But like Curtis said, if somebody wants to pirate your code, they’re going to pirate your code. They don’t give a darn whether it’s licensed or not.
CHUCK: I was going say PHP, Ruby, whatever you’re running, it runs on a runtime, it runs on an interpreter and you can see the code; that’s just the way it is. It’s not even compiled.
CURTIS: The big thing is, even with a license that would let you limit usage; you just have to go spend all the money to go do it, right?
CURTIS: Like I’m not going to chase someone down even if I did have a license for it. People take the content off your site, you never chase that crap down; way better things to do with my time.
PIPPIN: I know a lot of people that actually actively try and fight piracy, even of GPL plugins which is kind of interesting to me. That’s a different discussion. But I know people that will actively fight it and they will spend hours every single week chasing those people down, sending DMCAs, etcetera. I think it’s just a waste of time; people are going to pirate your code no matter what you do. I guarantee you, every single one of my commercial plugins can be found via Google somewhere. But I don’t really care because I have a lot of better things to do. The customers that are willing to purchase it in a valid manner, so to speak, are the ones that are worth my time. Catering to those is much better for my business than trying to prevent those that are going behind through the back doors.
CHUCK: I guess this kind of leads into how do you make money or how do you build your business around something that’s open source that’s readily available to everybody?
PIPPIN: I would say the first thing is your audience is huge. Just because something is open source doesn’t mean that it can’t be sold. I think there is a general misconception that open software can’t have a price tag on it.
The WordPress world is huge, as we all know – millions and millions of users of potential customers. So going about making a living off of WordPress products and WordPress plugins is really just a matter of getting it into the hands of the customers. Whatever your means for getting it out there is, I think, it’s ultimately the same – you build your product and you get in front of the eyes of the potential customers. Assuming you’ve built a good quality product and you have a good support behind it, it’s going to succeed.
CURTIS: Pippin, you did used to freelance, though, correct? How did you make the transition from freelancing to product?
PIPPIN: It was a very gradual transition. I still do a little bit of freelance, but not very much. I’ve been working about 5 years now, and I would say the first 3 ½-4 were purely freelance doing the standard freelance going from project-to-project, maybe having projects that go on for a year, 6 months, or whatever it is. I had several long-term clients that I did a lot of different projects for. Generally, they’d be like studios where I was their contract developer.
What I did, in terms of transitioning to product-based business, is I just slowly released products. I was in college at that time and I wrote my very first plugin which had to do with custom fonts for WordPress. I had never written a plugin before, I decided to write it, and then I’ve been involved to marketplaces (ThemeForest Theme, CodeCanyon), and I decided, “You know what, we’d just throw it up there, we’ll see what happens,” – maybe a get $5 a month, $10 a month, something like that, buy a cup of coffees – and it did pretty well. I was really surprised by it. It brought in a decent amount; it wasn’t anything to live off of by any means. Maybe I was a college student that could live on $100 a month, but it wasn’t drastic. Over time, I released a couple more; I built another plugin or two, release them. It was just a gradual increase in terms of what those products were bringing in month-to-month. At one point, I realized that they were bringing in enough that if I was to focus on purely product development that I would be able to sustain myself and my family on it. The hard part, honestly, I don’t think the hard part was getting enough sales to sustain myself; I think the hard part was figuring out how to actually get rid of freelance work. When you have been relying on relying on freelance work, project-to-project, or even if it’s one big project for several years, it’s really hard to just switch that off, so I’m getting email from somebody and I’d say yes. I think you guys talked about this, figuring out ‘How to Say No to People’, a few episodes back…
PIPPIN: Yeah, that exact same problem; that was the hardest problem for me to overcome – figuring out how to actually say ‘no’ to potential projects. I get a project and I’m like, “Yeah! That sounds fun! I’d like to build it. It’d be a nice little paycheck for the month or 2 months (whatever the time period is), why not?” What I struggle with was actually finding time to build the products because I was always involved with the freelance work. I was just a really gradual transition, so getting away from that and realizing that I didn’t need to take a project; I could say no to something, or I could send it off to someone else. Sometimes, it was more worthwhile for me to spend an hour working on a future product than it was to spend an hour that was actually build to a client. Getting to that mentality was pretty tough.
CHUCK: Yeah, I find that I’m kind of a catch-22 where I would love to spend more time on products, but I spend all my time consulting for other people. I feel like I need that income in order to sustain, keep the lights on, and keep brat kids fed…
PIPPIN: It’s really easy to see the benefit of those hours spent consulting or whatever the kind of freelance that you’re doing because you can see the direct revenue brought in from your time spend whether you build by the hour or by the project, when you’re done you have a paycheck. Working on product, it doesn’t work that way. Maybe you spend 100 hours getting your product ready to go and then you launch it, and then your first week, you do 200 in sales, or less or more. So getting that mentality of trying to see the long-term values of a product can be tough because you’re so used to going hour-to-hour or project-to-project where you have that immediate benefit.
ERIC: Most of the difference between like, with freelancing, you’re building an income like you work and make the money, whereas with products, you’re building an asset, and then the asset, hopefully, over time builds you the income.
CHUCK: I see that but at the same time, I feel like I have to pay the bills right now so I put off my products.
PIPPIN: What’s worthwhile for me in figuring that out was, doing the products in spare time over a year. I had a product that would bring in a little bit each month, then I’d have another one, and then another one. Eventually, I got to the point where the products, even though I was still freelancing, were doing enough that if I was to quit freelance tomorrow, I would be okay. I think that’s kind of key; instead of just quitting cold turkey and saying, “Okay, today I’m freelance, and tomorrow I’m purely products even though I don’t have any products today,” while it’s definitely an option, if you don’t have a reserve, that’s a little bit tough. I like the idea of doing it gradually over 6 months to over a year whatever so that on that day that you decide to actually make the switch, it’s not this 60 to 0. You don’t want to go from making your monthly income to making nothing because you’re suddenly is going to need 100 hours to build your first product. You want to make sure that on the day that you quit, you’ve already had sales revenue coming in.
CHUCK: It’s like people who go from a full-time job into product or consulting; they’re constantly being reminded, “Have enough to make up for enough of your income to where you can just quit.”
PIPPIN: Right. Or, you can survive for 6 months without making a dime or something like that.
CURTIS: I got to know Brian Casel, he decided he could make less, afford to make 60% and give the other 40% to his product for a year with a goal that at the end of the year, it would make up the 60% again, so that the following year, he could be fully product, to make his own stuff.
PIPPIN: Brian used to be one of my main freelance clients. I did a lot of work with Brian.
CURTIS: He actually has a good podcast that talks about that, especially the first few episodes I think, on that one.
CHUCK: Let’s assume for a second that I’ve decided I want to be a WordPress developer, which way do you recommend that I go to get –
PIPPIN: You mean product developer?
CHUCK: Either way. Do you recommend the people start with products or consulting and move from one to the other?
PIPPIN: I think it really depends on what your current situation is. Let’s say you’re going from a fulltime job somewhere and you want to quit that job, the easier one is definitely consulting. I don’t want to say consulting is easy because consulting is stupidly hard. Every aspect of a freelance business is hard; there’s nothing easy about it. But I think consulting is probably easier to succeed at than products if you are new at the game. If you have a list of contacts, or people who can refer projects to you, if you have a client, they want a project, you build it, you’re done. So the main parts that you have to worry about is the communication with the client, the actual building of the project, and the delivery; whereas with a product, you have those same things, but you also have to figure out how to put it into the eyes of the customers. If you don’t have the means to do that, you can build a great product, but it doesn’t necessarily mean it’s going to go anywhere.
So I think consulting is probably easier to have a steady flow of income than products. But once you succeed with products, I almost want to say it’s easier day-to-day in some ways – there’s definitely the benefits of it like deadlines for example; when you’re doing product development, there’s not nearly as many strict deadlines as it might be with projects. You still have deadlines, but not the same kind.
CURTIS: And you can just push back yourself; push yourself back, get stuck in this loop of refinement instead of putting it out there.
PIPPIN: Right. I think it really depends on what your experiences are. If you’re coming from a sales and marketing background, or some sort of background that’s going to make it really easy for you to get your product out there and get an exposure, by all means go for a product. If you are from a background where that’s kind of out of your forte, then I would probably go with consulting.
CHUCK: I have to say that I got laid off when I went into consulting. I think that was definitely the easier transition.
PIPPIN: You got laid off which made you go into consulting? Or, you got fired from a client when you started consulting?
CHUCK: No, I got laid off, and that’s what got me into consulting.
CHUCK: It was pretty easy because you just have to find that one person that’s willing to buy your hours.
PIPPIN: Right. And I think that consulting has a lot of value word-of-mouth. Products do as well, but I think consulting probably has a little bit more value, at least immediate value word-of-mouth than product does for word-of-mouth simply because – let’s say that your typical consulting project is $500-$1,000 or whatever your standard rate is – if you get one client consulting, you have, let’s just make it easy and say $1,000 per project. But now, if you get one new customer for your product, your product might sell for $39. So they definitely vary; it’s different scales.
CHUCK: Yup. One thing I am kind of curious about, have you gone completely from consulting then? Are you not doing that anymore?
PIPPIN: Not 100%; I still do a little bit of consulting. I have 1 major client that I still work for every single week. I am their dedicated developer so I maintain their site; I build new features, things like that. And then I have another established client that I used to do a lot of work with, and we still do a little bit like I almost finish a project for them earlier this morning. But those are ones that like one of those, I work for them 1 day a week; the other one, I work for them twice a year.
Other than that, the only consulting I do is if somebody has a custom plugin that I decide I want to build. Or, if somebody wants to, say, sponsor the development of a new feature in one of my existing products, I’ll do that. But general consulting, I don’t generally do.
CHUCK: My question then is, how do you market your products? How do you help people find up?
PIPPIN: I’m really terrible at it. I’m not good at marketing; I have no shame admitting that. So my marketing comes from a couple of different places. Number 1, I use my personal brand. I have a decently well-established brand in the WordPress plugin community, and I built that through my own site, pippinsplugins.com, where it’s basically a tutorial site as well as my own personal portfolio. I used to do a lot of writing for a lot of different sites: Pro Blog Design, Wptuts+, several others. So there’s a lot of, I would say, just general exposure from other developers in the community so there’s a lot of, I would say, word-of-mouth marketing that goes through that.
I used to do a lot of stuff on the involved marketplaces, which kind of do your marketing for you in some ways; you can be not quite as aggressive with marketing there, and it would still be reasonably successful simply due to their huge traffic numbers. But in terms of marketing to new users, I tried to just build a really good product. I think when somebody finds a product that works really well for them that they really liked, they want to tell other people about it. If somebody asks them what they would recommend for a certain situations or scenarios, they’re going to recommend the one that worked really well for them.
I’d say my number 1 marketing strategy is making really happy customers. One of the ways that we do that is try and provide topnotch support. Sometimes, I would say our support goes above and beyond. Obviously, we can’t please everyone, but I think by providing really topnotch support to customers, it makes them much more likely to refer others to us. I think it’s a hugely powerful marketing tool. I’d say that’s where the primary marketing comes from.
CHUCK: That’s actually really interesting philosophy, that you build topnotch stuff and then provide top-notch support. I found that a lot of places or a lot of people, especially professionals, because you’re talking about commercial stuff that people are going to put on their professional site, it really makes a big difference to them when they make the call to the support and they get exactly what they expected, or better. I’ve known a lot of people who have left a business that they have done business with for a year or more because they had a terrible experience with their support. And I’m one of those people; if I can’t count on it, I’m not going to use it.
PIPPIN: I’m exactly the same way. I tried to treat my customers – it’s the old saying: “Treat others the way that you want to be treated” – so I tried to treat my customers in support the way that I would like to get support. In doing that, anytime that I run across something that somebody who doesn’t give great support, or even decent support – support is really hard; support is by far the hardest aspect of my business – so when I find people that are not providing great support, I don’t even need to write them off because I can acknowledge that it’s really, really hard, but it’s generally pretty easy to tell if somebody cares about trying to help their customers as opposed to just not really caring at all.
So those companies or individuals that make it clear that they’re trying to help you, that they want to help you, will always get my business.
CHUCK: Yeah, it makes sense. So what advice would you have for somebody who’s just starting out in commercial development?
PIPPIN: Put a lot of extra time into your first few customers. The support that you provide to your first, whether it’s 10, 100, or 1000 customers, can be huge because those are the first people that are trying that out, and they’re probably the first people that are going to make testimonials of some form, whether it’s leaving a review on your product, making a blog post somewhere, sending a post out on Twitter, etcetera. Those are your first customers that are going to have the opportunity to put your product into the hands of all the others. If they had great things to say, that’s good for you. If they have really poor things to say, that could be catastrophic.
CHUCK: How do you decide which product to build?
PIPPIN: I build what I need. I have a couple of products that I built that I decided, “You know what, I’ll just build this for fun. I don’t really need it, but I’ll build it anyway.” To be perfectly honest, those are my least favorite products. I don’t like them very much because I don’t personally had a need for them so I don’t have as much of personal connection to them, and I don’t actively use them day-to-day so they don’t get as maintained as well.
Usually, for me, when it comes to building a new product, do I have a need for it? If I have a client that needs it, I need it for myself, I have a friend that needed it, or something like that, that’s usually what determines if I build it. Like my 2 main plugins that I have, which should be Restrict Content Pro which is a subscription management plugin, and Easy Digital Downloads which is eCommerce for digital products, both of those I needed for my own personal site in business. I also needed them for a couple of my main clients. So I built them for myself with the features that I needed, and started there. Obviously, some of them, they’ve expanded in ways that are beyond my personal needs, but that’s where they started. I think in general, that’s a good way to go because if you personally need something, you’re going to build it the way that you want and you’re going to build it the way that would work, or works for you at least.
If you’re building something for yourself, it’s probably not going to be crappy because you don’t like working with poor stuff whether it’s your interface, or your functionality, or whatever it is. If you’re writing it for yourself, you as the developer, probably don’t want shotty code running your system. So it’s a lot easier to, I think, maintain a high quality or standards when you’re writing something for yourself.
CHUCK: Nice. Yeah, that makes sense.
PIPPIN: Curtis, would you say something along the same lines? When you build a product – I knew you have several plugins out there – do you build them for yourself? Do you build them for clients?
CURTIS: It depends, I suppose. I’ve got a couple of simple ones that I built starting for a client then I could just bundle of that easy. I have one that allows you to move some of your taxonomies onto pages instead, that was really simple one. But yeah, I build them for myself to scratch and itch. I’m working on off and on on one for project management; it’s totally just scratch and itch. I’ve had a few people, “Oh, you should do it like this,” and I “No, not interested at all.” I’m not going to build it if I’m going to try and build it your way; you could pay me to build it your way, I guess.
CHUCK: Yeah, I’ve seen that on a few projects that I’ve worked on as well, where the client is basically, “I don’t want you to waste time on these other best practices,” [laughs]. Testing is usually one that gets brought up under those circumstances, and I’m usually unwilling to do less, what I consider sub-par work exactly for those reasons. So I have to come back to it later on; I don’t want to be neck-deep in something that I’m not even sure works anymore.
PIPPIN: Right. I think it’s a lot easier to not ignore best practices if you’re building it for yourself, or you’re building something that suits your own needs.
CURTIS: The flip side to getting stuck in that loop of refine, refine, refine, is you can actually spend time to properly refine things as opposed to having the deadline and having the client say, “You got to do it now,” and it doesn’t matter what it takes, you just have to do it. I know I’ve written bad code when the comment in there says, “There was a deadline, this is what were done,” and it looks terrible. I bet you just about the other way.
ERIC: I was wondering, how many paid or commercial plugins do you have compared to your free ones?
PIPPIN: It’s kind of a difficult question to answer, to be honest; it just seems kind of silly. I have a lot of plugins; I’ve written probably about 150 plugins to date. But plugins are almost things that are kind of issue because they can be super small, or really large. When it comes to commercial plugins, I would say I have, in terms of stand-alone plugins, probably 20 or 30. A lot of them are really small, like I used to do a lot of simple widgets that I would sell through CodeCanyon. Those are very, very simple plugins, and I don’t do very many of those anymore. Usually, if I write a widget plugin or something that’s really simple, I’ll just release it for free.
In terms of my main products that I would say actually contribute a substantial sum to my business’ revenue, probably 5-10. Easy Digital Downloads, which is now responsible for probably 80% of my revenue, that plugin is free, but it has commercial extensions. Those commercial extensions are each plugins on their own, but they are dependent upon the free plugin. I’ve written probably 30 or 40 of those. Each one of those is kind of a separate commercial product, but their dependent upon another one, so I don’t usually count them as a single product.
On WordPress.org, I believe I have 54 plugins. I have a bunch that are on GitHub that are for free, and then most of the ones that are on GitHub also exist on WordPress.org. I definitely do more free plugins, at least a stand-alone plugins than I do commercial ones.
CHUCK: When people install the commercial plugins – basically I guess what I’m driving at is, you have this free plugin, they get that off of WordPress.org, and then they actually have to go and download the other one and put it in place? Because WordPress doesn’t give you a mechanism to pull in –
PIPPIN: Right. Let’s say you download a free plugin on .org, let’s go with Easy Digital Downloads, you can download that through the WordPress dashboard just like you would in any other plugins on .org. And then if you want one of the commercial extensions, which should be things like payment gateways for Stripe or Braintree or a bunch of others like that or a more specialized features, you purchase those offsite (through my site) and then you upload them to WordPress. There’s not an automatic install process simply because WordPress doesn’t give us way to do that with commercial plugins.
CHUCK: Right. I can understand why; it’d be a headache to manage all of that bank account information and keep it safe, and all that stuff.
CHUCK: Is it just you doing support on these plugins? Or, do you have other people that help folks out, too?
PIPPIN: I have 2 parts to my support. I really run 2 separate businesses that are all under the same umbrella. There is Pippins Plugins, which is my own personal site, my personal business and I have several plugins that I sell through there, and then I have Easy Digital Downloads. Both of those are completely separate. When it comes to the Pippins Plugins’ plugins, I do all the support for those. Those would be, my main ones would be Restrict Content Pro, Sugar Event Calendar, Full Screen Background Images, a couple of other big ones on there. Anytime there’s a support question for those, I take care of it. When it comes to Easy Digital Downloads, I actually have 5 or 6 people that assist with support. I do a lot of the support, but I’d have 5 or 6 guys that contribute weekly on it. Sometimes, they’ll do an hour a week, sometimes, 10 hours a week, so each one of those is paid under basically just hourly contracts for providing support as well. So there’s about 6 of us on Easy Digital Downloads.
CHUCK: Nice. I ran a tech support department in the previous life, and I can definitely identify with how much pain that is sometimes.
PIPPIN: It’s interesting ballgame. It’s completely different than the actual development of a product.
PIPPIN: It’s also a really, really important one. There’s a lot of people that are afraid to get into product businesses because they are unsure about providing support; they don’t want to deal with workload, they don’t want to deal with angry customers, etcetera. And then there’s other people who decide to get into product business and ignore the support entirely, maybe because they choose to, maybe because they don’t realize they need to, or whatever reason. But I found by far, aside from trying to write good code, that support is one of the single most important aspects of my business. It’s what determines whether my business stays alive.
CURTIS: Yeah. I actually keep some of my plugins strictly to GitHub so I don’t have I guess the support masses and air quotes and it’s typically just developers who have a bug report instead and are wailing, “Here’s all the details,” maybe they don’t have time to fix it, but here’s all the details so I can fix it.
CHUCK: I’m going to switch cares a little bit here, what tools do you use to run your business?
PIPPIN: There’s a lot of different ones. In terms of development for maintaining and writing code, I keep everything in GitHub repositories. So anytime that I have a plugin, it has a GitHub repository either public or private, depending on which plugin it is. That’s extremely important when it comes to [unclear] for the codebase, keeping track of bugs, etcetera. GitHub is one of the number 1 tools that I use as well as anybody who’s working with me.
Another one, obviously, is WordPress. All of my product sites run on WordPress. I use all of my support systems get powered through WordPress using bbPress. All of my eCommerce system itself is run through WordPress. Almost every major aspect of the business goes through WordPress, which is fun. I’m building products for WordPress and I get to use WordPress to power my business, to power my products, that’s fun.
Other tools, Skype is really important just for keeping in contact with a lot of different people. Recently, I’ve started using a chat system called HALL, hall.com. We’ve been using it for all of our internal chats for the EDD team – for our core developers as well as our support team. It’s basically a web app that’s like a chat room, and it’s really, really great. So far, it’s been a phenomenal system for us, and it’s been a great way for keeping everybody connected to each other, have our team-wide chats, etcetera. There’s no reason we couldn’t do it with Skype, but we just found that HALL works better for us due to each other’s personal opinion. Some of us like Skype, some of us hate Skype, we all like HALL. So that was a big one.
Another really, really important aspect is invoicing, time tracking, etcetera. It’s not as important now since I’m doing mostly product-based instead of consulting, but I still do a lot with it. For all of that, I use RoninApp.com, which is the single best time tracking and invoicing service I’ve ever used.
Let’s see other things that I use…Twitter. Believe it or not – some people are kind of skeptical of this – Twitter is a wonderful tool for business. It’s absolutely instrumental for communication to prospective customers, even really quick bug reports, just talking to other developers in the community. Twitter is probably the system that I use more day-to-day than anything else.
CHUCK: Awesome. Well, let’s go ahead and do the picks then, and then we will wrap up the show. Curtis, why don’t you start this off with picks?
CURTIS: Sure. The first one I’m going to pick is “1Keyboard” as in the number 1 Keyboard. I often use my iPad as a second screen, now I’m at the coffee shop with the project management system, but everything is always squashed on it when it shared actually as a second screen. What 1Keyboard does is it basically turns your Mac into a Bluetooth keyboard for your iPad. So I can have Trello up on the side using the iPad app, and then with the quick key combination, it connects to the iPad and becomes a Bluetooth keyboard for it so I can type right on the screen there from my Mac, and it’s awesome.
PIPPIN: That’s really cool!
CURTIS: Yeah. I found that last week when I was in Starbucks and I was like, “Does this really work?” and I download it, and it does! It’s awesome.
PIPPIN: I’m going to have to keep track of that one. That’s pretty cool.
CURTIS: That actually connects, like when you switch back and forth, you can set up to connect and disconnect the Bluetooth. It takes a second or 2 to connect to it, but not long at all. And very reliable even, say, you’re out at Starbucks or even at my house. Every once in a while it will drop off probably through typing, but in a short of time, it’s fine.
The other one I’m going to pick today is “Radium”, which is basically a little menu bar player that plays internet radio for you. That’s it. I’m not paying for a bunch of other stuff.
PIPPIN: I haven’t used Radium, is Radium an actual service? Or is it connecting to other internet radios?
CURTIS: It just connects to other internet radios. That’s excellent. I stopped paying for Rdio a while ago because I just didn’t feel like paying money every month for something; Radium fills my need for music I haven’t listened to. Typically, there’s not even tons of announcers on it, which is always my issue with Rdio, because the announcers are typically morons.
CHUCK: Very nice. Eric, what are your picks?
ERIC: My pick, there’s a recent episode from “Startups for the Rest of Us that had Clay Collins” one. They talked about marketing and landing pages sign. Because I’m doing a lot of work with that, it was a pretty interesting podcast. And I read and listen to in lots of Clay Collins stuff so it’s a pretty good one. A lot of really bite-sized tactical advice you can put to work right away.
CHUCK: Awesome. I’ve got a couple of picks. Mike Brooks who was on the show before, he just launched a new email course, it’s basically your “Online Marketing Makeover”, that’s what he’s calling it. It’s in essence and series of emails that tell you how to makeover your online marketing. I’ve actually got to look at his curriculum because he’s part of my Mastermind group so he put it out there so we could see it. The second I saw it, I said, “So when is he launching this because I need it.” Anyway, it’s bite-sized stuff, kind of get you to the point where you understand some concepts so you can go and do better with your online marketing. There’s the out one.
The other pick that I have is on my iPhone. I picked up another game that I have been playing lately, it’s “Bloons Tower Defense 5”. I probably picked Tower Defense 4 before, but it’s just fun to kind of start over. Some of the levels are the same, some of the levels are different, and some of the different towers that you can get, some of the monkeys are different. Anyway, if you like Bloons Tower Defense, then go pick that one up.
Other than that, I don’t have any other pick. Pippin, what are your picks?
PIPPIN: Mine are, I’ll keep in the realm of WordPress, mine are 2 WordPress plugins that are really, really cool that I think you should probably go check out. They actually both come from at least one of the developers are the same – I think that several people are both working on them – one is “SeachWP.com”. Basically, if anybody who has used WordPress for a long time knows that search in WordPress kind of sucks; it’s not very good. So SearchWP has built this really, really topnotch plugin to allow you to build much better searches.
The other one is actually a very related plugin, it’s called “FacetWP”, and it is for filtering. Let’s say that you are running a site that list hotels in a city or a whole bunch of different cities. So you’re looking for hotels in all these different cities and states and you will have a really nice page where you can filter by cities, filter by state, filter by all these different things, maybe the number of stars that hotel has, etcetera. FacetWP is for doing exactly that – allows you to build these intricate filtering systems that all work very quickly and live via AJAX. Totally pretty sweet.
CHUCK: Awesome. Alright, we will go ahead and wrap up the show. We are going to be talking to Michael Port in an upcoming episode so make sure you are reading his book. It’s on the 24th so you’d probably get it on the 1st of October. Go pick up his book and start reading, and we’ll catch you all next week!