We have a fascinating interview with Jack Slingerland founder and owner of Kernl.us. Want some frontline insights on what it takes to develop a WordPress business that’s growing every month? Jack has some great insight on what is needed to produce an online business in the WordPress space.
Kernl is a services that provides private plugin and theme updates for WordPress. This is best illustrated with an example. Lets say that you have a brand new plugin that you are selling. Since you are selling this plugin, you can’t host it via WordPress.org because otherwise people could download it for free.
Like any good developer, you want your plugin to be integrated with the automatic update functionlity of WordPress. Thats where Kernl comes into play. By simply adding a file to your plugin and shortcode snippet you’ll be able to host your updates through Kernl instead of WordPress, therefore giving your users the best possible experience and timely updates.
Full Transcript of The Interview
John: Welcome to the WP-Tonic Podcast. Brought to you by WP-Tonic.com, a WordPress Maintenance and Support service for business owners. We talk to the leaders in WordPress, Business and Online Marketing communities, bringing you insights on how to grow your business and achieve success. Now, here’s the host of WP-Tonic Jonathan Denwood and John Locke.
John: Welcome to WP-Tonic, episode 206. Today we’ve got the immense pleasure of having as our guest Jack Slingerland of Kernl.us, Jack?
Jack: Hi. Thanks for having me.
John: Cool. And I also want to introduce my co-host Jonathan Denwood, Jonathan?
Jonathan: Hi there folks. I’m the founder of WP-Tonic. We’re a support maintenance company that only works with WordPress. We’re your trusted partner, aren’t we John?
John: Very trusted. Diving right into the interview, I want to ask you Jack, how did you first get started with development? Is it something you started early on? How did that come about?
Jack: That’s a great question. I’ve been doing development professionally for about 10 years now. But prior to that, as a young fledgling nerd, I used to build websites back in ’99. My first website I built, I think I was in 7th grade or something like that. I build a Star Wars website because who doesn’t build Star Wars websites. I was in Frames. I like the Star background, maybe to play it automatically and things like that. That’s how I got my start. If you actually want to see that, you can go to my blog. I restored it from the web archives. It’s actually pretty fun to take a look at it and you get some nostalgia points.
Jack: Yeah. But after that, I figured I really like this web stuff. I went to college and got my degree in Computer Science and it just stonewalled from there.
John: Very good. I want to ask you, your main product, Kernl, how did that get started and what need were you trying to fill in the market?
Jack: Yeah. Sure. I don’t really do a ton of WordPress Development anymore. But for the first 5 years of my career, I did PHP and WordPress almost exclusively. Back then, I was working at Marketing Agency. We had a whole bunch of different WordPress sites. They were hosted in a huge array of different setups and different places. I kept thinking that it is really hard to update themes and plugins on these sites. It’s just a huge pain to do that. I thought it would be really great if I could hook into a WordPress update system and do that instead. But that was in, I think, 2010, when I had that idea, maybe 2011. I never did it. I thought, “Life got busy. Things happen”. And then, a couple years ago, I was looking for a learning project. I wanted to learn more about the Node.js of Mongo, some front-end development technologies and I was like, “I need a project”. That’s how I wanted things best. I remembered the WordPress update idea I had. So I poked around the Internet. Found that there was really just one other person out there doing that, WP Updates. You guys probably have heard or remember them. And I was like, “Well. It works for them. I’m going to give it a go and see how it goes. Worst comes to worst I’ll at least learn some things”. That’s kind of how I started doing Kernl.
John: Excellent. One question I want to ask you too when it comes to that. For those who don’t know what Kernl is, go into a little bit more detail about what it is and how it works?
Jack: Yeah. Sure. Kernl lets you, I’m sorry. I should have had my elevator pitch ready for this. Kernl lets you hook into WordPress’ update system with your own private plugins and themes. If you need to push an update out, it will look just like a regular update that comes from the WordPress repository. And that’s really the core product, providing plugin and theme updates for people. There’s a bunch of things around it like so you can wire up BitBucket or GitHub account. And as soon as you a new version, it will automatically patch deduct Kernl and the update goes out. So that’s pretty neat. Just like license management. Things like that. But the core product is just themes and updates. Providing updates for them. Because there are a lot of themes and plugins that can’t be listed in the WordPress repository. For instance, you work with a marketing company and you’re building themes for some Fortune 500 corporation. They’re not going to let you list that theme in the WordPress plugin repository. Or if you’re a Premium Plugin Developer, you obviously don’t want to list your hard work there either unless you have a freemium thing going. That’s another situation.
John: So basically, to sum up, it gives you a place to have updates that’s private. If you’re a premium seller or if you’re doing private work, it allows people to have a private production deployment.
Jack: Yeah. That’s correct.
John: Cool. Cool. Cool. So when you were first designing this product, did you look at a product like WP Updates and take that as market validation?
Jack: Yeah. Absolutely. I saw what they were doing. And I was like, “Well. At least someone’s doing it. So I don’t really need to do much research there”. I think that when people are doing research on product they’re going to build, they start to worry when they see that someone out there is already doing that. But I think that people forget that markets are pretty large, especially WordPress. I mean, a quarter of the web runs on WordPress. There’s plenty of room for everybody, especially if you differentiate yourself and do a really good job of what you’re building. So, yeah, I did take it as market validation. Like I said, when I started it, it was a learning project. I didn’t go in expecting to make money or have customers or anything like that, but it just kind of turned out that way in the beginning.
John: When did you realize that Kernl.us was going to be a product that you could actually have a viable side income from?
Jack: I don’t know. I’m pretty self-deprecating. I never thought it would honestly. I was like, “No one’s going to give me money. They’d be crazy”. But it turns out that after I had the NVP down, I posted it on Hacker News, Reddit, a couple forums on Twitter, things like that. I had this flood of 20 or 30 people signed up for it. And I was like, “Whoa. People are actually interested in this”. And back then, it was just as an Alpha and it was a private Alpha, so people couldn’t pay for it, nor would I let them at that point because it just wasn’t in great shape. As soon as they signed up, I was like, “Man. This could actually be a real thing people are willing to pay for. So I think was like the first realization that it might be something serious. And then, the next realization was, after I went through the Alpha and then I exited the Beta, I had maybe 20 active users at that point. When I sent out the email saying, “All right guys. We’re switching it from Beta to full on GA”, where to sign up and put your credit card and people actually did it, that was a big moment. My wife and I went out to dinner that night. It was a neat experience going from people just dinking around with your Alpha and Beta to them actually giving you money.
John: And that brings up a great thing. When you were first launching it, you had a tight scope and you were solving a specific problem. What sort of advice around that area would you give people who are trying to develop their first, either WordPress product or service as a software product?
Jack: I would say, the first thing would be, listen to your customers. Once you actually have them, listen to them. But prior to that, ruthlessly cut scope. Just cut scope away from the product as much as you can until you’re at like a very I wanted to be able to have plugin and theme updates at first and I didn’t even do that. I just went just for plugins. That’s the minimally viable piece that I have and to do that I had to have a web server. So I built the minimum boilerplate around that. And on the front-end, I didn’t even have password resets or anything or like a (inaudible 09:17). People would just enter their email and I’d spin up an account for them. So it was very very minimal. And if you follow the lean startup and lean product methodology, that’s more or less what’s preached. But in practice, it’s kind of hard to do. You see possibilities and you just want to dive into them. Numerous times throughout the process, I’d start writing some code that was not necessary and I have to reel myself back in. It was worth it though, being able to focus on one thing. And then that eventually led to slowly expanding its scope. But it’s definitely (inaudible 09:56) cut scope. That was the one lesson I learned pretty early on.
John: One thing that is very interesting in what you said is, you were talking about early days, you were manually spinning up accounts for people. One of the things that I’ve heard you mention before is when you’re first launching, sometimes taking on technical debt is a necessity, if only to just get things done and get to the finish line of pushing something out. Do you want to talk and expand a little bit on that for a second?
Jack: Yeah. Absolutely. I’m one of those super pragmatic people when it comes to coding. I don’t have any zealotry when it comes to programming languages or paradigms or frameworks. I mostly just want to get things done. It’s hard to do as a good Engineer to take technical debt. But knowing when to do it is also really important. I think when you’re building out an NVP of a new product, take on all the technical debt you can. You’ll pay it back later if it’s successful. But if it’s not successful, you’re out nothing. That was a big realization for me. For the Alpha, I don’t even want to explain how the code base looked. But once I realized that it was actually a product that people would use, I started paying the technical debt back. But I wouldn’t ever have done it before then. During the Beta, I focused on solely on paying technical debt, getting the build process down so I could ploy in one key press, having a huge amount of unit and integration tests because people are actually using it, relying on it. Building out the infrastructure so it’s more reliable etcetera. Things like that. But in the beginning, take on all the debt you can. If there are solutions available and you can afford them, buy them. Don’t build them yourself. It’s a waste of time.
John: So the Alpha release is really just about market validation. And then the Beta release is more about paying back that technical debt.
Jack: Yeah. In my case it was. Some people might structure their release differently. But for me, it was very much market validation, technical debt reconciliation and then launching more probably.
John: How do you find time and energy to first start a side project when you’ve got a full-time life going on?
Jack: Yeah. So that one’s kind of hard. That’s really hard actually. I try and an hour a night working on it. At the beginning, it was kind of hard to even get that. Right now I don’t have kids. So I do not have that as far as like a time suck goes, in the best way possible. So I started out trying to do it like an hour a night. And my wife wasn’t really too keen on that because she’s like, “You’re at work 8 hours a day. We should hang out”, and things like that. But then, when this started making money, that was a little more easy to justify. But most of my time, I spent working on this on the weekends. I get up very early. I’m up at 6 a.m. every day, even on the weekends. My wife sleeps in until 9:30 on the weekends. So I had this 3 and a half hour block on every Saturday and Sunday where I could just dive in and get things done. But that also meant that I needed to know exactly what I was going to be doing in that time period. So having a decent sense of what you need to do and then planning out how to do it was really important to optimally use my time.
John: Totally. Totally. Another thing that I want to, well, actually, you know what? Let’s go to our break and then we’ll continue from there. So we’re going to go to a commercial break. When we come back, we’re going to be talking more with Jack Slingerland of Kernl.us. See you in a second.
Male Voice in Commercial: Do you want to spend more time making money online? Then use WP-Tonic as your trusted WordPress Developer partner. They will keep your WordPress website secure and up to date so you can concentrate on things that make you money. Examples of WP-Tonic’s client services are Landing Pages, Page Layouts, Widgets, Updates, and Modifications. WP-Tonic is well known and trusted in the WordPress community. They stand behind their work with full, no questions asked, 30-day money back guarantee. So don’t delay. Sign up with WP-Tonic today. That’s WP-Tonic.com. Just like the Podcast.
John: We’re coming back from the break. We’re talking more with Jack Slingerland of Kernl.us. One thing that I wanted to circle back to that we were talking about in the first part of the interview was goal setting. And one of the things that you were talking about is when you initially made the launch, people were putting in their credit card information, you and your wife went out to dinner. So that was your first goal. So goal number two, how did you slowly expand the goals out?
Jack. Yeah. I’ve done a full bunch of other side projects in the past. Most of them were learning. Some of them were trying to be startups I didn’t know anything about anything. You don’t know what you don’t know. So you learn that the hard way. This project, I was like, “I need to have reasonable goals”. The first goal was, “I want to learn the technologies that I’m using”. Because at the very least, that’ll be useful in my career. So, yeah, yeah. That worked. The second goal, when people actually started using it was, I wanted by goals to be realistic. It’s okay to have really lofty goals like, “I want to take down competitor X”. But realistically, that’s not going to happen. So it’s better to have less lofty goals that you can actually achieve and then move on to the next one. So I try to do reasonable goals. My first one was, “I want to be able to take my wife and I out to dinner, once a month. And not like McDonald’s. Something actually nice”. And when that happened, I was like, “Okay. What’s the next one?”. And I was like, “Car payment? Sure”. That one took a little longer. But I’ve been taking my wife now to dinner and make a car payment. The next goal, which I’m not quite there yet is, pay the mortgage on my house for a month. The goal after that will probably something along the lines of mortgage plus bills. And then after that, it’s like, “Hey. I can quit my job”. I try and set goals that are reasonable and they’re actually achievable. Otherwise, if you’re just like, “I want to get to a million in revenue a year from the start”. You’re kind of setting yourself up for failure.
John: Definitely. And something else I wanted to circle back to that you touched on just really briefly. And that’s the imposter syndrome. And it’s really something that afflicts a lot of us. How did you deal with imposter syndrome? Obviously, you’ve got a successful product out there right now. How do you deal with it and how widespread do you see that being in our industry?
Jack: I would say it’s fairly widespread in our industry. I think the best developers that I know have imposter syndrome. I think we’re all very careful and humble. We don’t like to think that we’re better than anybody or our products better than anybody. We think that could fail at any time. But I think that through experience, you learn to be confident too, just not at the cost of anything else. It’s okay to be confident in the product. I built a product that is making money. I’m confident in my ability to do that, as least for this product. Maybe not for another one. But, just for Kernl, I’m confident in it and I’m confident in what I know. But I also know that I don’t know everything. So you have to balance between being humble and being confident. I feel like people in our industry tend to go more towards imposter syndrome than they do confidence. I really think we would all benefit if everyone was just a little bit more confident.
John: I think it afflicts Developers more than other people in the industry. And it might just be like how people fall in the spectrum of what kind of skills and temperament that they have. Because people who are more like peer developers like yourself, they tend to be more into that. And that leads me to my next question which is, as a Developer, how did you get out there and start to market your product? How difficult was that?
Jack: Oh, man. That’s the toughest one for me. I’m a super introvert. My wife pokes fun at me for it occasionally. It’s tough, really tough. You have to be able to just accept rejection really well. That’s hard for an introvert. It’s hard for anybody. But, for an introvert who’s putting themself out there for the first time, getting rejected is really hard. But you just have to do it. For me, the first bit of marketing that I ever did for Kernl was on Twitter. I more or less spammed the WordPress hashtag and someone complained about that, but that’s fine. That was really it. I put it out there in Hacker News and if you’ve ever been there, you know the commenters there are just absolutely ruthless. So if you can survive the Hacker News comments or like the sub Reddit comments, you’re probably fine. If you can just grow a thick enough skin through that just put yourself out there. It’ll be fine. Nothing’s going to happen. That was a hard realization to come by. But you kind of gain experience doing it and it hurts less every time.
John: Yeah. Don’t read the comments.
Jack: Yeah. Don’t read the comments. Oh, man. It’s just flames non-stop.
Jonathan: I’ve got a question. Most of the things you read is that a lot of people get totally overwhelmed when they’re like yourself trying to build something really fantastic in a day with your support tickets. The people you’re aiming the product at are mostly other Developers, has this not been a major problem?
Jack: It’s kind of (inaudible 20:42). I think that the way it’s structured like the release of Kernl kind of helped me with that. When it was an Alpha, I had no obligation to do anything. It was just like, “Hey. This is an Alpha product. It’s going to have bugs. Help me fix them and we will be better together”. When I went into beta, I started writing a ton of unit and integration tests. Because I wanted ultimately for support not to consume my life. So writing a whole bunch of tests to make sure that the product was stable and did what it was supposed to do. I also have extensive documentation, so people can help themselves, which it seems to help a lot. I think most Developers, which Kernl targetted at because it’s a Developer tool, would much rather read the documentation than reach out to somebody and deal with a person. So I try to make those two things very good. And then the third thing was, as soon as a support request comes in, I try and answer it as fast as possible. Even if I don’t have an answer, just to get it on my plate and let them know that, “You’re heard. I’m working on it. Here’s an ETA”. And then, as far as like organizing things, I have a Trello board and I have a backlog that has so many things in it. I go through it probably once a month and reorganize things, drop things off that aren’t relevant anymore and I just pull from the top. You have to try and not get overwhelmed and being very active about managing your workflow and it’s one of those things that you have to do.
Jonathan: Yeah. Actually, one part of my WP team, one of our Developers that suggested your product to us. We’ve been using ourselves and it’s fantastic.
Jonathan: Oh. Yeah. The support documentation. That’s rare for a Developer to really spend time on documentation and that’s one of the things that impresses me about your product. So was that a real conscious decision based on your past experience using other people’s products?
Jack: Yeah. Absolutely. I did a lot of work in the Python and Django ecosystem. And if you’ve ever used Django or heard of it, it’s documentation is second to none. That is probably one of my favorite projects ever. Just because you can find out how to do anything. From something trivial to something very obtuse. It’s always there. It’s always easy to find. That is something I wanted to have Kernl be. I wanted to be self-serve. If it never gets to the point where I can quit my job and I’m tired of working out of somebody’s, I would love to be able to just let it coast on its own and people can help themselves as much as they want, with me just doing regular maintenance work. But, yeah. The documentation thing was a very conscious decision. I didn’t want to have to deal with, handle every single customer that signs up and to trying to get their products set up.
Jonathan: That’s great. So what’s the future for the product in the next 6 to 12 months? Are they any major improvements that you’ve got on the roadmap? Or things that you would like to do?
Jack: Yeah. I’ve been thinking about expanding the license management portion of Kernl. It was kind of a bolt on. It was a customer request initially. That’s another thing, as we’re talking about, most of Kernl’s features were customer requests. So always listen to your customers. But I would really like to flush out license management more. Because there’s a lot of work I could do there. And it seems reasonably popular amongst a subset of customers. I think it’d be a big win for me. I just finished the feature flagging feature which was a really long long slog. So I’m kind of taking a couple weeks off from Kernl just to simmer down so I can get some energy and then dive back into it.
Jonathan: Yeah. Well, we basically use it for the integration, the continuous deployment. That’s what we’re using it for actually.
Jack: Yeah. That’s been a really popular feature. That’s another one that I want to make a little bit better. I think once you have everything set up it works as expected. I’d like to get to the point where I can automatically create the web hooks that you need to trigger builds and things like that. I’d really like it to be like press a button, select your plugin or theme and you’re done and it’ll just work. And maybe tell you if you don’t have the Kernl diversion file in it or maybe you want to add the change logs, .JSON file, that sort of stuff. So there’s a lot of incremental improvements that I plan on making over the rest of the year. But I don’t have any huge, brand new, big bang features. I’d also like to refresh the landing page. I feel like I have enough features now that it could probably be multiple pages.
Jonathan: Yeah. I think so. What’s the main thing you’ve learned so far through this process?
Jack: Oh gosh. That’s a good question. I think be patient and listen to your customers are probably the biggest things. And also scope. You have to cut scope all the time. I learned that in my day job. But not having a team around you telling you, “Hey. You’re going off the rails and you need to cut scope”. It’s a very good and very hard experience to cut scope on your own. And then, the customers have been amazing. Kernl’s customers are just great people. They’re really great to interact with. They’re helpful. If they have a problem, they email me and we get through it. I think that it’s kind of restored my faith in humanity a little bit from a business perspective. You hear horror stories of like awful customers doing awful things. I haven’t had that experience. I think that that is partially because the WordPress community is so, I don’t know, it’s like human. Everybody realizes that there is a person behind the keyboard and tries to keep it civil which is quite refreshing.
Jonathan: Yeah. Keeping it civil. We’re going to wrap it up now folks for the Podcast part of the show. We’ll be continuing our discussion which you’ll be able to see on the WP-Tonic YouTube channel or on the website. And there’ll be a full set of show notes and transcription of the show on the WP-Tonic website. So Jack, I’m always losing my voice, how can people get a hold of you?
Jack: You can email me at firstname.lastname@example.org or you can follow me on Twitter @jackslingerland.
Jonathan: That’s great. And John, how do people get a hold of you?
John: You can find me at my website which is LockedownSEO.com. You can follow me on Twitter LockedownSEO. How do the fine people get a hold of you Jonathan?
Jonathan: It’s quite simple folks. You can get me on Twitter that’s @jonathandenwood. You can also get me on the Facebook, the WP-Tonic Facebook page. We’ve got all the videos on the Facebook page as well. And you could email me. I do answer my email personally, not straight away, but I do answer, and that at email@example.com. And you do the ending because you always do the endings much better.
John: Okay. Yeah. So, and again, reminding people, if you’re getting value from this show, be sure to leave a review in iTunes. We would definitely appreciate it. And for the WP-Tonic posse in effect, we’re saying peace out and get your dose.
John: Thanks for listening to WP-Tonic. The Podcast that gives you a spoon full of WordPress medicine twice a week
Why don’t you join us on Facebook every Friday at 9 am PST and be part of our live show where you can a be part of the discussion? https://www.facebook.com/wptonic/
To also see a list of upcoming Friday & Wednesday shows during the month go here. https://www.wp-tonic.com/blab/