Changelog #50 – Preliminary Roadmap to WordPress 5.9, Gutenberg 11.3 release and Navigation Screen and Block

Cover Art: Gutenberg Changelog
Gutenberg Changelog
Changelog #50 - Preliminary Roadmap to WordPress 5.9, Gutenberg 11.3 release and Navigation Screen and Block
Loading
/

Birgit Pauli-Haack and Grzegorz Ziolkowski discuss the preliminary roadmap to WordPress 5.9, Gutenberg 11.3 and Navigation Screen and Block

Show Notes / Transcript

Subscribe to the Gutenberg Changelog podcast via your favorite podcast apps!
🎙️ Spotify | Google | iTunes | PocketCasts | Stitcher |
🎙️ Pod Bean | CastBox | Podchaser | RSS Feed 

Show Notes

Preliminary Road to 5.9 by Matias Ventura

Designing Intrinsic Layouts by Jen Simmons—An Event Apart video

New Podcast: Tell me about Blocks with Michael Schneider

Proposal: Brand guidelines for Learn WordPress content Hugh Lashbrooke & Courtney Robinson

FSE Program Testing Call #9: Handling HigherEd Headers by Anne McCarthy

Gutenberg 11.3

The cost of WordPress plugins on the performance of the editor by Riad Benguella

Building an Editor by Sharing Code Between Android, iOS, and Web with React Native by Matt Chowning

A Discussion With Gutenberg Project Lead Matías Ventura on the Barrier to Entry by Justin Tadlock

Did you like this episode? Please write us a reviewhttps://lovethepodcast.com/gutenbergchangelog

 

If you have questions or suggestions, or news you want us to include, send them to changelog@gutenbergtimes.com.

Please write us a review on iTunes! (Click here to learn how)

Transcript

Birgit Pauli-Haack: Hello, and welcome to our 50th episode of the Gutenberg Changelog podcast. Today, we will talk about the preliminary roadmap for WordPress 5.9, the Gutenberg 11.3 release, and the navigation screen and block, and so many more things.

I’m Birgit Pauli-Haack, curator at the Gutenberg Times, and I’m here with my co-host, Grzegorz Ziolkowski, code wrangler at Automatic and WordPress co-contributor. Good morning, Grzegorz. How are you? Thank you for agreeing to record this early and accommodate my in-laws’ schedule. It’s fabulous weather for a bicycle tour tomorrow. So we’re doing it today. How are you? 

Grzegorz Ziolkowski: Hello, Birgit. I’m great. It’s Wednesday, and we are before the official release of the Gutenberg plugin, but it looks like everything is ready. We are recording anyway. So the weather here is similar. It’s maybe not for bicycles for me, but there’s a lot of activities outside. I hope to play basketball in the evening with my friends. So that’s great, as always.

Birgit Pauli-Haack: Yes. Physical exhaustion in the heat. Yes.

Grzegorz Ziolkowski: In fact, the weather is great, because it’s hot during the day, but the mornings and evenings, they are quite chilly.

Birgit Pauli-Haack: Oh, that’s awesome. Yeah. Good. 

Announcements

So first, we have some, I mentioned it, Matias Ventura published a preliminary roadmap for WordPress 5.9. Now, that 5.8 is out with some of the full-site editing in there, some block designs, block patterns, he has some thoughts on what needs to happen for the next release. 

His post divides up the work in six sections. We’re just going touch briefly on it, but do chime in Grzegorz anytime. So the first thing he mentioned is blocks and intrinsic web design, that he feels that the responsive tool, and of course not only he feels that, every theme developer feels that, that the responsive tools are still missing for blocks. And that needs to be addressed in regards to intrinsic web design, which is an evolution from the responsive designs and is about page layouts.

And he considers, three context matters is really the point here, that if a block isn’t displayed on screen, or on the phone, it still needs styling to consider the context. So it would be displayed as an inner block in a column display. It definitely also needs a different styling than when it’s in a single row by itself. That needs to be addressed. 

I looked up the expression intrinsic web design, because I wasn’t all that familiar with it. It was quite….

Grzegorz Ziolkowski: I don’t know that one as well. So I’m curious to hear more about that.

Birgit Pauli-Haack: Yeah. And it was coined by Jen Simmons, she brought the grid layout to us as a responsive design plus, and it’s fixing some of the shortcomings and hacks of the responsive designs. Without going any deeper, and here a couple of years ago, she did a great talk at the Event Apart, and we will have the video link in our show notes about that, where she breaks down how we address a flow layout or flex layout, grid layout, and then so forth. 

