Steve:
Hello everybody and welcome to yet another thrilling episode of JavaScript Jabber. My name is Steve Edwards. I am the host with the face for radio and the voice for being a mine, but you're stuck with me. I'm still your host today on our panel. We have coming live from Tel Aviv, Dan Shapir. How are you doing, Dan?
Dan_Shappir:
I'm doing really well. Tel Aviv has great weather as usual, a bit on the hard side, but you know, we have air conditioning, so no complaining.
Steve:
Awesome. And also AJ O'Neill.
Aj:
Yo yo yo coming at you live from the Harbor Freightosphere.
Steve:
Harbor Freightosphere. Care to explain?
Aj:
I've just discovered Harbor Freight. I'll pick
Steve:
Ah,
Aj:
it
Steve:
yes.
Aj:
later.
Steve:
Yes, they're a great place for tools. I have one near me as well. And our guest, our very special guest, is Felix, Felix or Felix depending on what part of the world you're in, aren't. How you doing, Felix?
Felix_Arntz:
Good, good. Thanks for having me. I'm excited to be here with you.
Steve:
Alrighty, so before we going into the topic of the day, why don't you give us a little background on yourself, Felix, who you are, what you do, why you're famous, and so on, and your other affinity for things that I like too.
Felix_Arntz:
Oh, yes. Okay, first of all, I will go the other way around because the most important thing about me is that I like dad jokes, and also very bad puns. Okay, now about my actual background. I'm...
Steve:
Sorry, we needed some applause for that.
Felix_Arntz:
Ha ha ha.
Steve:
And before I forget, just so everybody knows, we have a studio audience. How you doing, everybody?
Felix_Arntz:
Wow.
Steve:
Excellent, excellent.
Aj:
Didn't
Steve:
Thank you.
Aj:
didn't
Steve:
Thank
Aj:
Dan
Steve:
you very much
Aj:
warn you about overdoing it there Steve?
Dan_Shappir:
Thanks
Steve:
No,
Dan_Shappir:
for watching!
Steve:
he only warned about too many rim shots not sound effects overall
Aj:
Okay,
Steve:
so
Aj:
okay, all right.
Steve:
Alright, so now Felix now that we've established the crowd the rest of it
Felix_Arntz:
Yeah, I'm a developer relations engineer currently at Google. I've been working for Google since almost four years now. But before that, much longer than that, I've had a background in the WordPress community. So yeah, I've been contributing to the WordPress CMS core since 2015. And yeah. I've especially spent a lot of time during university because I liked contributing to WordPress a lot more than working for the university on all the learning for university stuff. So that was the time where I really started to contribute a ton to the WordPress project. And yeah, I've been involved ever since, and now also doing that as part of my job at Google.
Dan_Shappir:
It's
Steve:
That's what
Dan_Shappir:
really
Steve:
I was going to
Dan_Shappir:
interesting.
Steve:
ask you. That seems odd that, you know, I'm sorry, Dan. Um,
Dan_Shappir:
Now go and
Steve:
we're
Dan_Shappir:
go
Steve:
going to
Dan_Shappir:
for
Steve:
talk
Dan_Shappir:
it.
Steve:
about WordPress performance. And I wasn't aware that I was wondering how you tied in WordPress with Google. Cause I wasn't really aware of, of Google and WordPress being related or used together or anything. How does, how does that work? Or how are they related?
Felix_Arntz:
Yeah, so Google essentially established a WordPress focused team in 2018. The idea is that, of course, like the Google wants to contribute to the WordPress project to make it easier to build performant WordPress sites and sites with good user experience, which essentially benefits. Google search as much as it benefits the WordPress project. So essentially the interests of Google and WordPress there are going in the same direction.
Steve:
Now, do they do work with any other CMSs? And the reason I asked this is that I came from the Drupal world myself. So, you know, a similar stack based. And I know that Google Summer of Code most every year would have some people that were dedicated to contributing things to Drupal. And there were a number of people who came into the Drupal world and other that came out of Google Summer of Code. So I'm curious to see, is it just a WordPress from a CMS standpoint, or are there other CMSs they try to become involved with as well?
Felix_Arntz:
No, overall, so our team is primarily focused on WordPress, but Google overall has different teams that are focused on other CMSs. I think from an engineering perspective, it is mostly contributing to open source CMSs, but we also have partnership teams, for example, that work with the proprietary CMSs. to any other CMS, I believe. But I have also been involved with talking to people from Joomla, Drupal, Typeo 3 to name some examples where we've also through my job at Google, where we basically have advised the contributors to those platforms on certain topics.
Dan_Shappir:
Yeah, I'd like to mention that during my time at Wix, because I used to work at Wix on web performance up to about nine months ago. So during our time at Wix, we had collaboration ongoing with Google. We had, like you said, teams that were responsible for outreach to introduce us to new technologies coming out of Google, best practices, tools, et cetera. Obviously, nobody from Google actually to Wix's code that was obviously implemented by Wix employees, but there was a lot of information exchange, both, you know, like I said, people at Google informing people at Wix about technologies, best practices, new features in the browser and search, et cetera, and people in Wix giving back feedback about those features and capabilities or things that, you know, see changed or enhanced or improved in the Google ecosystem. Another thing that I want to mention is I've said it before when we talked about in those episodes about Core Web Vitals, where we spoke about why it is that Google introduced Core Web Vitals and why it is that Google cares so much about web performance. Now, obviously, this is conjecture on my part. I can't say for sure, having never actually worked at Google myself. that the good of, luckily for us, the good of the web kind of coincides to a significant extent with Google's own financial benefit because Google makes money from people seeing ads on the web. So the more people are on the web, the more ads they see, the more searches they conduct, the more Google benefits financially. a pleasant place to be on. And that includes also, obviously, in terms of accessibility and performance and security and whatnot. And so it's lucky for us because then Google promotes and pushes all these agendas.
Felix_Arntz:
Yeah, absolutely. That's, I couldn't have said it better.
Dan_Shappir:
So you're saying that from
Steve:
you
Dan_Shappir:
day one you joined Google to work specifically on WordPress? Or WordPress related projects? Or are you also doing other things at Google?
Felix_Arntz:
So I was specifically hired for this new WordPress team. I think initially it was more general open source CMS focused. But still, even at the very beginning, there was a focus on WordPress, largely because it has the largest market share of the open source CMSs. Yeah, so basically the other members of the team for which I was hired, most of them I already knew as well through the WordPress community. So that was very cool. So we all were hired to work on different WordPress projects. So that meant contributing to WordPress core, but also work on, for example, WordPress plugins in working in. So I have personally been the lead engineer for the site kit, Google site kit plugin. I can explain that a little bit more if you like.
Dan_Shappir:
Yeah, sure, go for it.
Felix_Arntz:
This is essentially Google's flagship plugin for WordPress. It makes a lot of the Google tools that are beneficial for site owners available directly in WordPress. So for example, Search Console, Google Analytics AdSense, Tag Manager, and there are a few more PageSpeed Insights. And we're fairly regularly adding new modules, like, I mean, not all the time, but maybe like once one module per year or so. So those are different. It essentially allows you to view all the stats for those services that help you succeed on the web as a site owner inside your WordPress dashboard. And the other benefit there is It makes it very, very easy. I would argue easier than any other way to set it up, to set those tools up. Like, um, there's, this is, I think this is one of the only tools in an open source CMS where you just have to click through some buttons and rather than copying and pasting JavaScript, JavaScript code snippets, which one of our primary goals with this product was that this all goes just through some clicks and need to touch code.
Dan_Shappir:
Now, going back to the importance of WordPress in general, which kind of informs Google's view on WordPress and why it's important to Google as well, you know, we are in a podcast about JavaScript. Many of our listeners, you know, use the latest and greatest JavaScript tools, both on the front end and on the back end. WordPress is obviously implemented, at least Why is it that our listeners should care about WordPress? And specifically, or why should people who use the web care about WordPress? I think a lot of our listeners may not be totally aware of how significant WordPress usage still is in the web today.
Felix_Arntz:
Yeah, I think it's, it's just that WordPress is, is one of the largest single kind of entities or that are a major part of the overall web. Like today WordPress sites make up about 40% of basically the web. According to whatever there are different ways to, um, there are different stats sources for these stats, of course, but this one is the commonly used one for, from the WordPress perspectives. W3 techs. From there, it says that WordPress is basically about 40% of the web. So while WordPress is more than it's about 50 years old, no 15, sorry, while WordPress is about 15 years old at this point, it still has been significantly significantly growing in the past few years. And while the of that fairly old and not necessarily optimal, it has such a big influence on the web overall. I personally care about
Dan_Shappir:
Thanks for watching!
Felix_Arntz:
trying to make it faster and giving a better user experience.
Dan_Shappir:
One statement that I really liked is that while JavaScript developers think about which framework to use, then PHP developers think about which Lamborghini model to purchase. So yeah, there's certainly a lot of demand for that. And again, talking about JavaScript frameworks, I think that another way to look at how ubiquitous day is the fact that according to the data in the HTTP archive, the number of WordPress websites outnumbers React websites by approximately five to one. And React is undoubtedly the king of the hill among JavaScript frameworks. So I think the only JavaScript thing that probably outnumbers WordPress is jQuery.
Felix_Arntz:
Ha!
Dan_Shappir:
WordPress is so far ahead of any other JavaScript-based platform that it's unlikely to change anytime in the near future.
Felix_Arntz:
Yeah, and I'm personally, like I said, I have been personally invested in the WordPress space, just based on my own interest for several years. This project has given me so much both personal relationships, job opportunities, and contributing me is very important and I want to also keep it successful and make it more successful hopefully and yeah, improve the web as part of that.
Dan_Shappir:
So you're more of a PHP developer than a JavaScript developer these days?
Felix_Arntz:
From my background, yes. So I have been primarily a PHP developer. I have been, yeah, I have been doing more JavaScript development on specifically on the site kit plugin for WordPress, which is, yeah, which is React based heavily. But yeah, my background is more on the PHP side than in JavaScript actually.
Dan_Shappir:
Cool.
Felix_Arntz:
But of course today, sorry. Go
Dan_Shappir:
No, I said cool.
Steve:
So, sorry,
Felix_Arntz:
ahead.
Steve:
go ahead.
Felix_Arntz:
Oh, I was just going to say. So yeah, of course today, now that we work a lot on the performance improvements, specifically modern web technologies and how we can adopt some of those in WordPress, there is a large front end focus there, of course. That's not always necessarily JavaScript. Sometimes it's really just HTML or HTML focus, CSS focus, but I'm, because of that, of course, also more involved in the JavaScript side of things.
Steve:
So if the evolution of WordPress is similar to Drupal, and I'm sorry to go back to that, but that's just my own experience, and I know it was sort of parallel to WordPress, they obviously started out as, maybe not so obviously, sort of the monolith approach where it's a LAMP stack with Linux, Apache, MySQL, PHP, where you're using PHP templating on the front end. So my initial experience with the templating was just PHP template. And I don't know where WordPress is. You can explain. They switched over to Twig, which is still a PHP templating. And I spent more hours trying to deal with PHP caching and templating with Varnish or other systems that makes my skin crawl. And so once AngularJS came around, then you started to see, firstly, your PHP template so you could have, you know, your PHP templating, but you'd have different Angular things integrated in. The classic example I always saw was weather.com. When they first did, they did a whole big Drupal shop down in Dallas did their site using Angular and Drupal, first AngularJS and then Angular 2 once that revamp happened. And then you started to see the whole uh, come into play. And I'm not sure how it was for a WordPress. I'd be curious to see the history on this, but I know Drupal, Dries was sort of drag kicking and screaming into it. And finally, uh, embraced it where you had Drupal simply as the backend. Um, and then you could provide an API or, you know, data so that, uh, whole. JavaScript front end could come in and, you know, and display your data and you could use it. And then, you know, we start. well, you got issues with SEO with the strictly JavaScript front-end. Now you have to have server-side rendering and you only sprinkle in the JavaScript on the front end as you needed with stuff like Astro or ILS and Vue or things like that. So, you know, pendulum swings back and forth and as people learn and, and, and so on, was that a, was, did WordPress go through a similar route where it was all, you know, your monolith to start out and then you break it apart. Now you're sort of, you know, you can do what you need to, depending on how much and I'll see you next time. Bye.
Felix_Arntz:
Yeah, so I think that WordPress is still primarily, it uses still primarily PHP templating in the front end. But you can certainly nowadays it's becoming more, it has become more popular to use JavaScript based front end, but there is WordPress does not provide like a clear infrastructure to set that up. about five years now, for about five years now, WorkPers has had a REST API as part of the core infrastructure, which allows, yeah, getting all the necessary content from the client side and rendering it client side. But there, as part of the core project itself, there isn't necessarily a big push or infrastructure being prioritized to facilitate, yeah, decoupled frontends. With that said, there are a lot of community projects focused on that. Yeah, one of them is a project called Frontity. I'm not closely familiar with that, but there are different, fairly successful and popular community projects which allow you to create a decoupled frontend using WordPress.
Dan_Shappir:
I'd like to mention, for example, that the company that I currently work at, Next Insurance, we actually are using WordPress as a headless CMS for our public website and actually rendering the HTML itself using Next.js from Versailles. And there are several motivations for that, one of them, by the way, being performance to customize the user interface and construct sophisticated UIs using JavaScript rather than using PHP. But I definitely still think that the vast majority of WordPress websites out there don't work that way. As far as I know, the vast majority of WordPress websites out there still use essentially the same architecture that was used in one way or another almost from day one, as far as I know.
Felix_Arntz:
Absolutely. Yeah, absolutely. So if you look, for example, into the WordPress theme repository, the official place where you get WordPress themes, I have personally never seen any JavaScript based theme there or heavily JavaScript focused theme there. Of course, you can inject JavaScript where it makes sense into your PHP based theme, into your PHP based templates, but This is it's not it's not heavily facilitated from the core project side. So you're yeah, you're certainly right There is the default the majority of WordPress sites are not are not headless
Dan_Shappir:
Now, I understand that one of the things that you're personally focusing on, and to an extent maybe even leading in the WordPress community, is an effort on improving WordPress performance. And really that's why I'm so excited to have you on our show. As everybody knows, I really care about web performance. At least everybody listens to this podcast. I actually worked on, like I said, on web performance for another CMS for Wix for a long time. Um, and I would really love for you to tell us about the stuff that you're doing in this context, you know, what brought it about and, and where you're heading with this.
Felix_Arntz:
Yeah, so absolutely. We started really thinking about a WordPress performance team mid or late last year. So of course, for several years, we have noticed that WordPress is not exactly performing great, especially then with the introduction of Core Web Vitals, very obvious that other CMSs, including Wix, were outperforming WordPress. And at Google, we thought that we need to do something about that. And as I had mentioned before, our team has always been heavily focused on WordPress, but there has also been another focus on other CMSs. as the small Google team that we are, we really decided at that point to go full steam on contributing to the WordPress core project. And we wanted to establish, we started talking to other stakeholders and companies contributing to the WordPress project to establish a performance team. So, and we want, the goal was to really make performance a focus. So it's kind of my And growing honestly, like when you look at WordPress, there has been for years, like an accessibility team, a security team, which makes complete sense, but there has not been a performance team until last year when we like, or the Google contributors in our team and other, a few other people from other companies, they started establishing this team. So that's kind of how we got to that point.
Dan_Shappir:
And I assume that this team now is not just people from Google, but also people from other companies or open source contributors, right?
Felix_Arntz:
Yeah, absolutely. It started as a collaboration from contributors from Google, contributors from Yoast, Tenup and XWP. There's also different other companies in the WordPress ecosystem. And yeah, since then it was, well, yeah, it was much embraced. As soon as we published the first proposal for this team, we got a ton of positive and So then shortly after we kickstarted weekly meetings, those always happen on Slack for the WordPress project. So yeah, a ton of people joined from other communities, from other companies, but also individual contributors. And yeah, today there are about like 500 people or so in this Slack channel and a lot more, yeah, a growing number of contributors is collaborating on working on different features.
Dan_Shappir:
How involved is Automatic as the de facto leader in the WordPress ecosystem?
Felix_Arntz:
So the automatic or I mean overall the project leadership of WordPress of the WordPress project has been very supportive of this effort. We have. Yeah, we have a few automatic contributors among the yeah in the in the group. And yeah, so we have. But, but, so overall it has. But they're also heavily focused still on the editing experience of WordPress, which is definitely the highest priority for the overall WordPress project, the editor of WordPress, which is called Gutenberg. That's been the biggest push in recent years. And so we're kind of really trying to establish this performance team. performance team over recent years, in the last year, and we got a lot of... Sorry, I'm sorry, I'm losing my trail of thought here. We- So we have gotten basically the support from the WordPress project leadership, which is in huge parts, automaticians. And since actually June this year, we also made this, the performance team became formalized as an official team in the WordPress project. So, so far, Automatic has
Dan_Shappir:
you
Felix_Arntz:
given some engineering resources to the project, importantly for us, they have been supporting our efforts and they're appreciated that this team exists.
Dan_Shappir:
Cool. Now, speaking from my personal experience of having worked on the performance at Wix, it was an enormous challenge. Because Wix is a large company involving a lot of developers working on a lot of different projects. They have different priorities, and they and it's used on a wide variety of platforms and various networks around the world, etc. So I know how challenging it was for us to get the entire organization and the service that it builds moving in the right direction. you know, pushing and prodding, including from upper management effectively making it a directive for the entire company to improve performance as a top priority. Given all that, I can only start to imagine how difficult it is to achieve something like that in the context of an open source project like WordPress. that's so widely used and runs on so many different platforms in almost a limitless amount of configurations. So how are you dealing with that? How are you going to climb that Mount Everest?
Felix_Arntz:
Yeah, this is indeed one of the, this is indeed the greatest, greatest challenge with WordPress. There is, it's, it's a very, it's a completely, it runs on completely uncontrolled environments. So people could have free hosting or $500 a month hosting. There is, there is, there's so many different variables, but the, but the one of the, and one of the virtues. Well, one of the blessings, but also a curse of WordPress is that it One of the primary project philosophies is that it should be compatible kind of everywhere. So that's one of the reasons why WordPress is so popular that it doesn't just break. But that's also a challenge, especially when it comes to performance, to find solutions that advance performance. at the same time, don't leave, don't break older experiences where a certain, let's say web technology is not supported. Um, so we, I think, I think it really, it really just needs a lot of, yeah, like you're saying it, it really needs a lot of pushing and trying to convince, um, other, other core developers to, um, yeah, that certain features are a good idea, a lot of thinking to how can we implement a feature in a way that it doesn't regress or that it doesn't regress performance of course, but also that it doesn't break backward compatibility in basically any environment.
Dan_Shappir:
Yeah, talking about accidentally regressing performance, I recall that initially when lazy loading of images was introduced into WordPress with express purpose of improving performance, it actually caused a performance regression because as I recall, the laziness was basically just applied to all the images and it turns out that that's not a good thing to do for the primary image or the hero image. to specify that it's lazy because that actually causes the browser to do some work before it actually starts downloading that image which delays the download of that hero image which can actually hurt the LCP metric. And I know that this has actually been addressed and now this is obviously no longer a problem with WordPress. But that just goes to show that even when you're trying to improve performance, you can very easily accidentally regress performance tools to monitor and make sure that you're moving forward, you can very easily move back. So how are you ensuring that, assuming that you got the buy-in that you want, how are you ensuring that people know what to do, that they do the right things, don't accidentally do the wrong things, or even do other changes that are supposedly wholly unrelated to performance, but accidentally regressed performance.
Felix_Arntz:
Yeah, so the lazy loading topic that you mentioned that I was personally heavily involved in that, that was also, that was even before the performance team was established. That was definitely a big learning experience. So one thing, another challenge in the WordPress project has been that historically there has kind of been a aversion against metrics because it's, because it's also, it's considered, maybe considered as tracking by some people. And that is, of course, privacy problematic. But we are really, we're trying to focus now on really measuring the performance impact before we push features in Core, which is really the thing that went wrong with lazy loading there. So what we're doing, what we're doing Our primary project as part of the performance team is a WordPress plugin called Performance Lab, which is effectively a set of all the different features that the performance team is working on inside a single plugin. And it's a so-called feature plugin. So all these features that are in this plugin, they are intended to at some point be added to WordPress Core. So using this plugin, allows us to
Dan_Shappir:
you
Felix_Arntz:
establish the confidence before getting a feature into WordPress Core and we can refine it in this plugin. Right now this plugin is already used on about more than 10,000 WordPress sites. From those sites that use the plugin and use the different features, we can gather performance or crux
Dan_Shappir:
you
Felix_Arntz:
through that, we can, the Chrome UX report, from there we can get those metrics that we need to be confident. And it can also be used to further than refine the implementation of the feature before we get it into WordPress Core. So this is really one of the primary things that we wanna familiarize also the rest of the WordPress community with to do that more. So that's something that we're also working on, but one of our primary
Steve:
Thanks for watching!
Felix_Arntz:
focuses.
Steve:
So what I'm curious to get into, I'm always a details guy, so I'm curious to see what are some of the performance enhancements you've made with WordPress. And I'm curious to see how much is back end versus front end. The one thing I'll ask about right off the bat is I can remember when Facebook first became a thing and they were using PHP and MySQL and I'm guessing they still do. I don't know enough about their stack anymore. something called BigPipe. And I know that Drupal integrated it. It was sort of a PHP performance or caching thing. And you know, caching is, they say that the two hardest things in computer science are naming things caching and off, cash validation and off by one errors. So I'd be willing to bet that caching plays a large part of performance. Are those some of the enhancements that, that you work on?
Felix_Arntz:
Yeah, so different, so there's of course, different groups within the performance team. They focus on different aspects. So there have been some several like, kind of minor performance improvements on the server side where certain database queries were improved or certain caching was added to certain database queries. Those are all those nitty little things that add up over time. We have also been working on the team has also been working on the certain site health modules. So WordPress has a feature called site health, which is essentially a set of checks that run in the admin backend and alert the site owner of certain configuration problems or suggestions on how to improve certain pieces. So while WordPress has to run on basically any kind of infrastructure, we still want to push site owners to be aware of certain problems. Like if they're running, if the site is running on PHP 5.6, that's not a good thing. So like those are, this is one of the most essential ones, but there are a lot of site health checks.
Dan_Shappir:
you
Felix_Arntz:
So we are in parallel working on actual performance improvements in the WordPress core helpful checks to the site health feature in WordPress
Dan_Shappir:
Thanks
Felix_Arntz:
to
Dan_Shappir:
for
Felix_Arntz:
make
Dan_Shappir:
watching!
Felix_Arntz:
site owners more aware of those problems.
Dan_Shappir:
I would also
Felix_Arntz:
And
Dan_Shappir:
like... Oh, sorry, go on.
Felix_Arntz:
also provide them there with actionable guidance, as actionable as possible, of course. Because we always try to find actionable steps that even a non-technical site owner can take, often things like, contact your host about this and this and this. Or, yeah, or see
Dan_Shappir:
Consider
Felix_Arntz:
it. Yeah.
Dan_Shappir:
switching your hosting provider. Ha ha ha ha.
Felix_Arntz:
This is exactly the type of thing that we cannot say in WordPress. But yeah, we do even allow some hosting providers that are specifically focusing on WordPress, we have integration points so that they can even hijack what WordPress recommends there. like a couple of years back, we did this, we built this feature, which alerts about a too old or insecure PHP version. And back then, we, we allowed hosting providers that there were a lot of hosting providers that had support for newer PHP versions, but they would wouldn't, but for whatever reasons, they wouldn't want to switch that on themselves for the end users, because of course, there's like a we provided integration points where the WordPress-focused hosting provider could say, go to your control panel here and click this button to enable a more modern recent version of PHP, for example, which then made it very easy for even someone who has no idea about this to click through those links and enable it.
Dan_Shappir:
One thing that I wanted to mention that's also related to your question, Steve, about whether the problems are more front-end or back-end related, you need to remember that WordPress is essentially what's known as an MPA or multi-page application and not an SPA. So a lot of the performance issues that are commonplace in modern JavaScript frameworks stuff like hydration or rehydration, whatever you choose to call it, and downloading a ton of JavaScript just to get the website to actually show something and certainly to work. A lot of this stuff is kind of irrelevant to WordPress. In WordPress, in most cases, you obviously can augment the functionality of WordPress websites with client-side JavaScript that do sophisticated things. usually runs in the backend. So you know, you display some content, a blog page, a form, you fill in the form, you post, it goes back to the backend to be handled. And that's both a benefit and also a limitation. It's a benefit because you don't have this problem with a ton of JavaScript that you have to download in order to actually have the site work, but it's also a limitation in more often than you might like. So that's one thing I wanted to mention in that context.
Felix_Arntz:
Yeah, so we are in that regard. We are currently starting to do more intense PHP profiling on the server side of WordPress. So we have so far been working on primarily problems on the client side, actually, so in the front end. So probably the biggest feature that we've been working on as a performance team P support. So when we last year, as we established the performance team, Web P support is was one of the things that immediately stuck out as something that would have a fairly significant impact on front end performance, but it would also not be as challenging as other projects. So that pick up. About one year later, we still have not landed it in WordPress Core because I can also go a little bit more into detail about it. But we are now very close to adding WebP support to WordPress Core, which would mean that going forward, when you upload, when end user upload a JPEG image, instead, a WebP image would get served in the front end.
Dan_Shappir:
Let me guess, safari problems?
Felix_Arntz:
That's one aspect there. But I think it shows like in an open source ecosystem overall, yeah, the progress on some of those big features is of course heavily dependent on community feedback and community buy-in and this can take a long time. And I think that's also, yeah, I think that can also be one of the challenges. additional challenges in an open source ecosystem where, like, you know, sometimes you advocate for this feature and you write blog posts and then, like, six months later, suddenly someone steps in and says, this is not a good idea or this part of the project, this part of the feature could be optimized and then you kind of have to go back to the drawing board. has happened with our repeat project a few times, which is a good thing, but just due to the slower kind of frequency where this feedback comes in, it can just drag itself for a little bit longer than
Dan_Shappir:
Now, I'll.
Felix_Arntz:
maybe in a proprietary project.
Dan_Shappir:
Oh yeah, for sure. That's both the benefit and the limitation of open source. And on one hand, you got the benefit obviously being that you got so many eyes reviewing everything you do and you got collaboration from people across, you know, so many industries, locations, capabilities, needs, etc. But on the other hand, like you said, it can make the processes much more and lengthy. You know, some open source projects have been able to overcome these limitations by having a benevolent dictator, kind of like Linus Trivaldis, but it's not always something that's doable, especially in a project that's so prevalent and so configurable as WordPress is.
Felix_Arntz:
Yeah, yeah, absolutely.
Dan_Shappir:
Yeah, go on.
Felix_Arntz:
Go ahead, go ahead.
Dan_Shappir:
One thing that seems to be related to that, at least in my mind, is the fact that with Word, and maybe it's also worthwhile to talk about what these things are, but with WordPress, you have this concept to both of plugins, but also of themes that can literally like do anything with the underlying platform. WordPress and using a theme as far as I understand it literally turn it on its head. There's almost no limitation to what I can do because the theme if I understand correctly is not just about CSS and HTML and maybe a bit of JavaScript to run on the client side. It's also whatever PHP or more or less that I want to add into the system. control what I do? How can you ensure that what is the thing that I do is okay in terms of performance and you know also in terms of maybe security and accessibility and whatnot. What process can you put in place to ensure that somebody doesn't install a theme or maybe even just a plugin and differences there. So maybe you can talk about that as well. But that I don't do something like that and then accidentally break all the good work that you've done in the WordPress core itself.
Felix_Arntz:
Yeah, so first of all, the guidance on plugins and themes is essentially that a plugin should provide functionality, a feature, like certain features, while a theme should primarily provide the layout and design. With that said, like you're saying, in a theme, a theme historically has also been PHP-based. So you could technically add anything to a theme. include anything in the theme that you would otherwise put that you are supposed to put in a plugin instead. So there are certain there are rules on that. There have been guidelines on that basically forever in the WordPress theme repository that you cannot that you must not put actual features in a theme. However, there are also other theme marketplaces where of giant themes that have like 20 features that would normally go into 20 plugins all included in this one theme, which just makes for a very, very complex solution. But it's also one of the challenges there is that it seems very appealing to an end user that is just starting out with WordPress because you look for your solution to build this website and then you find this one theme you don't know how good the quality of that theme is, but it has everything you want rather than looking for one theme and 10 different plugins. So there is a lot of appeal to those themes, but they also don't follow exactly the guidance, the guidelines that WordPress theme should follow. With that said, two, because you can kind of do anything in WordPress, it's hard to enforce control, obviously, There is already a tool to check themes for certain best practices. And we're in the performance team now. We're actually kickstarting a project to build something like that for plugins to really highlight performance or performance security and also general plugin development best practices that are violated by a plugin. This is initially... in the WordPress by the WordPress project. So that plug-in developers that follow the WordPress project, they will be able to set this up for their own plugin development, but potentially parts of it could also eventually be enforced when you submit a plugin, for example, to the WordPress plugin repository.
Dan_Shappir:
Do you think that's something that could happen? That there'll be some sort of a validation process that if a plugin or a theme is not properly validated, then it cannot be included in the marketplace or something like that? Or do you think this is more likely to be something that's potentially badge-oriented? Like, have this theme has been validated by such and such tool, and here's the badge showing that, themes that have that the badge or something like that.
Felix_Arntz:
I'm not sure which one of those ways would be eventually the more realistic one. So my hunch would kind of be to slowly tighten rules or guidelines. And through that, yeah, through that, enforce better quality in the long run. But I think we're, but this is a very, it's a very controversial topic in the WordPress, in the WordPress ecosystem. just as much as it would be to give some sort of quality indication of plugins. Because part of the project is that it's so easy for everyone to join, so we're kind of working against, for everyone to contribute. So we're working kind of against each other there a little bit, like with trying to enforce quality, but at the same time allowing anybody to contribute. But at the same time, we also don't want to shame developers for not following those best practices. So there is conflicting incentives there a little bit.
Dan_Shappir:
Well, I think that if you create a tool that, for example, measures certain best practices and gives a passing or failing grade, and again, not just a grade, but to the actual developer hopefully a set of recommendations, what they need to do in order to pass. Once they do pass, I think it's totally legitimate to give that plugin or theme or whatever a badge that indicates success. anybody because anybody could get that badge and it's totally up to you whether you want that badge or not, but you know, it's like if you have that badge, then you know that your users know that you have certain guarantees associated with it. Now, you know,
Felix_Arntz:
Mm-hmm.
Dan_Shappir:
I don't know if that's something that Google can do because that introduces potential liabilities, but I do think that that's something that an open source project could consider doing.
Felix_Arntz:
Absolutely. Yeah, that's a great point. So far there was a project a couple of years back which attempted to introduce something in the WordPress plugin repository, which would give some sort of score and that was heavily pushed back against them because it would
Dan_Shappir:
Mmm.
Felix_Arntz:
potentially shame certain developers that
Dan_Shappir:
you
Felix_Arntz:
were performing well. But this batch system you're proposing, that sounds a lot more reasonable.
Dan_Shappir:
And
Felix_Arntz:
So something that we have thought So,
Dan_Shappir:
yeah,
Felix_Arntz:
good.
Dan_Shappir:
I just wanted to say that to be blunt, if putting aside performance even for a second, if somebody doesn't follow certain security guidelines and certain accessibility guidelines in my book, they should be shamed, but that's just me.
Felix_Arntz:
Yep, in my book too.
Dan_Shappir:
But, and because, and those for me, by the way, are more important than performance, although you can consider performance an accessibility feature, and rightfully so, I think. But I do think that, you know, certain things are just must haves in the modern web. And I think that anything that can push these forwards, especially again, like you said, given WordPress is a huge market share. is a good thing for the web as a whole. Another thing that I wanted to bring up, looking back at my own experience at Wix, one of the things that mostly contributed to the performance gains that we were able to achieve had to do with the actual infrastructure. Wix, unlike WordPress, you said that WordPress, you can choose your own hosting providers. In the case of Wix, own hosting provider and the only one. When you build a website on Wix, it can only be hosted on Wix. But that enabled us to ensure that we built the optimal infrastructure for the way in which our websites are built and also vice versa to whenever there was a conflict between how the web builder operated optimization strategies that we wanted to employ in the infrastructure, we were actually able to change the way that the builder worked in order to accommodate that. Given the fact that you cannot really do that, given the fact that you support so many different hosting providers with WordPress, how do you overcome that challenge? And I'll give just a few examples. For example, Now, all web pages are cached using CDNs as close to the edge as possible. So anybody who builds a website on Wix
Felix_Arntz:
Thanks for watching!
Dan_Shappir:
gets a CDN out of the box. That's not the case for many WordPress websites. They don't get the benefits of a CDN. And without having the benefit of the CDN, it might be that regardless of whatever you in the core, you won't be able to achieve good core vitals. So how do you deal with that? Do you tell people, you can't say prefer this hosting provider, but you can say something like prefer a hosting provider, that provides this kind of a feature or something like that if you care about web performance. How are you looking to address this sort of thing?
Felix_Arntz:
Yeah, I think that's where primarily we will have to rely on the WordPress site health feature to inform site owners about precisely what you were saying. But at the same time, we are also testing, we are trying to figure out right now, kind of what is the hosting impact, for example, on different aspects. of performance, both on the back end but also in the front end. Like, for example, even how much of the hosting provider influences time to first bite versus what is the portion that we can improve by improving WordPress core? And through that research, we will have a better idea there how much we need to focus on the hosting side versus the WordPress side. we can do as part of this team, but also outreach to those hosting providers has to happen. Yeah, I'm not sure that we can, again, we cannot recommend a specific hosting provider. We can also probably not rank hosting providers, but based on certain performance criteria. But we are definitely investigating how we can
Dan_Shappir:
you
Felix_Arntz:
facilitate that more than the site health recommendations.
Dan_Shappir:
Two things that I can say in that context are that first, it can really change based on the geography of where the site is hosted and where the people connecting to the site are. Like if the site is US-based and all the visitors are US-based, then you might do well without the CDN. On the other hand, in the US, but your visitors are coming in from India, and I think you, Ajay, once mentioned having that kind of a scenario, then unless you have either data center in India itself, or preferably also CDN network in India, you're just not going to get good web performance.
Aj:
Well,
Felix_Arntz:
Right. Oh, sorry, good.
Aj:
uh,
Dan_Shappir:
Well, it is what it is.
Aj:
I, but it's, it's not, if you're Google, then yes, you can invest in a worldwide infrastructure and the complexity is worth it. If you're almost everybody else, what you're going to do is make your
Dan_Shappir:
you
Aj:
You're going to pick some free CDN that you heard about on hacker news. And then it's not going to have any correct region. What people, I guess, when, when we're on the show and we say the word CDN, we often mean something which is content distribution network, but when people that are laypeople and, you know, junior, mid, even senior level developers here at CDN, what they think about is something completely different. to use these tools that are meant for global scale, the cheapo free versions to run your blog, you just end up with a blog that is slower and fails more often.
Dan_Shappir:
But here's the thing, WordPress, like it or not, is competing with proprietary CMSs like Shopify, like Squarespace, like Wix. And these provide highly optimized CDNs out of the box. If you built your site on Shopify, if you built your site on Wix, then you get the benefit of a CDN that's been tweaked, I wouldn't say to perfection, but very significantly by
Aj:
It's...
Dan_Shappir:
network, by
Aj:
Prif-
Dan_Shappir:
highly paid network experts to
Aj:
Yes,
Dan_Shappir:
provide
Aj:
professionally
Dan_Shappir:
great,
Aj:
configured.
Dan_Shappir:
yes. And if,
Aj:
configured correctly.
Dan_Shappir:
exactly. And WordPress has to compete with that in order
Aj:
Sure.
Dan_Shappir:
to provide, to be on par in terms of performance. And that's exactly the challenge that I'm bringing up is that it needs to be done in a sort of a way that it shouldn't be up to the, I don't know, some... person that has no CDN experience and know-how like me to try to configure the optimal configuration for a CDN for their website just because they build it with WordPress. It needs to, it somehow needs to be, I somehow need to be directed towards a quality box solution is what I'm thinking in one way or another.
Aj:
Yeah. And, and I, I agree. I just, I just wanted to, as I often have done, just wanted to make the distinction. I agree. If you're going to do a CD in yourself, you're better off hosting on a single server. It'll be faster and have better reliability. If you're going to use some sort of cloud scale solution, because you actually have these problems. Remember people in India are predominantly on feature phones with two and a half G something so they're they're not going to notice if your DNS resolution time takes 100 milliseconds longer they're not you know that's and I just I just you know it's just my pushback on cd and all the things
Dan_Shappir:
Yeah,
Aj:
cd and the right things
Dan_Shappir:
but people in Australia, for example, will definitely notice a difference if you're using a CDN versus serving the webpage from a server in an AWS center on the West Coast in the US. Let's put it this way.
Aj:
I guess that depends on whether you're using react static pages or WordPress and what caching layers and optimizations are in there. Because if it's a, you know, your typical five megabyte react site versus an HTML page again.
Dan_Shappir:
Yeah,
Felix_Arntz:
っそい
Dan_Shappir:
that's also
Aj:
But
Dan_Shappir:
true.
Aj:
it conceded, conceded, point conceded.
Felix_Arntz:
Yeah, I mean in WordPress, so we can definitely not, we cannot deliver this within WordPress core, or obviously not within WordPress core, but also it would be, I would question whether it could ever be in one central point. Like I'm just thinking, could there be a CDN configured by WordPress.org, for example, powers all the WordPress sites out there, I doubt it. But the goal for WordPress would definitely not be to have people self-configure
Aj:
you
Felix_Arntz:
CDNs, but of course a lot of WordPress hosting providers provide CDN solutions, or there are also certain web services that have specifically for WordPress plugins that
Aj:
So...
Felix_Arntz:
can be used to set that up. could recommend to use one of those, for example.
Aj:
What is, what does CDN even mean in the case of WordPress? Cause I, in the more traditional view, CDN means static assets. Now we've got JavaScript on the edge that's up and coming. Uh, but in the case of WordPress, you got to connect to a database. And if you've got to connect to a database, there has to be a source of truth for that database. And I know that there's caching layers because a lot of the requests are actually static pages. It's just the static page for convenience. You know, the secretary needs to be able to update the web page, not have the web dev team update the web page every time. So the secretary can use the web interface that changes the meeting schedule and then publish it. And then that should break some caches and that should get put out to a CDN or something. But if so, I guess two things. One, how does that work in the case where somebody is doing an update that the CDN actually gets the update? So for, for things on WordPress that are more application-like where it is a lot of request response cycles with queries where the data is different every time, how does the CDN, how do you choose the CDN or know if the CDN is going to work? And that's our
Felix_Arntz:
Yeah, that's, yeah, like, I mean, as you were saying, I think from WordPress, for the majority of WordPress sites, CDN usage would be about the static assets. And yeah, and I honestly don't have that much familiarity with CDNs going beyond that, to be honest.
Dan_Shappir:
I might add
Aj:
So we're talking images, CSS file.
Dan_Shappir:
this, AJ. First of all, obviously, yes, all the static assets should be cash, but beyond that, again, it depends on the website. And Steve did say that one of the big challenges in computer science is cash and validation. So obviously, that's going of WordPress websites, unless you're building some sort of a highly dynamic store or something like that, you can probably cache something for a couple of minutes at least in a CDN. And
Aj:
Sure.
Dan_Shappir:
you can also use something like, what's the name, Stale While Revalidate, where you provide the cache version while the CDN is going to get the next version. always updating the CDN in the background while delivering the version that you currently have. So there are very, and also you can set up a certain process that when the secretary or the marketing person does update the website, you force invalidate the cash or something like that. So there's a whole bunch of solutions out there. Even if you have 10 visitors for your website every, or let's say you have a visitor which is not a whole lot these days, then even if you cash for 10 minutes, you've improved performance for 90% of your visitors just by doing that. So, you know, it's not, like I said, it's not trivial and you probably want somebody who has some expertise configuring it for you, not doing, certainly not doing it yourself, which is exactly
Aj:
No.
Dan_Shappir:
one of the big challenges.
Aj:
That level of caching is already built into WordPress, isn't it? Where if a essentially static page is rendered, it can build that page and then serve up that page rather than regenerating it every time.
Felix_Arntz:
It's not built into WordPress Core. There is, like you need, for example, like a plugin or so-called drop-in to have, to get full page caching. That's even, there's infrastructure in WordPress Core to facilitate that, but it's not part of WordPress Core.
Dan_Shappir:
And even if you
Aj:
Good.
Dan_Shappir:
did that, that's not necessarily enough because then you're caching on the server, which can be beneficial, you know, in order, let's say to avoid an expensive and lengthy database query or something
Felix_Arntz:
Yeah,
Dan_Shappir:
like that.
Felix_Arntz:
yeah.
Dan_Shappir:
But it's still better if you can cache it in the CDN that you can get to with far fewer hops from the endpoint device.
Felix_Arntz:
Right.
Aj:
So why wouldn't, uh, and when we say WordPress, there's also at least three different things that we're talking about, I think, you know, cause there's WordPress.com the business there's WordPress, the software that is the PHP software and there's WordPress. That's the, the interface that people interact with when the layperson is updating the page and they're all kind of just called WordPress, but they're kind of three distinct components, right?
Felix_Arntz:
I haven't like WordPress or WordPress.com. I usually separate between WordPress.com and WordPress. Well, WordPress.org essentially like the software, the software encompasses the interface I think that you're referring to.
Aj:
So could WordPress as an organization not provide a config file that you just, you know, pick DigitalOcean or one of the lesser cloud services like AWS or Azure or GCP. provide a config file that says, okay, here's how you spin up your, your CDN click and go if, if you, if you want to, are there not templates that can do that sort of thing that could be provided by WordPress?
Felix_Arntz:
I think, I mean, as soon as you're, as soon as you're speaking any environment specific thing, then it becomes a challenge to
Aj:
because
Felix_Arntz:
provide that
Aj:
politically.
Felix_Arntz:
in. Yeah, exactly.
Aj:
Well, what about providing a way that people can register their config files? So you say, Hey, any host, we're not going to select a host to provide a config file for, but here's an example config file. Maybe you could add an, any host give us a config file and we'll host it for, for how somebody could easily get global distribution with this software.
Felix_Arntz:
I mean, that's an interesting thought. Though I would argue that the majority of hosts that would probably provide that are already offering WordPress specific optimizations in their stack so that they, of course,
Aj:
Sure.
Felix_Arntz:
maybe based on the tier, what the customer picks, they already would offer that out of the box.
Dan_Shappir:
Before we finish, I have another question that I wanted to get through. And it has to do... So you gave an excellent talk that we will link to, talking about the work that you're doing, about how you set up the steam and the work that you're doing, the stuff that we discussed here, but also with slides. So that's a benefit. some of those challenges that WordPress has versus the various proprietary CMSs, and we touched on, I think, on all of them in our talk so far, there was one that you didn't mention and I was kind of wondering how applicable it is because I'm simply not sufficiently familiar with the WordPress ecosystem. So one of the things that the benefits that we had at Wix was that when we made a certain performance improvement to one of the services, and we rolled out that improvement, it was instantly applied to all Wix websites. Nobody had to do any update. They just got the improvement. And that is one of the reasons, I think, that the custom CMSs were able to improve relatively if not all of the users and all of the websites who are running on the latest and greatest in terms of performance. From my understanding, that's not the case in WordPress. That means that even if you make a really significant improvement to WordPress core and push it out, not everybody is going to get it. Is that true? Is that the case? Or is there any way that you're looking at the distribution of such improvements or at the very least make them much easier for people to get.
Felix_Arntz:
Yeah, so WordPress does not, by default, WordPress major versions do not auto update. So yeah, you're right. So these changes, they won't be rolled out immediately in WordPress. With that said, historically, we have data that shows that within a month of a new WordPress usually on that version. So it is, so like the first, it's very hard to, it's almost impossible to reach 100% even after years and years. But we, the latest version is always relatively quickly used by a considerable amount of WordPress sites. So I think while we cannot, like while this still limits us from getting those latest enhancements to, yeah, I think it does have impact. It does have already widespread impact very quickly. So I definitely see this as a valid concern and WordPress has actually done quite a bit in the last few years to facilitate auto updates more, like make it, it's now easier than before to configure automatic updates, even for WordPress versions, but also for plugins, before wasn't as straightforward, but it's still not the configuration by default.
Dan_Shappir:
I have to say that 50% in a few months is a lot better than I thought. So yeah, it definitely does seem that WordPress is making significant steps there to improve the process.
Felix_Arntz:
Yeah, so like, yeah, it does, there's still, it's definitely a problem. It's definitely a problem when it comes, I think it's more of a problem when it comes to like phasing out certain old technologies. That's where the slow rate of updating at some becomes a problem. Like for example, again, when we speak about PHP version support, the policy, I think the policy is basically like we should only, all the PHP versions until less than 1% of WordPress sites is on them or something like that or 2%. I forgot the exact threshold right now. So that of course means there's always a bunch of sites out there which maybe are not even used anymore, but they still count towards these numbers. So I think from rolling out new performance features...
Steve:
Oh, did we just lose him?
Dan_Shappir:
We lost your audio Felix
Aj:
you when muted.
Felix_Arntz:
Oh, sorry. I'm sorry. Can you give me one second? Because I'm in a meeting room and somebody wants to go in here.
Dan_Shappir:
Ha!
Steve:
This is what we call an edit.
Felix_Arntz:
Yep. One second.
Dan_Shappir:
No problem.
Steve:
I'm going to wrap up as soon as he's done here because we're getting overtime.
Dan_Shappir:
Yeah, the
Felix_Arntz:
Yeah.
Dan_Shappir:
one thing that we will also need to ask is if people want to be involved in this
Felix_Arntz:
Thank you.
Dan_Shappir:
effort, how they can go about it.
Steve:
Okay. Ooh, he's actually moving.
Dan_Shappir:
Yeah, well, you know, this is a thing you do in the corporate life. I've done it myself.
Steve:
Oh yes, oh me too.
Dan_Shappir:
being thrown out of a meeting room because somebody booked it. I've been there. I think we all have. Maybe
Felix_Arntz:
Okay,
Dan_Shappir:
except
Felix_Arntz:
now
Dan_Shappir:
AJ.
Felix_Arntz:
I'm in another room.
Dan_Shappir:
Cool. So we can continue. End of edit. Hopefully the person who edits this actually listens and doesn't leave others
Steve:
Yeah, he
Dan_Shappir:
there.
Steve:
does.
Felix_Arntz:
Hahaha
Dan_Shappir:
Okay. Now end
Aj:
an
Dan_Shappir:
of edit.
Aj:
FYI, Dan, we do have meeting rooms at the startup building.
Dan_Shappir:
Ah, okay. Hahaha.
Felix_Arntz:
Okay.
Dan_Shappir:
Cool, so let's continue.
Steve:
What were you saying before you got cut off, Alex?
Dan_Shappir:
you
Felix_Arntz:
What were we speaking about?
Dan_Shappir:
Ha!
Felix_Arntz:
Sorry, what were we speaking about?
Steve:
Hahaha.
Felix_Arntz:
Uh, Oh, I was,
Aj:
F
Felix_Arntz:
I was saying the, basically the, I think the, I think the, I think it's a bigger problem. Like the, the, the update rate of WordPress, I think it becomes, it's a more significant problem when it comes to phasing out all technologies rather than introduce or rolling out the new features essentially.
Dan_Shappir:
Well, for a long time that's been a problem in the JavaScript world. I mean, polyfields exist because we always have a problem with phasing out older technologies on the web. But it seems with the evergreen browsers that we're finally kind of putting this behind us to an extent, even though Safari is blocking you from putting in WebP. But be that as it may, hopefully you guys find the proper solution PHP as well.
Felix_Arntz:
We are actually not blocked by Safari. So I think that the amount of Safari usage, which doesn't support WebP at this point, is less than 2%, according to the research that we did. And we found that we're basically, so we built a mini kind of polyfill, but not really. We built some mini JavaScript snippet, is loaded in those Safari sites where it's not supported to replace back the WebP images with JPEG.
Steve:
Okay, so we're running out of time here. We might have, I know Felix ran out of time because he got booted from his conference room.
Felix_Arntz:
I'm going to go ahead and close the video. I'm going to go ahead and close the video.
Steve:
So before we move on to picks, real quick, if anybody wants to jump in and help you with WordPress performance in your community, how can they do that?
Felix_Arntz:
Yeah, so I think the best, our new entry point, since we now are an official WordPress team, we now have a website, make.wordpress.org slash performance. So this is just, this site was just created about a month ago, so it's not full of content yet, but it is the entry point already and links to all the other places from there that are relevant. So I think that's the best place to find us. We have meetings in the WordPress Slack Tuesday morning Pacific time. It's, I think it's this 15 UTC, whatever that is for you in the world. That is every Tuesday at 15 UTC. We have meetings on WordPress Slack. And if you, yeah, if you're new to WordPress, but you would, and you would like to join, you can go to chat.wordpress.org to create an account there. So yeah, we would love even, I mean, anybody, even if even people from outside the WordPress community, it would be great to have new folks from also other communities involved there, especially because I think a lot of people from the WordPress community, yeah, we are all living in this bubble a little bit and it's great to have outside feedback on outside input, especially from, for example, yeah, solid JavaScript background.
Steve:
Excellent. Alrighty, with that, we will move on to PICS. PICS are things that we like to talk about or that we're doing that may have to do with tech, may not have to do with tech. All of it depends on the person. So we'll start with AJ.
Aj:
Thank you because
Steve:
You're
Aj:
I actually
Steve:
welcome.
Aj:
have to go here shortly. So I've got a few things to pick. One of them is this hilarious, uh, Seinfeld NPM meme mashup. And I can't really describe it, but it's just a scene from Seinfeld, but it's replaced with them talking about using a package on NPM and then ends up with execution and and then Jerry just being thrown off his rocker anyway it's just kind of a funny little gif where it goes through a scene from the show and then it's it's got different captions and then from that I found out that there's this whole thing called Festivus.dev that has dozens of these Seinfeld I security and how important is I think that it's it's not secure unless it's convenient. If it's difficult for people to do, you have to make it easier to do the right thing than to do the wrong thing or even nothing at all. And so one of the simplest things you can do, of course, is just have HTTPS, which just about everything does these days. Thank goodness. Thanks to let's encrypt and zero SSL and web servers like caddy. wanted to pick caddy because it is, it is, uh, I mean, hopefully people aren't still using engine X and Apache and light, lighty and ancient servers like that developing modern applications. But I know that it often takes a long time for a dinosaur to, to, um, edge out of the industry. So if you haven't been using caddy, check it out because it is the, the simple, easy, uh, easier than doing nothing at all. It even supports HTTPS on local development so that you don't get stuck in one of those problems where things seem to work on local hosts. But then when you push it to a secure site, everything breaks because you actually had bad links or whatever. You can, you can actually test the HTTPS and local as well. And then I'm also going to pick, uh, Ryan and I's project web install.dev. It's been gaining a ton of traction. on GitHub, lots of people have opened issues for various niche edge cases that we fixed. This is how to install your developer tools. So whether it's Node or Dino or Flutter, or things like RipGrap and JQ or Prettier, your Vim development, other tools like Caddy, et cetera. This is just how to get things installed quickly and easily and basically be able to script installs secure and fast and easy to remember because it's just web install.dev slash whatever the name of the thing is but we updated it so that now all of the scripting is done in POSIX shell rather than bash which means that now it'll work on the default Alpine Linux image. and now I have to go. I'm taking my daughter to preschool, so I will catch y'all later, adios.
Steve:
Adios, AJ.
Dan_Shappir:
Bye bye AJ.
Steve:
Alright Dan, you're up next.
Dan_Shappir:
Okay, cool. So I have a couple of picks as well. My first pick is that we've watched the final episode of Better Call Saul, such an amazing TV series, one of the, in my opinion, one of the best TV shows ever. For those of you who have not watched it, I can't recommend it enough. The only challenge being that you have to, you kind of have to watch Breaking Bad Ahead, I'm an amazing and one of the best TV shows ever but still you're talking about all in all something like 12 seasons If you if you haven't watched any of it and you want to watch it from start to finish But like I said probably the best some of the best TV ever. So that would be my first pick My second pick I think I picked it Last week. I don't remember but anyway, I'm so excited about it that I'll pick it again anyway, is the fact that I'm going to be speaking at at Web Directions Summit Conference in Australia, in Sydney, Australia, on the 1st and 2nd of December. I've never been, so I'm extremely excited about going there for the first time. Also, my wife will be joining me and will probably take something like a three-week vacation to tour Australia afterwards. In other words, it's going to be awesome. What I'm going to talk about there, by the way, is kind of related to what we talked about today. I'll be comparing the performance of various JavaScript frameworks using data from Crocs based on the Core Web Vitals collected from the field. So if you're wondering which Framework has the best performance real-world performance rather than some lab contrived lab tests, then you want to join me in Sydney to find out so That's my second pick. And my final pick is that same sad pick that I pick each and every week, which is the ongoing war in Ukraine, which on the one hand is kind of getting banal because we're getting used to it. We're kind of desensitized to it. But on the other hand, hundreds of people are literally dying every day because some people are just evil. And I totally wish that this would somehow and if there's anything you can do to help the people in need then please do so and those would be my picks for today.
Steve:
Okay, I will go next to save our guest for last. Best for last guest, depends on how you look at it, I guess. So first all, I have a, I guess you would say, legitimate pick, article I came across on Hacker News. And I know that bacon is a favorite food of quite a number of people, not exactly the healthiest food, but it's still a favorite food for a lot of people. I love my bacon. And it's an article about, vertical farm will grow three million pounds of mycelium a year for fungi-based bacon. So it's another one of those, how do you call it, I don't know, say fake food or growing something that tastes like bacon that really wasn't bacon and you're growing it from fungus.
Dan_Shappir:
Vegetarian
Steve:
For those,
Dan_Shappir:
bacon, I guess.
Steve:
yes, and apparently the cool thing about this particular fungi that they are using it can be easily manipulated to have different properties be more prevalent than others or so on. You know of course my response whenever I hear somebody talk about fungi is that there's a fungus among us. but just can't resist that one. So anyway, moving past fungi and bacon, we'll get to my dad jokes of the week. I have always, not always, semi-interested in science and some aspects of science more than others. And I was reading recently about a new element
Dan_Shappir:
you
Steve:
that had been discovered. And what it does is it makes people around it but it's no joking matter.
Dan_Shappir:
Okay.
Steve:
Right, right. So last night, you know, I have alarm system and all that at my house, but a guy broke into my house and was looking for money. So I got up and looked with him.
Dan_Shappir:
I have to tell you Steve, that when I saw when you posted that joke on Twitter, I have to tell you that there's like an old Jewish joke that is basically the same one. And it's like,
Steve:
Uh-huh.
Dan_Shappir:
it like I read it in a book where it was supposedly like at least a hundred years old. So just so you know that this is an ancient joke.
Steve:
Oh yes, I'm always a fan of the classics. I just think of it as it may be new to the people that are hearing it for the first time, even though it's been around for a while.
Dan_Shappir:
you
Steve:
So, you know, it's new to you. And then finally, I am working, you know, in my day job in Side Hustles, I'm working on making my second million dollars. That's only because I gave up on the first.
Dan_Shappir:
Good luck, Steve.
Steve:
never made the first million dollars. Yes, thank you. I need a lot of luck, let me tell you. Alright, so with that we'll pass it off to Felix. Felix, what do you got for us?
Felix_Arntz:
Um, it's a, it's a challenge to come up with the picks, but well, I, um, this weekend, this weekend, uh, first I want to highlight, I watched a new, relatively new movie called prey. Uh, I don't know if you've heard about it. It's like a new movie from this ancient predator movie series. And it was,
Steve:
Yes, I've heard about it, haven't seen it.
Felix_Arntz:
it was surprisingly amazing. Like I have been kind of a fan of the series, but I, but except the old was nothing was really good, but this new movie, it, it was amazing. It's, it's, it's very, it's a nice, it's a, it's a really cool idea because they kind of move the whole premise of this series back 300 years to, uh, um, yeah. Comanche backgrounds. Like there is it's in, um, yeah, like 300 years ago in, I think somewhere in, I don't know exactly where it is. I think somewhere in North of the U S or even South of Canada, like that. And yeah, this predator comes comes there. And it's a very different it's a very atmospheric kind of slow suspense movie, which is maybe almost better than the original to me.
Steve:
You can't be better than Arnold.
Felix_Arntz:
Hahahaha
Steve:
Arnold, I'll be back. That's my terrible impression.
Felix_Arntz:
Yep. So that was, I really enjoyed that this weekend. Then what else do I have? Hmm.
Steve:
Well, you don't have to come up with something if you don't want to, one is fine.
Felix_Arntz:
I, oh yeah, one thing I just loved to see last week is apparently I had no idea, but I stumbled on Twitter across some person, a man jumping down 25,000 feet out of a plane without any parachute.
Steve:
Yes.
Felix_Arntz:
That was like mind blowing to me and just landed in some massive net, which reminded me immediately, which immediately made me think of me being eight years old and watching fall off a cliff and just bounce back up or something.
Dan_Shappir:
I remember that old, I think it was a Bugs Bunny cartoon where he's like crashing
Steve:
Yes.
Dan_Shappir:
with a plane and then just before he hits the ground, he pulls the hand brakes and manages to stop the plane just before it hits the ground or something like that.
Felix_Arntz:
Oh yeah, perfect. But yeah, seeing this video was like, oh wow, it's almost becoming real.
Steve:
Yeah, that was a few years ago when that happened. I can remember
Dan_Shappir:
you
Steve:
when that actually happened. That's just,
Felix_Arntz:
Oh, I
Steve:
yeah, that's
Felix_Arntz:
had no
Steve:
crazy.
Felix_Arntz:
idea. I had no idea that that had happened until last week. It was posted somewhere on Twitter.
Dan_Shappir:
you
Felix_Arntz:
Yeah.
Steve:
Excellent. All right, so with that, we will wrap up. Felix, if people want to contact you other than what you've mentioned before with the WordPress group, how else can they get ahold of you? Or would you
Felix_Arntz:
Um,
Steve:
rather they not get ahold of you?
Felix_Arntz:
uh, no, definitely, um, feel free to ping me,
Dan_Shappir:
Thanks for watching!
Felix_Arntz:
message me. Um, I'm, I'm anywhere, anywhere like on pro most, most probably the best platform to catch me is Twitter, um, or GitHub, but almost anywhere. My username is my full name all together. Felix aren'ts. Um, and, uh, yeah, my only username that's different is, uh, on wordpress.org where I'm called Flixos 90. Flixos is my nickname when I was a kid. So yeah, Felix Ahrens on Twitter or GitHub, or you'll also find me on Flixos90 in WordPress world.
Steve:
Excellent.
Dan_Shappir:
Thanks for watching!
Steve:
Dan is Dan Shapir on Twitter.
Dan_Shappir:
Double pay.
Steve:
Be prepared to, huh?
Dan_Shappir:
Double pay.
Steve:
Double P, S-H-A-P-P-I-R, correct. Be prepared to use the translate link in your
Dan_Shappir:
Oh
Steve:
tweets
Dan_Shappir:
no,
Steve:
at
Dan_Shappir:
we
Steve:
times.
Dan_Shappir:
talked about that. Yeah, it's
Steve:
No,
Dan_Shappir:
only
Steve:
I.
Dan_Shappir:
when I reply to political tweets in Hebrew when I can't contain myself, but I try to keep it to a minimum.
Steve:
Well, no, I've seen some responses to technical and programming type stuff, too. Some questions out there
Dan_Shappir:
Mmm.
Steve:
too in your responses. So anyway, I am wonder 95 on Twitter. Uh, if you want to see the dad joke of the day, it's usually five or six days a week, maybe not seven, but you get the dad joke of the day there. And we are JS, Java on Twitter as well, or top end devs.com. So thank you to Felix for coming in and talking about performance and WordPress.
Felix_Arntz:
Thank you for having
Steve:
We'll
Felix_Arntz:
me.
Steve:
talk at you next time.
Dan_Shappir:
Bye.
Felix_Arntz:
Bye bye.