Jean Baptiste Marchand-Arvier on Optimizing WordPress with Tools and Strategies

Episode 38 October 11, 2024 00:57:21
Jean Baptiste Marchand-Arvier on Optimizing WordPress with Tools and Strategies
Within WordPress
Jean Baptiste Marchand-Arvier on Optimizing WordPress with Tools and Strategies

Oct 11 2024 | 00:57:21

/

Show Notes

In this episode of Within WordPress, we explore the journey and experiences of Jean Baptiste Marchand-Arvier, JB for short, co-founder and CEO of WP Media, renowned for their WordPress performance solutions such as WP Rocket.

Our discussion delves into the evolution of caching plugins, the philosophy of making web performance seamless and user-friendly, and the challenges of integrating SaaS solutions in open-source environments.

The conversation also touches on the impact of technological advancements like the REST API and the changing landscape of WordPress plugins, offering insights into the strategic direction of WP Media and its commitment to user-centric performance improvement.

00:00 Introduction
00:08 Meet Jean Baptiste: The Performance Expert
01:00 The Birth of WP Rocket
01:49 Challenges with Existing Caching Plugins
03:49 WP Rocket's Philosophy and Simplicity
07:42 Evolution of WordPress and Its Impact
11:33 The Importance of REST API
16:17 Redesigning the WordPress Dashboard
20:20 Adapting Plugins to New WordPress Standards
25:18 WP Media's Acquisition and Growth
29:27 The Shift from Cowboy Coding to Structured Development
31:17 Implementing Sprints for Better Workflow
32:38 Balancing Bug Fixes and Feature Enhancements
35:29 The Role of Developers in Product Evolution
36:59 Challenges and Solutions in Plugin Development
43:18 The Future of SaaS in WordPress Plugins
45:59 Open Source vs. SaaS: The Ongoing Debate
53:35 Vision and Goals for Product Improvement

View Full Transcript

Episode Transcript