But that’s definitely something that needs to get into the Gutenberg blocks, now that we are approaching page layouts with the site editor, there needs to be done some more work, as Matias says. 

Grzegorz Ziolkowski: In terms of technical aspect, is it less about using media queries to style your website and more about to make the design change according to the space it has? It’s more based on what’s the neighbors of your block, if it is something that is in the column, then classical media queries wouldn’t work because it’s still too narrow?

Birgit Pauli-Haack: Exactly.

Grzegorz Ziolkowski: That makes a lot of sense.

Birgit Pauli-Haack: And the viewpoints, of hard coded viewpoints that you see in a lot of designs, they not always apply, because the tablets get bigger, the phones get bigger, the phones get smaller, and then you watch it on a big screen, which is beyond the normal computer screen. The context changes so much on that.

I know that there are brilliant people in the Gutenberg team that can address it, but you needed to have the whole thing. I hear the rumblings that a developer needs to override the block, or a theme developer needs to override the block styling to get it into his own theme displayed nicely and all that. That is all part of that.

Because the whole context of a page layout wasn’t yet clear how the column block or how a cover block with multiple inner blocks would be handling that. That’s certainly a problem to have and to be solved. I think that’s what I learned from Matias’s post, it’s very, very high on the priority there.

It also comes in with the panel directory now, that it’s available now, it needs to have a better integration with the inserter. And also get some multi-block transformer improvement, that you can transform maybe a cover block into a block pattern or a paragraph block or a quote block into a block pattern. And that flow also needs to be integrated into template parts and page layouts to add block patterns into those. 

Grzegorz Ziolkowski: Yeah, I guess the most important part is that some of the block patterns that are in the directory aren’t so easy to use, because you need to copy them. I hope to see some improvements on that side. I guess that’s doable. It’s not that far away from that place. 

Birgit Pauli-Haack: And the meta team and the Gutenberg team worked on that already with the block directory, where you can search for a block in the inserter and then grab it and get it into your content. I think some basic architecture was already done there. 

Grzegorz Ziolkowski: But it was only for a subset of blocks that were marked as core specific. So that’s a different story to make it work for everything that is sent to the directory.

Birgit Pauli-Haack: Well, the directory itself, the pattern directory right now only allows for core, for patterns that are built with the core blocks. It’s a similar process, there is no danger that the block that’s in the pattern wouldn’t be on the site. Well, unless it’s switched off. Yeah, there’s a block manager that it switch off… That’s definitely some issues that will need to be solved one way or other, or it will bubble up as a bug later on. 

The third section that the Gutenberg, it is the navigation menus that will be the main focus for 5.9. It’s the new navigation screen as well as within navigation blocks. And there are definitely still some experience and display improvements necessary and reduced complexity was an expression that Matias uses in his post. And also that definitely needs to be tested, tested, tested, with as many themes as possible. 

Speaking of which, and you will hear me talk about it today multiple times, is that there is already a testing call. Anne McCarthy already posted the ninth call for testing for the full-site editing outreach program, and that is actually covering headers and navigation. We start with that already.

The fifth one, section four, Ventura’s roadmap or WordPress roadmap then is creating an interface for the theme JSON file. Right now, writing theme JSON manually in code is tedious. And the next step is to actually finalize the UI and the whole system is, we talked about it before, we covered it under global styles, where the user gets the chance to set those theme settings and configuration with the interface in a sidebar, in the site editor, that is also coming to 5.9. And the team has been working on that for quite a bit. 

The fifth one is header design tools, colors, typography, spacing and layout. And one of the main goals would be a consistent access to the similar tools across blocks, and including third-party ones. And that the parameters and the settings are normalized between block JSON files and theme JSON file, when there’s block support or theme support, that they use the same taxonomy there.

Grzegorz Ziolkowski: We had a lot of experimental features enabled in 5.8. I hope all of that is going to be stabilized, and we will have a consistent API. We are on a good path towards this goal. I’m positive about this one. 

Birgit Pauli-Haack: And there’s a lot of testing also done, actually, I think Anne McCarthy also published a survey, we will highlight in the show notes, the results of it, where they connected with some theme developers on how they are using the theme JSON and what they liked and what they don’t like. So that is also great input for that phase of preparing for 5.9. 

