If you have worked for any length of time with WooCommerce and WordPress, you know the challenges and pain points of dealing with caching. But there are ways to tame this wild beast that is also a benefit of faster sites. Hosts Jonathan and Robert are joined by Till Krüss who not only shares his journey towards his focus on creating a cache solution, but also how he has built a successful product and put pricing into place that represented the value of his product. Plus, a lot of good tips and stories along the way.
Episode Transcript
Jonathan: Welcome to Do the Woo. I’m your co-host Jonathan Wold, and I’m joined by the always illustrious Robert Jacobi. Robert, how are you?
Robert: Great. How are you, Jonathan? This is so much fun.
Jonathan: I’m excited man. The year’s coming to a close, we’ve got some fantastic episodes behind us and a really good one ahead of us today. You staying warm in Chicago?
Robert: Well, no, not at all. I don’t know what you’re talking about, it’s freezing. It’s that time of year.
Jonathan: It’s good to have you. We have a fantastic guest today. We have Till Krüss, he is the creator of Object Cache Pro and the co-founder of Relay. He does a lot of things with WooCommerce. Till, welcome to the show.
Till: Hey, how’s it going?
Robert: Till’s so excited I think the Canadian air is freezing him as well. Before we totally jump into the Till fun, there was a big announcement with Object Cache Pro and Cloudways and that’s some fortuitous timing to have you on the podcast and that’s really exciting news so congrats.
Jonathan: And for anyone listening, we scheduled this stuff months in advance, so it actually worked out nicely timing wise, but yeah. Robert, do you want to just touch on it briefly let folks know kind of what happened.
Robert: Cloudways, yes I’ve worked for Cloudways. I wasn’t supposed to be the cohost today, so I’m not purposely showing up. But Object Cache Pro is being included on a number of our Cloudways hosting packages and all that performance and partnership and goody ness will get to as Till tells us his story. But it’s announced this week and yeah, check it out.
Jonathan: Yeah. Super excited about that. Awesome. Let’s jump into it. So Till, for those of you who don’t know, let’s start with just your background. When did you first get started in WordPress?
Till: In 2000, it’s probably irrelevant. 2010, maybe. I met a strange Indian man. He was a turban and everything, a Sikh, he was doing kirtan. It’s like a yoga, but you do yoga with music. And I was reading into his music, I would go twice a week. And I wanted to make him a website. Of course, I’ve worked with WordPress before little, maybe my own blog experimenting. I think my own website at that time was unmovable type, that kind of back in the day. And I just wanted to make a website to spread the gospel of his great get together and singing together, and used WordPress made a website over two, three days kind of came easy and that kind of set up my whole career of making WordPress websites, just doing a favor for a friend. That’s how it got slid into it by chance.
Jonathan: And so one of the things I was surprised to learn. So for those of you who don’t remember at one point WordPress the admin has evolved quite a bit over the years. It’s different looks and feels. And if I’m recalling correct, were you involved in the MP6 project?
Till: Yeah, I was, that was a few years later. Also, I don’t even know how I got connected. I think I just slid in there too.
Jonathan: And for those who don’t know, that was the code name for a redesign of the admin. Am I characterizing that right?
Till: Yeah. So by that time, a few years later, I think that was 2013. I published a few plugins, just client work. I have a need for something bundle up as a plugin distributed. And then I saw the post, I believe it was Matt Mullenwegs. Matt posted about MP6 and this cool new project that they want to make the app and responsor because at that time it wasn’t. And mobile was picking up, iPhones were selling, I think was iPhone 4 or 5 at that time, maybe. Yeah, not even five I think. So the early days. And I just, I wanted to contribute, I wanted to help and worked with Mel Choyce, I think is her name and a few others. I forgot, it’s been eight years, I forgot the names, but just contributed a lot to MP6.
I wanted to see that through and contributed some color schemes and little changes that just make this whole experience a bit easier because some of my clients wanted to have mobile and just felt called to do it.
Jonathan: Did you come at it from a technical or a design standpoint?
Till: I would say more from the technical, that was my contribution, but of course, when you pick colors or when you align things, you need a decent eye for design, or you should have a decent eye for design to contribute to these things especially a UI that is so heavily used. You can’t just smack it together and “Ah, it’s fine.”
Jonathan: Till, did you have a background in open. What led you to do open source contribution? Because you did stuff for client, but what was the switch where it’s like, “Oh, I want to contribute more broadly.”
Till: Yeah. It was way before then. There was a statistics tool called haveamint.com. And it was, ah, I don’t know if there was already Google Analytics or it was before then, but it was a self-hosted PHP driven analytics platform and I made some plugins for it. I think locations, they were called Peppers, Mint Pepper, and I made it one for locations. And so I contributed for free, made a pro version of one of them to measure the time on the page. I was trying to do some fancy math calculations of what’s the bounce rate basically and how long are people on the page.
And that’s how I get started with open source. And then with WordPress, I discover this massive ecosystem where I could actually contribute because movable type mean there were these smaller communities and here we had SVN. I was like, “Oh, what’s version control?” All I knew I thought was a text editor before then. And yeah. With the client work through that Indian guy, Poona was his name.. And I just got more and more jobs, some small people, smaller companies that needed a WordPress website and then I made plugins or contributed to open source made plugins and so on because I wanted to fill my own needs, met all the clients’ needs.
And just, well, I used the same email and code on every single platform where when you have a post on WordPress or a page and you have an email address in there, I want it to be obfuscated in some kind of way that you don’t have a plain text email because then it gets spammed. And for every single project I would copy and snippets and I just turn into a plug it and that’s really how I got started with it.
Jonathan: I’m just curious though, to kind of close the loop on the open source contribution of, what’s the motivation in your mind? Why is it worth? Because it’s, okay, open source, right? But to do the extra step of getting the plugin in the repository or to contribute it’s extra work, right? And we know. Robert and I, when we look at the ecosystem broadly, it’s the magic of WordPress, right. But it’s always, but what flipped the switch to you where it’s like, “I’m willing to put in the extra work to release the plugin or contribute.” Because it’s not easy, right?
Till: I think there’s a few parts of number one is, being ignorant about how much support work it is and not knowing how much you actually have to maintain and support and deal with people. Most of them are nice, but every now and then you put something off of free and then someone runs on it. But I would say the driver was more, my wife works home, she’s a potter and she’s really good at pottery. And she wants to not just make mugs that I drink out of or she drinks out of. I’m like, “Hey, do you like my mug husband?” She wants to share it with the world.
And being proud of your craft, which is much easier to understand when you’re a potter or a carpenter, these very tangible, physical, physical objects, but I find it’s the same with software. You come up with something that maybe it’s nobody done or you do it much better, that was also the whole thing behind Redis, I can go into that later. I’m proud of what I did and I’m kind of, I think I wanted to share it. It’s hard to say because it’s been so long since I started, but I think it’s the young and you want to share with the world, that would be my guess.
Jonathan: I like it.
Till: And especially people like Elliot from ACF who probably did 10 years of Advanced Custom Fields before he even started selling anything, just maintaining a super complex plugin that everybody uses on all of their sites and he doesn’t get anything on return. And I think it’s this maybe craftsmanship, that would be my guess.
Robert: I’ve been in the community for not WordPress, but open source as a whole for almost say two decades I think. But what you’re saying Till, I have found to be the case really in a majority of folks who are getting into it at all levels, whether it’s the code and sharing plugins and things like that, or other aspects of it. People like to give and it’s nice to see that open source is very welcome to receiving that. So I like the story because I think that it resonates with most folks who have done a lot of anything in the open source space.
Jonathan: So speaking of other projects, so you also have a background in Laravel, where does Laravel come into the picture for you? You start out in WordPress.
Till: Yeah, I always like sharing this with WordPress people. I get so fed up in around 2015. So I’ve been making WordPress upsides for maybe five years. So fed up with the slowness. I wanted to contribute to WordPress core aside from MP6 which was a dedicated plugin we could push to it, it was not core. And I don’t want to say it’s gate keeping, but I got so fed up with the slowness of having tickets in there for six years and just untouched even though there’s patches, nobody reviews them.
Got so annoyed that I was working on a startup with two friends and I just saw switch over to Laravel because I heard something about it or saw a tweet, just something and it seemed very developer friendly, and got to know the community quite well, became a core contributor to laravel, got involved in, have my laravel elite t-shirt, there was a parody obviously. But yeah. I got really involved and I had this desire to level up my programming skills because I’m self-taught, I never went to university, never did any courses.
Just in the beginning stole other people’s plugins like contact forms and whatever, 2005, a script, I don’t even know what the sites were called, pspsource.com, weird where you could share your SVN get away before, steal other people’s stuff, put my name on there, change the colors a little bit and just 14 year old kids tinkering around. And because of this lack of education or being taught by a mentor anything, with Laravel I saw this opportunity to just level up my skills and move past mixed PHP, HTML files to object oriented programming and how do you design more complex classes and systems. And I did that for, that’s hard to say, four or five years.
Till: I was very active with it, did level up my skills learned a lot and then came back to WordPress because this one Redis plugin that I mentioned earlier that a client of mine needed, again many, 10 years back, there was a few Redis plugins around for object caching. Their site was just too slow. They had so many visitors you couldn’t cache because it was a community with heaps of comments. You couldn’t use that to caching. And there were two Redis plugins around, but both were pretty bad and just really rudimental. So I forked one of them just made it better and again, published it as like this is the same thing but better and I used their work and extended their work.
And just threw it out there. Maybe a thousand people were using it back then in 10 years ago. And then suddenly I saw the numbers go up every now and then I still have to do the maintenance and support or push a new release. I saw it go up to 10,000, 20, 30, 50, 100, 000 people I was like, “Ah, this is interesting.” I don’t promote this. I don’t actively work on it and got more and more phone calls and email from people who needed something even better because my, I’m doing air quotes here, better version, my fog was good enough for small businesses maybe, but not if you want to run a WooCommerce store that makes $50,000 every Saturday in subscription renewals, it wasn’t and good enough and that’s how I got back into WebPress from Laravel and it kind of pulled me away.
Really enjoyed the community of nothing but positive things to say about the people, the benevolent dictator Taylor, it’s a fantastic community, but I got pulled back by this opportunity to improve upon my past work and make an even better version of my Redis caching plugin which then led to Object Cache Pro and that’s why we’re here.
Robert: I know we have a lot of very smart members of our audience and all that, but in case there are newbies hearing this, just to dive down. I mean, what is Redis? What is Object Cache Pro and what is this magical caching technology that you added into the mix to make WordPress life better?
Till: Yeah. I actually don’t know. It’s just this thing that you install and then I use it. Redis is an ultra fast key value store. So it doesn’t store relational data like my SQL does where you have your posts and each post has many comments and it lacks the relational aspect to it and you just throw user one, user two, you wouldn’t even say user Robert Jacobi, you would say user one because the idea it’s very low level database that is very fast like you can ask it a million questions a second and it doesn’t, well, maybe not a second, actually, I don’t know, depends on your machine.
But you can and ask it a lot of questions, at least an order of magnitude more than what you can ask my SQL so you can store and retrieve data really, really fast. And how that works is this, I’m going to try to make this really easy or superficial. In WordPress, where Redis sits with all the plugins, whether it’s Object Cache Pro or WP Redis or all the other ones, Memcached, there’s many out there. It sits basically between theoretically speaking if we oversimplified this, it sits between WordPress and your my SQL database. And instead of asking my SQL let’s say 1000 questions a minute, you only ask it 100 and you redirect 9,000 questions to Redis because it can answer them much, much faster and through that you side just loads a little bit faster, or sometimes a lot depending on how many plugins you have and how much data you have.
Robert: And in that case you need something on the WordPress side to talk to Redis to sort of be the traffic cop between the databases then.
Till: In a sense, I think it’s called lying to children, that’s the concept behind it, but if you oversimplify it, yes. Technically speaking, it’s not true, but it’s easy to understand that way.
Robert: Close enough. Thank you. I like to be the technical dumb, dumb on these calls.
Till: Yeah.
Jonathan: So WooCommerce has grown a lot over the past couple of years. I think at least from my perspective, the pandemic has served as quite the accelerant. I think we already kind of saw the trend, but now everything is just, is cranked way up. I’m sure you guys at Cloudways are seeing this Robert, the interest growing on the WooCommerce side of things broadly. I’m curious for that. That was something that surprised me when I first heard of Object Cache Pro. I hadn’t really thought about what to me seems like a bit of a fundamental difference between the nature of WooCommerce and WordPress. And I’m curious, can you unpack that a bit. From your perspective, what makes WooCommerce different than WordPress, particularly from a “Cashing perspective.”
Till: I wouldn’t even say that there’s a big difference between WordPress and WooCommerce in terms of caching, it’s more that there’s a time and place for caching where, and there’s many different layers, edge caching, page caching like caching your images, caching objects of the database. It’s such a base of pain, you can go down if you want to when it comes to caching and it’s many people have trouble with it too, it’s a hard challenge. That’s why people say this famous quote of there’s only two hard things in computer science, one is caching validation and one is naming things and maybe, butched up, but those are the two hard that’s.
So there’s a time and place to use the right tools to make your site fast. And if you just have a little blog and you have one person a minute on your site, you don’t need caching because any little $5 a month or $2 a month hosting package you can handle that. But when you have store, there’s a lot more. At WooCommerce store, any prior to that was Jigoshop I think I used for a client site, I think they’re gone now. There’s a lot more factors that come in and one of course is Amazon, Google, they all did studies on it. If your site doesn’t load fast, people just abandon it, they won’t give you the money, they won’t buy that product.
So that’s one thing that suddenly performers matters whereas with your personal blog, people are more patient, more forgiving. If it takes two seconds to load it’s fine, if it takes two seconds to load on the phone, people will just go to the next site or go to Amazon or somewhere else. So this is where I see the biggest link between WooCommerce and caching. And of course the amount of data like do you have a tiny store with one product and it only sells one mouse pad or one cup, or do you have 50 products? And each of them have 10 variations and suddenly your database there is much more work to be done by PHP, by your database to serve these pages, again caching will help there.
The bigger the site are the more customizations he did and speed in terms the direct link between e-commerce, checking out and delivering a fast experience. That’s the link I see more than WordPress and WooCommerce there. There’s a smart team obviously behind both of them, both use caching out of the box and you can just plug it in, but the eCommerce aspect of what the customers demand, that’s where I see the link and the difference.
Robert: Work you did with Laravel, sort of influence impact how you put this all together. I mean, is that sort of that cross pollination between projects?
Till: Yeah. And I actually copied this other guy. I’m doing a lot of shouts here, Adam Wathan. Fantastic dude, also in Canada. He made a framework called Tailwind CSS. Sure many people know like Netflix uses it, Microsoft that too completely blew up. And he did a similar thing in the Laravel community where he would look at Ruby and see what they’re doing and kind of copy it more or less, change it, adjust it to their community and release a product or release a package and just bring new inspiration like you said, the cross pollination from Ruby and Rail to from Rails to Laravel.
And I tried to do, I hope I did, do the same with Object Cache Pro where all this structured test driven development, object oriented programming, I bundled up and started completely from scratch to build Object Cache Pro I didn’t want to just iterate upon my past work, try to make it better, maybe write a test in there. I wanted to completely start fresh and actually copied half of the Laravel, Redis component over as a foundation for Object Cache Pro for the connections.
Jonathan: Now, one thing that surprised me and correct me if I’m wrong on this, but when you started working on Object Cache Pro performance, actually wasn’t the primary goal.
Till: No, because I had all these people reach out to me, they had big stores. And my favorite example is one of them they do meal deliveries. So they have people give them money every week and they get, I think five or set seven days worth of meals delivered to the home it’s all frozen and their subscriptions in WooCommerce will renew every Saturday. And I think now they have way past 50,000 subscriptions, but all of these subscriptions which were new with a cron job at the same time on like a Saturday morning. So if anything goes wrong, maybe you miss 20,000 subscription or something crashes, so it had to be super reliable and directly linked to the revenue, the profit of the business and they couldn’t even run their renewal cron job without Redis, I think they had a, I’d probably get this wrong, but I think they had 80 gigabytes memory Redis Labs which is this biggest one I’ve seen in production just to, I didn’t know what they were doing.
So working with them very, very closely in 2019, they wanted something reliable, they didn’t care about performance. They needed something that is just be somewhat, don’t be super slow, they didn’t care too much. They wanted something, they needed object caching because my SQL couldn’t handle the load so they needed to offload it. But if it’s fast, it didn’t really matter them, they just needed something reliable. And so Object Cache Pro really the reliability, the test driven development, that was the main focus. And I thought there’s a very small, high end niche for that, these big stores that, yeah, performance it’s a side effect. It’s a nice to have. We need something that is bulletproof reliable, which right now, to be honest, none of the open source plugins have including my own free version. They’re somewhat reliable, it’s good enough, but not if you have $50,000 or 50,000 subscription times X.
Jonathan: And this seems to be a bit of a symptom of just the growth overall. WooCommerce has grown like crazy, we see things that are being done in Woo that you just kind of blow your mind, right?
Till: Yeah.
Jonathan: And when I look at. So for my time at WooCommerce last year and the year before, the things that stood out to me, people pick WooCommerce that open source means there’s the sense of ownership where people are like, “We want to have the stack. We want to have all the pieces,” the flexibility, being able to do whatever you need to, and then just the size of the ecosystem, you mentioned that, right?Those are reasons that’ll bring people in and kind of give them confidence to make the bet. At some point though, especially when things grow, it’s you reach the edges of it and it’s like, “Okay, those reasons are all good. I’ve got to be able to rely on this though.” And I think we’re seeing some of those growing pains in the ecosystem as a whole, where our practices haven’t all caught up with the growth.
And that’s one of the things I love about your story is, it’s not this is all new stuff. It’s new in the sense of WordPress is growth and size yet there’s plenty of lessons that we can learn. Robert, your own background, right? You know a thing or two about other open source projects. And there’s lots of lessons that we can bring into this ecosystem and I’ve appreciated that about at least what I’ve seen of the approach that you’ve taken is, how do we take the best of what Laravel’s figured out and bring that to this. And it sounds like for you reliability, which was rooted in how you chose to build it was a key piece of the puzzle.
Till: Yeah. I wanted to have a plugin where because I was maintaining my Redis object cache, that’s the free version on the WP.org repo, and sometimes I would release it and then I get 20 support requests within 10 minutes of sites caching. There’s a little bug in there because PHP whatever five, four wasn’t supported anymore because I don’t know, used a different airing notation and that’s a lot of work. I’m just, I’m doing this for free, I wanted to share my work 10 years ago. I don’t want to have 20 support requests right now. So with Object Cache Pro and I encourage everybody else to do the same thing, to have an extensive test suite, run your test in all the supported versions, pay the money for good CI, get up actions, whatever you as I think brand CI, there are so many, Travis is a bit on a downhill slope I think, but I’m not too sure about this.
Having a decent test suite that when I make one change in my logic there’s a thousand plus test cases running, making sure that the thousand things I’ve assumed to be working are still working and it didn’t break one little thing over here, and any developer can relate to this. This seem unrelated, but suddenly everything falls apart and you have to dive down a rabbit hole for six hours trying to find something. And this is what I didn’t want to with the free version and especially with the pro, I want to hit release, push out a new version and there’s thousands of sites that pull it by composer.
However, they deploy maybe it’s installed through the dashboard and updates itself and they can just trust that you opted to a new version, you don’t have this anxiety of updating your plugins. That’s the one that always the problem that, or that’s one thing that bothered me like, “Ah, can I update Jigoshop? No. Now I have to spend four hours of work to updating product attributes” and I did not want that experience for anybody else.
Robert: And it’s something that every project struggles with the sort of professionalization versus the original folks who came in and were like, “We’re just going to hack some together and it works and it’s so cool and it’s amazing.” How do you have that conversation with other developers besides the obvious, this will make your customers happy or your end users happy, how do you convince them to actually go down there? Because it’s a lot of hard work. I ran an agency for decades and when we instituted CI and automated testing, all that fun stuff, it was a big headache at first.
Till: Yeah. I mean, I would just, if they want my approval, they have to do it otherwise I’ll judge them harshly. That’s how I have this… No, to be honest I don’t have these conversations. If anybody ever wants to talk about or reach out I’m on Twitter, should we put in the show notes or something like this, always happy to chat about it. And I don’t have these conversations much. I just take it as a given now, maybe this is a and past the transition. And in Laravel for example, if you make a poll request, if you don’t provide also a change to a test file, if they’re not is also a new unit test or a new feature test or integration test, whatever you want to call it, for that feature, it’s just like, “Please edit the test.” And if they say, “Oh, I don’t know how to use,” it’s just close.
It’s we won’t merge new features to a framework used by I don’t know how many people, a lot of people, if you don’t also contribute test cases. And I think it’s a fantastic way for people who hire too, to see do they provide unit tests too, or do they just, “Hey, does the code works” and the developer didn’t even think about testing it to me that’s a big decision factor when I hire someone or bring someone in as a consultant or freelancer.
Jonathan: I think that’s an area too where WooCommerce has a lot of opportunity to evolve. Like you said, there are some fantastic people working on Core, working on WordPress and there are great pockets in the ecosystem of excellence, yet part of the magic and the beauty of Woo is that you have all this flexibility to pick what you’re going to choose. And for folks who don’t, this has been a challenge in our ecosystem for a long time it’s you know how good something is if you don’t have the technical sort of capability. And I think it’s going to be, it’s on us as an ecosystem to a degree to say, “How do we raise the bar?”
And that professionalization that you mentioned Robert, it’s a tension, right? Because there’s this on the one hand, “Hey, we like things to be flexible and kind of do whatever we want,” the stakes are increasing though especially as people are building bigger and bigger things and they’re counting on it more. Right. And we don’t want to, at least from my point of view, it’s we shouldn’t be losing people unnecessarily where they have to give up that ownership and being a part of the community in the ecosystem just because we’re not enough to do the harder work.
Till: Yeah. Because many parts of the after WordPress ecosystem are mature enough. And you ask how I’m having this conversation. I think it’s more speaking to website owners of being mindful of what they install. Because if you just install WordPress core and WooCommerce and whatever the official WooCommerce plugin are, you’re going to be on a safe side. There’s smart people behind this, they do their testing and if there’s an issue it’s quickly fixed or caught in QA process. But if you install even ACF as another good example, you know it’s pretty reliable, I never had any issues with it unless I was illegal things with it.
But then just picking a random plugin, I was just having a conversation with a customer they use, I’m not going to say their name, a third party plugin and oh, it doesn’t work with object caching and then they’re just saying, “Oh, you should ignore the options cache group which is that would solve the problem because their code is bad or they didn’t have these processes, but now the customer is suffering because they lose on all the performance that they would get by caching the options group. And that’s being mindful of what you install, where the source is and I know Jonathan talked a little bit about having a, I don’t know if we can touch on that, but this is an NDA conversation with a plugin repo.
There’s a site called Tidy repo or Tiny repo, which is a curated list of plugins that are trustworthy, but even maybe iterating on that and having a dedicated repository that maybe sits on top of wordpress.org with an API where the developers they have certain practices, it’s not just you saying, “No, we test our products,” they actually adhere to maybe community standards. And I think there’s room for improvement because just moving away from WooCommerce, it brings so much flexibility. And there’s people migrating away from Magento to WooCommerce because they need the flexibility. And the other way, people are migrating away to Magento because WordPress is not reliable enough.
Thanks to our Pod Friends Trustpilot and FooSales
Jonathan: I’m curious Robert, from your perspective, working at a hosting company, if I’m imagining and correct me if I’m wrong, there’s a bit of a tension there because you want your customers to of course do whatever they want on the platform. Right? To be able to have that flexibility yet you also know that there are things that are better for your customers than not, how do you guys think about that? And maybe that might end up tying into why you guys decide to work with Object Cache.
Robert: Well, it’s kind of that way. So we look at the entire space as providing three overall solutions. One is, it’s the free for all, you got a share a host somewhere, you can do whatever you want, you break it, you own it good luck. And then there’s sort of that other extreme which is, people nicely call it a gated service, but you’re kind of in prison and you can’t do anything except bang your tray against the bars and hope someone gives you a nice plugin that you can install again.
So we kind of try to ride that middle road and say, “We’ll take care of the stuff that no one wants to deal with.” And that’s servers at the really base level, but then provide enough flexibility to have something like Object Cache Pro as a part of that ecosystem on our side of the universe. But it’s some people are not going to like that, some people are going to want to straight to with Shopify and others are going to want to just roll their own and cross their fingers.
Jonathan: Yep. And I noticed too that my time at Woo that sometimes it’s just a bit of a life cycle where people start out. I was happily surprised at how many people come back to Woo or come to Woo after having built something where they’re like, “Okay, I just need something up and running,” then they get to a point of growth where they’re like, “Okay, now flexibility to ownership is more important to me,” and that’s where they start making that transition. So Till, I want to switch the conversation. And so for folks who are listening who build their own products, like you, you’ve learned a lot about making products. I assume that you’ve made mistakes as well as had successes, and I’m curious in broad strokes, are there lessons that stand out to you, things that you’ve learned in this process of making both the free products and also building a business on it?
Till: I mean, this is going to be a very biased answer obviously. all I know is my own experience. If we ignore developers for a second, I would definitely say, be you, be true to yourself. It sounds a bit cheesy and it’s on every inspirational banner and Instagram post, but finding something that you, or in this case me, that I was passion about, that I have a drive for, it’s not a money grab, “Oh, I could maybe do this, I love performance, I love charts.” Who doesn’t love metrics at least, really.
Seeing it’s faster by 20 milliseconds, I’m super happy and it’s probably negligible, but it’s not over a million request, that’s a lot of time that racks up. And combining something that I’m passionate about and in doing my own thing as opposed to trying to copy someone or clone something else more, be you and that’s, I know it sounds cheesy, but that’s definitely the number one advice I would give, it makes for a more meaningful, happier, fulfilling life I think combining this with business of course. If we’re talking about, did you ask specifically about developers some advice or?
Jonathan: It’s open ended. Yeah. If you’re thinking to people. Let’s talk for developers for a moment. If they’re building a plugin that they have an idea that they want to pursue, what advice would you give them from your experience.
Till: Sort out the marketing channel first. The whole and many people talk about this. If you build it they will come, I think is a massive, it’s a very ski statement. I think it’s a fallacy. It’s more having an audience or a marketing strategy of, what is this channel? Where do I meet customers? Where do get customers their eyes on my product that I’m building? That to me is what I see most actually not in developers, most business owners and entrepreneurs often miss that, again very general statement. But thinking about marketing first, and there’s another guy, Justin Jackson.
Jonathan: Oh, yeah.
Till: Love him to death. He had a book called Marketing for Developers, I think it’s called. And he always shares that developers have the superpower, they can create anything they want. If you take a weekend, a couple of weeks here and there, you learn a bit about a user experience and design, you’re not going to make something beautiful and an art piece, but learn how to use Tailwind UI and suddenly you have a beautifully designed, well architected product, just a little bit of time. And you can make anything you want. You could build maybe not rockets to fly to Mars, but you can build any idea that you want, and he calls it a superpower, just on this.
And combining that with marketing… Marketing is just a skill to learn. I believe it’s much harder to learn programming than marketing because there are some cookie cutter approaches and simple strategies. So not ignoring marketing before you have an idea, I think is… You’re laughing. But I think that’s, I mean, I’m happy to give technical advice. And if anybody ever wants to talk about low level or high level, or just bigness of, I’m always out there, but marketing for developers and to the extent business owners is something that a lot of people neglect. And I think it’s 50% plus piece of the pie like building the product. I can talk about Relay for a second here.
We thought this is going to be two month project without going too deep into this and now we have one and a half years into the development. It’s kind of pretty much ready now, I think, we’ll know sometime this week. It’s taking much longer, but this is, who’s going to use it? How are we going to sell it? In that whole marketing piece it’s development can blow out of proportion and be really big marketing. I know I’m rambling here, but-
Robert: Wait, I just thought. You said the marketing part was really easy and cookie cutter.
Till: It’s, but to think about it, you can learn it, it’s a skill to acquire, It’s something to explore, but if I met many people online in person who don’t think about marketing before they set out to, they have a great idea, maybe they build a product and then nobody looks at it. Nobody uses it.
Jonathan: The way that I’ve found unhelpful to think about it. It’s in the business context you need to start. And I’ve had a lot of these conversations with store owners, right? It’s who’s your audience and what problem are you solving for them? And I would suggest that a lot of the businesses that, and I see this often in the space where someone’s built something cool, but can’t answer those two questions. They don’t know who their audience is and what problem they’re solving. And for me it’s it doesn’t make sense to build a business without being able to answer those two questions because so much of what you do would be rooted in, or unless you’re the audience and you’re just solving your own problem, that’s totally fair, but if you want to build a business yeah.
Till: But that’s open source, then you make a plugin, you throw it out there and maybe people use it. And, yeah. I made five, six plugins. I made a theme and only two of them really took off and were used without darts and the other have 1000 users.
Jonathan: Yeah. So I’m really curious, you did one thing that seemed crazy to a lot of folks. So when you came out with Object Cache Pro, tell us about, so your price point is a lot more expensive than most plugins. How did you come up with the price?
Till: The hate that I’m getting once a week is incredible, I’ve just anyway. This is what I was touching on earlier, that you do you, and to me frankly, it was the math I did, I don’t know if I can still do this. I think I did $100. I think I wanted to make $8,000 a month, that’s what I wanted to do. So it was like, “Okay, I need 100 customers with some overhead.” 100 customers give me $100 a month and then I’m set, I can retire, I can lay down and die. That was kind of my thinking behind it and that’s as deep as can. No, it was really, it was a mathematical decision of seeing how fast can I sustain a business and do this full time because I really enjoyed that.
And I did a plugin before called Email Address Encoder free plugin made a pro version or a premium version, I called it back then that sells for $15 a year or $60 a year for unlimited. And it’s a small price and it pays my mortgage, it sustains a part of my life, it’s really nice. And it grew, but I wasn’t passionate like, “Oh, do I want to have more customers? Do I want to have 10,000 customers that I need to support to pay for my life?” I was like, “No, why don’t I have 100 people, high WooCommerce stores give me $100 a month and I provide them with an excellent service.” And I can cater and service 100 clients really, really well. That was the thinking behind it.
Jonathan: And I think that’s what surprises people. And here’s Jacobi’s perspective on this. If you take that $100 price point, right.For most folks maybe they’ll be giving you pushback on it, right? Like, “Hey, how could you do that? That’s not normal in our WordPress ecosystems, $100 a month for a plugin.” Like “What are you talking about?” Yet customers who get the value it’s just a no brainer for them. And I think a lot of people are surprised it feels cheap. Right. You even offer, you have an enterprise offering that you have now it’s two grand a month. Where for people who just wanted that higher touch service, right.
And I think what a lot of people are surprised by, and this is, I think a symptom of us not catching up with the growth is that there are businesses in WooCommerce doing 50 grand a month in sales who care a lot about things like reliability and paying hundreds of dollars a month for a plugin and all that, that entails, right. The commitment of the developer to keep it going and continue to improve it is just a no-brainer. And I think it’s easy for us to miss side of that especially if we’ve been in the space for a long time. Robert, what are your thoughts on the pricing.
Robert: That completely ties into that professionalization disconnect with a lot of just full force, open source people. I definitely saw that in the Joomla world where, “Are you kidding? You’re going to charge $10 a year for something.” “Yeah. I’m going to charge $10 a year, you’re lucky I’m not charging $1000 a year for something.” It’s if you want a certain level of service value customer to take you seriously you can’t charge it for $5 a year, you do have to charge it at $100 or $2,000 a month. That comes with a lot of expectations, that support has to be spot on. You better have that insurance. I talk with a lot of freelancers, “Why can’t I get the big projects?” I’m like, “Well, because you have to run your business like a business.”
And that means having errors and emissions, liability, all these things where you can charge 3, 4, 5, 10 X, because now you seem like a professional business owner in the space as opposed to someone who’s just kind of futzing around. Like, yeah, I could go fork all of this wonderful Redis object stuff over the weekend, but no one’s going to buy it from me, whatever tweaks I make because that’s not business. It’s not a real thing that I want to do, it would just be partner around and I think I’m surprised we don’t see more of that pricing for other types of projects, products.
Jonathan: The value is there, right? For a store owner it’s you’re almost doing them a disservice. I remember having a conversation with someone who was going to move over $100,000 a year subscription business and it was ramping up, it was growing like crazy. And the subscriptions plugin is 200 bucks a year. They’re like, “Wait a minute, I’m going to build my business on this. Only a couple $100 a year plugin. And what we know is that, okay, what you need to do is find a service provider that you can work with who really knows it, who can customize it, et cetera. So there are paths that we have to offer, but it’s not clear to folks. And there’s a disconnect sometimes where they’re like, “If they didn’t know someone, how would they…” It’s hard to have confidence when it’s like, “This doesn’t make sense, I’m building a huge business, tiny little plugin.”
Robert: And open source had that problem in the beginning. Oh, I’m not running this free operating system. I need Microsoft or Apple or IBM or Oracle behind it. Yeah. And now all of those guys are running the operating system that’s free. So there is that sort of push and pull about, “Oh, it’s free, we can’t use it, but wait, we can,” so you do have to come at it depending on what kind of client you want to work with.
Till: And I think this is, it’s another part of it working with just for free open source, working with these 15, $60 a year customers. I wanted to work with a different caliber of people and clients. Yeah, maybe more respectful or more professional interaction. If someone pays $100 a month, they’re going to be a very actually, no, I don’t think I have a single customer who’s a bit of a dick, they’re all nice because they run businesses. Yeah.
Jonathan: It’s funny how that works. It’s funny how that works. So you get nicer customers and oftentimes the more that they pay.
So I’m curious as we’re wrapping this up. So you built this business, it’s done quite well, you have lots of happy customers, a lot of WooCommerce folks using it. Why did you decide to work with Cloudways? Because now effectively that product they can get over at Cloudways. Right? It’s bundled in. I forget which ones Robert, but it’s with certain plans that you get Object Cache Pro included.
Robert: Yep. That’s exactly it.
Jonathan: That’s a big deal. Suddenly it’s available. For you as a product creator and this is in this context of thinking of others, folks listening, why that decision to go bigger through a partnership versus just kind of staying on your own.
Till: I’m not sure who it was, but someone brought up the concept of ubiquity, and I saw that my product has a lot of potential and that it’s doing a lot of good for the customers that have it. And I was debating between, should I grow one individual customer by one individual customer and slowly on board 10, 30, 100 people a month and scale this out? Do I want more individual customers or because by then things were going really well, do I want to create a big impact by delivering this product to more people, making more people happy, easier life, helping hosting companies save money, more than that they pay me usually. Cloudways is different because they didn’t host their own service.
But do I want to grow individual customer by individual customer or do I want to make a larger splash and larger impact and also move the support away from me towards I still maintain the one-on-one customers that I have, but the support Cloudways is case is then done by Cloudways. So I can grow and actually deliver more value to more people as a business and as a human who wants to make an impact without burdening my myself by, I don’t know how many customers Cloudways has. I start to see the numbers trickle in, but without having many, many numbers of thousands, more customers that I have to serve, because they already have the teams and really making the impact.
Jonathan: They’ve got the infrastructure for it. Yeah. I like that. So it sounds like it goes back to your point of creating something in the world of what gets you in.
Till: Yeah. And actually, I’ll say one more thing to that, that we touched upon a few times, there is, it’s such a big ecosystem. Like you said there are some people that run two Euro web servers and they tinker around themselves and every plugin is fault by themselves and nobody touches it, then you have the people who just tinker around and you maybe just want to have the freedom, they use Cloudways. And then you have high end teams where they have a whole DevOps team just for one business rundown infrastructure and there’s so many different verticals and niches or categories of customers.
And I’m sure Robert, you see the same thing at Cloudways. Just the different caliber of people that come in and they’re all valid. They all have their own, whatever they want to accomplish with their things, spreading Object Cache Pro to more people. There’s still these DevOps teams that will pay $2,000 a month for an enterprise support plan because they won’t host Cloudways because they can’t fulfill those needs and they need way more than one machine in a control panel, they have a whole team.
Robert: Even though I tend not to be one, I’m a tech geek at heart so I love hearing those kinds of stories about having all sorts of levels of people being able to take advantage of actually very high end complex solutions. So I know I’m excited about it, just be getting more notice in the wild I think it’s a great project and love those numbers. We are really coming up to the end of the line here, I’m kind of rushing through this. All of a sudden, I just realized our time. Boy Till, it has been freaking awesome have you on to hear these parts of your journey. And I know we’ll be excited to hear the next part of your journey as more stuff gets built out. And hopefully you have some cool ideas. Maybe you could even tell us one that you’re planning for next year and surprise us all, the random put Till on the spot just in case you have any cool things that you’re thinking about for 2022.
Till: So speaking of these niches, they’re my high end clients. Let’s say 5% of my clients, less 2% of my clients. I saw they run into. 1%, let’s say 1%. 1% of my clients, they’re top high end, they ran into weird issues of having race conditions with caching, they have massive infrastructures and for them Object Cache Pro it was not even good enough, they need even more because their workloads, their amount of cache they have, monsters of infrastructure.
And I saw a need for another product that would go hand in hand with Object Cache Pro which means instead of WordPress always talking to Redis, Redis is a server. So my SQL Object Cache Pro has to talk to a server, We’re thinking like, “Oh, why don’t we just cache the entire thing as part of PHP and it lives similar to APCU. So if I’m working on this, I touched on this earlier for the last one and a half years on Relay with a guy who made PHPRedis, his name is Micheal Grunder. Everybody’s got German names, yeah.
We’ve been working the last year. We’ve been working the last. This is my favorite thing, and if anybody ever wants to make me happy at a conference in the future, if you want to make a great impression with me and I’ll do anything for you basically, if you speak German to me, it can be fake, you can make up the words, it doesn’t even have to make sense. If you just pretend to speak German, it’s one of the greatest joys of my life when people pretend German.
I’ve been working with Michael for the last one and a half years and we should have a product in a couple of weeks, still testing. We’re going to roll this out with some high end people who are willing to experiment with something nobody’s else done before for. We’re going to roll this out on a smaller basis first, test this thoroughly, and then hopefully hit the market. And again, have a, not an open source, but a free version for people to use that have smaller needs, maybe they don’t have big cache data. And the bigger that you grow, the more expensive the product becomes, but there’s always a nice free offering that just you install the extension and suddenly your website is significantly faster because WordPress doesn’t have to talk to Redis anymore, the data just sits as part of the PHP memory. It’s called Relay. I’m very excited about it, but I’m sure May will do a dedicated episode on that at some point.
Robert: Where can people find you Till?
Till: Probably Twitter, it’s the best, but we’ll put in the show notes. Hit me up on Twitter, I’m always happy to chat with people.
Robert: Brilliant. Thanks so much Till.
Jonathan: Thanks for joining us.
Till: Yeah, my pleasure.








Leave a Reply