[00:00:00] Speaker A: Welcome to within WordPress, the podcast about the people inside the WordPress community, outside the WordPress community and everything in between. With me today is Jean Baptiste and Jean Baptiste should probably be a very familiar name. Certainly it is a familiar name, but familiar for you. Anyone working in the performance side of things of WordPress, welcome Jean Baptiste. [00:00:30] Speaker B: Thank you very much. And thank you very much for pronouncing correctly my name. I think you are the only exception outside of France who know how to say Jean Baptiste. But if it's easier for you, you can call me JB, which is, everyone is calling me easily. That's much more easier. [00:00:46] Speaker A: Yeah, yeah, I know the shorthand but thank you for the compliment. I'll take it. I've had five years of French so I hope that's shining a little bit. So please introduce yourself. The name is obviously maybe already a giveaway, but what do you do with WordPress? [00:01:04] Speaker B: Yeah, so I'm trying to improve the performance of WordPress websites, let's say. So I'm the co founder and CEO of WP Media and we are, I mean this company is more known to be the creators of WP Rocket, which is our web performance caching plugins and we have a few other products like imagify in order to optimize images and work at CDN, which is a CDN as the name suggested. [00:01:35] Speaker A: Yep. So I think the most well known is probably WP Rocket. [00:01:40] Speaker B: Yeah, absolutely. And that's our original idea and our first products so far. Yeah. [00:01:48] Speaker A: How old is it? [00:01:50] Speaker B: Eleven years now. So it has been quite a while. [00:01:53] Speaker A: Yeah. How did you, how did you have. So at the time? So eleven years back? I'm trying to think. I think the, the two most important caching plugins at the time were probably super cache and WP total cache. [00:02:08] Speaker B: Yeah, exactly. [00:02:10] Speaker A: And you went like, no, we needed. [00:02:11] Speaker B: Another one that was not exactly that questioning. So we co founded WP work, let's say Jonathan, my co founder, another french guy, me a few years ago, and we were already working quite intensively with WordPress and quite focused already on web performance. He was mostly developing websites and I was mostly doing SEO and I was adding a lot of, let's say, website with big traffic. So web performance at this time was extremely important because of servers. So that needed to be optimized, otherwise that would have been way too much costly in terms of servers and usually that was not working at all. So we were already focusing on WordPress first and web performance then. And unfortunately, let's say we were not happy with the two caching plugin you mentioned, which was one of the most popular plugins for WordPress. I think at this time we were not happy because they were working, but they were quite complex to use. I don't know if you have used them, but that was very specific. W sweet, total cache, which was great, but extremely technical, which means that you have, I don't know, maybe 50 pages, sub pages of settings, which was great, you could control everything. But for us it was quite hard to manage it to deploy on, on the new websites we were creating. And even worse for the website we were doing for all the people, that was a nightmare for them because there were no performance experts. So we saw at that point that maybe we should put into a plugin or product, let's say everything we knew about web performance, but make it very simple. Our vision at that point, it's still the case that is that people shouldn't care about web performance. That's our job, to care about them, care about creating their website, creating content, extra. So that's why we, we initially created WP Rocket and it was basically a product for us first. [00:04:26] Speaker A: Oh yeah, that's interesting. I can attest to w three rocket. Sorry. No, no conflating now. Wt total cache that was, it was brilliant. If you understand fully what was happening on server level and what was needed and in between and everything but configuring it. I've talked to Frederick Townes, the creator, quite a few times about this. Like, why don't you have a simple mode as well? And he goes like, yeah, but you would spend a couple of hours fine tuning every single time. And if there was an update or a new feature, you would do it again. It's cumbersome. I can see how you thought that here is a gap. Let's try and fill it. [00:05:12] Speaker B: Yeah, exactly. And for the idea was really not a business idea. That was really our initial passion about creating a product for us and maybe for other people, and we would solve that specific issue and having in mind that in a way we need to respect more WordPress philosophy, one of the WordPress philosophies and specifically the decision not option, which we try every day to implement more. So for the one who are not familiar about it, the global idea is the more options you give to someone, the more frustrated he will be because he will maybe not know what is this option about and so he will not enable it and he will frustrated of not being able to use a product one at a time. So let's remove all the options which are possible to remove and to enable by default. So you, as a product leader, let's say you take the decision for the users because you know it's for their benefits at the end. [00:06:11] Speaker A: In this particular case, wth total cache is a perfect example of the opposite. You have all the options, like literally you had all the options. And for those who've never used that plugin, if you would consider that you can turn on page cache and you can determine where the page cast is actually cached and then go down the route of every single cache version you have available. You have all these options where, how long, what not. It's cumbersome, it gives you extremely fine tuned control if that's exactly what you need. But it's certainly quite the opposite of decision versions options. [00:06:52] Speaker B: Yeah, exactly. And I think at that point we were the first of a very basic example of implementing caching by default. I mean static cache by default, all the other plugins, you had to enable that specific option, which for us didn't make sense since it's the nature of the plugin itself, of providing cache. So that we did implement after a lot of things by default and I believe a lot of caching plugins. But other plugins have followed this journey in this past specifically, probably not thanks to us, but also thanks to all the products moving more and WordPress itself moving more to simplicity. [00:07:34] Speaker A: Yeah, I think the, the push of WordPress to always highlight the philosophy of decision versions options, I think certainly because eleven years ago is quite a while, 2013 at the time, I think the community as a whole started to become more mature. I think 2010 was a pivotal year in terms of WordPress 3.0. We then had custom post types, custom taxonomies, the merge of multisite into WordPress core itself. We had a lot of options available. And the three years after you really started seeing all the different kinds of agencies to switch to WordPress at the time. And I know because I think I started specializing in WordPress in 2006. So I was quite familiar with WordPress and all of its options already. But if you look back, that's the time when other agencies started asking me like, could you help us get going with how to properly use WordPress and can we do this, can we do that? So the three years after that, three, four, five years probably, it really started to become massively adapted. And if you have that philosophy and you show that philosophy, because that certainly happened, yeah, it will get picked up, I think from an outside looking in. For me, that has always been the success of WP rocket at the time. [00:09:02] Speaker B: Yeah. And when you, when you talk about CPT, that remind me. I mean, the nature of WordPress before custom post type was like hacks in a way. And if you, if you look at probably blog post at this time, it was like, and that was the name, like hacks to transform your blog into real websites and agencies were not using it, were using other solution. And that's specifically at that time when we moved to custom post type. So it was really natively possible to do something else and just a blog or using tricks to transform it. Yeah. You had really real websites using WordPress and at the end you had, you had the need for other solutions. Woocommerce is one of these solutions and that's really the, like you mentioned, the transformation, I believe of WordPress into something will be more mature and serious. [00:10:03] Speaker A: Oh, absolutely. I have no doubt that that is so a lot of people, you see these questions every now and then on LinkedIn or on X or whatever, like what is the most important WordPress release for you and this and that, and people come up with all different types of versions because whatever that version had is exactly what they needed. But I think in terms of the huge impact, there are two moments for me that are the most. Well, probably three now. So the very first one is indeed 3.0. We had menus, we had multisite, we had custom post types, taxonomies. Some of that was already in the version before, but three made it properly usable. So that's a big one. I think the rest API inclusion is a huge one. Ryan McHugh had that as a project. I think probably as a, I remember that. I don't remember the context of a project, but he was doing a project, I think in terms of education or for university or something, but he was doing that and that started being included and then we had the rest API, which meant we could start treating it way more mature again. And I think now with the third one for me would be probably the. So this is a sliding one because it's the introduction of the block editor, but it took a little while before it became mature enough to call it mature mature, and some would even say we're not even there yet. I think that's a separate debate to have, but those three are the most important ones to me. Am I missing one? [00:11:38] Speaker B: No. So I have a question for you, is why do you think the West API is a big change and especially compared to the, to the redesign of the admin? So for me that would be the swing one the CPT and the redesign of the admin, which really changed the way you use WordPress. I mean technically the rest API is I believe, excellent and allow you to do way new. So many new things. I don't have data to, to say that, but I still think it's still minor in terms of usage because it answers very specific use case and I don't see a lot of people really using it at the end. I mean there are so many things you still can do without the rest API. [00:12:26] Speaker A: Yeah, it's a good point. So for me, we started using the rest API pretty early on for my agency. We had a few outside connections that we needed to bridge to WordPress. So what we would typically do is build our own soap server. That was the communication layer between whatever external servers we needed to hook into WordPress and then we'd need something in between. So we were already building those types of solutions. So when then the rest API became fully available, it sort of opened up the door for standardization. It opened up the, oh, if I can connect it to this and whatever this is. So this has been SAP, Peoplesoft, all of these ERP systems entirely outside of the original scope of what WordPress could do. It's been standalone custom job boards that are fully built for whatever the need of that particular company. All of these types of different connections were made so much quicker in actually turning around from going, yeah, okay, I can structure this in WordPress no problem. But how do I translate that to where then communicating that data, structure that layer into whatever external system. So usually we would then, like I said, we would build a soap server. We would find different ways of making the data available through some version of a API. And then standardization to the rest API meant that we had a solid base and it just made life for me as an agency who we generally had the more complex type of sites, the more high performance type of sites, the more high availability, all of the higher demands. We built sites for banks, we built sites for insurance company. They have all these systems internally and we needed to hook into it. So it made a lot of sense that from the moment we had that rest API. Let's start using this. I probably have a skewed view on this. So the admin redesign for instance, I think it's huge what happened at a certain point and we still have the version of that now. What was that? WordPress 2.7, I forgot, but the project was called mp six. And that then introduced what we basically, what we're still using right now. [00:14:56] Speaker B: Yeah, it was the dedicated plugin to change the engine, right? [00:14:59] Speaker A: Yeah, exactly. That was a feature plugin that was huge as well. It's just from my perspective, whatever dashboard you throw at me, and it works, it works. It's fine. I'm less. How do you say that? The type of dashboard, as long as it's working well and intended to work well, I'll navigate around it and I'll be relatively easy happy. So it was a big impact, but not pivotal for me. [00:15:29] Speaker B: Yeah. Depends who you are. I believe it's more the agency speaking. [00:15:35] Speaker A: There's certainly agency perspective. Yes. [00:15:37] Speaker B: Depending who you are asking the question. I usually take the example of my mother, who is using WordPress. [00:15:43] Speaker A: Of course, my mother as well. [00:15:45] Speaker B: If I'm talking to her about the API, she wouldn't first understand what it is. She wouldn't understand. I mean, she wouldn't see it into WordPress versus probably like, yeah, because some post time she would see it. Because she would say, oh, why? I don't have only article and pages now. What is this? New things. And the redesign, the unix of the first one before the redesign was great, I believe. All looking, let's say. So it's more like redesigning things or making more recent. Yeah. As always, depending the context and who you are asking the question. [00:16:21] Speaker A: Yeah. So keeping that in mind, have you seen what the new version of the dashboard will be? [00:16:27] Speaker B: Yeah, yeah. I haven't tested it, but, yeah, I've seen a few screenshots. [00:16:32] Speaker A: Yeah. So what's your opinion so far? [00:16:34] Speaker B: It's. I mean, redesign is extremely hard, I believe, and it's a question of perception. And I'm really like. I believe I'm like you. I'm at a point I don't really care about the design itself. For me, the user experience is the most important. Depending on how the look. I'm not really super strong on it should be nice, but it's, like, nice to have, but the experience is the most important things you need to have. [00:17:08] Speaker A: I agree. I have played with it quite a bit already. I like how the dashboard becomes more to the point, more simplified, more directional. I guess because you're in it in a more specific way. It's not generic. Maybe it's a little too early, because if you think about the whole settings, plugins, themes or appearance, I should say tools, those are not in the current design yet. As far as I know, it's been a few weeks since I last looked, but as far as I know, that's currently not in the. I think you need to activate Gutenberg. And then turn on the setting and have a full site editing theme and then you'll see what's currently available. But I think it's going to be really interesting to see how setting pages for plugins is going to look like how easy of an API there is for. Well you obviously know this. How do you incorporate, you have a bunch of plugins, how do you make them look like they belong there and yet stand out a little bit as well? Because I personally believe that a plugin should feel native, but there is wiggle room in how you can make it look. And my personal favorite is Yoast SEO plugin. I think the way they integrate into WordPress is super smooth. It feels like it belongs there. And then there's other plugins that go like why are you injecting your own type of JavaScript, own type of CSS, entirely different design based? Do you hate it that much or do you think your vision is so superior you're forcing. I don't get that. I don't get that perspective. [00:18:57] Speaker B: It's hard. I mean if you look at our products we do quite, we try to integrate the best possible and by saying that we try to have some kind of harmonization between our own identity because it's, I mean it's a marketing question. At the end you need to remember who you are to the people, but in the same time I mean you are playing in someone else place so you need to perfectly fit into it. And it's a balance of showing who you are, I believe, and integrating the native WordPress look and feel, let's say and agree with you. Joost is doing a fantastic job on that. [00:19:34] Speaker A: Yeah, like I said, it's by far my favorite. And for instance WP rocket settings. I don't hate it, but it's certainly less native. It doesn't annoy me in any way, but nor am I the determining factor for the record. But it's more of a yeah, like I said, I think it needs to feel like it belongs. And then the very next question is marketing. I mean we have a plugin for Scanflie as well, right? So it's a very minimal one. But how do you make it stand out and still look like it belongs? That is a challenge and I suspect the new setting will make it even more challenging from what I've seen because it's way more standardized in many ways that I think it's going to be a challenge to see that happen. How do you as a company, how do you look at that? Obviously you prepare for what's coming. [00:20:30] Speaker B: But I think that's really a good thing that this is happening because that will force us as different companies evolving into WordPress to focus more into our branding. But in the very nature of what is a brand, which is what is a message you're delivering to people, how you're delivering to people and how strong you are versus just putting colors everywhere. So I'm oversimplifying obviously, but putting a lot of colors, of your colors and big logo on into the WordPress admin. So it's more doing all the work before on. Yeah. What is your brand, what is your identity? How do you communicate and how do you make, do you make a great experience everywhere from, this is your website, this is how you can buy, this is the different emails you're receiving, the tone or the message you're receiving, how we help you on customer support. And at the end our goal is people shouldn't spend more than five minutes into the plugin because everything should work because they should focus on, yeah, create content for your website or do whatever you want for your website, but not don't spend hours trying to make it faster because that's how, that's our jobs. That's a good point. Probably a bit hard, but it's for the good of WordPress and all the products, I believe. [00:21:59] Speaker A: Yeah. So, but if we're looking at as a company, you're going to be forced spend a lot of time figuring out how your plugins going to fit into whatever the new dashboard ux UI is going to be. How does a company as large as yours, how do they prepare? Where do you start? [00:22:21] Speaker B: I mean the first that would be to which I haven't done to put the context and that's what's good with my job. With the side of the company now moving more and more out of the product, which was not the case like a few years before. So we have now teams focusing on that, which is really good because we do all the settings. But on the long term the approach I would take is, okay, let's see all the constraints we'll have with these new settings and think the timeline of things and see how we can implement. And of course that will be a pain because that will force us in a way to do change that we don't necessarily want to do because we would have preferred to do something else. But that's the game of playing in someone else's place. [00:23:12] Speaker A: Yeah. [00:23:13] Speaker B: And all, I mean if you have been working on Twitter using strongly the API of Twitter, find yourself in a challenge. All the access, that's the game. And that's why, I mean, that's the issue with platform and that's why a lot of people are trying to build their own platform, because they don't. Yeah. They are at home. [00:23:34] Speaker A: Yeah. I think that's a fair assumption to say that you have to be prepared that you are ultimately not in control of where you are playing. I think a lot of people forget that. I mean, to a point, we have some influence over where we're going and how things are working together or aren't in terms of, you know, input is being requested quite regularly now, but. Yeah. How this works and how this looks at a certain point, it's what it's going to be and you're just going to have to accept that. That's how you're going to have to adjust your stuff too. [00:24:17] Speaker B: Yeah. And the same risk, I mean, for features, I mean, that's something since the beginning, we were not afraid, but we knew that this could probably happen is like, yeah, one day maybe WordPress will have some kind of performance things which will kill our business. Like maybe one day they will have static cash, they will have more performance things. That's what they do. And I mean, they have the power in a way which they don't use in that way, but to kill different businesses, like they could implement a more precisely like a contact form natively or. And that would kill a lot of business. [00:24:55] Speaker A: Yep. Yeah. And then the way things are looking now, we're going to have a default block that is a form. So I don't think that one is going to kill things like ws form or gravity forms or whatever, but it's certainly the beginning of it. [00:25:14] Speaker B: Yeah. [00:25:14] Speaker A: You mentioned something interesting. You said, I don't know how many people are aware that WP meta, your parent company, for the products. You mentioned that you have a team now, which is, and this is my assumption, correct me if I'm wrong, but this is most likely because of the change of ownership of WP Media. [00:25:33] Speaker B: No. So for the context in 20, we've been acquired by the group one and so since a few years now. So a few things has changed, obviously, but not the way we're operating the company. And since day one, I mean, we're growing in terms of teams, but basically my job is the same today that it was before the acquisition. Of course there are a few difference, but it's mostly the same, let's say. And in terms of people, we are still acting very independently. Of course we have cooperation for specific subjects, but we are acting independently, which means that this is our own people who work on the products and on the development side. And we're just growing. So we have the teams because, and I think I've been outside with the products in probably five years. And we have, so we have people working on the products without me, let's say, since five years. [00:26:31] Speaker A: Okay. So that was a big assumption of mine. [00:26:35] Speaker B: I mean, that's something we don't really communicate about how we work after the acquisition because didn't really have change and that was part of the deal. [00:26:44] Speaker A: Yeah. Okay, I assume. But then the acquisition had a specific goal where how you work was not one of them to be changed. [00:26:57] Speaker B: No. So I can't speak for the older companies, but, and hosting companies because if we are, if we are looking things the m and a, so the companies who are buying other companies are like 95% are hosting or a few exceptions, the big companies of WordPress are hosting, let's say, in terms of revenue globally. And so, and it's extremely competitive markets. It's hard to grow because of the competition, let's say, and other factors. And they, their way of growing is acquisition. But they know, I mean, for most of them that in order to grow, they need to keep the plug in because it's really different business. And to keep the company, they are buying more or less independently. And most of the companies who have been bought recently because quite a lot are more or less doing the same than us. There are of course, a few exceptions, but it depends on context because when the group did bias, they were not really involved into WordPress. They were really focused into traditional hosting, let's say. So WordPress was pretty new for them. So that was a mix of like an opportunity to learn more of WordPress from people who are there since a few years who know a little bit of market and to grow into that ecosystem. [00:28:19] Speaker A: Okay, so this has been four years now. What has been the biggest change for you personally reporting, let's say you now have to report. [00:28:29] Speaker B: So two things I need to report in a way, financially speaking, about what we do, which was not the case because I mean, we were a fully bootstrapped company. So I mean, we were, Jonte and me, deciding in a way, and reporting to our, ourselves, let's say. So that was pretty easy. Now we're part of a bigger group and of course things are more organized and this is good at the end for the size of the company we have now to have this organization. So this has changed quite a lot. I mean, relatively, quite relatively. And the other thing is, I don't directly decide anymore. I mean, for example, work at CDN, the way we launched the latest products, I think five years ago. So before the acquisition is that's the way we are mostly working with Jet. And it's like, yeah, we had an id. Oh, that could be nice. I mean, we detect an issue. CDN are complex to configure extra people don't know about that. That could be cool to have a CDN. Okay, let's build a CDN then. Yeah, yeah, it's a bit more complex, obviously. Yeah. But yeah, today this is not possible to do that. And I mean that's obviously it's normal. And you need to like present a business case and trying and budget everything. So that's making a bit more slower. But that's force you to really think about different, I mean, about the approach you want to take. So I would say that's the biggest changes we had. [00:29:58] Speaker A: So that's more of the responsibility is being certainly offloaded and thus forcing you into, I'm going to say this very disrespectfully, but less cowboy coding, more thinking about this first and see where this actually could go and how fast and how large and all of that. [00:30:15] Speaker B: Yeah, but that's without the acquisition. That's the nature of things. Because I mean, however, our team, specifically, our tech team developers are growing and organizing in a better way that it was a few years ago and before it was really cobalt in a way, so I could calm like code a little small things that pushed directly on prod or whatever. And now we have all the process which doesn't allow me to code, which is good, I would say, for the benefit of the company. [00:30:47] Speaker A: Yeah. [00:30:48] Speaker B: And you can directly push that into a sprint. You need to, I mean, that process in place, which is really normal for this size of team. [00:30:56] Speaker A: Yeah. How large is your team? [00:30:58] Speaker B: So today the global team is a bit less than 50. I think we have 46, something like that. [00:31:04] Speaker A: Yeah. That's a sizable team. [00:31:06] Speaker B: Yeah. [00:31:08] Speaker A: And I can see the force to standardization and a rhythm of deployment. So whether you call them sprint or whatever, any movement in that direction is a warm welcome, one you may or may not know. But I recently launched scanfily with my co founder Bari. And because I come from the world of the enterprise world, where nothing happens if it's not in a sprint, and buddy knows this as well, one of the first things we decided, instead of this, having the tasks mount up to a mountain that is too high to climb. We're like, why don't we just start with sprints? Right now it sounds way official and way early, but let's just do it because it just helps us in, you know, it forces you to look at the week and say, what should we do? What should we focus on? What are the things that are actually high priority? Because if you don't, you're essentially just letting whatever's being thrown at you and then whatever sticks is what you do. So potentially somebody who has an issue and really demands a fix for it, it doesn't necessarily warrant the time at this particular time, but maybe next sprint. And to force us into that decision, I think has been one of the smartest things. It feels overcomplicating for it's just the two of us, but still, I can see the benefits already. [00:32:32] Speaker B: And how do you decide that a task, I mean, what's your framework of decision that a specific task should go into sprint? How we do that now, the next sprint, let's say. [00:32:43] Speaker A: So we first determine what type of tasks, obviously, so if there's bug fixes, those should go in like if there is an annoyance because something just doesn't work the way it's supposed to work, that should be fixed. And first, but in terms of features we have essentially highlighted, there's two types of features we look at. One is an existing feature, one is a new feature. For existing features we have. For all the features that we have, we have enrichments of how they work, meaning things can be better, faster, smoother, all of these types of things. So what we're doing is we're making a mix of things that will improve a particular feature as well as work on something that is a long term goal. So we mix it between. So that means a lot of tasks will be carried over from one sprint to the next. But we will try to determine the steps that are in between as much as possible. So you have the feeling of, I've done something, I've checked something off, but I'm still working on it, which prints allow you to do perfectly. It just requires a little bit more writing down what it is that we're exactly going to do. So it helps you focus on. So, for instance, we have the uptime monitor. When we launched it, we knew we needed to make some changes because we'd already seen a few improvements possible. Now, when you're starting to write that out, you're also at that time we started getting feedback, some of them, there was one little bug, which is, it's super small, but it was a bug, so you incorporate that. But then that also taught us, okay, so they are using it like this and that as well. So that means we need to also do that. So it's never a straightforward thing, but we weigh them between, this is what enriches the feature and this is an entirely new feature, and then bugs go through them. And that's in terms of the code and in terms of the, you know, the marketing, the outreach, all of that sort of stuff, that's more straightforward because you can, just by experience, you know, if you have a goal to have a 1500 words article, you roughly know the amount of hours it's going to take. And it's a matter of, am I able to do this uninterrupted? Does my creative juice flow? All of those things. But, yeah, we'll see who that goes. But it's. But it's. If you don't organize, you're never going to get organized. [00:35:15] Speaker B: Yeah, it's very true. [00:35:17] Speaker A: It's a very simple thing to say, but I think you need to force yourself if you want to be constantly improving and adding value to the product, which I'm sure. [00:35:35] Speaker B: And how does it. I mean, who is developing your product? You have multiple. You only. [00:35:40] Speaker A: I develop, but not to the level that body does. So this is one of. This is one of those great examples where I know my limitations. I understand perfectly what he does, what he's building. It doesn't spark me joy to build it from scratch. And it makes Buddy happy, because here's, like, this complex thing we're trying to solve. Body go like, nice, let me see how to do this. And I go like, I understand how I would want this to do to be done, but I don't care to do it. Not anymore, at least. So, yeah. Buddy is our CTO, main developer. Whatever you want to throw at him. He's also a full stack developer, so that helps. So he can set up the thing from scratch as well. And I can think along perfectly fine in terms of direction of where it needs to go or how it needs to build. Architecturally, I can think in those lines, but I don't, like I said, I don't care to write code anymore in that way. [00:36:38] Speaker B: And you have two systems. You have the plugins, and I believe your infrastructure, let's say, or SaaS app, which does all the background work, correct? [00:36:49] Speaker A: Yeah. So the plugin feeds into our dashboard. It's supposed to look like a very simple connection, and it is, but underwater, there's a lot of stuff happening, but. [00:37:03] Speaker B: Yeah, and that opens something really interesting we have seen since many years. Yeah, a few years, let's say, is how plugins, I mean, how the code of WordPress plugins is deporting outside of WordPress, which is what we do in most of our plugins now, and which is what we see is more and more plugins doing that because you, I mean, developing things into WordPress have a lot of limitations. I mean, the language which doesn't allow you to do a lot of things, performance of the different hostings you are dealing with, the version of PHP, there are a ton of things and an interesting move which is not necessarily the good one for everyone, but we see that moving quite a lot. [00:37:53] Speaker A: Well, you know, you have a plugin, certainly the WP rocket, where you're highly dependent on the availability of certain modules, PHP versions, all of that, I guess imeijify also, but certainly WP rocket has the need, well, there's two things, correct me if I'm wrong, but on the one hand you need to be locally installed and do things locally, and on the other hand, it immediately introduces the complexity of all the different type of hosting scenarios that you have. I don't think I'm exaggerating. If I were to say that the possible variations are in the thousands, if not ten thousands. [00:38:35] Speaker B: Yeah, probably more. That's typically the issue we have. [00:38:39] Speaker A: I mean, any large plugin has that. I think it was gravity forms at a point that I was in a conversation with them and they sort of said like in general this should work, but, and then became the long list of exceptions depending on the, just the hosting platform. And this was vanilla WordPress, vanilla everything. And that, that already introduced a whole bunch of differences in terms of how the problem could be solved. And I'm like whoa. So for scanfully, we very quickly said the only way we're going to do this if it's outside of WordPress, so we have an activity monitor in there. So everything that happens, like if you install a plugin, delete, update all of those things, create posts and you know, whatever type of events you can think of, there's a few plugins that store that inside WordPress in a way that makes sense. But if the site goes down and you need to figure out what happened, hey, unfortunately you can't access anymore. So what's the point here then? All of the data points and all of those things, we immediately said, look, this is not going to live inside of WordPress, it doesn't make any sense. Let's create a dashboard, let's figure it out how to port the data over and it's working, it's working wonderfully. So we're only going to double down. [00:39:57] Speaker B: Sometimes it's a need for you. I mean there are specific features like you have which you, I mean you could possibly do into WordPress, but that would be like, I mean way more work and that won't work correctly and that's the same for us. I mean, for example we have specific features where we need to visit the website and load all the JavaScript, all the CSS, so we need a border for that. And we visit the website with the wheel border which is technically not possible to do that into WordPress. [00:40:29] Speaker A: Yeah, yeah that's a challenge. That's an. So how are you solving that one? [00:40:34] Speaker B: So it's, we have a specific features which is we move on UCSS. So we need to visit the website and to have access to the API of Chrome, internal API to get the information about which CSS are processed. And I mean in the perfect world all the CSS apply to websites would be through a CSS file and HTML, but there is something in the middle called JavaScript which change everything, which means that force us to load and to execute all the JavaScript to have all the CSS applied to be able to remove the one which are not applied. So we've built a novel infrastructure which is basically visiting websites and getting all the JavaScript and all the CSS and I mean real visits of the website to be able to extract these things. And so we connect between WP and our service in order to get the information and store them back into WordPress. [00:41:32] Speaker A: Yeah, that's an interesting use case as well. I mean I knew that's how it worked, but I think it's fun for people listening to understand what just goes into removing unused CSS because that certainly isn't something that you can just click on a button and done. It needs to be visited, it needs to be calculated, it needs to be, you know. [00:41:52] Speaker B: Yeah, yeah. And then for example we have niche Hopack, which is a web performance. Their approach is really interesting because, and which is in a way the opposite of us in the, their way of working is they are fully SaaS, which means that everything, the plugin is just a connector, more or less nothing is done into the plugin and everything rely on the infrastructure, which is great because it allows you to do tons of things relatively easily and then sending back to the plugin itself. You could see that as well. Cloudflare is doing more or less the same and most of the caching plugin, let's say a web performance plugin, are doing that approach which makes things easier. [00:42:40] Speaker A: You see it happen everywhere because it just starts to make more sense if and when you can offload any type of service that you're performing to not be dependent on all those tens of thousands of different scenarios. And that's not even counting the other plugins that are active because my lord, if we start looking at that as well, it's just, that's a mess you're never going to solve. So I think it's only natural to start thinking about how do we minimize our dependency of other things in the same environment. You are forced to come to this. [00:43:22] Speaker B: Conclusion, yes, but in the same time, this has a relatively high cost to do that, which means that this is not compatible with a free plugin. [00:43:33] Speaker A: I agree, I agree. [00:43:34] Speaker B: Yeah, this changed a little bit the way we're approaching plugin businesses as well. [00:43:40] Speaker A: Yeah. If you were to start a new plugin now, would you by default look at how do I approach this from a SaaS perspective? Is that like the first thing you think of? [00:43:50] Speaker B: Yeah, definitely. I mean, we would try to do everything on our side and having WordPress, I mean, the plugin just has connector, but it depends in the same time, depending what you are going to do, let's imagine we're going to do contact form doesn't really make sense to offload everything. [00:44:10] Speaker A: Well, what you could do is use the iframe version. You can create whatever form and the only thing you need to do is have a block that integrates it. And obviously something's stored locally to make sure there's a backup for whatever and whenever. But even contact forms make a lot of sense. [00:44:33] Speaker B: Deliverability of the email stats. [00:44:35] Speaker A: Exactly. Everything is built. Yeah. Come up with a better one. [00:44:40] Speaker B: But SEO, let's say SEO plugin, SEO. [00:44:43] Speaker A: Is a good one. Yeah. [00:44:44] Speaker B: You don't want to handle all the rewrite of the title. [00:44:47] Speaker A: No. [00:44:47] Speaker B: Even if that could make sense at the point that would be, that would make things way more easier for SEO agency to just have like, yeah, change your DNS to point to our servers, let's say. And dynamically, we don't care about WordPress, we can directly change your content, update your title, rewrite your HTML. Done. And you see the results. [00:45:08] Speaker A: I think that's a fair limitation. So what yoast SEO is doing with their AI integration, that for me is a perfect example of where the local plugin does whatever it does and then there's an AI connected in the background that it generates your meta descriptions. And I don't know if you've worked with it, but I really like how it works and it feels native, but I'm aware that I don't have an LLM installed inside my, those types of features. And I think we're going to see whenever a plugin where it makes sense to have certain components, if not the whole thing sassify. I think we're going to start seeing a larger and larger push in that direction. You control so much more of the, of the entire environment. It just makes mostly from a technical, but I would even say from a business and marketing standpoint, it makes a lot of sense to approach it that way. [00:46:03] Speaker B: Yeah, but if you think about the nature of open source and the nature of WordPress, that's not fully aligned. I mean the nature of WordPress globally open source is being able to, to change everything. I mean to, I mean if there is something you don't like, you can update things in the code and that's for example, which is something very important for us in two WP worket is to provide, do not provide too much option, but in the code to provide all the filters and action we can. So if you're developers, you want to have fully control on everything you can, which is something which won't be possible if you externalize everything. And that makes things a bit more complex. [00:46:46] Speaker A: And yet I think it's inevitable we're going to see it. And I agree with you. The open source idea, I think it's more of a thing that whatever got us here won't get us there. So at a certain point we're going to have to understand that open source as a principle, as a, you own all the data of all the software that you're using, there is a limit to it because it comes at a cost, and the cost, however you want to reframe it, but it ultimately boils down to human resources. And if we're open source means it's owned by everybody and it's owned by no one. But then if you want to make it better, it means you need to put in the time. All of these things ultimately have a limit of what you can do, I think, which is why I think it's inevitable that we're going to see the push to a more controlled environment, whatever they can. Simply, if the technical control isn't the driving motivator, it's what are the resources I have to add to my support team just to be able to even grow in a healthy way. I think it's going to, if we're going down this route more and more, we're going to see that the support departments become larger and larger and larger because as you grow, the amount of types of sites that you're going to encounter is also going to grow. And that means the complexity is going to grow and that means the conflicts are going to grow. And sure you can, like you see and like if you are reporting a problem, we would like you to copy paste whatever your system variables are. We're going to see that. But that's, that's not really the solution, is it? It just gives you a little bit more information in terms of what's happening here. [00:48:41] Speaker B: But yeah, but that's. I mean you are losing. By externalizing everything, you're losing, I mean you, you remove other people, the only and the control and you put things at risk. I believe. I mean the beautiful thing I believe with open source that you want on your own server is like it's working today. And whatever the company is doing, I mean the company is providing this plugin, it's dying. Whatever your plugin will still work probably for many years. And the issue with SaaS is like for example, I don't know, we decide to stop, to stop our server or whatever. All our features which are connected don't work anymore and people paid for that. [00:49:28] Speaker A: It's a risk. But I think I don't see. So I visited this type of question quite a few times in the last, certainly as we were building Scanfree as well. But in general I see that we have reached a point of saturation in terms of what open source can do or should do or must do or be allowed to do because it comes at a cost. And I think for the regular people using WordPress that have no idea of the community behind it, they don't care. They're just going to pick the tool that is the cheapest, the best, or whatever, whatever metric that works for them to make the decision. But anybody working in the community helping, organizing the meetups, the events, contributing in code, translating all of these people, there is a limit to what they can do. If that limit is somewhat reduced because we're introducing more sassified solutions and I think we're seeing that, but I think that direction is something that is. I think it's inescapable. Like I don't see myself building something on top of WordPress that would not in some way allow me to have a greater control. I'm thinking of Ollipro. Do you know Ollie the theme. So Ollipro, Mike and Patrick released it, well, soft released it last week or two weeks ago. I've been playing with it and there's a few things happening inside that in the pro plugin that is sassified. And it makes perfect sense that they built it the way they did it because now they have control. Now they've made it easy. Obviously it's a synchronization of stuff and all of those things. But if you had asked me five years ago, does it make sense for a theme to have a sass component into it like, hmm, that's a bit of a reach, isn't it? But now that we live in the world where we have patterns and we have page templates and all of these things, if I create a pattern in a particular site, would I like to sync it to another? Possibly, yeah. How do I do that? No idea. Okay, so I need something in between. Alipro is a good example of that. And as we're maturing as an open source community, I think it's inevitable that we start looking at the smarter way to do things, accepting that there's a cost. [00:51:49] Speaker B: Yeah. And that's for me the biggest issue. I mean if you think about the end user, I mean if you compare what someone who wanted to launch, let's say a e commerce website on WordPress a few years ago compared to what it is now and everything he has to pay on monthly, on yearly, because now everyone is moving on SaaS and we do, we do it at the same time. I mean the cost at the end start to be quite high. And I mean, yeah, that would maybe at a point make sense to, I would probably at a point recommend someone to someone who is, who is going to, who wants to, to launch a website, a small website to sell something, maybe that would make sense for him to move to Shopify because he has one fee and everything is integrated and because that makes things, sorry, way complex. Because at the point you need to buy a contact form, you need to buy your performance plugins, you need to monitor your website, so you need to pay a monthly fee for that. And the cost is, I believe, extremely high for something open source and initially free. [00:52:55] Speaker A: Yeah, good point. Where is the divider? What is the moment you start thinking, you know, this should be a shopify thing. This should be for me, the determining factor still is if you have full control or the most amount of control, that still makes the most sense for me to be on. So I don't see myself recommending shopify to friends. I'm more likely to say, look, I'll set it up for you. This is the spreadsheet where you enter all the product stuff and I'll import it and, you know, but that's because. [00:53:24] Speaker B: I can't, because you're a good friend. [00:53:25] Speaker A: There you go. Also. But other than that, it's, if I look at outside of that circle of people who understand, and it's that certainly becomes a question, like, at what point does it start to make more sense? No. Interesting. We have an interesting future ahead. And in that context, last question for you. What do you see as the most interesting thing ahead of where you and your products are headed? [00:53:53] Speaker B: Whoa, what a question. Specifically for our products, right. [00:53:59] Speaker A: Yeah, more as like where do you see yourself navigating to? Because that's where it needs to go. [00:54:05] Speaker B: Yeah. So the answer is our, is into our vision. And I was split into two things. I speak quite a lot about woocommerce because for us, that's really a model of how they have been able to successfully fully, let's say, win a market, which is e commerce website and by doing great choices. I mean, plugin is not perfect. There are a few things we are not happy with. We're intensively using it, but it's still really great. And my point with woocommerce is you go to any kind of bootcamp and you ask to someone, hey, I'm going to launch. I want to sell socks on my websites, WordPress website. What should I use? Probably 99% of people will say, hey, use woocommerce because, yeah, that's the best. And that's our vision for our products, is how we can improve ourselves, that we are that good, that everyone is recommending us. So the global vision we have since day one and the other thing is simplicity. And it's really back to the core of what we're doing is how we can help people having a faster website without them spending time on it. And in my point, WP walket is way too much complex today because we got too much options. And so our work today is how we can enable these options by default. So removing these options, but in order to do that, we need to make sure that we're working 100% of the time. Which goes back to the discussion. The conversation we had before is, yeah, maybe the best way to do that is having everything on SAS, because you control everything and you can make sure that it's not breaking things. So the conversation we have a bit internally is what are the things we are doing into the plugin? And the issues we can have doing into the plugins. What are the things we can do on SAS? A simple example of the reflection we have now is we have a specific option for minifying CSS and JavaScript, which is working 95% of the time, let's say. But for 5% we have kind of conflicts and our goal is to being able to enable that option by default. But in order to do that we need to fix everything. The way to fix it would be to have that into our SaaS so we can automatically generate rules to exclude the issue, which is way more difficult, let's say, to do that on the plugin. Probably we'll go on the plugins trying to improve because there are not so much issues. So that's really our goal is how we can kill our features by enabling, by default. Some people are not happy because changes. And when you have control on things and you lose, I mean you feel that you lose that control. That creates a lot of backslash that we had recently because we moved that a few options and people were not happy because they wanted to control it even if they don't need it. But that's our decision as product to do that. [00:57:13] Speaker A: That's a good and lofty goal. Thank you so much.

Other Episodes

Episode 25

December 29, 2023 01:01:26
Episode Cover

Understanding Tech Changes and Agency Evolution with Steve Zehngut

In this episode of the 'Within WordPress' podcast, Steve Zehngut, founder of Zeke agency and experienced WordPress professional, joins the host to discuss his...

Listen

Episode 9

September 22, 2023 00:56:10
Episode Cover

Joshua Wold: On The Importance of Onboarding to WordPress Plugins, Themes and Tools

In this podcast, I interview Joshua Wold, a designer who focuses on helping companies improve their onboarding in WordPress. Joshua explains that onboarding is...

Listen

Episode 31

April 17, 2024 01:01:30
Episode Cover

Talking GatherPress, Interaction.site, and WordCamps with Patricia Brun Torre

In this podcast episode I sit down with Patricia Brun Torre from Switzerland. We talk about her WordCamps, I mean, how could we not,...

Listen