The sixth section in Ventura’s roadmap 5.9 post was to formalize the editing flows for block themes and having a clearer information architecture for all the features, like editing templates, styling pages, creating whole template parts and all that. There was some great input from the full-site editing outreach program. So that will be iterated a lot, and also finalize the theme level blocks that have been experimental or have not been published for the… They’re in the plugin, Gutenberg plugin, but they’re not in WordPress core yet. 

So that concludes the preliminary. That’s a very big word there, roadmap for WordPress 5.9. The schedule is not out yet.

Grzegorz Ziolkowski: Yeah, I guess the original plan was to have the release in December this year, but I don’t know, there isn’t a very detailed plan about that. So still probably involves and we will learn about that soon. 

Birgit Pauli-Haack: I’m thinking the core meeting later today would bring another preliminary schedule there.

Yeah, so if it stays with the schedule for December, then there will be future release in October, eight weeks before the release. That’s only two months away. So that’s a big roadmap for that. I’m sure there will be a cutoff date where we say, “Okay, this comes in or it doesn’t come in, or it’s ready or it’s not ready,” like we had it for 5.8. 

Community Contributions

We have a few community contributions today, we want to talk about. First, there is a new podcast. It’s called Tell Me About Blocks. And it’s an interview podcast about building extensions for Gutenberg, the WordPress block editor. And you can learn from guest experiences, creating block plugins, themes and block patterns. Michael Schneider is hosting that. It’s a monthly podcast. 

So July was the first episode and was with Keanan Koppenhaver. He’s a WordPress contributor and agency owner and plugin developer. He talks about his experience to do the Block-a-saurus plugin, which he just played around with the block editor to make it a little bit more fun. He’s also the maintainer of the Kanban for WordPress plugin that’s in the plugin repository. 

In the second episode, Michael Schneider interviews Rich Tabor, and talks with him about the making of the latest plugins, Markdown Comments, and the to-do list plugin for the block editor, which are more collaborative plugins for the admin section of the editor, rather than for front end. I haven’t listened to the second one yet. Have you heard about it Grzegorz?

Grzegorz Ziolkowski: I only learned about this podcast yesterday. I subscribed. So I’m planning to listen to both episodes, because this is the area I’m the most interested about, in the development of the block editor and WordPress in general. I’m looking forward to it.

We talked about the contributions from Rich, in particular about the markdown comments block, and the path, the journey that he had to send all his work to the block directory. So I’m just keen to learn more about the process and the experience in the form of the podcast that we all love, right?

Birgit Pauli-Haack: Yeah, and so we wish good luck to our fellow partner, Michael Schneider, in Tell Me About Blocks. And you can read up about it, tellmeaboutblocks.com. It’s all one word, no dashes, no underscores, anything, tellmeaboutblocks.com. So you can subscribe to yourself, because you are listening to our podcast, so you are interested in podcasts.

There’s a second announcement in the community contribution, which is from a team, of the WordPress team from the learn.wordpress.org team. And Hugh Lashbroke and Courtney Robertson have a proposal for brand guidelines for the Learn WordPress content. They asked plugin and theme creators if they want to contribute a course to the site. And the proposal handles the brand guidelines. 

So if there is, how they will handle shoutouts to other products that are outside of wordpress.org, but in the space. I think that should have your attention, and read through it and see what you think about it. Because definitely, the training team could use some help from more practitioners. It should be worthwhile for the brands as well.

Grzegorz Ziolkowski: And we need more tutorials how to build for the block editor, how to use the block editor. It’s all there, but it’s rapidly changing. We need to record new content. It’s only in your hands, and we are waiting for that. 

Birgit Pauli-Haack: Yeah. You make some great impact if you contribute that way to the WordPress project, and it’s what you already know. So you don’t have to learn a whole new thing. But you can influence millions of WordPress developers who wait for your wisdom. 

What’s Released – Gutenberg 11.3

So that brings us to Gutenberg 11.3 release. 

Grzegorz Ziolkowski: It’s still not out at the time of the recording. But we hope that it happens in any hour today. And anyway, we can cover what’s already in their release. This time, there isn’t anything in the changelog that would be marked as a new feature, although some of the enhancements listed are in the space of something that could be considered as a new feature.

Enhancements

There is now a new color picker, an experimental component. We talked before about this project, that has this code, G2, like next generation of components. And the work is towards building a better UI for all those controls that you use with blocks, with global styles and such. And it’s still experimental. But the plan is to have different color pickers. 

So you can check out this work to see the difference that is there and if you like it or not, give some feedback. It’s still in the works, in development. So you have impact on that and can drive the future work on that one.

Birgit Pauli-Haack: The G2 initiative is to make components much more accessible out of the box, so to speak, that a developer who uses those components, not only the Gutenberg developers, but also plugin developers and external developers can use those components and have an accessible experience, a more accessible experience out of the box. At least that was the new initial focus from Q and Sarah. 

Grzegorz Ziolkowski: And in general, there’s more to it. This concept of intrinsic web design, this is all about making this new set of components that they follow those principles. They adjust according to the context. 

And the other part is the team that is behind that. They are trying to unify the public API. At the moment, we must admit that some of the components were created a long time ago, and they were more like a realization of the current needs than the vision for the future. But this project helps us to bridge that gap, and make it much easier to use for all developers.

Birgit Pauli-Haack: Well, thank you. So one of the enhancements is also the post featured image block received basic dimension controls for the image, which was something that was requested quite a bit. And that is when you use the query loop block or the post template, where you display the series of blocks and the featured image with it. You can also use it in the single post template, if you have a block-based theme. 

Grzegorz Ziolkowski: Yeah, so just to remove some confusion that we discussed before the recording, is that this feature doesn’t quite work with classic themes. So it doesn’t have any impact on post featured images, unless you start using block-based themes, and all those designs.

Birgit Pauli-Haack: I think we need to, some of the enhancements that you said, we need to point out that this is not for classic themes. 

Grzegorz Ziolkowski: And there’s also a small change, a visual change, there are new icons for usable blocks and template part blocks. This is a special type of box that store the content in the database, and in the past, we had this logo looking like a Lego block. And now it looks like a stacked diamond. And the difference is only that one of them has the filled in background color, or something like this. 

So a subtle difference, it shows that those two blocks are similar, but a bit different, the usage is different. It’s more for design and usable block is more for sharing the same content. 

Birgit Pauli-Haack: Yeah. And the stacked diamonds represent that it’s more a block collection than just one block. So the reusable block are the ones with just the outline of the stack diamonds, and the template parts display is the filled in stack diamonds. And you can distinguish them in the list view of the site editor or your post editor to identify them better. 

Grzegorz Ziolkowski: I think that was the main motivation, because the list view is now persistent. When you have it opened, those visual cues are really important. 

Birgit Pauli-Haack: The next item is for the block editor. Now, for the internal links, there’s also the rich previews enabled. So when you link to a post that’s on your own site, once you did the linking, and you come back to that post and hover over it, it gives you a nice little window with the title, the featured image and an excerpt. And it also gives you a little link where you can unlink that post again.

This is similar to a Google Doc linking mechanism. It really speeds up the quality control of your content when you go back and double-check on some of the links, is it really the right post and all that. And it takes care of, it uses the meta description and the Open Graph meta tags for that rich preview. So if your site doesn’t use those, you won’t get the rich previews, and it wouldn’t show. But most WordPress sites use them out of the box anyway. 

Grzegorz Ziolkowski: I think it’s a game changer for content creators. I use this command plus trackpad click feature to check if the link that I used is correct one. You no longer have to do it, you just hover over the link and you have the hint for visible at your….

The other thing is that the button block, it has now padding block support. This one is quite different in how it has changed, because it’s not only a new feature that was added to the sidebar, but I think this is also the one that introduces a bit different UI experience. Is it this one or did I miss that?

Birgit Pauli-Haack: No, it’s the next one. But this one is the padding. Now, padding has been around for quite a bit, padding and margin for cover block. And now it also comes to the button block. So it’s the sub block of the buttons block, where you can set the padding for all buttons or for the whole dimensions of the button, like the padding 20 and it adds them to the top, to the right, to the left and to the bottom. 

Or you can unlink those sections, and then individually change the top left, right and bottom padding, as well as the padding for the button. You were talking about the next piece, there was the dimensions panel.

Grzegorz Ziolkowski: Dimension panel.

It’s interrelated, because the new dimensions panel, it’s using two features, it’s controlling two features, which one of them is the padding and the other one is margin. The idea is that, with so many new controls showing up, for some blocks, it’s too much to process when you look at the sidebar. So there is this exploration that is already in the Gutenberg plugin, that allows you to use the drop down menu to pick what’s displayed inside the panel. 

So you can decide whether you want to display both the paddings and the margin or only one of them. And there is also this reset all feature, that just goes to the default state. So according to the discussions that are in this PR, you can find out that this type of interaction is considered for all other panels like typographic and color. 

I’m looking forward to how it changes, because it’s something that site owners requested for so long, to have better control over those features. Once we have that, apply to all features, it will be much easier to give also some coding APIs that will allow to control that from the code, so you could easily turn off all the features you don’t want to have on the side. 

Birgit Pauli-Haack: Yeah. And it’s also part of what Matias mentioned before in his roadmap post, that the consistency of having the controls all look alike. So once a user learns them, he can apply his knowledge to all kind of different places where that control can be used. And also how to handle a margin that is now different from a cover block to the theme parts sidebar. So that’s part of this normalizing and being more consistent in all the tools. 

So those are the enhancements.

Bug Fixes

Then we have a few bug fixes. There are quite a few bug fixes in this release. I just wanted to highlight one of them, that is that the custom gradient picker for left to right languages is now fixed. So now gradients work well, better again, from left to right languages. I’m a fan of gradients and everybody should have access to it.

Grzegorz Ziolkowski: It’s definitely a very nice feature. And there’s other bugs I want to mention in the template editor. And now, we show only post template actions for user with correct capabilities. So sometimes those features are very powerful. So you want to have better control who can access them. It’s something that is constantly looked at and improved. There’s so many new features added, it’s very easy to miss that part, that there should be permissions.

Birgit Pauli-Haack: Yeah, this alleviates some of the anxiety that theme developers have, that any user can mess up their beautiful theme with changing some of the templates. But it’s now only restricted to the admin. That angst can be alleviated.

Performance

There were also quite a few performance improvements that come with this Gutenberg release 11.3, and one of them is the lazy render block types in the inserter. It only shows block types that are necessary now. Have we talked about it before? I think that is an additional iteration of that.

Grzegorz Ziolkowski: It might be something different. As far as I remember, this one is the same solution that was used for block patterns. So block pattern does the previews and so on. It’s a lot of data to process. There is a special handler that just splits the list of all block patterns into chunks, and this solution was implemented also to the block inserter and improved the performance, like perceived performance of the inserter immensely. 

So the difference you can see is that you will see small parts of the block types in the inserter at first, and the rest will just be iteratively added as the browser has free cycles to process that. So that makes the experience … because you can already start processing the block items in the inserter as they are rendered. In the past, you would have to wait until everything is ready. That’s a big improvement. 

Birgit Pauli-Haack: So what I see in that PR is that Riad created a little page or website that measures the block editor performance and it’s titled, Is Gutenberg Fast Yet? I think we talked about it before. 

Grzegorz Ziolkowski: Yes. 

Birgit Pauli-Haack: And where he sees the different items, how much time they use. And so he does some incremental improvements there and highlights all the different things that are keeping Gutenberg from being fast. It’s quite interesting for those who are interested in that kind of analysis, look at the PR in the site, and maybe you can help him figure out some of the performance hogs to make it even faster. 

Grzegorz Ziolkowski: Yeah, also, speaking of Riad and all his efforts to improve the performance of the editor, he also posted on his blog, about the cost of WordPress lag is on the performance of the editor. So it’s a really good read, especially if you are one of the authors of blogs, and he just shows the results of measuring the impact of the most popular plugins.

Also, he covers the plugins that add the functionality to the blocks, like additional features and how it impacts the performance. He covers also some recipes, how you can measure it on your own, when you are developing. The state of major plugins is really good, it has improved. As he was preparing this post, he reached out to some of those plugins, and they improved the performance, based on his findings. So it shows how the community is really into these performance improvements. That’s really great to see how it evolves. 

I recommend checking out this post. He shares his approach how to process all that. There is also, it’s a follow-up post, because in the past, he had another post when he explained all the impacts of different approaches that you take when building blocks, using data stores, using rendering, and it’s very complex. 

If you are really into block development, those two posts is definitely a must-have, if you want to provide the great experience for users, because performance is one of the most important aspects of that. 

Birgit Pauli-Haack: I’m just scrolling through that, thank you very much for pointing out this post. I haven’t seen that yet. So definitely, we will share the link in the show notes. And it’s definitely an eye-opener in how plugins change performance. And he has some nice spreadsheets there, where you can look things up, and also how you can, as you said, how you can measure your own as well, if you develop a plugin for that. 

Yeah, thank you. It’s also improved performance through the parser of removing the automatic custom classnames handling. What does that mean? I’m not so quite sure I understand it.

Grzegorz Ziolkowski: It’s quite complex. But the difference here is that this was the responsibility of the block editor before, and Riad moved this logic to the block parser. It’s happening earlier in the process. And because of that, it allows to skip some of the….

In some cases, when you have the classic block or you have the HTML, I don’t remember, other blocks, you know that for some blocks, you don’t have to do this processing, because they are not using this automatic classname handling. So you can skip that, that’s one improvement from start.

But also this ensures that the logic is executed only when really necessary. So when the block is valid, you don’t have to run that at all. But with the previous solution, it also was always applied. It had a really big impact when the post was really big.

So, it’s very technical, and it’s something that a small group of people can really help with. But Riad, he’s just the king of performance. He knows who to do all this.

Birgit Pauli-Haack: He loves to hear that, the king of performance. No, but it also shows that it only can be an iterative part that you can get it perfect, and you can get it to be more performant after the fact.

Experiments

That brings us to the experiment section of these release notes. It will highlight the template part placeholder now when you create a new template part with the site editor. So experiments has the full-site editing in there, and the navigation screen are the only experiments right now in the Gutenberg plugin that you have to switch on. 

The site editor itself is actually already switched on. I don’t know why it’s still in the experiments there. But when you create a new template part, say a header or maybe a sidebar item, it now asks you for a title as well in the create flow. So you don’t get as many untitled template parts as you got before. You can think about the title right when you create it. That’s definitely a improvement of the flow.

Grzegorz Ziolkowski: Yeah, I also hear that the template part is going to be promoted to the stable feature. So it means that will be included in WordPress 5.9, for sure. And maybe that even will happen in the next plugin release. So, 11.4. And that’s great, because this is a very exciting feature. It will open a lot of possibilities, even for classic themes. 

Birgit Pauli-Haack: Yeah, and now that it’s coming out of experimental means there are more eyeballs on it, to test it and to figure out what needs to be changed, or if it needs to be changed and what bug fixes are there. 

So the navigation link block, that’s a child block of the navigation block, now actually also has the ability to remove a link, which is certainly in the process of creating a navigation, a useful tool. Now, it’s there. 

Documentation

Grzegorz Ziolkowski: I think that brings us to the documentation section. And there is one item I wanted to highlight. Because we have those block patterns that you can search from the block patterns directory. And of course, some site owners don’t want to have them. So now there is a document explaining how you can disable that.

That part was missing, but it was possible from the release, WordPress 5.8. So it’s now covered. If you don’t like that, you can check out how to disable that. 

Birgit Pauli-Haack: Yeah, as any WordPress feature that is new, not only needs a way to enable it, it also needs a way to disable it, to make it as flexible as possible for all the WordPress instances that are out there. 

Which brings us, so there are quite a few other smaller changes to the documentation that you can check out for yourself, because they are just changes to existing documentation pages. 

Code Quality

Code quality, there is one highlighted that is the remove of the experimental prefix, and rename the theme JSON files.

If you’re theme developers, you now can remove the underscore, underscore experimental prefix on your theme JSON files as well. It will not read anymore from the experimental theme JSON file either. 

Grzegorz Ziolkowski: Yes. And there is a small change in the API. So in the core data, there was a method to get authors, and it wasn’t very flexible. But it’s now deprecated in favor of get users, that allows you to pass the flag to return only authors. But also, it has a lot of other features that makes it better use. So it’s only changed to consolidate the API and make it easier to discover. 

Birgit Pauli-Haack: Excellent. Thank you. Do you want to go through the tools section? 

Tools

Grzegorz Ziolkowski: There is one big change in that regard. So there is a lot of complaints about build tooling. And you related to that, because I was one of a few folks that were involved in updating Webpack to version five, and it was a pain. We started the first try in January, I guess, but it failed because of several issues. 

And now we finally made it, and it’s going to be…. So the change is in the Gutenberg plugin already, and it has a good impact on the bundle size. It has decreased. It was 30 kilobytes or less that’s going to be sent to the user, which is a big win. So yay for Webpack 5.

Birgit Pauli-Haack: Yay.

Grzegorz Ziolkowski: But there’s more to it. This change will also be applied in the WordPress scripts. We should expect NPM publishing for this package later this week. And so basically, if you are using default config files, everything should be good. If you are using your own custom config, then if you want to upgrade to the latest version, be prepared for some troubles, because it isn’t easy. Webpack isn’t backward compatible, to the degree that the WordPress is. It’s just what it is.

Birgit Pauli-Haack: Yeah, as we say, there will be dragons. 

Grzegorz Ziolkowski: For sure, if you have a custom config, it’s not easy. I’ve been there already. And the next step, of course, will be to do the same update in WordPress core. There’s three places to update. I understand the frustration from people who try to use those tools by themselves. You have a lot of courage. 

Testing

Birgit Pauli-Haack: And then there’s one other features that we will highlight from the testing section. And that is that the mobile team added a guide for integration testing, if I say this right, and it turns out to be quite complex. 

Grzegorz Ziolkowski: Yeah, in general, we talked a lot last time about the barrier of entry for developing for WordPress. The way to start, even writing tests for the mobile apps is just on completely different level. It’s like a skier wrapper or something like that. It’s just so complex. 

I guess this shows how the, not new web, but how the world evolves. You no longer only care about the browser, but there is also the phone, the tablet, and building apps for that. So if you are curious to learn how you could contribute to the native apps, if you are interested in this type of development, that’s definitely a good way to check and play with all those tools and see how complex the setup can be, if you are going outside of the web bubble. 

Birgit Pauli-Haack: I’ve never really ventured into the native apps development. But I had hoped that React Native would be a path to go. And then I read, oh, by the way, this brings us to the end of the changelog. And we are now more in the section of active development, what’s discussed. 

What in Active Development or Discussed

And we will share a post to Matt Chowning that he wrote about building an editor by sharing code between Android, iOS and web with React Native. It only brings you so far to reuse code base. And it seems that the mobile team recreated some of the Gutenberg experience, recreated them from scratch, reusing components, but not reusing some of the code base.

It’s quite an interesting read, finding out how complex that whole thing is when you do it through a phone screen and operating system. 

Grzegorz Ziolkowski: Yeah, but the good point that the team, the WordPress mobile team is very happy about choosing React Native, and they emphasize that the speed of development is really good, because they can share the logic part of the editor that is developed for the web version. All the JavaScript code, they can reuse, and they don’t have to write it from scratch. 

And what’s even more important, whenever there is a performance improvement, they get the same improvement on their side. And also, from my perspective, whenever they find something that is not working properly, they contribute back, so all parties win here. That’s the beauty of that setup. 

Birgit Pauli-Haack: And everybody benefits from that. The mobile version is also part of the overall Gutenberg GitHub repository. So there is some synergy there as well. 

All right. So two weeks ago, there was this big discussion about barriers to entry. And in our weekend edition, 180 and 181, on the Gutenberg Times, I shared quite a few blog posts and discussions on podcasts about that topic. So if you want to dive into it some more.

But Justin Tadlock from the WordPress Tavern, interviewed Matias Ventura, the Gutenberg Project lead on that. And it’s an interesting read, in that regard, that it really depends on the knowledge of who is developing for the web. And it’s a different perspective from someone like me who started with HTML, where only HTML was around. And it took about a couple of years before CSS came in. And then it took another couple of years before I needed to write some early JavaScript. 

I only had to add one little thing to my whole toolset. But it was also the speed of things. But latest in 2004, ’05 or ’07, I was left behind on all the cool development. And now caught up with it through WordPress, because that’s when we started, in 2010, we started with WordPress. And it took me about five years before I even had to touch code on a WordPress install to make a feature work. 

So it really depends on where you come from. I jump from a ColdFusion development base to a very rudimentary PHP, to good JavaScript knowledge. The barrier is different for me, from someone to build a plugin, from someone who has 10 years of PHP experience and knows all the intricacies of WordPress, because for 10 years, she has been developing in that space. So that’s one thing. 

And Matias also points out that the theme creation, and the new on ramps for theme developers is so much lower than it was the last 10 years for theme development in WordPress. Because now you can start with the block-based templates, you can do block patterns, you have the theme JSON to control some of the features.

And you could basically write a new theme without touching code, because the site editor gives you all the tools with it, or at least that’s the vision in 5.8. The 5.9 will come close to it. And then with patterns, you can account any theme in any case very easily with just assembling a few blocks. 

He also mentioned … go ahead.

Grzegorz Ziolkowski: I think it’s very interesting to hear the vision from Matias, because he also shared this preliminary scope for WordPress 5.9. He knows what’s the end goal. And that’s much easier to see the landscape, how it will look in a few months when you will be able to fully benefit from all the latest development in the space of block themes. And that’s one way of looking at that. 

Also, I think that in general, if you look at the development for the web 10, 15 years ago, you didn’t compete with mobile apps, and they didn’t exist at all. Everyone was using Nokia or other phones that only allowed you to play Snake or something similar, that was it.

And so the mobile apps, tablets, they change the perception what you can do, how you interact with those devices, and all the gestures and stuff like this, and animations and the performance. That was so much better because it uses some native technologies. So if you combine all those aspects together, it’s really hard to tell that the development should be still simple and the barrier of entry should be simple.

It cannot be, because we have so much bigger expectation as users these days. So of course, there are some libraries that help with that, but exploring the libraries, finding the right one and integrating that, it’s another level of complexity here. 

Birgit Pauli-Haack: I also think there’s a level of decision paralysis, because if you have too many choices on the libraries, the chance that you pick the wrong one is really high. And then for some people, that is an existential decision. And if your business depends on it, it makes it an existential decision that a lot of other people depend on that. 

I can see that, but it’s not only WordPress. All we know is WordPress, but it’s in all the areas that are out there that develop for the web. 

Grzegorz Ziolkowski: Go on. 

Birgit Pauli-Haack: Well, all I wanted to say was, when I look at what all needs to happen at the same time and play together, all the little pieces, it’s actually a miracle it works at all.

Grzegorz Ziolkowski: That’s true.

Birgit Pauli-Haack: Because so many things could work. We should all be blessed that we actually can get something together that works well for millions of people. 

Grzegorz Ziolkowski: Yeah, I think we all were happy about the limitation of the web 15 years ago. You had the basic HTML, CSS was very basic. Now, there is CSS4. So the number of features that were added in the meantime is, scope is so gigantic, and you have to learn fifth method of positioning elements on the page. And also, you have JavaScript that has evolved, there are new features in the language.

Even PHP, if you look back, PHP 4 or 5, it’s a completely different language than PHP 8 that you have now with types and some strict checks and so on. And the tools that are around, that we didn’t have the interest back in the day, now it’s wildly popular. And end-to-end testing was very hard in the past. Now, you have so many tools to pick from. 

So it’s up to you what you pick, because you could still use only PHP, HTML and CSS and some basic JavaScript and that should be fine. But the question is, if users will like it, or in terms of on the front end experience. But also, if the customers for all the businesses that WordPress supports, will be still happy to continue using very simplified interface, that is very technical. 

Birgit Pauli-Haack: Yeah. I think there’s so many things for many people. I think we will have a link to the WordPress Tavern article with the interview with Matias in our show notes. It’s definitely worth a read. And that brings us I think to the end of the show.

Grzegorz Ziolkowski: One more thing, definitely look out for the Gutenberg Times newsletter, because it has a lot of links to those discussions. This week, you should expect more because those discussions still happen on the web, on Twitter, so be aware and look forward to it. 

Birgit Pauli-Haack: I’ll have those in the show notes as well. This week’s weekend edition is not going to happen until next week, because I’m still….

Grzegorz Ziolkowski: A suspense, nice.

Birgit Pauli-Haack: A suspense on that, because I’m still on vacation and I’m visiting family in Europe. But before we end, again, please heed the call. If you have some time, heed the call to the FSE testing call for number nine, working with the headers and navigation coming to the site editor to Gutenberg. We will need your input, we need to learn from your experiences and also from your expectations. What you tried to do, what you were able to do, and what didn’t work and what you expected how it would work. I think that would be really, really helpful for the team to come out of experimental stage and get into the main plugin with the navigation screen and block.

As always, the show notes will be published on the Gutenberg Times podcast at gutenbergtimes.com/podcast. This is number 50. We’re halfway to number 100. And if you have any questions and suggestions or news you want to include, send them to changelog@gutenbergtimes.com. That’s changelog@gutenbergtimes.com

Thank you so much, Greg, for spending this morning with me. I hope you have a wonderful afternoon. Thank you all for listening. I’ll say goodbye.

Grzegorz Ziolkowski: Thank you, Birgit. Thank you, all our listeners and see you next time. 

Birgit Pauli-Haack: All right. Bye-bye.

2 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.