#46 – Nick Diego on Why You Should Be Excited About the Possibilities of WordPress Blocks

Transcript

[00:00:00] Nathan Wrigley: Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley.

Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the themes, and in this case, why you should be excited about WordPress blocks.

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or go to WPTavern.com forward slash feed forward slash podcast. And you can copy that URL into most podcast players.

If you have a topic that you’d like us to feature on the podcast, I’m keen to hear from you and hopefully get you, or your idea featured on the show. You can do that by heading over to WPTavern.com forward slash contact forward slash jukebox, and use the contact form there.

So on the podcast today, we have Nick Diego. Nick is a Developer Advocate at WP Engine. He can be found, creating educational content, building plugins and themes, and contributing to WordPress core.

He’s on the podcast today to talk about his passion and optimism for the future of WordPress using blocks. At the recent WordCamp US, Nick gave a presentation entitled, ‘Let’s build a custom block in 15 minutes’. It was his attempt at showing a group of WordPress enthusiasts that the barrier to creating blocks is slowly being eroded, due to the creation of new tools. These tools are creating opportunities for people who might otherwise have stayed away from block development.

It’s becoming easier to create the blocks as the tools take away much of the technical burden of getting you up and running without advanced knowledge of JavaScript and React. Coupled with core components, native blocks supports, and a bit of guidance, Nick thinks that every WordPress developer can add custom blocks to their repertoire.

It’s clear that Nick is all in on blocks. And during the podcast, he makes the case for why you should be too. They offer so many opportunities for what can be displayed on a page, and their capabilities are only getting better.

We talk about how WordPress core blocks are trying to support developers by adding components and blocks supports so you don’t have to repeat the development work already done by others. You can build on top of previous work and thereby save yourself valuable time.

It’s a fascinating chat, especially for those who are, as yet, undecided about whether they want to embrace WordPress blocks.

Typically when we record the podcast, there’s not a lot of background noise, but that’s not always the case. Over the coming weeks, I’ll be bringing you recordings from a recent trip to WordCamp US 2022, and you might notice that the recordings have a little echo or other strange audio artifacts. Whilst the podcasts are more than listenable, I hope that you understand that the vagaries of the real world were at play.

If you’re interested in finding out more, you can find all the links in the show notes by heading over to WPTavern.com forward slash podcast. Where you’ll find all of the other episodes as well. And so without further delay, I bring you Nick Diego.

I am joined on the podcast by Nick Diego. How you doing, Nick?

[00:04:03] Nick Deigo: I’m doing great.

[00:04:03] Nathan Wrigley: Would you just introduce yourself? Give us a little bit of your background, who you work for. How come you’re at WordCamp US.

[00:04:08] Nick Deigo: I’m a developer advocate at WP Engine. I also do a lot of contributing both on the WordPress core team and also on the training team for WordPress.

[00:04:16] Nathan Wrigley: He’s doing a talk, presentation. What’s it all about Nick?

[00:04:19] Nick Deigo: It’s all about trying to get people excited about building their own custom blocks, and I attempted to build a custom block completely in fifteen minutes.

[00:04:27] Nathan Wrigley: Did you achieve it?

[00:04:29] Nick Deigo: Just barely. I got the zero minute sign as I was just finishing the presentation, so I just got under the wire.

[00:04:35] Nathan Wrigley: I guess the principle therefore, is that if you can do something in 15 minutes, I mean, let’s be honest, you’re pretty well versed, probably had a few runs through of that. But the bit that you are trying to educate people in, is that it’s easier now than it ever has been. So there’s no excuse to not explore. Is that basically it?

[00:04:50] Nick Deigo: Yeah, and I think building blocks has been a bit scary. I know it was scary for myself. I didn’t come from a JavaScript background, mainly PHP. And so I wanted to show people that there’s so many more tools nowadays that it’s not as scary to get started, and if I can do it in 15 minutes, and I came from a non-technical background. You can do it too.

[00:05:09] Nathan Wrigley: When blocks came around, Gutenberg was launched the first time, how did we build blocks and how has that changed? What things have come over the horizon since then to make it easier?

[00:05:19] Nick Deigo: You wandered in the wilderness and looked for some documentation that maybe didn’t exist, and maybe looked at some core blocks and you kind of tried to figure it out. But today you can scaffold an entire block with one line of code in your terminal and voila, you have a block.

[00:05:34] Nathan Wrigley: Is that because it’s become easier to do, or is that just that there’s more documentation? Are there actual tools? Are there pieces of software that you can download and use and things to make it more straightforward?

[00:05:46] Nick Deigo: I find building with JavaScript is just inherently more challenging than PHP, but we have tools today written by contributors to WordPress that allow you to take all the hard bits and it takes care of that for you. And you can actually get to building the block itself and not worry about compiling JavaScript files and compiling style sheets. It’s all kind of done for you, which really makes it a lot easier.

[00:06:08] Nathan Wrigley: And when you say done for you, is that literally done for you? There’s no caveats. You just do the workflow that you’ve just described and you’re off to the races.

[00:06:15] Nick Deigo: It does it all for you. It scaffolds the whole thing. And now there’s a new version that came out actually like last week that allows you to choose different types of blocks you want to build and it will scaffold that for you and you can get started there, so.

[00:06:29] Nathan Wrigley: I’ll put the link, which you may mention in a moment in the show notes, but where do we find these tools? Where are we going to be going to? Are there websites that you can mention?

[00:06:37] Nick Deigo: So the biggest tool right now is called Create Block, kind of on the nose, but it’s maintained by the WordPress core contributing community. And it’s, well, it’ll be in the show notes, but it’s just Crate Block, WordPress in Google and you’ll find it. The documentation’s being built out. I gotta shout out Ryan Walter, a Developer Advocate at Automattic. He’s done a lot of work on the Create Block tool, and a lot of the documentation around it. So, that’s a place to start if you want to use that tool.

[00:07:00] Nathan Wrigley: Okay, and does it allow us to do all the things? Does the tool allow us to do a subset of things? In other words, if you are really thick in the weeds and you understand how to do React and all of that, are there limitations or constraints that the tool will not allow you to cross over?

[00:07:18] Nick Deigo: So, I’m a fairly novice React builder and so, and I think most people getting started with blocks would be. But if you’re a pro user, there are functionality in the tool. You could define like all your own templates. Basically, you can let it do whatever you want it to do. So if your new, it does a lot for you. And if you’re an expert you can still use it, but then, do all the wizardry that you’re used to and combine it with the tool to make your life easier.

[00:07:47] Nathan Wrigley: So why would we want to use blocks in the first place? I don’t mean that glibly. I literally mean that, there are blocks that come installed in a vanilla version of WordPress. They achieve the majority of what most people want to publish online. What is the use case? What are the kinds of things that are useful? What kind of things can you create, that you have seen, that you have enjoyed looking at?

[00:08:08] Nick Deigo: Assuming that you’ve bought into the block editor and that’s what you’re using and you’re not using a page builder or something like that, core blocks are great, but they’re designed to have all sorts of functionality that maybe you want or don’t want. I was actually talking to an agency earlier at Word Camp US, and they’re all in on blocks, and most of their blocks are custom because they want to provide specific functionality to their clients that maybe is a little bit different than core.

Or maybe completely niche blocks for, I don’t know, food blogging or whatever it might be. All within a block. The block UI that interface where their clients can get in there, see it visually and add the content on their page visually. And then obviously that translates to the front end. So, tons of reasons why you’d want to make the editing experience more visual. Not only that, but allow you to control more the experience than maybe just using native core blocks.

[00:09:04] Nathan Wrigley: So the principle being if you’ve got something, I’m going to guess this is the use case. If you’ve got something which on a particular project is something that’s going to be repeated, and in order to do that you would have to otherwise drag in a load of different blocks and sort of scaffold them together. This is the kind of use case. So something like a menu item on a restaurant menu. Or a real estate house listing item. Something like that.

[00:09:26] Nick Deigo: Yeah, for example, I know a lot of agencies specialize. We do real estate or hospitality or whatever. You could build your own suite of blocks for your agency and then roll them out to your clients and it’s very unique. Now there’s so many third party blocks out there that you can just pull off the shelf that are fantastic, but sometimes you need something custom, and knowing how to build custom blocks I think, whether you need it or not, is a pretty valuable tool to have.

[00:09:50] Nathan Wrigley: Just give us an idea in the 15 minutes that you had. What was the scope and magnitude of what you were able to create? I’m guessing, you know it’s not earth shattering.

[00:09:57] Nick Deigo: It’s not. So, most people are probably familiar with the Hello Dolly plugin, by Matt Mullenweg. And so to me, when I first started developing with WordPress, Hello Dolly was like this example of, it’s one file and it did something sort of novel. Look how easy it is to extend WordPress. And so it actually started, somebody online said, can you make a block that does a random motivational quote?

And I’m like, oh, that kind of reminds me of Hello Dolly, which has a random lyric from the song. And I’m like, what if we blockify Hello Dolly, and show just how easy it is to make a block using the original Hello Dolly plugin. That’s what I did. I made a block that spits out a random lyric from Hello Dolly on the front end of your site. We basically copy and pasted all of Matt’s original functions from Hello Dolly, dumped it into a block, and it just works.

[00:10:46] Nathan Wrigley: So imagine that I’ve got an agency and we have never touched this before. Realistically, how easy is it for you to push your team over to this kind of methodology? Are we talking days, weeks months, possibly years?

[00:10:59] Nick Deigo: Well, I think it depends on what you’re trying to build. So the thing that I built in the presentation was a dynamic block, where the front end’s all rendered in PHP. So if you’re really familiar with PHP and you don’t want to mess with very much JavaScript, you could create a dynamic block where you create some very simple interface in the editor, but then on the front end can do really complicated PHP stuff.

It’s many ways like, I hate to use this term, but it’s kind of like a short code in many ways. You, you have an interface in the editor, which people play with. Not just a short code, but then on the front end, just whatever PHP you want, and that’s what basically what we built. If you’re looking to get started quickly, that’s not very challenging. I mean, using the tool plus your own knowledge of PHP, getting started that way is not too bad.

[00:11:39] Nathan Wrigley: In terms of building these things, the scenario that I just gave you was an agency. We’re using our own employees to build the blocks to service our clients. Do you feel that in the future there’s going to be, in much the same way that there is for plugins at the moment. You can, you know, you can really make a decent living if you have a popular plugin. Do you feel like the same is possible for blocks? And I don’t mean like a suite of blocks, like, for example the real estate one. Could you potentially create a block and then have a marketplace to sell it, and make a decent living? Because I feel that’s where the next shift in revenue streams for WordPress might .Be

[00:12:16] Nick Deigo: I hope so. I think that it kind of speaks to the broader question of the WordPress economy and ecosystem, and we’re starting to see a lot of consolidation and all that kind of stuff. But I do think that there’s a lot of opportunity around blocks.

I know I have my own personal blocks. They’re all free, but they’re starting to get like a lot of usage, in the multiple thousands of active users. And it’s really only started in the last year where it’s like, okay, I guess blocks are a thing, we should adopt them. People are starting to use it more and I think that it’s an opportunity to stake out your niche and you know, if you’re really knowledgeable about real estate or whatever it might be. Yeah, build blocks and I’m sure people want to use them.

[00:12:54] Nathan Wrigley: What are the blocks that you’ve built?

[00:12:55] Nick Deigo: So I’ve built one that adds SVG icons to the editor and you can make them colorful and move them around. And then one’s a social sharing block. Really simple, just allows you to share the current page or post.

[00:13:07] Nathan Wrigley: And they’re getting traction, yeah?

[00:13:09] Nick Deigo: My SVG icon one, which is just. Also, one thing, if you’re building blocks, it’s very much like there’s not many people doing it. So you can really get great block names. So I have a block called The Icon Block, right. It wasn’t taken, so it’s the icon block, and it just allows you to edit SVG icons. And, I looked the other day and it’s got 4,000 people using it. And I’m like, how is this happening?

[00:13:31] Nathan Wrigley: Yeah, I kind of feel that the tide has gone, if you like for getting notoriety in plug-ins. I mean, sure, there are some that come along and for reasons that I can’t quite explain, they rise to the top quickly. They get some notoriety. But it sounds from what you’re saying as if, we’re just sort of landing on the beach really, and the beach head is yet to be taken. And if you get in now and develop now, you could be in that next wave and be what popular plug-ins are now.

[00:13:53] Nick Deigo: Yeah, it could be. We’ll see.

[00:13:56] Nathan Wrigley: Yeah. You used the word accessible. Now forgive me because I’ve completely misquoted you. You used the word accessible in your introduction. You were just talking about accessible in the sense of easy to use. But I am curious because I was interviewing somebody yesterday all about accessibility in WordPress, and we got into the interface and blocks and all of that kind of thing. So just a quick aside, the accessibility piece in blocks. Have you got anything to add in there?

[00:14:19] Nick Deigo: I think that accessibility in the block editor is something that continually needs improvement. And so one of the things, and I think we’ll talk about this in a second, is that when you’re building a custom block, the more that you can take advantage of the way that core does things. So core block supports, and we’ll talk about that, but the more you can take advantage of core components and things like that, the better off you are.

Because there’s a big emphasis on WordPress to improve accessibility. So if your block is using components from core, and core improves accessibility, your block will therefore also be more accessible. So instead of trying to do your own thing and code everything yourself. One, that’s harder. And two, you’re able to keep up with accessibility and all these other improvements by really staying close to core.

[00:15:08] Nathan Wrigley: You’re talking there about an evolution over time and I really haven’t followed the trajectory of what blocks could do in the beginning and what they can do now. Is there a lot of change that’s happened over the last couple of years? The capabilities of a block, am I able to do much more now? Obviously we’re talking about how easy it is, but am I able to do more with blocks than I was, let’s say two years?

[00:15:31] Nick Deigo: I don’t think necessarily that you could do more now, because you could always, if you were really skilled, you could always just write whatever you wanted. But a great example is block support. So block supports are when you create your block, you can define, I want my block to have typography support, or I want my block to have color support. It’s one line. Instead of having to write all the controls in a color palette and all the functionality, you just tell WordPress that this block has typography.

Your block loads in the editor and it has all the typography controls already. And those are coming from core. You’re not having to code any of that. You just tell, my block has typography, and it gives it to you. And so if WordPress ever improves their typography controls, your block already gets those improved controls.

So is it easier now? Can blocks do more? You can do more in blocks without having to code it yourself. You can do color, alignment, border, background colors, typography. All this stuff, you don’t have to code it all. You just tell WordPress that my block has this functionality and you’re good to go.

[00:16:31] Nathan Wrigley: Are there any sort of gaping holes in all of this? In other words, if you Nick were in charge of the roadmap for what blocks would do, is there anything that you feel, do you know what It would be nice to have this.

[00:16:41] Nick Deigo: I think that, I’m actually quite happy where things are, but I do think that we continually need better examples, more resources, because it’s still brand new. And one of the things I was actually talking to folks at the conference today, You may have been working in WordPress for 10 years and you have all this knowledge about how to build with WordPress. Unfortunately, that does not translate to building with blocks. Blocks is brand new. It’s completely different. It’s hard when you’re running a business to dedicate time to learn something new and it’s, that costs money. Time is money. And so the more that we can do to create examples, build tools that help people get quicker, the more adoption that we’ll have and, we’ll be better in the long run.

[00:17:20] Nathan Wrigley: You come to these events and obviously you’ve got your block hat on. You have had for several years or certainly as long as I’ve been acquainted with you Do you find the conversation is more and more turning to blocks? In other words, there’s 600 people here. I don’t know how many of them would class themselves as developers, or capable or wishing to build blocks. But three or four years ago, I’m imagining that the conversation around blocks was basically Nick talking to himself. Is that changing? Are people more and more beginning to use this as the mode to create in WordPress

[00:17:48] Nick Deigo: I fundamentally believe that we’ll get to a point where people either use a page builder like Elementor or whatever, that they’re really comfortable with, or they’ll use blocks. Core blocks or you build with a page builder. I think we’re going to get to that point.

[00:18:01] Nathan Wrigley: And do you see that there’s a sort of conflict there? Do you do you see that there would be a point where. So we’ve got two paths in that scenario. You’ve got like a proprietary page builder. You mentioned Elementor, there’s lots of others. And then you’ve got blocks and obviously they go in completely different directions. Do you think that’s healthy? Is that a good thing? Or would it be, would it be better to sort of try to get them to coalesce in some way?

I have no idea what that would even look like, because they are very different animals. But I don’t know, I don’t know if that’s a good thing to have almost like two, two variants of WordPress, and in 10 years time, you can imagine a crowd over there who are barely able to speak to the crowd over here. I don’t mean an impolite, but you know, they’re just talking complete cross purposes. The block chatter over here is incompatible with the page builder chatter over there. And that feels, in a way, like that would be a shame.

[00:18:45] Nick Deigo: It definitely would be, but I do think that page builders, this is my own interpretation, but page builders were a response to the fact that it was fairly hard to build in the classic editor. So they were going to build a page builder experience that helped people build easier, and it’s multimillion dollar companies now running these page builders. I know people who are Elementor builders and that’s great. I mean, they found their niche and they build everything with Elementor, and it looks very different from core WordPress.

Like that build process is completely different. I think we are going to end up with different camps. But as long as both communities are thriving and like, you know, everything is still compatible. We’re a big community and I think it can support different areas.

[00:19:24] Nathan Wrigley: Yeah, we can definitely have both. Okay, give us some examples, some concrete examples, of things that you’ve seen out in the wild of blocks where you’ve thought that’s ingenious, that’s a really impressive use of it. There may be one, there may be a couple. You can name names and I’ll try to dig out the URL if I can find them.

[00:19:40] Nick Deigo: So one of the things that I saw recently, which I don’t think this is released yet, but I’m forgetting the name of the technology where you can type in a prompt, and AI will generate an image for you.

[00:19:51] Nathan Wrigley: Things like DALL-E.

[00:19:52] Nick Deigo: Exactly. So there’s a gentleman, I’m forgetting his name. He’s working on a block that can do that all within the WordPress editor. So you can just type in whatever and it generates your four images and you pick the one you want. Automatically inserts it into the page. It’s all like super seamless, and that’s just amazing. We’ll save it to your media library. You can insert it, set it as your featured image. So all within the editor as a block.

[00:20:16] Nathan Wrigley: I think that’s the piece which I find most exciting about blocks, is that if you’re just using core WordPress and the small collection of blocks that comes with it, you just sort of see them as an interface to add images, add text, maybe, you know, add some background color or what have you. But I kind of see this future where the block becomes like an application. It can do a whole ton of heavy lifting, but all you need to do on the back end as a user of that block is basically to click it, and then it comes and you can move it around on the page.

The complexity that could drop into there, just in that one tiny little block which you just click, is almost infinite in scale. And so that’s a really great implementation of that. You click a button and suddenly that whole DALL-E thing is dropped into your, your website. Yeah That’s amazing. Any other examples?

[00:21:05] Nick Deigo: Well, I think that there’s another one about like Anthony Burchell, he works at WP Engine as well. He’s building one that does virtual reality and metaverse stuff, really complicated. I build blocks that are super simple. Add icons, social sharing links or whatever. So you can build something really simple, but it’s all JavaScript. So you could also build something really complicated. And I think that that’s the beauty of the block interface.

[00:21:27] Nathan Wrigley: You mentioned in your introduction, this is something I think we’ll explore a little bit more. You use the words, core components, native block support, and honestly at that point I was, I don’t even know what Nick is talking about. Explain all of that.

[00:21:39] Nick Deigo: Block support is a little bit what I was talking about before with defining that your block, I want my block to have typography controls. I want my block to have color controls. There’s a set of defined supports within WordPress. I’m going to not get them all, but it’s like alignment, color, typography, border. There’s probably a few more. And all of those you can just define and WordPress will add all the controls for you all within the interface. So you don’t have to do anything other than say that my block has these supports. It really speeds up development time. You don’t have to build a color picker, build typography, selectors, anything. It’s all in WordPress.

Core components are similar, where if you had a block and it had, you clicked on it, so it had like a toolbar that people could select items from, maybe change italicized font or whatever. There’s a toolbar component within WordPress, so rather than creating your own toolbar architecture, you just say use the toolbar component from WordPress, and then define the tools that you want in the toolbar.

So using core supports really will speed up development, but on top of that, you’re using the same interface that WordPress is using. So from a user, it all feels very native. It’s the same looking toolbar that you get on your standard paragraph block or whatever it might be. And the beauty is, whenever WordPress updates or improves their toolbar control or their block, supports, your block will already get that improvement. You don’t have to worry about updating things yourself. It’s already, because you’re using WordPress core components and supports, when WordPress gets better, your block will automatically get better.

[00:23:12] Nathan Wrigley: You mentioned Hello Dolly earlier, you know, one of the, if not the first plugin and it heralded an era of enormous change in WordPress, and all of a sudden you go 10 years later on and there’s loads of different plugins available. And you get this notion that, okay, enough now. You’ve got 50 plugins on your website, it’s probably time to think about the resources that you’re using and trimming that down a little bit. Do you fear the same may happen with WordPress websites, where we just click happy and install like a million blocks, because we want everything possible in the website. Is there a danger of bloat, just overdoing it with blocks?

[00:23:49] Nick Deigo: A hundred percent. I think that you can have a block for everything and end up with a hundred blocks on your website. A hundred third party blocks in your website. It’s like, wow, there’s a lot of blocks. But at the same time, I think that, I was looking at a website of a user who needed some help and I opened it up and there’s a hundred plugins and notifications all over the place. You know, it’s just an absolute mess.

And so I think with WordPress, you always can kind of mess, not mess it up, but you always can like over install. But I think that with blocks you can run into the same problem, but if you can stick to core as closely as possible. And hopefully core will get better and better, and so that you don’t need third party blocks to do simple things like buttons, let core take care of the simple stuff.

And then you focus on third party blocks that do very niche things, things that core will never do. You’re thoughtful about it. You can probably pare it down to, you know, a handful of third party blocks that you actually need on your site. But yeah, there’s a good chance that we’re going to have sites with hundreds of blocks that maybe people never use.

That’s why like I never wanted to disparage a block library plugin. Cause I think they’re really useful and help people get started. But most of the time you don’t need ’em all. You only need a couple, but you install the block library that has 25, 30. So I like the idea of single block plugins where you can, I actually need this and I’m going to install it. I’m not going to install a hundred.

[00:25:10] Nathan Wrigley: That’s going to be a really interesting thing for agencies because they’re going to be the people working out, which are the, the necessary blocks that they want their agency to use. So you’ve just described block suites, where 50 or a hundred come along for the ride and 99% of them you’re never going to use.

That will become a core skill, is knowing, in the same way that you’ve got your favorite contact form plug in now and you’ve got your favorite whatever. I’m imagining that there’ll be a day where, we’ve all got our little list of, these are the suite of blocks that I’m using and I don’t stray outside of those. And that feels like an area of expertise that we can bring to clients just to make their lives a little bit easier. We know what to install for them because we’ve done it a thousand times before.

[00:25:48] Nick Deigo: And I also think it’s going to be very important for agencies to remove blocks. Core has a ton of blocks, all the embed blocks. You could just have a default little script that strips ’em all out and just has the very basics that people actually need. So we want to be adding blocks, but in many cases you also want to be removing them. The ones that you don’t need.

[00:26:06] Nathan Wrigley: Did you ever come across a proposal by a chap called Joel Spolsky? I believe he was behind Trello possibly. I could be wrong, but anyway, he’s a, he’s got a heritage of doing things well in tech and implementing great applications. You came up with this notion of the block protocol and the idea behind the block protocol was that a block here in Trello would be able to be interoperable with a block over here, WordPress. Equally, you know, if you’ve got gmail working, the blocks in Gmail.

So it’s pie in the sky stuff at the moment. It’s just an idea. But I read the proposal, I just thought it was really compelling. I love, I mean, especially in open source. I can imagine companies, proprietary software companies, they might be a little reluctant to do this because their secret source is the fact that their code is, you know, is obfuscated and we don’t know what they’re doing. But I do love the idea of that, and I was curious what your thoughts were.

[00:27:00] Nick Deigo: I think it’s fascinating and I also think, we talked a little bit about block supports, where instead of every plugin registering a different way to do typography or a different way to do color, by standardizing the way different common controls are used in blocks. You can get towards something like this, where you standardize this. Also, you can take one block from WordPress and drop it in another application and take that one from the other application, drop it into WordPress. That interoperability between applications I think is quite fascinating. We’ll see where it goes. You know, we’ve heard about Tumblr possibly integrating the Gutenberg and it’s like, oh, that’s interesting.

[00:27:36] Nathan Wrigley: So there’s services like Zapier. It’s enormously popular because it enables interoperability. That’s basically all it does. And people use it all the time to just connect the dots with all the disparate services they’ve got, and if we could have that in the future and it was block based, that would be really great. I wouldn’t have to have a giant bill for Zapier every month.

[00:27:56] Nick Deigo: Exactly. Well, one of the things I think, even in a block architecture, I know full site editing is brand new, and we won’t get into that discussion, but the idea behind full site editing is everything is a block. And when you standardize every piece of content on your website as a block, then you can start just doing interesting things with blocks because everything’s a block.

So you can create plugins that target blocks, and all of a sudden you can target the entire website. And so, by already moving to a block based architecture, we’re starting to move in the direction where you can start moving blocks around much simpler because it’s a standardized unit of content. As opposed to random things.

[00:28:31] Nathan Wrigley: I know that the idea of everything is a block is beguiling and it sounds great. Do you think some things shouldn’t be in the domain of blocks? So, sorry to drag you into full site editing, but you know, it’s the best example I can conjure up at this moment. Things like navigation as a block. It’s tricky. It’s difficult to use and it feels almost like it’s throwing the baby out with the bath water a bit, because I know the current interface is a bit old and maybe people don’t like that and they would love it to be in a block, but it kind of feels, don’t break. What’s the phrase? If it isn’t broken, don’t. Yeah. Yeah, that, that phrase.

[00:29:02] Nick Deigo: No, I agree. I think that there are certain components that are really hard to build in block form. And taking the navigation, for example. It’s really tiny. It’s at the top of the screen and manipulating all your links and sub navigation, it’s very challenging. I think that having that be a block under the hood is fine, but the way that users interact with it needs to be greatly improved.

[00:29:23] Nathan Wrigley: So it’s the UI? The principle of it being a block is fine, it’s just the UI that needs potentially addressing?

[00:29:28] Nick Deigo: In many ways you could have taken the old UI, and under the hood made it all blocks, but keep the same UI, and that would be fine. It’s the moving things around and trying to manipulate it. It’s very hard.

[00:29:38] Nathan Wrigley: And because it’s hard, and because these things pop up in our WordPress, we get version 6.1 and we’ve got all these new things, and we’ve gotta figure out what’s going on. Do you find that you are having to fight this fight often? Every time a new version of WordPress comes out, do you need a new line of defense? Okay don’t worry it’s going to be alright?

[00:29:57] Nick Deigo: Yes, and I think that it’s one of those, so we’re doing the walkthrough next week for 6.1, where we’re going to try to show everybody all the cool stuff that’s coming out. You do a disservice to WordPress by not pointing out things that need improving. Navigation block is one of them.

We need to be honest about the fact that it’s not the best it can be. Because new users are going to get in there and they’re going to get frustrated. And one of the biggest, not, again, not to get, toot my own horn here, but the biggest thing for me is consistency. So one of the things that we haven’t had in WordPress is the same typography controls on every block.

You know, I could change font family on my headings, but not my paragraphs. You know, that kind of stuff really starts to confuse people, especially new users. And with 6.1 we’re starting to get some of that consistency. Big, big effort now to improve consistency across blocks. And we won’t get people to get excited about things and use this new stuff, but we need to be, we need to recognize when things aren’t perfect, and what can we do to improve them.

[00:30:52] Nathan Wrigley: Thanks Nick for joining us today. I really appreciate it.

[00:30:54] Nick Deigo: Thanks so much.

On the podcast today we have Nick Diego.

Nick is a Developer Advocate at WP Engine. He can be found creating educational content, building plugins and themes, and contributing to WordPress Core.

He’s on the podcast to talk about his passion and optimism for the future of WordPress using blocks.

At the recent WordCamp US, Nick gave a presentation entitled, ‘Let’s Build a Custom Block in 15 Minutes’. It was his attempt to show a group of WordPress enthusiasts that the barrier to creating blocks is slowly being eroded, due to the creation of new tools. These tools are creating opportunities for people who might otherwise have stayed away from block development.

It’s becoming easier to create the blocks, as the tools take away much of the technical burden of getting you up and running without advanced knowledge of JavaScript and React. Coupled with core components, native block supports, and a bit of guidance, Nick thinks that every WordPress developer can add custom blocks to their repertoire.

It’s clear that Nick is all in on blocks, and during the podcast he makes the case for why you should be too. They offer so many opportunities for what can be displayed on a page, and their capabilities are only getting better.

We talk about how WordPress core blocks are trying to support developers by adding components and block supports so you don’t have to repeat the development work already done by others; you can build on top of previous work and save yourself valuable time.

It’s a fascinating chat, especially for those who are, as yet, undecided about whether they want to embrace WordPress blocks.

Typically, when we record the podcast, there’s not a lot of background noise, but that’s not always the case. Over the coming weeks, I’ll be bringing you recordings from a recent trip to WordCamp US 2022, and you might notice that the recordings have a little echo or other strange audio artefacts. Whilst the podcasts are more than listenable, I hope you understand that the vagaries of the real world were at play.

Useful links.

Using the create-block Tool tutorial

Block Diffusion – Generate images from text prompts

#45 – Alex Ball on Customizing Core Blocks for Clients

Transcript

[00:00:00] Nathan Wrigley: Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast which is dedicated to all things, WordPress. The people, the events, the plugins, the blocks, the themes, and in this case, making it easier for clients to use the block editor.

If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast, player of choice, or by going to WPTavern.com forward slash feed forward slash podcast. And you can copy that URL into most podcast players.

If you have a topic that you’d like us to feature on the podcast, I’m very keen to hear from you and hopefully get you, or your idea featured on the show. Head over to WPTavern.com forward slash contact forward slash jukebox, and use the form there.

So on the podcast today we have Alex Ball. Alex is a lead software engineer at Mindgrub, a digital agency in Baltimore, Maryland. He’s been there for over three years, during which he’s worked on headless implementations, multinational multi-site installations, and much more.

Prior to joining Mindgrub, Alex worked in-house for a company handling a suite of internal intranet type sites, and external marketing lead generation sites. He spent seven years at Baltimore magazine on the editorial staff, before managing their website.

His website leadership experience continues to inform his decision making today. Especially for training clients and making the block editor as easy to use as possible. And that, in essence is the subject of the podcast today.

During WordCamp US 2022, Alex gave a lightning talk in which he laid out some suggestions on how the block editor can be made more straightforward for clients.

Most regular WordPress users have become accustomed to the way that the block editor works. Over time, we’ve understood how things work and where we need to go in the UI to alter things. For many clients, this familiarity simply does not exist. The editor is new and perhaps confusing.

As the block editor is under constant revision, this can create confusion, and lead to mistakes. Add to that the fact that more and more of the website can now be modified inside the editor, and it’s easy to see how mistakes can be made.

Alex talks about solutions to this problem, and he comes at it from different angles. Maybe you lock certain features down so that only certain users can achieve specific tasks. Or it might be that you need to take some time to educate your clients more about the block editor and how it works.

Typically when we record the podcast, there’s not a lot of background noise, but that’s not always the case. Over the coming weeks, I’ll be bringing you recordings from a recent trip to WordCamp US 2022, and you might notice that the recordings have a little echo or other strange audio artifacts. Whilst the podcasts are more than listable, I hope that you understand that the vagaries of the real world were at play.

If you’re interested in finding out more, you can find all the links in the show notes by heading over to WP tavern.com. Forward slash podcast. And you’ll find all the other episodes there as well.

And so without further delay, I bring you, Alex Ball.

I am joined on the podcast by Alex Ball. How are you doing, Alex?

[00:04:07] Alex Ball: Very well, thank you for having me.

[00:04:09] Nathan Wrigley: We are at WordCamp US 2022. We’re sitting in the media room, and Alex has joined me today to have a little bit of conversation about block patterns and blocks and locking blocks and all of those kind of things.

We’ll get into that in a moment, but Alex, just give us a little bit of background. Tell us about yourself, your journey with WordPress. How is it that you’re at a WordCamp, talking to a bunch of people in your presentation.

[00:04:31] Alex Ball: Sure. So I started with WordPress probably in 2007 or so. And at that point I was not a developer, I was an English major. I had been on the editorial staff of our city magazine in Baltimore, Baltimore Magazine for seven years, and people knew what the internet was at that time and we didn’t have a very good site and we needed one. And I somehow talked leadership into letting me take over the site without any of that development experience that was probably critical.

But, I dove right in and got used to it and followed some tutorials for building a WordPress theme from scratch, and just took off from there. So I, I was there for another four years. I worked at another company that had quite a few websites, both internal and external.

And they were across a number of different states in the US, and so working with those, using WordPress on quite a few of them. Landing pages, some internal intranet type things. And then I found Mind Grub, and I’ve been with Mind Grub for three and a half years, and we do all sorts of things from really large enterprise scale things hosted on WordPress VIP.

We do headless installations with a React single page app front end. We do more structured data sort of things where Gutenberg is really not a consideration because of all the structured data that’s going on there. And we have a pretty excellent WordPress team, and so it’s been really beneficial for me to try to carve out that path within our team and help us move forward with Gutenberg because we’ve heard from Matt Mullenweg more than once that Gutenberg is the future of WordPress. That you’re going to need to know JavaScript to work with WordPress in depth, and that when people ask him at WordCamp about the sites that they still have with the classic editor plugin running, and what they need to do about that and when they’ll need to switch those over, he says you’re going to need to switch those over at some point,

[00:07:02] Nathan Wrigley: At Mind Grub, is that a decision that you made more recently, or are we going back several years? You’re exclusively using Gutenberg with a variety of different blocks?

[00:07:11] Alex Ball: We are, no, I would not say we’re exclusively using Gutenberg. It still depends on the site, and we still do raise the prospect of it with a client at the beginning of a project. We find that some clients are aware of it, and really don’t want to use it. We’ve had that reaction so we just go with that and we use the classic editor plugin and we move on.

We have found that most of the time they’re not familiar with it, and so they don’t care one way or another. And when we tell them it’s a more enhanced, what you see is what you get editing experience with more ability to move things around and know what you’re doing before you hit save, that they like the sound of that.

We occasionally have people who say that they’ve heard of it and do want to use it. And I guess those are the three real possibilities there. So, in large part it is we’re moving forward with it and doing that because we know it’s the future, it’s going to be better for the client and they do not have a strong preference.

[00:08:20] Nathan Wrigley: So you are here and you are giving a presentation. I say giving, maybe you’ve already given.

[00:08:25] Alex Ball: I have given it, yes. It was about an hour ago.

[00:08:28] Nathan Wrigley: How did it go?

[00:08:29] Alex Ball: I thought it went well. It was a lightning talk and it was about modifying or customizing core blocks for clients. And I used a metaphor about setting guardrails for clients, that I believe was also recently spoken on your podcast with another guest who used the same phrase, and I heard that one after I had made my submission. But I thought it went well.

It was a lightning talk and so it was really focused on the nitty gritty of using a few blocks as examples, core blocks that are probably the most used blocks. Heading, paragraph, image, button, and talking about the specific options that they present for modifying their output and their appearance. And how to go about doing that. And in some cases it was using PHP to do some things. In some cases it’s enqueuing some admin scripts. And in a lot of the cases it’s using the theme dot json file, which not everyone is totally familiar with at this point.

[00:09:41] Nathan Wrigley: Okay, so it was called customizing core blocks for clients. And forgive me, I was not present at your talk, I may be ill prepared with this question, but it felt from the show notes that you shared with me, the things that you thought it would be good to talk about. The principle of the talk was how to lock things down in a website, so that you could build things and then be fairly sure that when you hand it over, there’s not gonna be that moment where they phone you 24 hours later to say, it no longer looks the same. We’ve had a bit of a play. We thought we knew what we were doing, and sadly we need you to fix what we just broke. That’s the principle, right?

[00:10:20] Alex Ball: Right, Exactly. And you find that the nice thing about working with WordPress is that someone on the client team, when you start the project is already familiar with it. Someone has worked with WordPress in the past. Maybe the site that they’re replacing is a WordPress site. So they’re somewhat familiar with it, even if they’re not familiar with the block editor yet.

And before I even get into developing and writing the theme, there’s already been a large process with our design and UX teams designing the site, and those stakeholders, the client, are sitting in these meetings reviewing those designs, exploring design ideas early on to establish things that they like and don’t like.

There’s a lot of time spent on that design, and there’s a lot of thought that goes into it. From a design perspective, the colors that they choose to compliment one another, the fonts that they choose, the UX decisions for what type of menu it might be, how this might look with this. And so all of that work is being done, and the client is obviously paying for that. So it’s important to make sure that that is consistent throughout the development process and after you’ve handed the site off.

Hopefully when we do a project, we are creating a relationship with this client and not just simply handing over a site and waving goodbye to them. So, it’s important to make sure that they feel like they have the control that they need to do what they want to do on the site, but not to feel like anything they touch is going to break something or look bad or go way outside the bounds of this design system that has been carefully crafted for them.

[00:12:14] Nathan Wrigley: I’m pretty sure that 99% of the people listening to this podcast will know exactly what the Gutenberg UI looks like. They can drop paragraph blocks in and they can drop various other bits and pieces in. But in your presentation, the summary of your presentation, you make this point, which is borrowed from somewhere else, I’m sure.

And you said with great power comes great responsibility. And I guess if you were back in the days of the what we’re now calling the classic editor, you really didn’t have any options there. You were just pasting text. There might be some shortcodes being dumped in. And now of course in the era of Gutenberg, there’s a whole load of things that every single person dropping into a default install of WordPress can change.

You know, there’s options to change the color of the text, and there’s options to increase the padding and the margins, and a whole myriad of things in the right hand column. And I guess this is the piece. You’re trying to make it so that there are constraints in what the clients can alter in the Gutenberg UI?

[00:13:15] Alex Ball: Exactly.

[00:13:16] Nathan Wrigley: Okay. You also have called your presentation, well you use the phrase customizing core blocks. Why just core blocks?

[00:13:24] Alex Ball: Well, the reason I went with core blocks is because they’re obviously present in WordPress at this point, and there’s no extra work to be done. Everyone has probably seen them in WordPress, even if you have decided to go a different route and install a plugin that gives you some other blocks that you feel you might want some sort of carousel or gallery or something like that, that you like the look of or does what you needed to do. You’ve still got those core blocks there.

So everyone is working with those, that’s a sort of common denominator. And also because when we talk about being as efficient as possible when building this site and giving the client as much of what they want as we can give them. It makes more sense to start with those core blocks, which are already there. We don’t have to do any extra work.

We don’t have to waste any other time either creating a custom block that’s essentially reinventing the wheel. They are there, and if there are good ways, and not necessarily easy, but ways to customize them, that makes the most sense for getting these things off the ground.

[00:14:41] Nathan Wrigley: If we go back several years, it feels like it’s quite a long time now, when Gutenberg initially launched, there was a real kind of schism in the community. Many people felt that it wasn’t fit for purpose at that time. You know, there were limited options. It was all very confusing and so on. I feel like we’ve crossed that Rubicon now. We’ve come to the other side and, most people here are familiar with it and working with it.

That being said, the reason that these third party plugins come along, which drop in the carousel and drop in the accordion and all the other different things, is because there are some fairly big limitations to what core blocks can do. You know, there aren’t all of the different options and those third party suites are there to fill in that gap. What are your feelings about your ability to create almost any layout with core blocks? Is that now possible?

[00:15:30] Alex Ball: Whew. My gut is telling me no. And I think that this was part of that recent controversy that I’m sort of surface familiar with, where they released a new design on the wordpress.org site for the homepage and the downloads page. And again, referring to something that Matt Mullenweg said, he talked about how it could have been done more quickly than it was.

And he also referred to like Wix and Squarespace and page builders. And it generated obviously a lot of feedback. I think some people were in agreement, and others did not agree. I think that a lot of the sentiment out there was that you could still, with the core blocks available to you, not necessarily go ahead and just do this as easily as people were making it seem.

I think that I had seen something on WP Tavern about a YouTuber who is very, very good with the block editor, and like whipped through in one of his videos, the building that homepage design through the block editor alone, and feeling like he got 95% of the way there pretty quickly.

So, speaking to what I’m most familiar with, which is our projects and the designs that we put together. There has not been a project in the last couple years where we have come up with designs for it and been able to do even more than half of it with just core blocks. I do like to use the core blocks as much as possible for the reasons that we already discussed, but it usually involves quite a bit of custom work.

Now, our designers also know that, and they’re certainly designing for things. There’s always that interplay of design and development, and getting a design and explaining why something is a little difficult or might not work with this or that, and going back and forth and collaborating. The main thing I think is that the core blocks have a lot of these options and it’s sort of like, I think it was the Abraham Lincoln quote, which is, you can please all of the people some of the time, or you can please some of the people all of the time, but you can’t please all of the people all of the time. And so it just can’t be all things to all people.

[00:18:02] Nathan Wrigley: I guess the nice thing about Gutenberg blocks is that they nest. You can put in a block and then inside of that, let’s say, I don’t know, it might be a group block or something like that, and then you can nest things. And one of the nested items could be a core block, and then you are going to unlock the ability to modify that core block. Let’s say it’s a paragraph block or a heading block or something like that.

So it may be that you’re doing custom work with the parent blocks, but the bit that you are trying to open up to the client, if you like, may just be a core block, which is a child of that. Have I kind of got where you were describing there?

[00:18:40] Alex Ball: Yes, that’s exactly right. And that inner blocks element that you can use either if you’re building a custom block in React, or if you decide to go the route, we tend to use ACF on a lot of sites, and ACF has a very easy method for creating blocks as well.

But you’re not constrained to just using ACF fields on those. You can use that inner blocks element in an ACF block to include a core block or core blocks. And we’ve definitely done that because again, sometimes you have a core container block, like a columns block that’s going to give the user a slider that lets them choose the number of columns.

And we don’t necessarily want that. I wanna use the paragraph block within that, but I don’t want the ability to slide that thing all the way to the right and, insert a six column layout, because that’s not gonna look good anywhere.

So I think that you nailed it. I think that there is always that combination of some of that custom work, and some of the core blocks that we’ve already got that make it easier to bootstrap things.

[00:19:55] Nathan Wrigley: I have a feeling that if we were to have this conversation, I’m gonna say 24 months. I think if we had the same conversation in 24 months, I’m imagining that some of the things that you can not achieve at the moment with core blocks, that will have gone, and the layout will be almost entirely possible with core blocks. I certainly know that that’s the intention.

We’re not quite there yet, but some third party things, I’m thinking of things like GenerateBlocks and so on at the moment. They’ve really got the whole, the grid layout and all of that really well defined and sussed out. And I just think it’s a matter of time, so maybe it would be a moot point in 24 months and we might just be able to skip over that.

[00:20:32] Alex Ball: I think that you’re right. I agree with that. I don’t know if there is an equivalent to Moore’s law about, you know, how quickly Gutenberg is going to double or whatever to make itself kind of the next version of it. I know that they, well, I think that they think of it in phases. And this imminent third phase, whether it’s already begun or it’s about to begin, I’m not sure, but that’s sort of the workflow phase, and the emphasis is going to be on collaboration, I believe.

And then after that I think there’s a roadmap for looking at things like multilingual stuff. So, your framing it like that, looking at it in the future, and some of these issues we’re talking about today, being obsolete at that point is correct. And I think is hopefully captured by that phased approach that they are talking about

[00:21:27] Nathan Wrigley: In your presentation notes, you mentioned that you are essentially, you are handing over your work to clients. They’ve paid for their website and you want to mitigate them and you use the word breaking or break. Are the tools for allowing clients to modify this thing, but not this thing. Do they exist in core already? Can you deploy those things or is that custom work?

[00:21:52] Alex Ball: The answer to that is a hearty, confident, it depends. It would be really nice to be able to get very granular with some of these things and let different roles control different things. There is a little bit of that now. We’re starting to scratch the surface with that, as I understand it. Since version six, we’ve got this block locking feature. Now to clarify, before version six, you have the ability to set a template and use that template lock attribute to determine whether the entire template that you’ve defined is locked down and nothing can be added or moved around, or whether things could be moved within it. That existed already.

Now what we’ve got is on the block settings itself, a little lock icon and the ability to do those same things with that block. I wanna lock this block so it can’t be moved. I want to lock this block so it can’t be removed. I wanna do both. You can do both of those things now and, I think it is the can lock attribute. I may be wrong on that.

There’s an attribute that will let you specify whether a user, based on their role, is able to access that lock setting. Now, that lock setting itself is a little bit rudimentary. We’re talking about this and we’re going, Oh man, so only administrators can add the drop cap. We’re not there yet, as far as I know.

[00:23:27] Nathan Wrigley: Yeah. I think at the moment it’s a case of, and I could be wrong about this, maybe things have moved on. I think it’s merely a function to lock it for now. It is locked, but I think almost anybody can go and unlock it. The principle, I think, is to lock it just so you don’t accidentally do something.

But I feel that the things that you’ve described, that’s a real nice roadmap, isn’t it? The ability to be able to lock things in the UI based upon roles. Who knows, even based upon particular users. And so, almost everything comes into play. So as an example, you are an editor, you can do anything more or less, you know, we’ve given you real wide scope to move things up and down, change the colors, change the font, change the text, whatever, depending on which block you’re using.

But you are a different role. Created a new role for some other person in the organization, and all that they can do is move things up and down. Just that, there’s no other capabilities. And I feel that all of that is going to come and we’ll be able to lock people in and out. And at the moment, as you said, it’s all possible if you are a developer, but the day will come, I’m hoping that that’s all possible by non-technical users with the necessary permissions to do that in some kind of UI.

[00:24:39] Alex Ball: Yeah exactly. I feel the same way. And in my talk there’s a bit of a constraint with time. And so I think it comes off a little bit as feeling like I’m referring to this sort of monolithic, the client, as this singular entity and it’s the same everywhere. And obviously it’s not. Every site is different, every client is different, every client team is different.

But even beyond that, you could be talking about situations where you had your stakeholders during the project. They loved the designs. They understand what they’re getting. They understand how to use it. They understand what sort of control they have when they are adding blocks and creating content. And then you have a relationship with them and maybe a maintenance agreement or something, and six months later, they’ve hired someone new, who was not present to hear about why the designers chose this over this. To hear the rationale behind choosing these button styles over these button styles, and getting all of that background on the design and why it works so well.

But they do have some assignment to add a CTA to the website, by tomorrow. And they want it to stand out. And the controls are right there on this button block to choose any color they want for the text and any color they want for the background. And they go ahead and do that. And then you hear from the supervisor, the person that you’ve been working with, who says, we establish this color palette. How were we able to go so far outside that with hot pink. And also, this person didn’t choose an accessible contrast ratio between the button text and the button background colors.

So you can imagine all these different situations where even though you accounted for some of these things, and even though there was a bit of that uncertainty and agreement with the client that you can do this, but you shouldn’t. There are still situations that maybe you didn’t account for that will allow them to go outside the bounds of what was really intended.

And then the counter argument, I suppose, is probably it is their website, and they did pay for all this and it’s theirs. And if they decide they wanna do that, they can. And I guess the only real response to that is that that is fine. It is your site and we’re happy to help you with it. But when you run into these issues that occur because of all that control and your willingness to change these things, then there’s only so much we can do. And if you decide that you want us at that point to put some limitations on there, then we will be happy to.

[00:27:32] Nathan Wrigley: Yeah, there really is no perfect answer to this question is there? There is just what that particular client is willing to negotiate. And it may be that a particular client just wants nothing to do with it and wants to write you email. Every time they want to make a modification, the email comes in and you do it. So they don’t need any permissions of any kind.

There are gonna be the others who are gonna want everything available to them and potentially do a wonderful job, but potentially really be on the phone a lot, asking you to fix things. And I guess there’s a job of figuring out the contracts, and working out, okay, if I give you this permission, that’s fine, but, I don’t know, here’s our hourly rate when things go pear shaped.

[00:28:13] Alex Ball: Yes. and we are not the HOA president who is out here to walk the neighborhood and point out the mortar color in their bricks, that is not an HOA approved mortar color. That’s not us. So I would go back to what I said before where it’s, I hope we are establishing a relationship with the client and that part of that is that collaborative nature and that understanding with them of what they’re getting and what can be done.

And we do tend to have projects regularly where there is training with the client built in, and that is really helpful. Because we’re able to do a walkthrough with them and explain these things, and have them point out things that maybe they’ve already been in there doing content management, and we’re running into something with this or that. And then we’re also able to provide them with documentation that they can continue to refer to. And that is obviously a great opportunity to discuss all of these things.

[00:29:14] Nathan Wrigley: How granular have you gone with this in the past? Have you handed over websites where there’s been literally dozens of users or user roles where they’ve got, this particular user role can do these myriad of things and this other user role can just do far less? Have you really explored this a lot and found it to be fruitful?

[00:29:31] Alex Ball: I wouldn’t say that we have had, or at least that come to my mind right now, too many sites where we have many, many different user roles. You certainly run into sites where there needs to be some sort of editorial workflow and approval process. And I think that that, for the most part, handles those sorts of things.

And I also think that, where we are right now with the block editor, in the future we are more likely to be able to handle some of these things on a role by role basis. Whereas right now it is a little bit more difficult.

[00:30:12] Nathan Wrigley: You mentioned training and that’s a big part. How to describe it? I think it can be quite a tiresome thing to create the training because, on some level you just want the website to be finished and you want to hand it over. But I guess if you are handing over a website based on Gutenberg, and the clients have never seen this before. Creating training materials, being on hand, going to their premises and demonstrating it to them, or creating videos and putting those somewhere. I guess that’s an important part in this puzzle.

[00:30:39] Alex Ball: Yes, yes. We tend to record those training sessions, those, uh, Zoom calls where we’re walking through it and screen sharing. And we did recently go through the documentation, that sort of, starter framework of that documentation, and revise it and go through some of the things that we’ve got in there.

And then obviously every site gets a few different, not even appendices, but main sections. There’s a table of contents and you go through some of the basics of WordPress, but then you delve into some of those custom blocks and sometimes they really need some extra documentation over exactly what each feature does.

You know, you’ve got the different fields labeled and you’ve got descriptions on those labels. But it really helps them to have that documentation to refer to as well, explaining why this happens. Why when I click this, this other conditional field disappears. And it’s because if you do it this way, you’re not going to have access to this or vice versa.

The documentation and the training is not part of every project, but when it is, a lot of the things that we’ve talked about can come up and be worked through, and for the most part solved, or at least established what lines are where.

[00:32:04] Nathan Wrigley: You mentioned at the beginning that you weren’t a developer. You’ve sort of grown into that role. And I imagine there’s several people listening to this who have played with blocks in the UI. They’ve dragged things in and they’ve modified what’s available to them there and, that’s great. But if they want to start tinkering with blocks and they want to alter what the capabilities are with the blocks, the core blocks, whichever block it may be. What are the kind of things that they need to be interested in? Where do they need to be going? What are the documents that they need to read? What are the technologies they need to understand?

[00:32:35] Alex Ball: That’s a very good question. I, a few years ago at WordCamp, did another talk where I talked about coding like a writer, and it was trying to give those non-technical content people more confidence in diving into the code a little bit.

Whether it’s modifying the attributes on a short code. You know, you’ve cut and pasted from documentation from the plugin that provides that short code. But you’re starting to look at that and realize that these different little attributes within those brackets do different things. And what happens if I do this?

Delving into the html behind the scenes a little bit. Getting your feet wet and all that. And I used principles that you would adhere to in writing and also try to adhere to in coding, to get them to feel more comfortable doing what I think you were describing, which is getting into that code a little bit and not simply staying on the surface with just the UI.

And it was things like don’t repeat yourself, which is obviously a massively important axiom in engineering. It was things like, get to the point as quickly as possible. It was things like writing good documentation. Commenting the things that you are adding to the code so that other people know what it means.

That’s the closest thing to that sort of pure editorial writing that I touched on. And, so I think that hopefully people felt a little bit empowered by that to go, Oh, okay, well, right. So this is the way I would approach the lead in my story. And so this is how I’m going to approach the template on this page or the way I structure these blocks.

[00:34:33] Nathan Wrigley: When you began your work on blocks, were there any places that you found to be particularly useful that helped you understand the technologies behind? Because it is a big, it is a big change. If you’ve been working with PHP for the last 20 years, not really wanted to stray away from there, there’s, there’s a lot to be learned.

And I’m imagining that you’ve found better places than others, shall we say. What are some of the resources that you have enjoyed using that you would recommend to others, should they be interested in this?

[00:35:00] Alex Ball: The first one that comes to mind that I think I hit on pretty regularly as I was learning was Bill Erickson’s website. He’s got a lot of good information and it appears pretty high up in most Google results. So it shouldn’t be too difficult to suss out his information on it. But obviously going to his site and looking through things tagged as Gutenberg should do the trick as well.

Well, and I mean obviously Stack Overflow, so much information on there. There is a trainer online named Zach Gordon, who does a lot of JavaScript based training, which is what you’re going to need to deal with, if you are starting to create those custom blocks and you’re not going to use some sort of scaffolding or use that Advanced Custom Fields approach to building them.

I remember using one of his courses to dive into some of that and get a lot of good information from him. And, along the way we started modifying that starter theme that we use for projects to make it easier to build it into a, a block theme.

[00:36:14] Nathan Wrigley: Alex Ball, thank you so much for joining us on the podcast today. It’s been a real pleasure chatting to you about blocks and locking them down and so on and so forth. Thank you.

[00:36:22] Alex Ball: No, thank you. It has been my pleasure.

On the podcast today we have Alex Ball.

Alex is a Lead Software Engineer at Mindgrub, a digital agency in Baltimore, Maryland. He’s been there for over three years, during which he’s worked on headless implementations, multinational multisite installations, and much more.

Prior to joining Mindgrub, Alex worked in-house for a company handling a suite of internal intranet-type sites and external marketing lead-generation sites. He spent seven years at Baltimore magazine on the editorial staff before managing their website.

His website leadership experience continues to inform his decision-making today, especially for training clients and making the block editor as easy to use as possible, and that, in essence, is the subject of the podcast today.

During WordCamp US 2022, Alex gave a lightning talk in which he laid out some suggestions on how the block editor can be made more straightforward for clients. Most regular WordPress users have become accustomed to the way the block editor works. Over time, we’ve understood how things work and where we need to go in the UI to alter things.

For many clients, this familiarity simply does not exist. The editor is new and perhaps confusing. As the block editor is under constant revision, this can create confusion and lead to mistakes.

Add to that the fact that more and more of the website can now be modified inside the editor, and it’s easy to see how mistakes can be made.

Alex talks about solutions to this problem, and he comes at it from different angles. Maybe you lock certain features down so that only certain users can achieve specific tasks. Or it might be that you need to take time to educate your clients more about the block editor and how it works.

Typically, when we record the podcast, there’s not a lot of background noise, but that’s not always the case. Over the coming weeks, I’ll be bringing you recordings from a recent trip to WordCamp US 2022, and you might notice that the recordings have a little echo or other strange audio artefacts. Whilst the podcasts are more than listenable, I hope you understand that the vagaries of the real world were at play.

Useful links.

Code like a writer – Alex’s talk at WordCamp US 2019

Bill Erickson’s website

ACF Blocks

Zac Gordon’s courses

#24 – Aki Hamano on Building Useful Blocks for Fun

On the podcast today we have Aki Hamano.

Aki is a freelance developer from Japan. He builds websites for clients and enjoys setting himself difficult problems to solve.

He came to my attention when Justin Tadlock wrote an article about a playful block that he’s created.

After a little further exploration, it turns out that Aki’s been busy in his spare time creating a range of blocks, all of them useful and all of them freely available in the WordPress plugin repository.

We start off by having a brief chat about what the WordPress scene is like in Japan. Is there a strong sense of community, and do in-person events take place?

We then move on to talk about how he became interested in creating blocks. Did he find it easy to understand the new skills required to get up and running and was there enough documentation to make speedy progress?

We spend the remainder of the podcast talking through the five blocks which Aki has put in the WordPress plugin repository. Often, they were created to scratch his own itch, to solve a problem that he faced in his work, but sometimes, as with his excellent Piano Block, it was just for fun and the challenge of trying something new.

The Piano Block aside, all of Aki’s blocks have an easy to understand purpose, and they take on a simple challenge, and solve it.

This is perhaps one of the main reasons that blocks are so interesting, they can be simple or complex, utilitarian or just fun.

It’s an interesting discussion, and you never know, perhaps you’ll find yourself using Aki’s blocks at some point yourself.

Useful links.

Block Editor Handbook

Create Block Package

Aki Hamano’s Github page

Flexible Spacer Block

Flexible Table Block

RichText Extension

Custom HTML Block Extension

Piano Block

Play the Piano and Other Instruments via the WordPress Block Editor

Transcript

[00:00:00] Nathan Wrigley: Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the blocks, the themes, and in this case, the building of useful blocks and making them freely available. If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast, player of choice. Or by going to WP tavern.com forward slash feed forward slash podcast. And you can copy and paste that URL into most podcast players as well.

If you have a topic that you’d like us to feature on the podcast. Well, I’m very keen to hear from you and hopefully get you, or your idea featured on the show.

Head over to WP tavern.com forward slash contact forward slash jukebox. And you can use the contact form there.

So on the podcast today, we have Aki Hamano. Aki is a freelance developer from Japan. He builds websites for clients and enjoys setting himself difficult problems to solve. He came to my attention when Justin Tatlock wrote an article on the Tavern. About a playful block he’d created, but more on that later.

After a little further exploration, it turns out that Aki’s been busy in his spare time, creating a range of blocks. All of them useful and all of them freely available in the WordPress plugin repository.

We start off by having a brief chat about what the WordPress scene is like in Japan. Is there a strong sense of community and do in-person events take place there?

We then move on to talk about how he became interested in creating blocks. Did he find it easy to understand the new skills required to get up and running? And was there enough documentation to make speedy progress?

We spend the remainder of the podcast talking through the five blocks, which Aki has put in the WordPress plugin repository. Often they were created to scratch his own itch, to solve a problem that he faced in his work. But sometimes, as with his excellent piano block, it was just for fun, and the challenge of trying something new.

The piano block aside. All of our keys blocks have an easy to understand purpose and they take on a simple challenge and solve it. This is perhaps one of the main reasons that blocks are so interesting. They can be simple or complex, utilitarian or just fun.

It’s an interesting discussion. And you never know, perhaps you’ll find yourself using Aki’s blocks at some point yourself.

If you’re interested in finding out more, you can find all the links in the show notes by heading over to WP tavern.com forward slash podcast. Where you’ll find all of the other episodes as well.

And so without further delay, I bring you, Aki Hamano.

I am joined on the podcast today by Aki Hamano. Hello Aki.

[00:03:35] Aki Hamano: Hello, Nathan.

[00:03:36] Nathan Wrigley: I am really pleased to have you on the podcast today. Real welcome to you. Aki is joining us today to talk largely about blocks. We’ve had a few conversations before this, trying to figure out what it is that we’re going to say. We’re going to talk mainly about Aki’s contribution to wordpress.org and the blocks that he’s created there.

First of all Aki would you just introduce yourself, tell us who you are and where you come from?

[00:04:06] Aki Hamano: Okay. I’m a web developer by living in Japan. And I built many website, for my client and recently, in my side project, I create some blocks, and published to wordpress.org plugin directory. It’s very fantastic.

[00:04:29] Nathan Wrigley: We will be talking about those blocks later. There’s many of them and some of them have a very serious purpose, as we’ll find out, and some of them are just for fun. So we’ll get into that in a moment. Before then, could you just tell us a little bit about the WordPress community in Japan? I confess I have never been to Japan, and I don’t know too many people in the WordPress community in Japan. So I’m just interested to hear what it’s like, how big it is. Are there any meetups? Anything like that?

[00:05:02] Aki Hamano: Ah, yes. Actually, we plan to create an event, WordPress Mega Meetup in May. And there is a lot of communities in Japan, and we are enjoying to contribute or talking about WordPress or create things. It’s very exciting in Japan.

[00:05:27] Nathan Wrigley: Do you have regular meetups spread throughout Japan? For example, in the UK, there are different meetups, usually in the big cities like Leeds and London and Manchester and so on. Do you have meetups in Japan as well?

[00:05:43] Aki Hamano: Actually, I don’t have a meetup, but the biggest meetup is WordPress Tokyo meetup. That’s the biggest communities.

[00:05:54] Nathan Wrigley: And are real world events happening at the moment, or like the rest of the world, are you doing virtual meetups because of COVID restrictions.

[00:06:04] Aki Hamano: Yes.

[00:06:05] Nathan Wrigley: Yeah, it’s all virtual, like it is here in the UK. Well, it’s nice to, nice to have you on the show. If anybody who is listening to this, is from Japan, we’d be most interested to hear from you and possibly get engaged in conversations about what people in Japan are doing with WordPress. But it’s nice to hear that you’ve got your Mega Meetup, hopefully coming out in May.

Let’s talk about your blocks. Well, before we get to your blocks, let’s talk about blocks in general. And I want to ask you the question, what is it that you like about blocks? Why do you find blocks to be exciting?

[00:06:41] Aki Hamano: I have a simple answer. I love to build the things, and I think it was similar to use Lego blocks. It’s very exciting, and I’m very excited to see on block editor when I create some little code on my editor. It’s a very, very fantastic, that’s all.

[00:07:05] Nathan Wrigley: Did you start to build blocks right at the beginning? Have you been doing it for years or is it more recent? Have you just been doing it for a year or two years or three years?

[00:07:17] Aki Hamano: Maybe three, maybe three years, and actually my first block plugin, Rich Text Extension. And WP Tavern posted an article about this plugin three years ago. That’s my first block.

[00:07:36] Nathan Wrigley: There’s quite a few more that have come down the pipe and we’ll get to those in just a moment. We’ll do them one at a time in a minute. I’m curious to know how difficult you found it. Was it very hard to learn the new skills required to build blocks? Did you find it straightforward or was it really challenged?

[00:07:57] Aki Hamano: Ah yes. I think it’s very, very hard. because we need to build codes and we need to learn another language, JavaScript, and framework reworked or NPM. I didn’t know why do we need to build the code because, for example, PHP works you know? I didn’t understand what does it mean to build. So, it was very difficult to understand the commands, new language and the build tools.

[00:08:33] Nathan Wrigley: Why did you make the effort? If it was really difficult, why did you persevere and why did you keep going with all of this difficult new technology, when it would have been easier just to carry on doing what you were always doing?

[00:08:49] Aki Hamano: So. I will learn from and Block Editor Handbook. There is many tutorials on there. It’s very useful document. I started to create blocks. And another example, there is a useful GitHub repository, Gutenberg Examples. There are many examples on the repository and I analyze these codes, and also, I deep dive into Gutenberg core code and core blocks. It’s hard to understand these codes, but it’s very useful for me to build the blocks.

[00:09:33] Nathan Wrigley: Do you think it’s easier now? If somebody was starting to build blocks today, do you think they would have an easier time? Are there more, tutorials, more documentation to make it easier than it was for you? Is it an easier thing?

[00:09:52] Aki Hamano: I want to recommend NPM package. So it’s a WordPress create block. The package creates a block plugin template and automatically install recommended script package. And with simple command, we can build plugin quickly. And if you change some codes in JavaScript, we can see the change on block editor. So first I want to recommend create block package.

[00:10:29] Nathan Wrigley: I will link to that in the show notes. So that’s the WordPress create block package.

[00:10:35] Aki Hamano: Yes.

[00:10:36] Nathan Wrigley: Are there any other tools that you have found useful? That could be things on your computer, software, or it could be resources, tutorials, or books or anything that you might have used. Is there anything which you think was really useful apart from the WordPress create block?

[00:10:55] Aki Hamano: There’s many tools but I use basic tools. For example, I use VS code. For local environments, I use WPM, that’s all.

[00:11:07] Nathan Wrigley: Just those two things?

[00:11:08] Aki Hamano: Yes.

[00:11:09] Nathan Wrigley: Now I played with your blocks over the last few days and there are five, I think, currently there. You can find Aki’s Github repository which has links to the public facing versions of them. Alternatively, you can also find them on wordpress.org, and I will, in the show notes, link to them individually. There are five and I’m going to go through them in order of my favorite. Not necessarily in order of how clever they are, or how brilliant they are, but just the ones that I like, because I could see a use for them. I’ve left probably the most, interesting one until the end, which is just fantastic fun, but I couldn’t see myself using it, so I’ve left it until the end.

But, first off, let’s talk about your flexible space of block. Now this, you will find on the wordpress.org repo as you will do for all of them. Tell us what this does. This is sublimely clever. It’s very, very cool.

[00:12:12] Aki Hamano: Yes. we know that core spacer block can create space, but only unit, and only one height. But I want to create multiple spacers, depends on window width. This plugin enables you to create three types spacer, for desktop and tablet and the mobile. And we can change the break points.

So breakpoints, it’s used to media queries and also I can create a negative space. So we can cross two blocks, and I need it, so I made it.

[00:12:55] Nathan Wrigley: Is that why? It was something you needed, and so you created it and then let it go into the repository? That’s very nice to hear.

[00:13:02] Aki Hamano: Okay, thank you.

[00:13:03] Nathan Wrigley: The interface, the way that the block works, is you obviously install it as a plugin in WordPress, and then you have an option, there’s a spacer option, which appears, a flexible spacer. And instead of the core block, which just has the spacer, Aki’s block gives you three different spacers in one.

So the interface shows you what the mobile spacer will do, what the tablet spacer will do, and what the desktop spacer will do. And they’re all there in the interface all at the same time. I can only say that you’ll get it if you install it. It’s difficult to explain, but the moment you actually have it on your website and you see the purpose of it, it’s brilliant. So rather than having the settings in the menu on the right, all of the settings are, well, certainly for the height, all of the height settings are actually right before you in a visual way, and then as Aki said, there’s the option to, create negative space. There’s a toggle switch and you can create negative space and then you can draw up your content to overlap with other blocks. It’s really nice. It works really, really well. Well done.

[00:14:11] Aki Hamano: Thank you.

[00:14:12] Nathan Wrigley: The next one that I want to talk about is probably I think the most installed of the five that we’re going to talk about. This is your flexible table block. And again, I will link in the show notes. Would you just quickly tell us what your flexible table block does?

[00:14:29] Aki Hamano: Ah, yes. The most great point is that we can create merged cells. Core table block doesn’t allow too merge cells. This burning can create many, many kinds of styles on each cells and it’s very easy to insert or delete row and column from bottom, top of the table. So I think you can create any kinds of a table.

[00:15:00] Nathan Wrigley: Yeah. So when you’re in Gutenberg, after you’ve installed the plugin, you get the option to add in a block, and in this case, you want to be picking the flexible table block. If you just search for table, you’ll get the option to insert it.

It’s got an icon with like a lightning bolt, and then it throws in a table, but the options there’s so many fantastic options. The most useful, I think of which as you said, is the ability to merge cells. So for example, if you put a three by three, three row and three column table in, you could merge all of the columns or the rows, or just a portion of them, and you can do that by clicking shift and selecting multiple cells at the same time. And then you click the little merge icon to make that happen.

But it also brings along a whole load of other possibilities. So there’s, there’s the option to obviously add in as many rows as you want in a intuitive UI, but there’s options to add in colors, uh, you can add in headers and footers to the table, you can add in widths of difference sizes and, you know, padding and margins and all of that. And then you’ve got options for captions as well, and topography options as well. It’s got a lot, basically. And it’s all done in a visual way and it just works. Now this must I’m imagining have taken quite a long time to create.

[00:16:23] Aki Hamano: Yes, it might be confused to create table, but we can create any kind of table. It’s my purpose.

[00:16:31] Nathan Wrigley: it’s really, really excellent. So again, if you go to the show notes, you’ll be able to find the flexible table block. And as Aki said, the main purpose there is just to, is to really, to be able to create any layout and merge different things. And you’ll see in the show notes on the wordpress.org repo, all of the different options and what have you. And it’s, it’s very comprehensive. Essentially, if you want a table to be displayed in almost any configuration, then the flexible table block is highly recommended.

My third pick is your rich text extension.

[00:17:05] Aki Hamano: Yes.

[00:17:07] Nathan Wrigley: Again really interesting. Tell us what this does.

[00:17:10] Aki Hamano: The plugin is my first plugin. I made it two or three years ago. Now Gutenberg enables you to create inline highlight, but, two or three years ago, we don’t have the function. So, I want to create, I want to highlight inline text, or I want to enable, I want to change the inline font size. So I made it.

[00:17:39] Nathan Wrigley: There’s a couple of options which become available. Essentially, you can highlight text in several different ways. So you could fully highlight in one color or another. So you could, for example, in the pre-installed version, when the plugin is installed, you get the option for yellow and red, but you can change those as you wish.

And you can either do full highlighting of the text, or you can do half highlighting and you can, you can specify how thick the highlighting is. So for example, if you wanted it to appear almost like an underline, it could highlight a bit like that. Or alternatively, you could just go full height and highlight the whole text, and you’ve got several options to switch different things on, rename the highlighting.

So you might like to rename it as bold red or something like that. And then you’ve also, got the, other option, which is to change the defaults for the size of your text. So you can have as many as four different options, and you can rename them, whatever you like. And you could have like an ultra small, a medium, a big, or a really big. Pick whatever names you like.

And then those are added into the Gutenberg editor, as options for changing the text size. So let’s say for example, that in the middle of a sentence, for some particular reason, you just wanted one word to be extremely big, you could do that with Aki’s rich text extension solution. And then of course you could highlight it as well.

There’s a settings menu, which enables you to fiddle with these things, but there is only one menu and everything that you need to interact with is in that one, simple menu. Does Gutenberg now do all that this one did?

[00:19:24] Aki Hamano: So highlighting inline text is able to create now via Gutenberg now. But to change in line text size, we can’t create now on Gutenberg.

[00:19:37] Nathan Wrigley: So it still, it still serves a purpose, it’s still useful. Just as an aside, how often do you go back and look at these plugins and update them. I can see, for example, that the flexible spacer block was updated two months ago and you’ve updated the flexible table block just one week ago.

Are you committed to keeping each of these going? Do you go back and look at them, all five of them regularly?

[00:20:05] Aki Hamano: Ah yes. So before WordPress major update, I check these plugins will work. Fix some issues, I want to add some new functions, yes.

[00:20:18] Nathan Wrigley: So you go back periodically and check them just to make sure each time WordPress Core is updated. That’s great. Thank you. Okay, next one, second to last one, is the custom HTML block extension. What does this do?

[00:20:37] Aki Hamano: There is block that we can create pure HTML, and we can create pure HTML to show on front-end. It’s a custom HTML block, but it’s very hard coding on block, because there is no text highlight and it’s difficult to add indent. So I want to create some codes in editor which are like VS Code. Actually, this plugin use VS Code Core library named Monaco editor. So we can write code like we coding on VS Code. It’s very similar to VS Code. It’s easy to create code.

[00:21:26] Nathan Wrigley: This feels like it was the most difficult to create. I could be wrong, but this one has so many different options in there.

[00:21:37] Aki Hamano: Yes.

[00:21:38] Nathan Wrigley: If you wish to create something on your website, which requires you to write some HTML, but the core HTML block doesn’t really highlight things or indent things in a way which makes it easy for you to understand, because you’re used to your IDE, VS code as you’ve described in this case or whatever you’re using.

This makes the HTML in Gutenberg look and feel just like it would do in your text, editor of choice. So things can be indented, things are highlighted, the font can be altered. You can customize it to look exactly how you prefer it.

And then when you click save and publish, everything is output on the front end just as HTML. So, all of that design is stripped away and it becomes HTML. You know, if you’ve got something in an H1 tag, it looks like an H1 on your website, depending on what your theme is telling that to do. Again, why did you build this?

[00:22:46] Aki Hamano: Why? So sometime I can’t create a layout with core block or other plugin. So sometime I need to write some code directly. And so I want to write code more easily.

[00:23:07] Nathan Wrigley: If you are familiar with using a text editor, then this will just be fantastic for you. You’ve got everything that you want. You can resize, you can use things like Emmet and what have you, and, you might be able to throw in a, the demonstration that you have here is a list item, sorry, a an ordered list and you add five items in using the Emmet shortcodes and five list items will appear and so on.

So it’s really for those people who want to put HTML into their WordPress posts or pages and want it to look like their IDE, something that they’re familiar with, something that they’re used to. And yeah, bravo, it’s a chore doing anything in the core block cause it doesn’t have enough similarity to what you’re used to doing on your Mac or PC. Okay. So we’ll recommend that one as well.

And last but by no means least. This is just genius. In fact, this is the one that alerted Justin Tatlock, I think to you, he maybe been following you before this, but this was the one that he wrote a piece about over on the WP Tavern, and I’ll link to that. This is, this is the piano block. I can tell you it does exactly what you think it’s going to do. It puts, it puts a piano inside of Gutenberg. Now, why, why do we need a piano inside Gutenberg? This is brilliant.

[00:24:33] Aki Hamano: First, I want to say it’s just fun. And maybe someone might say, what can they do with this plugin or, what does it mean. My purpose, my purpose to build these things is, enjoy to create. I want to try a potential, possibility of block editor..

I want to know what block editor can create, can explain, and also, I love music. I wanted to play music on book editor. It was crazy.

[00:25:09] Nathan Wrigley: Yeah, that’s something that I just find really interesting. The idea that it doesn’t have a purpose beyond learning how to use the block editor.

I would thoroughly encourage everybody to go and install this one one, and just put it somewhere and try it out. Basically what you get is a block and you add the piano block. It’s got a lovely, obvious icon. It’s probably the most obvious icon I’ve ever seen that clearly is a piano as an icon. And, you get, it looks like a couple of octaves, keys are all there. You’ve got keyboard shortcuts, so every key on the piano is mapped to a key on your keyboard.

So if you really wanted to, you could actually play on the keyboard. Alternatively, you can just hover over with your mouse and click on the key in question. You can increase the volume and decrease the volume. There’s the opportunity to choose from, I don’t know, it looks like about 12 different sounds.

So we’ve got an acoustic bass and electric guitar and organ, a regular piano, violin, harp, and xylophone and so on. And then there’s the addition of, there’s a toggle switch for those people who like to have sustain. So it turns the sustain pedal on and off. Now the only purpose is for fun.

[00:26:29] Aki Hamano: Yes.

[00:26:30] Nathan Wrigley: At the minute, it doesn’t go onto the front end though does it? If you publish this, that block will not appear on your website. It’s only in the editor itself. Now, why is that?

[00:26:43] Aki Hamano: My purpose is to play on block editor, not the front end. It’s the reason, and it was difficult to create piano on front end because this block made with React, and I don’t build React on front end now, but I think it is possible. In the future I may enable it.

[00:27:09] Nathan Wrigley: So at the minute, it’s not able on the front end because there’s gaps in the knowledge that you have. It’s built with React on the backend, and you’ve yet to figure out how to make that happen. Obviously with a project, as fun as this, it doesn’t necessarily have a purpose on the front-end and probably it’s not right at the top of your priority list.

I’ve got to say though, it’s got the least options, a lot of the other ones, for example the rich text extension that you have and the flexible table block, they’ve got lots of different options available to style the way things look and so on. The custom HTML block extension in particular has lots and lots of different options.

I’m imagining though that they were potentially easier to build than the piano block, because the piano block, It’s like a toy, it’s almost like a game built inside of the editor. So was the piano block, was that the most difficult to pull off because, you know, you’ve got all sorts of things happening.

You’re creating sounds at the moment that you click a button and those sounds have to be a particular octave. They have to add sustain and be generated by a different audio sound. I’m imagining, you know, depending on which instrument you’re manipulating. Was that the most challenging one to build?

[00:28:25] Aki Hamano: Uh, yeah. This plugin used web audio API, and web audio API is very, very complicated, but I use wrapper library, tone.js. It’s enabled to create sounds with small code. And most of the difficult things is to find good sounds, because this plugin used real audio sounds, each note.

[00:28:53] Nathan Wrigley: Oh wow, okay.

[00:28:55] Aki Hamano: I needed to find audio with GPL compatibility. It’s very difficult to find it.

[00:29:02] Nathan Wrigley: So, for example, if I play, I don’t know, an a on the acoustic piano and then play a D for example, then they are different audio files that you’re pulling out in order to render that sound?

[00:29:17] Aki Hamano: Yes.

[00:29:18] Nathan Wrigley: That’s really interesting. These are all free. Obviously the piano block is just something a bit different. It’s a bit of fun, but all of the other four that we mentioned, they’re all free and they all have a very useful application. Do you plan now that you’ve got all this experience, do you plan at any point to come out with any new blocks, any new things that we might hear about?

[00:29:43] Aki Hamano: Now, I have no idea, but I want to create block for full site editor. For example, I want to create block, inside the query loop block. For example, if the article was posted in a few days, we need a new level. So I’m planning to create a new level block. Or social network sharing link block.

[00:30:12] Nathan Wrigley: So you’ve got a couple planned for the future. This must take a lot of time. And although you described earlier that you’ve been doing this so that you can learn, and in some cases you needed something to be done, presumably for your websites. Do you plan on creating revenue, charging, having a pro version of any of these, or are they always going to be freely available on the repo?

[00:30:41] Aki Hamano: So, I want to create these plugins for free. It depends on WordPress philosophy. No, I don’t think because I get money from my own work. So these plugins don’t need money. I want create these plugins for free in the future.

[00:31:01] Nathan Wrigley: That’s absolutely fantastic to hear. I love the fact that you’ve created so many free plugins and they’re so different from each other. If anybody wanted to reach out to you and talk about these different blocks that you’ve created, what’s the best way? That could be an email or it may be a Twitter account or perhaps Slack. What’s the best way to get in touch with you Aki?

[00:31:25] Aki Hamano: If you love these plugins, please follow my Twitter account, or please send and direct message. Or please check my Github repositories.

[00:31:36] Nathan Wrigley: I will link to all of those. The accounts for Github, the Twitter account, I will link to in the show notes. So yeah, if you want to reach out to Aki and express your gratitude, or just have any questions, then be sure to check out the show notes on the WP Tavern website.

Thank you for joining us on the podcast today. I really appreciate it.

[00:32:00] Aki Hamano: Me too. Thank you.

#11 – Vinny McKee on His Block Builder Plugin

About this episode.

On the podcast today we have Vinny McKee.

He’s the creator of the Wicked Block Builder plugin, which is a tool to make the job of creating your own custom blocks as easy as possible.

I’m sure that you know that WordPress’ editor is all about blocks. You can create content, and now whole websites with small components. A title here, and a paragraph there. But the real power of blocks is the way that they can be extended so that they can consume and display any kind of content in any way that you can imagine.

The WordPress landscape is moving towards blocks as the way to create and present all-the-things, and we’re just at the start of a very exciting journey.

You can download and try out blocks for almost everything. Some do one thing, other block packs bring entire suites of interesting blocks to the table.

But there is a problem… blocks are not all that easy to create. Yes, you might very well be a talented developer who has taken the lead in learning block creation. You burned the midnight oil and got your head around the complexities of it all. I suspect that it was an uphill struggle.

But WordPress’ mission is to democratise publishing. In an ideal world not just publishing, but extending WordPress would be something available to the masses.

Step in Vinny McKee. His Wicked Block Builder plugin is one of the tools out there that enables you to build your own blocks without the need to understand much of what’s going on behind the scenes, and there’s a lot going on behind the scenes.

Page Builders allowed users to create beautiful websites without needing to learn code, block builders are doing the same thing for blocks.

Today on the podcast we learn about why Vinny built the plugin, as well as how it works. What problems does it overcome, and are there any limitations to what you can build?

Wicked Block Builder on the WordPress repo

Wicked Block Builder website

Justin Tadlock’s post “Wicked Plugins Launches UI-Based WordPress Block Builder”

Wicked Plugins Twitter account

Transcript

[00:00:00] Nathan Wrigley: Welcome to the 11th edition of the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the themes, and in this case, the creation of blocks with a plugin. Up until now, we’ve released this podcast each month. But we’re going to move to a weekly schedule from now on. And that leads to a couple of things. Firstly, it goes without saying that there will be lots more podcast episodes, and I would encourage you to subscribe to the podcast so that you can get all of those episodes automatically each and every week. You can do that by searching for WP Tavern in your podcast, player of choice, or by going to wptavern dot com forward slash feed forward slash podcast, and you can copy that URL into most podcast players. Secondly, with so many more episodes, I’d really like to hear from anyone out there who would like to come on the podcast and talk about whatever it is that you do with WordPress. It might be that you’re a developer, a WordCamp organizer, a contributor, a designer, honestly… if it’s about WordPress, I’m keen to hear from you and hopefully get you on the show. Head over to wptavern dot com forward slash contact forward slash jukebox, and use the form there. Once again, wptavern dot com forward slash contact forward slash jukebox. And I look forward to hearing from you.

So on the podcast today, we have Vinny McKee. He’s the creator of the Wicked Block Builder plugin, which is a tool to make the job of creating your own custom blocks, as easy as possible. I’m sure that you know, that the WordPress editor is all about blocks. You can create content and now whole websites with small components, a title here, and a paragraph there.

But the real power of blocks is the way that they can be extended so that they can consume and display any kind of content in any way that you can imagine. The WordPress landscape is moving towards blocks as the way to create and present all the things, and we’re just at the start of this very exciting journey. You can download and try out blocks for almost everything. Some do one thing. Other block packs bring entire suites of interesting blocks to the table. But there’s a problem. Blocks are not all that easy to create. Yes, you might very well be a talented developer who has taken the lead in learning block creation. You burned the midnight oil and got your head around all the complexities. I suspect that it was an uphill struggle. But WordPress’ is mission is to democratize publishing. In an ideal world, not just publishing, but extending WordPress would be something available to the masses. Step in Vinny McKee. His Wicked Block Builder plugin is one of the tools out there that enables you to build your own blocks without the need to understand much of what’s going on behind the scenes. And there’s a lot going on behind the scenes.

Page builders allowed users to create beautiful websites without needing to learn code. Block builders, well they’re doing the same thing for blocks. Today on the podcast we learn about why Vinny built the plugin as well as how it works. What problems does it overcome? And are there any limitations to what you can build? If you’re interested in trying it out, you can find the links in the show notes, head over to wptavern dot com forward slash podcast, and look for episode number 11. And so without further delay, I bring you Vinny McKee.

I am joined on the podcast today by Vinny McKee. Hello Vinny.

[00:04:40] Vinny McKee: Hey, Nathan. Thanks for having me on the podcast.

[00:04:42] Nathan Wrigley: You are most welcome. Now, Vinny is going to be talking to us today around the Gutenberg subject is the best way to describe it and blocks in particular. He has a great deal of expertise in this area and has a plugin which may be of real interest to the people who are listening to this podcast.

This whole episode really was brought to my attention by Justin Tadlock, who on the 14th of January, 2022, wrote a piece called Wicked Plugins Launches UI Based WordPress Block Builder. So be sure to go and check that out. So I asked Vinny if he wanted to come onto the podcast today and here we go.

We’re going to be talking about blocks and building blocks. First question though Vinny, if it’s all right with you, I’m going to ask a more generic question. Would you mind just telling us a little bit about yourself, your history with WordPress and so on.

[00:05:33] Vinny McKee: Yeah. So I’m a freelance web developer and plugin author. I’ve been a freelance developer since around 2006. And I think the first time I really started using WordPress was actually in 2006. At that time, I didn’t really know anything about it really. And to be honest, didn’t even really care that much about it at the time. It was just a way to solve what I needed at the time, which was two blogs for clients so that they could easily create blog posts.

And so then I think it was probably around maybe 2008 or 2009, if I have my timing correct, when I really started using WordPress more and started to build lightweight sites that used it more as a CMS and started to build custom themes for it and everything. And then of course, fast forward to today and I’m using WordPress almost exclusively for all of the clients sites I built or build.

[00:06:27] Nathan Wrigley: Where are you based?

[00:06:28] Vinny McKee: I am based in Seattle, Washington.

[00:06:31] Nathan Wrigley: Okay. So we’re probably going to be talking today around the block builder plugin that you’ve got, and probably it’s going to be the easiest thing to just mention where that URL is right at the start. So the company is called wicked plugins, and you can find wickedplugins dot com easily enough, and from there, you’re going to be searching around for wicked block builder that will enable you to see what we’re talking about today. There’s also a wordpress dot org version. And obviously that’s over at wordpress dot org forward slash plugins forward slash Wicked Block Builder. Each of those words is hyphenated. I will put those links into the show notes and anything else that we discussed today that comes up, I’ll endeavor to put those into the show notes as well.

Tell us why you decided to put all of your bits and pieces into blocks. I know that for many people, this is clearly the future. There’s a lot of interest in this, especially right now. But a lot of people are staying away from it at the same time. What is it that you saw all those months, years ago that made you endeavor to build this solution?

[00:07:35] Vinny McKee: Yeah, I think it’s similar to what WordPress has been great for a long time, which is extensibility. So I think what’s really cool about blocks and what I like about it is that you can extend the block editor by creating your own blocks. And so that gives you a lot of freedom. It gives you the ability to create blocks that are tailored to individual projects. And I think that’s really useful. And I think that’s one area where it stands apart from other ways that you can build a site with maybe a page builder or something.

I know you can extend other page builders as well, but I feel like with blocks and Gutenberg, I like that it’s baked directly into WordPress. And I just think that it’s neat that you can extend it just like you can extend WordPress in other ways.

[00:08:23] Nathan Wrigley: Yeah. I guess the page builder analogy is quite a good one in that if you are a heavy user of a particular page builder, you may well be interested in creating the equivalent of blocks. So app like functionality within that particular page builder. But the issue I suppose there is that it will be confined to that page builder, and so the audience potentially may be limited. Whereas the block based initiative enables everybody with the default install of WordPress to manage to do these bits and pieces.

Yeah. So really nice inspiration. So why did you decide to actually put your elbow to the metal as it were and get stuck into this. It seems that this is a problem of building blocks. It’s tremendously difficult if you’ve never done this before, but equally you could have just sat there and waited for somebody else to build a solution or indeed for that to be no solution at all. What compelled you to create a sort of GUI interface in order to assist people who have the challenge of building their own custom blocks?

[00:09:22] Vinny McKee: Yeah. So what happened is, as I started to use the block editor to build sites for clients, I found myself wanting to create my own blocks. And because I felt that I needed to do that in order to achieve the look and feel and layout and functionality that the designers I was working with wanted for their sites. And so, I felt like I needed to create my own blocks in order to have the control I wanted over the markup and to achieve all those things as far as the look and feel and layout and those types of things. So what I did is I started creating blocks for the sites that I was working on. But what I found is, as I was going through and creating these blocks, I noticed a few things.

One is that, so when you create a block, blocks have two different functions to generate their markup. There’s one called the edit function, which generates the markup that you see for the block when you edit a page and you see your block in the editor. And then, blocks also have what’s called a save function, which is responsible for generating the markup that actually gets saved to the database when you save a page, and then that’s what you see on the front end when you view the page. And so if you want your blocks to look the same in the editor, as they do on the front end and vice versa, which is what I wanted, you have to basically code the block twice. And, you know, even if the markup is almost identical for both views.

And so that was one thing where I noticed it was a duplication of effort and took a little bit of extra time. And even if you want the block to look exactly the same in both of those views, you have to tweak the code slightly. You can’t just copy and paste. And so it ends up being a lot of… it can be a lot of work.

Something else I noticed was that I was spending a lot of time referencing documentation as I was building blocks. So even after I learned how to build blocks, was was still looking at the documentation a lot, because I couldn’t remember things like, okay, what is that control named? If I wanted to add a text field to a block, for example, is that called text control or is that called text field?

And then I would always forget like what attributes those components or controls accepted. So for example, when I would add a drop down to a block, I would forget what the attributes that allowed you to set the options was called options, or was it called choices? And then how did, how did the data needed to be formatted to go into those options?

Things like that. So I still had to spend a lot of time looking at the documentation, even though I had learned how to build blocks. I kept running into design patterns that were hard. So for example, if I wanted to add an arbitrary number of items to a block, something that would be good for a repeater, for example, like adding an arbitrary number of images, or if you wanted to create like a team block that displayed a grid of people where you could sort the people in the block that would take awhile and it was hard to do.

I guess what I’m trying to say is that what I found was there a lot of things that were adding up to take a significant amount of time, and I just felt I needed to create these blocks for these in order to build the sites that I wanted, but that it was too time consuming for it to be economical. And that I just felt like I wouldn’t be able to produce these sites without being able to build these blocks faster.

[00:12:27] Nathan Wrigley: Yeah. This is the problem that we hear about so much is that the move over to blocks really does create a technical debt, really. What I mean by that is, it’s difficult. There’s a new, whole new raft of things that must be learnt, new techniques that need to be acquired, whole systems that you need to put in place in terms of software as well and what have you. And I feel that a lot of people are put off just by this problem. They simply don’t have the time. They’re working. They’re busy. They’re building websites, possibly for clients or what have you. And the time to go out and spend learning is simply not available to them, and obviously in your case, you managed to find that time and create that bridge for yourself and make it happen.

Was that a difficult journey? So going from no blocks, several years ago to the ability to now create not only blocks, but software, which builds blocks. Did you find that journey fraught with difficulty? Was it fairly straightforward? What was your impression?

[00:13:24] Vinny McKee: Yeah, for me, it was actually fairly difficult because prior to Gutenberg, I didn’t really have a lot of experience with React and I didn’t have a lot of experience with a lot of the tooling either that you would use in a React project. So for example, NPM, Webpack, and some of the other tools that we use to maybe set up a React project. I’d worked with it just a little bit before Gutenberg, but not much. And yeah, I didn’t have that much experience with it, and to be honest, I was pretty intimidated by it because that just wasn’t something that I was familiar with.

And so it did take me quite a while to figure out how to learn React of course, but then also I think for me, what was even more challenging was some of the command line stuff and configuration stuff. Setting up Webpack, for example, to be able to compile the project. And I know now there’s ways you can use other tools like WP Scripts.

I also wanted to understand for myself, make it easier, but yeah, at the time, I also wanted to understand for myself, you know, how those things worked, but yeah, it was a challenge. And even today there’ll be weeks where I might spend hours trying to solve a configuration issue with Webpack. Yeah, it was definitely challenging.

[00:14:37] Nathan Wrigley: I think that’s a really valid point. This is not something which is going to be for everybody. If you are of a certain mindset and you have the time available and possibly the skills available, this might be open to you. And then of course, there’s the other people who presumably you’ve built your Wicked Block Builder for, is the crowd of people who perhaps don’t want to go through all of those steps, learning all of those different things. You mentioned React and the build process and all of that. They just simply don’t want to do that. But they would like to dabble in creating blocks, either for themselves, or for their clients. And I guess that’s the tool that you’ve built. Have I got your target audience about right there? Is it people who are keen to build blocks, but don’t really wish to do the learning that might be required if you wanted to do it all by hand, if you know what I mean?

[00:15:28] Vinny McKee: Yeah. I think that’s a big part of it. And that was certainly one issue I was trying to solve was to make the barrier to entry much lower. But I think too, I was also, the main reason I was inspired to build it was actually to save myself time. Even as a developer, I wanted a way to be able to build blocks faster.

And so, yeah, I mean, it’s definitely for people that maybe don’t want to learn React, or set up the tools needed to build blocks from scratch. I also aimed it at developers as well, hopefully make their lives easier and make it much more efficient to create blocks so that when you’re working on a client project, you can spend less time working on some of those other things I mentioned earlier and focusing more on just creating the blocks you need.

[00:16:12] Nathan Wrigley: Okay. Let’s dig into the tool. It is a plugin for WordPress. As we mentioned at the top of the show, it’s available in a free version on the repo and also a commercial version over on the website, which I’ll link in the show notes so that anybody who doesn’t want to hear the URL in the podcast can just find it, but would you just at the outset, just describe the main differences between the free and the pro so that everybody is really clear where that boundary lies.

[00:16:40] Vinny McKee: They’re exactly the same. The only difference is that the pro version has a couple of advanced features. And so the main features that one has, is a repeater component that allows you to add repeating items to a block as well as conditional logic. And then it has a couple of other advanced components as well. But for the most part, the free version has almost everything and you can actually build the exact same blocks.

The only difference would be something maybe like a repeater where if you wanted to have an arbitrary number of links in a block with the free version you had maybe add slots for five links to your block or something. Whereas with the pro version, you could use a repeater so that you can add an arbitrary number of items or links the block.

[00:17:21] Nathan Wrigley: Okay. Got it. Thank you. That’s made it really clear. Okay. So we’re going to try to describe, cause it’s a difficult thing trying to describe what is a graphical user interface on a podcast, but we’ll give it our best go. As with all things plugin, you must install it on your website. And then you’re presented with a range of new menus in the admin area.

Wicked Block Builder is what I’m seeing currently. And you have the option to add new. And the intention is that you go through the tool and at the end of it, when you go to a post or a page, And you click the little inserter, the plus button, you will hopefully have yourself a ready-made block available to be used to put whatever kind of custom data it is that you want to display on your website.

So, with all that in mind, do you want to try, you know the tool far better than I, I’ve really had just the briefest of plays, but did you want to just describe the process that you would go to in order to set up a simple block with some simple attributes and just discuss what kind of things we’re doing.

[00:18:21] Vinny McKee: Sure. Yeah, I’ll do my best. Yeah. Like you said, once you install the plugin, then to create a block, you just go to Wicked Block Builder in your admin menu, and there’s an add new option. So you click add new. And what that does is that opens up the block builder tool, which is just an interface within WordPress that lets you create your block.

And so that tool is organized into six main screens. And so what you see first is the setting screen and the settings screen just lets you enter basic information about your block and configure some things. So for example, you can enter the name of your block. You can give it a description that you can choose, like what alignment options it supports and whether or not you’d like to make it dynamic.

So then the next screen is attributes. And so the attributes screen lets you configure the attributes for your block. And if you haven’t worked with blocks before then, what attributes are a way to store and, or extract data from your blocks. So they kind of hold the data that’s for your block. And so once you configure attributes, which to configure attributes, it’s really just a matter of dragging and dropping an attribute type, a type, meaning like the data type that you want that attribute to store.

So that could be like a string, for example, or, a true false value or a number and array as the other type of attribute. So once you’ve got your attributes added to your block, then the next screen is called the editor view. And like I was talking about before, there’s two views, two blocks, there’s the edit view, which is what you see in the block editor. And then there’s the front end view. In this plugin we start with the editor view and on that screen, what you do, that’s the kind of the meat of it and where you really build the block. And you build your block by dragging and dropping HTML elements and components. So components are things like text fields or drop downs or radio buttons or check boxes or color pickers, anything that you want to add to your block, to allow people to interact with it, to change settings or to input content.

And so what you do is you drag the HTML elements that you want. So like a div tag, for example, if you want your block to be a div and then maybe if you want another div nested inside of it, you would drag another div and nest it inside the first div. And then if you want a rich text control to be able to input some texts, you would drag that inside. You know, one of the divs, but the idea is that you have full control over the markup and, you create the markup however you want by dragging and dropping. And there’s no limits to, you know, what markup you can add that you can put any valid tags in. So what that does is create the editor view and then the next screen is the front end view.

So you have the option of building the output that your block will generate when it gets saved to the database, and what you see when the block is viewed on the front end, when you view a page. However, that screen is actually completely optional. You can skip that step. And if you do then plugin will use the markup and everything that you set up on the edit screen, and will use that as the, for the front end view.

That’s one of the ways that saves you time is you don’t actually have to create those two separate views anymore. You can just create the edit view and then the plugin will use that same view for the front end, if you want your block to look and use the same markup on the backend and the front end.

And then next is the sidebar screen and the sidebar screen works similar to the previous two screens. It lets you drag and drop HTML markup and components, but it puts all those things in the block sidebars when the block is selected in the page editor. Yeah, once the blocks selected, then whatever HTML and components you add to the sidebar appear on the block sidebar on the right hand side.

And finally there’s a style screen. And that’s just basically a CSS editor that lets you put in CSS for your block. It’s completely optional. You don’t have to put any CSS there. You can, you know, enqueue CSS like you normally would through your theme or through a plug-in or however you’re most comfortable with it, but it’s there for people who want a really easy way to include CSS for their block.

And that’s kind of the process of building the block and then you hit save. And from there, you should be able to add it to a page.

[00:22:38] Nathan Wrigley: I’m going to, to sort of run over a few of those bits and pieces. And I’m going to draw an analogy for those of you who have used a tool like Advanced Custom Fields or Metabox or something like that. The similarities here are fairly striking to me in that the attributes that the sort of fields that you might create, so for example, you would like an image when you need an image attribute, you might need like a number attribute or a true / false, like you said, and you can set all of these different things up and then you move on to the next area.

And as Vinny was just saying, this is how it’s going to look when you’re user inserts it, what is it going to look like to them as they’re actually creating the block? And then interestingly, you’ve got the front end view. That’s what it will look like once it’s complete and you’ve published it and it’s visible to the world.

And then, like you said, there’s the sidebar so that you can modify all of the settings that may be associated with that. And then obviously the style. So I think if you’ve used Advanced Custom Fields or Metabox or something like that before, you’ll be very quick to the party. You’ll learn how this works really quickly.

I have to say having had the chance to play with it a little bit today, I went through the three step… building your first block tutorial, which I found to be really straightforward. Probably took me about an hour, I would say. And I was able to follow along with the steps and I had a completely functional block, fairly straightforward example. It has an image, it has a title, some text, and then ultimately there’s a button, depending on what text you put in that button appears. It doesn’t do a lot, but it’s a really nice way to get going. So I would say that if you’re confused by any of this, go and look for the support documents that Wicked Blocker Builder guide, and you want the building your first block section.

I think you’ve done a really great job of explaining how it all works there. Well done.

[00:24:31] Vinny McKee: Thank you.

[00:24:32] Nathan Wrigley: So the backend then handles all of that. I’m just curious. Is there any situation that you can imagine where the editor view, what it is that we’re doing in the backend to actually create the block on our website, where you would like that to be radically different from the front end view. Perhaps the editor view is going to be much more basic and stripped back. And then ultimately the view that people see on the website is going to be a bit richer. I’m just trying to figure out why those two sections are separate.

[00:25:01] Vinny McKee: Yeah. So I think part of it could come down to user preference and then another part of it might just depend on block output, starting with user preference.

It’s possible that some users might just have a preference where in the editor view, maybe they want almost more of a forum based approach to inputting the data for the block. So rather than displaying a rich preview of the block, maybe they just want to way for clients to input data. But then on the front end, of course, you know, it needs to be formatted properly or the way that they want to look. And that might be one example where you would create a separate view for the front end versus the editor view. I think another example is where maybe you needed the market to be different. So for example, say you want to create a grid, a block that displays a grid of, logos for example, and you want each logo to be linkable, and this might be a contrived example because there’s probably other ways that you could do it as well. But just as an example, let’s say you wanted to create a block like that, and you could, in the end of their view, add like an image component that would allow you to select an image for the logo. And then you could add a text field that would allow you to enter the link for the logo. But you may not want to wrap the image component within a link in the editor view because you don’t want it to interfere with being able to select an image, and when you’re editing the blocks. So maybe you want to tweak the markup for the front end. So then on the front end, it would actually wrap the image within a link element, if that makes sense. So that’s another example. And especially with the free version, because there’s no conditional logic, that would be one way you could achieve altering the markup.

[00:26:40] Nathan Wrigley: Actually, the more I think about it, the more that I can imagine situations where the two might be really useful to be separated. So I’m just at the minute been looking recently at real estate agent websites, and it might be quite useful if you had a block to do with a house and you were uploading all of the bits and pieces associated with that house, particularly the images. You might want those images to display in a really full on way on the website, large colorful, and what have you, and you may just want the thumbnail on the backend so that you can see that something has been uploaded, but you don’t as the person maintaining that block, you don’t actually need to see them in all their glory. But the person coming to the website, who’s thinking about buying that house would probably wish to see them in all their glory. So yes, I’m making in roads into what you’re thinking there, I think. Is that the right idea there?

[00:27:26] Vinny McKee: Yeah, exactly. That’s a great example. And I think similar to that, something like maybe a slide show or like a hero section where maybe it displays just one image, but changes on page reload or something. So on the front end, you really only see one image, but on the back end, you need to be able to add multiple images, but you might want to way to show which images are selected. So you might display those images in the block, on the back end, but then on the front end, you would only see one image at a time. But yeah, the example that you gave to you, I think is, perfect.

[00:27:54] Nathan Wrigley: Yes. So the tool itself is a very much a drag and drop tool. You’re dragging in components that you wish your block to have, be those images, text fields, buttons, what have you. Imagine you’re building up these Lego bricks to make your block.

There must be a little bit of understanding of various bits and pieces of web technologies. For example, I would imagine you at the very basic you would need to have some understanding of HTML in order for this to work. Is there a bare minimum set of things that you need to be able to understand, to make basic use of the plugin?

[00:28:29] Vinny McKee: Yeah, like you mentioned, I think you have to have a decent understanding of how HTML works and how tags are nested, because you do create the markup yourself in this plugin, it is drag and drop, but yeah, you do have to kind of understand how markup works and then to understand some of the attributes that certain tags support in that case block attributes, but you know, HTML attributes that are added to a tag in case you need to configure those. For example, if you want to add a simple anchor link to your block, you would add an a tag, and then you might add an href attribute. But if you haven’t worked with HTML before and don’t know that’s what’s required to create a link, then yeah, you might be a little lost or that might be a little challenging.

And then too, I think, to get good results, you do have to know some CSS because just adding, you know, most blocks I would imagine that you want to have some styling. And so, you know, in theory, you could just create a block that’s unstyled that allows you to input some content. And then of course it could output it on the front end, but without any styling, you probably wouldn’t get the best results or the results you want.

So I think it does require a little bit CSS knowledge as well, although I think, you know, you can get pretty far with just very basic CSS. So there, I think it just depends on how far you want to take it.

[00:29:45] Nathan Wrigley: Yeah, if you want something functional, which works, you can probably get away with minimal CSS, but if you want it to look nice, then yes, there’s going to be a little bit of a learning curve there. So I guess caveat emptor, if you are going to be looking into this plugin, there is a little bit going on.

Now, as with all tools that make something as straightforward as this does, I’m curious to know what’s going on in the background that you are relieving us the burden of. So for example, I’m adding in my attributes and that literally is a two second job. I basically click a button and add an attribute and then give it a name, an attribute name, something that I can remember and use later. And I can do that, and I could probably put five or six different attributes into my block in the space of just a couple of seconds really. Again, the same would be true with the editor view. I’m able to create all of those bits and pieces and link them up to the attributes that I made. What complexity are you stripping away? What difficult things are going on in the background? Now it may be that there’s too many to talk about, but I’m curious as to some of the challenges that you’ve stripped away.

[00:30:51] Vinny McKee: Yeah. So, I mean I think one challenge is just the whole build process that’s involved with creating blocks from scratch. So, because you’re using a plugin, it’s going to, based on how you build the block, it’s going to generate that block for you. And so you don’t have to worry about, you know, any command line stuff or knowing JavaScript or knowing React any of those things because you’re creating the block to the plugin.

So I think that’s one big thing that it addresses. Things like the attributes, it’s not hard to add attributes to a block when you’re building from scratch, other than takes a little bit of time to just to code them. But it does make it a little bit easier, I think, to be able to do it through an interface.

Something else it does as well is if you’ve created a block from scratch before, you’ve probably run into this where if your block is, let’s say you create your block and then your block is used on some pages and then say, you need to make some changes to the markup of the block. What happens is if you just make those changes to the block, you’ll actually, the next time you go to edit a page, you’ll see an invalid content warning, which is kind of scary because it looks like the block is broken and it doesn’t display correctly in the editor. And so in order to avoid that, you actually have to create a deprecated version of the block and then behind the scenes, what WordPress does, is it migrates the markup from that block that was previously added to the page, to the current blocks version or markup.

What Wicked Block Builder does is behind the scenes. Anytime you make changes to your block, it automatically creates a deprecated version of it. So that in the next time you go to edit a page that already has that block, it won’t display an error. And then there’s some other things too, like I was talking about before, how you can just create the edit view, and if you want to look the same on the front end, you don’t have to worry about that. It’ll just create the front end view based on the edit view that you created, so.

[00:32:45] Nathan Wrigley: Yes, I was quite pleased in the tutorial that you did that, just simply putting the CSS in and missing out the front-end view step altogether. Still the block looked great because, presumably it was working on what you’d put into the edit view and the CSS that was there, which was about 50 lines or something like that, made it look really nice.

Okay. So I guess the offering that things like page builders brought to the table is that it makes things much easier. Some people are critical of things like page builders. I’m sure there’s many other things that we could point the finger at, but you get the idea, because they say that the code that is output on the front end of the website might not always be the most optimal. And I guess this is one of the features that Gutenberg has, one of the poster features is that it creates lean code. I’m just asking the same question of you. The way that your building blocks, do you have anything to say about, does it create a block that is streamlined and optimally built or have you had to make concessions in order to achieve the sort of GUI aspect of it? In other words, if I knew everything there was to know about building blocks and I did the same block by hand, and then did it through your tool, would there be a noticeable difference in either of them?

[00:34:06] Vinny McKee: Yeah. So I can’t think of a notable difference offhand, other than instead of the block being pre-compiled the block is generated on the fly when it’s used in the editor. It creates a native block, and so yeah, whatever attributes you add, those are all translated to the attributes that you would code by hand. It only outputs markup that you add to the block. The only exception to that is for the components that you add. So if you add like an image component, for example. There’s a little bit of markup that it adds in the editor view to handle being able to select the image and display the image. And then of course, when it’s saved on the front end, if you don’t output or if you don’t specify specifically how you want the output to be for that front end view, then the image component will automatically generate an image tag. But yeah, for the most part, it only puts out whatever markup you define an add to your block, but yeah, as far as how the block functions and works. It’s identical to a native block. It just happens to be generated on the fly when you edit a page as opposed to something that’s compiled ahead of time.

[00:35:17] Nathan Wrigley: Yeah. Thank you. That’s a good answer. In terms of where this is all stored, one thing that’s coming to my mind is if I am an agency owner say, and I have a niche, let’s go for real estate, as we were talking about that a moment ago, and I’m building several websites every month. And I put a lot of work into creating a block with your tool. Is there a way that I can use these on a multitude of websites? Is there an option to export a block and then import it onto a variety of different sites? How does all that side of it work?

[00:35:51] Vinny McKee: Yeah. So that’s actually a really good question. At the moment in the plugin itself, there is no way to export and import blocks. However, those blocks are stored as a custom post type. And then the data for the block itself is saved in a post meta field and a json object. And so you can actually because it’s just another post type you can use WordPress’s default export functionality and export them that way, and then import them using the WordPress importer tool. Of course, important export is something that we have in the roadmap and something that I plan to add to the plugin. But yeah, right now it doesn’t have that functionality built in, but you can achieve it through the WordPress tools.

[00:36:31] Nathan Wrigley: That’s great. We’ll come back to the sort of roadmap, cause there’s a few items which I think are worthy of discussion and we’ll do that in a few minutes time. Staying with the actual plugin and how it works currently. I’m interested, you mentioned about things like conditional logic. I know this is getting into the territory, I think of the pro version, but nevertheless, would you just describe what that enables you to do? What kind of conditions are we able to display our blocks on?

[00:36:57] Vinny McKee: Yeah. So if you’ve ever used a form builder and wanted to, you know, only show a certain field, if another condition is true, that’s essentially what conditional logic allows you to do.

And you can apply these conditions to all sorts of things. So the way it works is when you add, for example, an HTML tag to your block, it’s actually, all of the parts of the tag are broken up. So you can add like classes in line styles, attributes to that tag. And because they’re split up that way, you can actually add conditions to each of those things.

And so what that means is say, for example, you want to add, conditionally add a class to a block, say for example, you have a block where maybe you want to give an option of you have an image on one side and then text on the other side and you want to provide the option to swap them. So by default the images on the left, text on the right, but you have an option to flip them. So that text is on the left and then the image is on the right. Yep. Let’s say you add it. You create a class that changes that layout. So what you can do is you can add that class to the block. It says image on, right, but instead of always outputting it to the block, you can add a condition that says, okay, only add this class if the option display image on right is checked.

And so, so that’s an example, and then you can also use it to conditionally output tags. So what I was talking about before, where maybe you, you don’t want to output an image wrapped in a link tag on the back end, but you do on the front end. You could add some conditional logic to the tag itself and say, okay, only I’ll put this tag, you know, if this is true, or, and then there’s also conditional logic to show or hide things based on whether or not the block is selected in the editor. So things like that.

[00:38:41] Nathan Wrigley: The brain is ticking over all the different possibilities there. That sounds really ingenious. One of the things that I always thought would be nice if I were a plugin developer, which I am not, is it would be nice to see my plugin out in the wild being used by people and the curious and interesting ways that they can implement the plugin. And I’m wondering if you have any little anecdotal tales of people who’ve used your plugin and remarkable things that they may have done with it that perhaps you didn’t anticipate.

[00:39:10] Vinny McKee: Yeah. That’s a good question. I don’t know that I have any yet, because I just released the plugin in November. And so it really, yeah, I don’t know that I’ve had anyone reach out with any particular ways that they’ve used it. I guess I’ve had maybe some questions about how to do some things that I hadn’t thought of before. And so it made me realize that, oh, okay here’s another way that people might want to approach things.

[00:39:35] Nathan Wrigley: To be fair, I didn’t realize it was as new as that. So yeah, that’s absolutely fine. Like I said, right at the top of the show, there is a different pro version. The pro version, we won’t get into the actual pricing because it may be subject to change who knows, but there are three options. You can go for single site license, a 10 site license and the unlimited site license. So three different options. Of course you can. If you’d like stay on the free wordpress dot org repository version. That’s absolutely fine.

The last little bit, just before we tie this off is the roadmap. And obviously you’ve had some feedback. You’ve just described some of the things that have come back to you from your customers. Apart from the import and export which we talked about already, what are you hoping to be adding in the near term?

[00:40:20] Vinny McKee: Yeah. So in the near term, one thing that’s been requested multiple times or quite a bit is the ability to assign an icon to the block. I’m planning to add that in as well as, there’s also been requests to add more options as far as, so blocks what’s called these support features or these support flags where you can say, okay, this block supports something like an anchor so that you can in the block sidebar, you can add like an anchor and that’s something that’s kind of WordPress adds automatically, if the block says that, okay, I support this or things like topography, you can have font size and line height support, or you can add spacing support for things like padding and margins. So just adding some more settings so that you can enable those things for your block. And then of course adding more component types. So right now there’s all the basic ones you would expect, but then adding some more, like for just more component types. So you have more options of how you build your block. And then I would also like to add an ability to save the blocks as a json. So to like a folder within your theme or wherever you decide. The blocks when you create them in the interface, they would get saved to the database like they do now, but they would also get saved to a local json file. And so that way developers could commit their blocks to version control so that they kind of have so that they can version control their blocks. And that’s kind of what I’m hoping to add in the near term.

[00:41:43] Nathan Wrigley: Just something which has occured to me just as you were saying those things, there’s an increasing commercial marketplace for blocks, not as is the case with yours, the block builder, but the blocks themselves. There might be a marketplace for relatively inexpensive blocks, which do a single thing and do it really well.

And I was wondering if there’s any possibility from your plugin to commercialize the blocks that you make? I don’t know if that’s possible, even something you’re giving any thought to, but if I spend a lot of time creating a block that’s incredibly complicated and it has some value, with your tool, would there at any point ever be options to pull that out and make it available commercially.

[00:42:27] Vinny McKee: So I think the challenge right now is it in order for it to work, you do have to have the plugin to generate the blocks. So if you create the block and then export it and import it on another site, it’s only going to work if you have the plugin installed. I do think it would be really cool is if there was a way to actually export the block code. So that you could just import the block without having to have the block builder plugin installed. But I also think that’s a fairly complicated feature to build. So probably not something that I’ll be able to add soon, but I think if that were available, then yeah, there would be a way then that you could create blocks using the tool and then publish them and be able to distribute them without having to have the plugin in order to use the block.

[00:43:13] Nathan Wrigley: Well, thank you very much for joining us today and talking about your fabulous tool, Wicked Block Builder. As I mentioned, there will be links in the show notes down below to the repository version, as well as the Wicked Block Builder website as well. But Vinny really appreciate you coming on today.

Just prior to ending, if people are curious about what you’ve talked about today and wish to reach out to you, what are some of the best ways to do that?

[00:43:40] Vinny McKee: So, you can find me on Twitter @wickedplugins, or you can also contact us through our site at wickedplugins dot com.

[00:43:48] Nathan Wrigley: Thank you very much. I appreciate you joining us today.

[00:43:50] Vinny McKee: Thanks for having me, Nathan.

WordPress 5.9 to Introduce New API for Locking Blocks

The advent of block themes delivers more creative power into the hands of users, but there are times when theme authors may want to lock down key elements of a design and its designated content areas. First introduced in Gutenberg 11.6, the upcoming WordPress 5.9 release will include a new API for locking blocks.

Template level locking has been available in Gutenberg for a few years, allowing developers to lock the template on the UI so that users can’t manipulate the blocks. This new API offers more granular control that can be applied on the block level and override template locking.

“Instead of applying a lock to all inner blocks, you can apply it selectively to individual blocks via the lock attribute,” Marcus Kazmierczak said in the dev note. “The block level locking would supersede the inherited templateLock value. You can choose to lock moving or removing a block.”

One of the primary use cases for locking individual blocks, cited in the ticket proposing the new API, is where one might lock the “post-content” block of a single template so users can’t remove it.

“Another use case that we’re building for is having a Checkout Block with different blocks that act as fundamental steps, we don’t want people to delete or move those steps since they’re fundamental and their order is also important, but we want to allow people to select them, access settings, and insert blocks in between them,” WooCommerce engineer Seghir Nadir said.

Kazmierczak’s dev note demonstrates how developers can lock a specific block in a pattern and explained how block level locking is not inheritable.

“If a block is locked from being removed, its children can still be removed,” Kazmierczak said. “If you want to apply locking on children as well, add templateLock to the inner block component, or templateLock attribute to supporting blocks.”

For more information on the new locking mechanism, check out the Block Editor Handbook and the code examples in the dev note.

#8 – Lee Shadle on How Blocks Create New Opportunities

About this episode.

On the podcast today we have Lee Shadle.

Lee is a WordPress developer at WP Draft, and by his own admission is obsessed with building block based themes, plugins and websites. He’s been using WordPress for many years and as soon as the Gutenberg project was announced, he decided he was going to explore it and learn how it worked.

He runs a small agency building sites with blocks as well as with 3rd party page builders.

I first saw Lee when he presented at WordCamp Europe earlier in 2021, and his passion for working with blocks and React was obvious. It’s pretty clear that, right from the start, he’s embraced the possibilities that blocks offer, both now and in the future.

At the time of recording this podcast, many are still unsure about what blocks are for, and what they will be able to do down the road, but Lee has thrown himself into figuring out what’s possible, and it might come as a surprise just how powerful they are.

We start our conversation by addressing whether Gutenberg was something that the WordPress project actually needed. Was it necessary to build a new tool which would require people to learn new skills and new techniques?

We then get into some concrete examples of how blocks will add new capabilities to websites. Some of the examples show that complex operations can be handled within single blocks. These possibilities were once the domain of plugins and shortcodes, and now they can be deployed and configured by anyone who edits content.

We talk about the obstacles which Lee encountered whilst learning how to build blocks. In his case, he worked on projects which he knew he would enjoy. We also touch upon some resources he used to assist in his learning.

There’s also a discussion about the commercial landscape for block developers and how blocks might become a new way of generating revenue. Although we’re not there yet, it might well be that in the future, WordPress users will be on the lookout to purchase blocks in the same way that they now buy plugins and themes. Perhaps there’s even scope for a market of inexpensive blocks which have limited functionality.

As you’ll hear, Lee is very optimistic about the future of WordPress, with blocks at it’s core.

Useful links.

Lee’s Twitter account

Stimulus Benefits – Lee’s calculator block

Aino

Block Visibility

Newsletter Glue

React for beginners

GenerateBlocks

Nick Diego

Mike Oliver

Brian Gardner

Transcript
Nathan Wrigley

Welcome to the eighth edition of the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the themes, and the blocks. Every month, we’re bringing you someone from that community to discuss a topic of current interest.

If you like the podcast, please share it with your friends. And you might also like to think about subscribing, so that you can get all of the episodes in your podcast player automatically. You can do that by searching for WP Tavern in your podcast player, or by going to WP tavern dot com forward slash feed forward slash podcast.

You can also play the podcast episodes on the WP Tavern website, if you prefer that approach. If you have any thoughts about this podcast, perhaps suggestion of a guest or an interesting subject, then do head over to WP tavern dot com forward slash contact forward slash jukebox and use the form there. And we would certainly welcome your input.

Okay, so on the podcast today, we have Lee Shadle. Lee is a WordPress developer at WP Draft, and by his own admission is obsessed with building block-based themes, plugins, and websites. He’s been using WordPress for many years, and as soon as the Gutenberg project was announced, he decided he was going to explore it and learn how it worked.

He runs a small agency building sites with blocks, as well as third party page builders. I first saw Lee when he presented at WordCamp Europe earlier in 2021. And his passion for working with blocks and react was obvious. It was pretty clear, right from the start, he’s embraced the possibilities that blocks offer both now and in the future. At the time of recording this podcast, many are still unsure about what blocks are for and what they will be able to do down the road. But Lee has thrown himself into figuring out what’s possible and it might come as a surprise to you just how powerful.

We start our conversation by addressing whether Gutenberg was something that the WordPress project actually needed. Was it necessary to build a new tool, which would require people to learn new skills and new techniques.

We then get into some concrete examples of how blocks will add new capabilities to websites. Some of the examples show that complex operations can be handled within single blocks. These possibilities were once the domain of plugins and shortcodes, and now they can be deployed and configured by anyone who edits content.

We talk about the obstacles which Lee encountered whilst learning how to build blocks. In his case, he worked on projects, which he knew that he would enjoy. We also touch upon some resources, used to assist him in his learning.

There’s also a discussion about the commercial landscape for block developers and how blocks might become a new way of generating revenue. Although we’re not there yet, it might well be that in the future, WordPress users will be on the lookout to purchase blocks in the same way that they now buy plugins and themes. Perhaps there’s even scope for a market of inexpensive blocks, which have limited functionality.

As you’ll hear Lee is very optimistic about the future of WordPress with blocks at its core.

If any of the points raised in this podcast, resonate with you, be sure to head over and find the post at wptavern dot com forward slash podcast, and perhaps leave us a comment there.

And so without further delay, I bring. Lee Shadle.

I am joined on the podcast today by Lee Shadle. Hello Lee.

Lee Shadle

Hey Nathan.

Nathan Wrigley

It’s lovely to have you on the podcast today. Before we get stuck into it, I’ll ask the traditional set of mandatory questions at the start. Would you mind telling us a little bit about yourself, your background in WordPress, technology? You can go back as far as you feel necessary. Probably limit it to the WordPress side of things.

Lee Shadle

Okay. So I was born in Columbus, Ohio, but I shouldn’t go back to Ohio days. Huh? I shouldn’t go back all the way back to my birth. So I am a self-taught developer, mostly front end developer, and I’ve been doing it for about 10 years. I started building custom client sites and I made my way to WordPress about five years ago. And really, the thing that actually really drew me in was when Gutenberg launched, because it really used all my skillsets of JavaScript, React, CSS. And so since then, I’ve been really the last five years or so been focused on building blocks. I kind of nonstop, but kind of had an insane obsession with it. You could ask my wife, all I do is talk about blocks and building blocks. So to pay the bills, I’ve been building client sites and I’ve been trying to build tools with blocks to help streamline my processes of the client work. So that’s what brings me here today. Is that black building obsession.

Nathan Wrigley

Very nice. Well, we will get thoroughly immersed in all of that in a little while. Just before that, I wanted to know what your thoughts are on whether or not WordPress needed to put this into core, the ability to build your website now let’s say, but initially, to create your content around blocks. Did you feel at the time, obviously subsequently you’ve gotten into it and been enjoying what it has brought to the table, but I’m wondering if you can cast your mind back to that time when it did come in. Was there a light that went off and you thought, actually this is tremendously interesting or were you like many people were, and to some extent still are kind of reluctant to use it and keen to have the old editor back or move away to some sort of proprietary page builder?

Lee Shadle

Being a front end developer, when I started hearing about React being in WordPress, that really got me going, because to me, it really opens up a bunch of possibilities that can really allow you to build, you know, really snappy interfaces and really fun products and stuff that you couldn’t build before.

You can almost, I know there’s been talk about WordPress being the OS of the internet. And I think it really opens up that possibility. I started dipping my toes into WordPress right before Gutenberg launched. And I did a deep dive into building themes and plugins the old way. And then right about a year into me learning how to do that, I started diving deep into Gutenberg. And, I definitely think it was a good move. Although all change, you know, change can sometimes be painful and there’s definitely a steep learning curve, but I think the pain is going to be worth it in the long run.

Nathan Wrigley

I feel that at the moment, there is a lot of pain being experienced by a variety of different people. And some people like yourself have decided to absorb that pain and go with it. Other people have found it very difficult and there’s been politics, shall we say has crept into WordPress in a way that I’ve not really seen too much of before, and people wishing that it hadn’t have been put into core and that it had of been a plugin instead. Other people obviously just wished that the entire thing would go away and ended up forking WordPress and creating this ClassicPress version of WordPress. So it has really divided the community. I feel that maybe talks like this, will address that a little bit because you’ve obviously been exploring it and you’ve probably got some great ideas about things that it will enable that perhaps the rest of us haven’t really foreseen.

I know for my part, I’ve seen a few videos of things that people are building. Products that are either just about to come out or have already come out and you just think, okay, that’s interesting because that’s totally wedded to the idea of a block and without the block methodology, that exact thing could not have been done, possibly even as a plugin. So I’m just curious if you’ve got any thoughts about what can be done with blocks that we could not have done before.

Lee Shadle

I’m going to go as a bold as to say, I think, think of every traditional plugin or theme business in WordPress. I believe with the advent of Gutenberg, everything is ripe for disruption.

I think every single aspect, like think about forms or think about pop-ups or think about payments. Really any facet of the WordPress economy that you can think of, that people are making a living on, I think it could be disrupted with Gutenberg.

Nathan Wrigley

Yeah. I think you’re probably right. We’ve certainly seen some . Of those things. I’ve seen some projects certainly around the forms space where, you know, you just think, oh, well the interface of Gutenberg really does lend itself to creating sort of drag and drop form builder. It’s really remarkable for that. Aside from those sort of more general ideas, do you have any concrete examples of things that you’ve gotten yourself into and projects that you’ve created, or been party to where there’s been an end result that we could all identify with and understand why you’re so excited about it.

Lee Shadle

I’ve been building blocks, all kinds of different types of blocks, trying to uncover. I run a small agency, so my workflow and system of building a site for client is super important to me. And I know there are a ton of tools with the classic way of building WordPress built around optimizing that workflow. But that’s really been my focus is how do we leverage the system to really like streamline the workflow of building sites for clients? I build a lot of sites for fun for myself. Really. I’m all about building quickly.

I don’t know if I told you this Nathan, but when I was in my previous life, I used to own a restaurant and I came up with, you know, the menu and the food, and imagine it was an Italian version of Chipotle at the early days of Chipotle, and, you know, I ran it for a couple years and it just failed miserably. I lost, I kind of lost everything in that. But I learned a lot of great lessons and one of those lessons was I want to be able to keep stepping up to the plate. And in order to do that, to keep trying, I needed to come up with systems and processes that allow me to do that in a way that it isn’t heavy handed. And I can just hack away at an idea in a day. And I kinda think that is the essence of WordPress. And I think that Gutenberg is kind of taken us back to that essence of, okay, what can I hack away at? I think we’re just starting to hit the point of stability with Gutenberg and with full site editing coming out and block-based themes where you’re going to be able to build full blown prototypes and mock-ups of, you know, not just like static sites, but some pretty complex stuff pretty quickly. Imagine launching, you know, I don’t know if you saw Flip WP, they’re launching a marketplace for selling WordPress plugins and themes and WordPress businesses. I think something like that is going to become a lot easier to do. Like iterating on an idea like Flip WP, like say I want to try it, test the waters of building a marketplace for buying and selling WordPress businesses. I think, being able to build startups and more complex businesses is going to become a lot easier to do with Gutenberg

Nathan Wrigley

When you’ve been creating your blocks at the beginning, I’m just curious as to how obviously you fell into it and you’re now enjoying it. Were there any significant obstacles along the way that you encountered? So as an example, was there enough documentation? Was it fairly easy to get yourself up to speed with how to create your own blocks? Was there a lot of support around? Were there some channels or books that you perhaps ended up relying upon? I’m just trying to get to the idea of how easy or difficult it was, or perhaps still is.

Lee Shadle

I’ll be honest with you. It’s been a challenge. It’s been a frustrating journey. There’s been documentation and there’s been the Gutenberg GitHub repo has been a great resource for, learning as well. Just seeing how they’re doing things, but it hasn’t been easy. I actually, you know, a tool. I think you actually heard me talking about it at wpplugin dot com where you can quickly generate a block plugin. And the idea behind that is there’s all these different mental models of building a block. I think the hardest part is learning, what can you do with a block? How can you do it? And shaping that mental model has really been a challenge. Honestly, I’ve been very self driven and if it wasn’t for that, that really has kept me going. I’ve had a long-term view of where everything’s going and from the place I’m coming from being a front end developer, it’s really made it, it has made it easier for me. I do think, if somebody really wants to learn blocks, they need to learn React. And I think something like taking like Wes Bos’s React for beginners course, I took that course and it’s a great resource for learning React. Just getting kind of the nuts and bolts of, you know, the underpinnings of Gutenberg.

Nathan Wrigley

Would you say that, obviously it was fairly difficult as you’ve described, but were you able to begin to see a glimmer of light at the end of the tunnel fairly quickly? Or was it one of these learning journeys where it’s more of a cliff climb until finally you reach the pinnacle? You’ve acquired enough knowledge that suddenly it becomes, oh, I can do it all now. This is fabulous. Or were you able to get something out from your limited learning?

Lee Shadle

I feel like I’m there now. I’m at that place. I mean, I’m still learning, but I feel like I’m at a point now where I can kind of shape the editor to what my vision is. But it has been a lot of hard work, but I’ve, I feel like I’ve kind of seen the vision for where WordPress wants to go for a long time. It really resonated with me and I can really get behind where they ultimately want to go. I think that all of this, it’s going to be worthwhile taking the time to really dig in and learn. And I don’t know if you’ve seen it, there’s been some talk about creating. I know there’s like Advanced Custom Fields has a block builder. There’s been some talk about creating some PHP based tools for building blocks. I’m not sure it might be a third-party. It’s just a, some conversation I saw on Twitter there quite an extensive conversation about people testing out ways to build blocks from a more PHP standpoint, where the PHP would kind of generate the React for you. And so like this layer between, okay, we have Advanced Custom Fields for doing 80% of what you want to do. And then this other PHP solution potentially being like a similar tool that gets you most of the way there. If you really want to dive deep and do some more complex stuff, take you the rest of the 20% of the way, then you’d really need to learn React and how it works in the editor.

Nathan Wrigley

I feel maybe this is the point at which people who are struggling with the way things are going in WordPress at the moment. Maybe this is the point of contention, it was introduced and suddenly all of the skills and the techniques and, the years and years of expertise that they built up, it kind of felt like it was crumbling before their eyes. And they may be in a position where they’re managing to carry on their business, whatever it is, something to do with WordPress, their agency, or what have you. And simply don’t have the time to upskill and to learn new things. And maybe that’s the problem is that there’s a lot of people out there who simply don’t have the time. They don’t have the energy anymore. They don’t have the desire. And they want to just sort of keep going with the same tools that they’ve been using for a such a long time. Obviously it sounds like you, fairly driven, able to allocate enough time to do all of that and obviously fit it in around your business. But maybe there’s, maybe there’s some people for whom that is just too much of a stretch?

Lee Shadle

You know, I can understand if all of a sudden Gutenberg was pulled out from under me, I think I’d throw my hands up right now. Uh, I’ve had a business, I was working on, pulled out from under me and I, it hurts. And it’s like, ah, dude, you know, do I want to do I want to keep going? But, but here’s the thing is I think Gutenberg is getting to the point where, we’re hitting a stability that could be used in production for like client sites. I think we’re hitting that point right now. Once Full Site Editing, I think after the next release. I’ve started building, I’ve kind of been doing both the old way of doing things for some clients and the new way of doing things. I’ve been doing it simultaneously to see, okay, how stable are we for using this stuff in production versus using something like Elementor page builder or Beaver Builder or something like that?

I think we’re coming up on that point where people can start making the switch and dipping their toes in. And I don’t think you have to focus a hundred percent of your time or focus a big chunk of your time to start diving into that. The new block-based themes, it uses this thing called a theme bot json file and that really sets up. You just fill out this file, like basically a data structure with what you want and you have a full flesh theme in the block editor. I think that the tools and the tooling and WordPress and Gutenberg itself are all getting to this point where we can start using it, and it’s not going to be a ton of time. And then once you start using these tools, You’re going to want to start doing more and more with them, and you can start easing your way into building blocks with ACF or from scratch or whatever.

Nathan Wrigley

It seems to me that it might be the case that many people who have not really dabbled too much in the block editor have gone in there at some point, installed vanilla version of WordPress, made sure that it was all up and running and what have you, and then when in, started typing and found that experience fairly decent, certainly from my part, it’s much better for simply typing things than the classic editor ever was. Just for the ability to move paragraphs and things around. And then of course you notice this sort of curious sidebar, which is full of these blocks that you can put on to the page, and so, a paragraph is a block. A button is a block. A heading is a block. And so it kind of feels a bit like this text interface where the blocks are a bit like, okay, obviously I’m using paragraphs now. That’s fine. I can understand that. But then you sort of notice that there’s a lot of stuff attached to the block and the block brings along with it, all these different settings. And so you can modify that one paragraph in its entirety, all in one, go by clicking some buttons, you know, that might be the color or what have you. And all of a sudden, your mind starts getting taken over with, oh, so the block has got settings with it. Oh, that’s interesting. Okay. So what I’m trying to say there is if you’ve not been back into the block editor for a long time, and you’ve just really seen it as a conduit to creating content, it is much more than that. And it’s hard to express how much more it is unless you’ve actually configured or played with a block that does a lot more than you could ever have done inside the classic editor. So I’m wondering if you’ve got any nice concrete examples of things that you’ve achieved, the things that you’ve been able to do inside of a block where people might go, oh, that’s curious. I didn’t realize that blocks could even do that kind of thing.

Lee Shadle

Actually, my brother is an accountant and, he does a lot of work with startups and when COVID first hit and they started doing the PVP loans and everything, I actually built a calculator for him, for his business to share with his clients. And I built it all in blocks and the calculator would, it would generate, you know, you would just put in whatever your income is and how many employees and it would generate. You can actually see it in the wild. If you go to stimulus benefits dot com, I have a calculator in there. That’s it’s a block. All this is all built in WordPress. You’ll probably notice this theme. I think this was the 2020 theme. And honestly, it’s pretty cool. It’s pretty snappy. And this is just like something that I built for fun for my brother, you know? So if you want it to build, imagine, you’re in the real estate business and you wanted to build out a full fledged mortgage calculator. I know there’s a ton of realtors, real estate agents, real estate businesses that use mortgage calculators in their business to direct their clients to. I mean, you could absolutely do that. Very quickly and easily.

Nathan Wrigley

The principle there is that your brother then has a block inside of his WordPress installed, which he can then just with the click of a button throw on to any post or page, uh, it’s not a weird shortcode thing where he’s got a plugin installed over there and he’s got to go and find the right shortcode and then copy and paste it into the right part. It’s just all of that functionality. The logic behind the calculator is all contained inside of a block. And so for him as the end user, presumably it’s just really easy to deploy that.

Lee Shadle

It’s a custom plugin. He could add it to any, you know, any site anywhere and what you see on the front end, of the site is what you also see in the editor. And then in the editor, you can change things like the background color, the border radius, the font color, the text. I mean, all the texts editable, which was really important because, everything was always changing. The rules of the game were changing. So he needed to be able to go in and edit the content of the calculator. So to me, it’s like, it’s super exciting that here’s this thing that, like you’re saying it would have been a short code. You throw the short code in and then say you go to the customizer. If you want to change the background color, you know, the fonts and add some custom CSS. This no, you you stay in the block editor and you just click a button. Okay. If you look at the calculator now it’s got a black background. It’d be really easy to change it to a white background with black text and then change out the font. And really you can kind of go as far as you want to go with this, I could see endless just calculators alone. I could see endless business opportunity.

Nathan Wrigley

In a way, the idea of blocks, just being a conduit for putting content on the website. Yes. But it’s also in a sense it’s like a mini it’s like a mini little application it’s as you said, you created a plugin and what have you, but the complexity really has no limits. It’s only the limits of what you’re capable of coming up with and whatever it is that you’ve built with all of its amazing, difficult capabilities could just be dropped in ad infinitum all over the place. And the sky, as you say, is the limit. And I feel like we’re just turning a bit of a corner and some of the ideas are starting to come into the marketplace. Now, some really curious ideas about a whole different functionalities that are being wrapped up into blocks that we simply couldn’t have done before.

Lee Shadle

I’m super excited because the fact that I could just create a calculator and drop it into a hundred sites, and then imagine I build a block base theme, say I build a block-based seam for like realtors, for example, I add this mortgage calculator, it’s baked into it. I just can see all kinds of different, you know, additional tools like you’re saying that you can get as complex as you want, but I also think blocks also offer this, a perfect canvas for constraint as well. You can go as complex as you want, but you also do want to make it easy for people to make changes to these little mini applications that we’re building.

Nathan Wrigley

I think one of the concerns that I have, amongst many other people, I’m sure is. It’s just this notion of people getting a bit click happy when installing blocks. The idea that there’s a plugin for that in WordPress could easily be flipped to, well, there’s a block for that. Non-technical users going out and looking through the block repository and installing things, and then kind of having to scratch their head and say, Hmm. My site really does seem to be very slow and then ultimately blaming WordPress for that, because that’s the software it’s built upon. I think you’re right. Is it a good point to raise the one of constraint? Just because something exists, it doesn’t mean you should install 50 of them and use them all at the same time.

Lee Shadle

I do think that a certain level of constraint does breed creativity. So I think that, you know, the more we can focus on making it really easy for people. Make it as easy as possible to do something, the better. So I think like patterns, the block patterns for example, are going to be a huge boon to making it easy. Try multiple homepages or contact pages about pages or pricing tables or any part of a site that you can think of. It’s going to be really easy to add that to your site.

Nathan Wrigley

Have you been playing with block patterns a lot? And if so, are you pleased with where the system is right now for making all of that and surfacing them in the UI for you?

Lee Shadle

I am super excited about where block patterns are going. I think they open up a ton of possibilities. If I were going to be dipping my toes right now, say I haven’t started building blocks. That’s where I would start honestly, is start building out some patterns because it’s really cool to go into the editor and create this pattern and then be able to just move it from site to site seamlessly, and have it just work.

Nathan Wrigley

Do you feel there’s a new marketplace, a new job, if you like, emerging? We’ve traditionally in WordPress, we’ve had lots of people employed building websites, that’s one niche, if you like, and then had other people working within agencies, possibly building bigger websites and on the code side, if you like, we’ve had people creating plugins and themes and making commercial products out of those. Do you see blocks in that way that there’s going to be a nice commercial interest in people going out and finding affordable blocks that do the one or two simple things that they need?

Lee Shadle

I do think there will be. I just, I don’t know if those are out there quite yet to find. What I’m seeing a lot of though, is these ecosystems popping up around a set of custom blocks, and then patterns to use with those blocks and core blocks and then multiple themes. And so I see the business evolving into more of these like mini ecosystems and that’s where I’ve been building is focused on here’s a set of custom blocks, custom patterns and themes for different types of use cases to get you quickly up and running.

Nathan Wrigley

One of the things that I’ve noticed is I’ve seen that there are quite a few people at the moment trying to make a living out of this, and it seems, the most common way to do it at the moment is to come out with these block packs. And we’re just going to use that phrase. I don’t know if that’s what these companies go by, but they release a suite of 5, 10, 15, 20 or so on, blocks that hopefully will cover almost every aspect.

Do you get yourself involved in any of those? Do you use any of the things which are available on the market at the moment, or are you all about just if I need it, I’m going to make it myself?

Lee Shadle

I definitely do. I love to see, and use what’s out there. I’ve used a bunch of different block collections on different projects, such as CoBlocks. And I don’t know if you’ve seen Stackable, WP Stackable? I know we were just talking about the GenerateBlocks and I see a lot of chatter on Twitter about people using GenerateBlocks. I don’t know if you’ve seen another one, that I just think is it’s just beautiful called Aino Blocks, A, I, N, O, WP Aino dot com. Ellen Bauer has put together. I used to buy her WordPress themes and her and her co-founder put together a set of blocks, a limited set of custom blocks and then patterns. And they’re going to be creating themes as well. Right now it’s free to start using I’m sure there’s going to be, you know, some way of them monetizing that product.

Nathan Wrigley

I’m pretty sure that there’s going to be more people dipping their toes into the commercial waters as time goes on, because it does feel as if this is the future for WordPress. And one thing that I’m quite interested to see is, there’ll be like an, almost like little micro blocks that just do one thing, but do it really well and go into some sort of different pricing structure. So as an example, on the PC or the Mac, if you buy an app, it’s usually there’s a reasonable amount of dollars expended on purchasing that app. I mean, if you go onto the iOS or the Android side, something much more slim is available and it costs significantly less, just a few dollars. And I’m curious to see if this business model emerges, where we get an innovative block, which just does one small thing, but does it really well, I can’t actually conjure anything up at the moment out of my head that may fulfill that bill, but I’m really interested to see if those kinds of things start to emerge.

Lee Shadle

I definitely think there will. I personally, I would love to focus just on building those, but I feel like I almost feel like it’s got a, it feels like things need to go broad first and then narrow down to the specific use cases. But I have seen one really cool niche plugin is block visibility by Nick Diego. If you, if you’re not following Nick on Twitter, you should. His plugin makes it really easy to show and hide blocks depending on different use cases, even. For example, he has an integration with WooCommerce and Easy Digital Downloads. And you can set visibility based on a schedule and if a customer purchased a product or not. So say you bought a product and two weeks ago, and then you can have a block pop up two weeks later and say, Hey, how’s it going? Would love your feedback if you’re enjoying using our plugin, leave us a review. So I do think that we’re starting to see those and that is, you know, one of the best examples that I’ve seen out there.

Nathan Wrigley

It’s like a little application just inside of a block. There’s a lot of heavy lifting going on there. Isn’t that, you know, if it’s checking, the conditions to be right to, to make itself visible. You can imagine all sorts of permutations for the usefulness of that. Certainly in terms of marketing or perhaps hiding content that you want to be invisible to people who aren’t members of your subscriber base or whatever it might be.

And that’s kind of the point for me is that blocks bring all of this, as yet un thought-out, potential. Whereas previously, there was just essentially text on a page with a bit of formatting and some shortcodes thrown in if you wanted to add extra functionality. And now the functionality is all within the block. And so are the settings and it’s all in one simple, hopefully, user interface. Speaking of the user interface, just staying on the block editor. So we’re recording this kind of near to the middle of 2021. And I’m just conscious that there’s a lot of comparisons made all the time between what the commercial page builders can do and what the block editor can do, and I’m always curious to know what people’s opinions are about how easy it is to put things together, put complicated block layouts together and create things which are beautiful because, I certainly still experience moments where I’m really not sure if what I’m looking at in the block editor is going to look how I expect it to when I finally publish it and check it out on the front end. So just wondered if you had any thoughts about its utility as a sort of what you see is what you get, or if there’s still a ways to go?

Lee Shadle

I think that ultimately that is going to come down to the themes and then any supporting block plugins that ship with those themes. With any page builder, any like major commercial page builder, there’s a learning curve and yeah, what you see, what is, what you get out of the box with Elementor, but if you want to change something, if you’re just getting started, it can feel daunting to dive into all those settings. I do think the responsibility falls more to the theme builders in and the plugin builders to make sure that that experience happens. Myself, I’m working on what I’m calling a minimalis page builder that I’m hoping to shorten that learning curve. And to also, I want to take responsibility for making sure that what you see in the editor is what you see on the front end.

So, you know, I do. It’s up to me and everyone else that is building out these experiences to make that happen. Off the shelf, if you used, you know, a core WordPress theme, you get your experience in the editor and on the front end is pretty seamless. There may be minor differences, but I mean, you’re, you’re pretty much seeing what you’re getting on the frontend.

Nathan Wrigley

Just curious because you dropped a few names earlier and I thought that was quite interesting because some of the people that you’d mentioned I’d heard of, and some of them, I hadn’t. So I’m wondering if you wouldn’t mind just rattling off a couple of projects that you have seen and you thought that was good. And if you can attach some names to those as well, we’ll try and make sure they go in the show notes along with this, on the WP Tavern website. So yeah, just a list of block projects that you think are worth keeping an eye on either because they’re already fully fledged or they just seem like they’re onto the cusp of doing something great. And some names to go with that.

Lee Shadle

Nick Diego, his block visibility, plugin block visibility wp dot com. And then I follow Nick on Twitter too. He’s always sharing updates. And if you’re into building blocks, valuable content there, Ellen Bauer with WP Aino A I N O dot com has some beautiful block patterns and custom blocks that you can start using right away. GenerateBlocks, of course, we mentioned Mike Oliver. He just released a new set of block patterns that, a beautiful set of block patterns that you can start using. And then I know you and I mentioned Brian Gardner’s launching Frost WP. He’s going to be launching a set, I think it’s already launched actually at frostwp dot com.

So I can’t go without saying too that Rich Tabor, he is the creator of CoBlocks and he, I think he sold that to GoDaddy. He’s always working on something interesting and sharing cutting edge stuff with regards to building blocks block-based themes and plugins. So he’d be worth taking a look at.

Nathan Wrigley

That’s very nice. I will be sure to mention those. One which I’ll drop in, which I think is quite an interesting block-based, well, it is literally like a little application within WordPress. There’s something called Newsletter Glue. Don’t know if you’ve come across this, but…

Lee Shadle

Lesley, how could I forget Lesley?

Nathan Wrigley

Lesley Sim and her colleague, her co-founder have created a mechanism whereby you can repurpose your blog posts and they will instantly become newsletters, which sounds like the sort of thing you’ve been able to do by scraping an RSS feed or something like that. But there’s a lot more to it. For example, you can drag in a block, which will only be visible inside the post or alternatively, you could make it only visible inside the newsletter. And it does a lot more than that, but just that one simple little thing that you can do means that you can create a newsletter and have it look completely different in the newsletter than it does on your, the front end of your website. It’s really interesting for me, it demonstrates perfectly why the block editor is going to be so useful in the future, because this was unimaginable without the context of blocks. It couldn’t have been made in what we used to use in WordPress.

Lee Shadle

To think about making a newsletter you generally have to, I would think go off site. And I use Newsletter Glue in a lot of my clients sites and it really makes it effortless to put together a newsletter and send it out. When you hit that send button. So like, did that really just send that this from WordPress, this is crazy!

Nathan Wrigley

But just the level of complexity going on there, the fact that it’s doing a lot of heavy lifting, it’s reaching out to third-party services and doing things, but only at the moment that you click publish and it’s sending over HTML and telling the websites over there, right, go on, publish it right away to this list or that list. It’s really remarkable. And it’s, for me makes me feel that in the future, there’ll be a lot more interoperability with SaaS platforms and other things like that built inside of blocks. So that I don’t know, maybe your content management system, WordPress can reach out and have interactions with blocks with your CRM in some way, who knows?

This is what I’m finding exciting is that we’re at the point where the technology is now available, but we don’t yet have the history of developers trying out all their ideas. We did that with plugins. There must’ve been a similar moment with plugins where it was a lovely idea. Look, we can extend WordPress, but there wasn’t really so much out there yet. So plugins felt a bit like, well, it’s a thing, but you know, I’m not that bothered, but then look what happened. There really was a boom in plugins and they became… you know, you couldn’t really have a functioning WordPress website without a few plugins here and there. And I feel the same will be true in the near future with blocks.

Lee Shadle

I really hope we can make building blocks easier because I think we’re just starting to see, like you’re saying some of these really neat things come out and you really could build anything you wanted in WordPress, if you know what you’re doing. So excited for what the future holds.

Nathan Wrigley

Indeed, that feels like a perfect place to jump off this train. But before we do that, or before I do that, I always want to know where people can contact you. What’s the best place for you to be reached. It could be an email address or a Twitter handle, whatever you’re comfortable with..

Lee Shadle

Twitter, it would be the best twitter dot com slash leeshadle. That would be the best place to reach me.

Nathan Wrigley

I will make a hundred percent sure to put that into the show notes and all that remains for me to say is Lee, thank you so much for joining us today and telling us a bit about your journey and your excitement about blocks.

Lee Shadle

Thank you Nathan, it’s been so fun to talk to you today. I really appreciate you having me on the show.

#3 – Benjamin Intal on Why He’s Betting His Business on Blocks

About this episode.

On the podcast today we have Benjamin Intal. He’s the founder of Stackable, which is a suite of custom blocks.

Benjamin decided early on that his company was going to take the possibilities that Gutenberg offered seriously. They had previously developed a page builder plugin, but felt that the opportunity presented by blocks was something that they could not overlook.

During the conversation, we talk about why Benjamin decided to devote so much time and energy towards creating blocks, at a time when there was almost no certainty about the status of blocks, and the block editor. Indeed, there was no clarity on whether blocks would become a core feature in WordPress.

As we now know, blocks are an increasingly important topic in WordPress, and so Benjamin’s decision, with a little hindsight, appears to have been a wise one.

We talk about some of the difficulties that have presented themselves over the last three years, and how they overcame them. These ranged from having to develop in the absence of documentation, to creating bespoke solutions to problems which were later handled by WordPress Core.

We also discuss how they went about iterating their product in a technology space which was new. What methods the team used to ensure that they were building features which their users really needed.

We also get into whether the block system is now fully mature and ready to support a growing ecosystem of developers. Is it a good idea to create ‘smaller’ blocks with a limited use case, or a large suite of blocks which work in harmony with one another? Are we entering a future in which the ‘there’s a block for that’ mentality might lead to sites with ‘block bloat’; sites with multiple blocks, with overlapping features.

It’s an interesting chat and gives an insight into a transitional moment in the history of WordPress. A moment in which blocks are taking on much of the heavy lifting in a WordPress website. A moment in which reputations are being made.

Useful links.

Stackable

Gutenberg Times

Make WordPress

Transcript
Nathan Wrigley

Welcome to the third edition of the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast and transcript for people who are interested in WordPress and the WordPress community. It’s happening once per month for now, and if you wanted to be updated when new episodes are published, you can sign up at wptavern.com forward slash feed forward slash podcast. If you have any feedback about the podcast, then please head over to wptavern.com forward slash contact forward slash jukebox and there you’ll find a contact form for you to complete and thanks in advance if you do. Okay, so the podcast today features Benjamin Intal. He’s the founder of Stackable, which is a suite of custom blocks. Benjamin decided early on that his company, we’re going to take the possibilities that Gutenberg offered very seriously. They had previously developed a page builder plugin, but felt that the opportunities presented by blocks was something that they could not overlook. During the conversation we talk about why Benjamin decided to devote so much time and energy towards creating blocks at a time when there was almost no certainty about the status of blocks and the block editor. Indeed, there was no clarity on whether or not blocks would become a core feature in WordPress. As we now know, blocks are an increasingly important topic in WordPress, and so Benjamin’s decision, with a little hindsight, appears to have been a wise one. We talk about some of the difficulties that have presented themselves over the last three years and how they overcame them. They ranged from having to develop in the absence of documentation to creating bespoke solutions to problems which were later handled by WordPress Core. We also discuss how they went about iterating their product in a technology space which was new. What methods the team used to ensure that they were building features, which their users really needed. We also get into the topic of whether or not the block system is now fully mature and ready to support a growing ecosystem of developers. Is it a good idea to create smaller blocks with a limited use case, or a large suite of blocks, which work in harmony with one another? Are we entering a future in which the ‘there’s a block for that’ mentality might lead to sites with block bloat. Sites with multiple blocks, with overlapping features. It’s an interesting chat and gives an insight into a transitional moment in the history of WordPress. A moment in which blocks are taking on much of the heavy lifting in a WordPress website. A moment in which reputations are made. If any of the points raised here resonate with you, be sure to head over to the post at wptavern.com forward slash podcast and leave us a comment there. And so without further delay, I bring you Benjamin Intal. I am joined by Benjamin Intal. Hi, Benjamin. How are you doing?

Benjamin Intal

Hey, Nathan. Thanks for having me here.

Nathan Wrigley

You’re very welcome. I think as with all podcasts like this, it’s a really good idea to get some perspective on who you are and where you have been in the WordPress space. Although it’s a bit of a generic question, I am going to ask it regardless. Would you just tell us what your relationship is with WordPress? How many years you’ve been using WordPress, how you got involved and so on and so forth.

Benjamin Intal

Yeah. So I started with WordPress development in 2010, and I stumbled into WordPress at first to create freelance websites. And I became a fan of WordPress. So I was surprised that you can extend it so much to create themes and plugins that did all manner of things. So I created my first theme, set it for sale. And then I moved into plugins, created actually a bunch of them. And now I had a development team here in the Philippines and our main focus is on building Stackable page builder Gutenberg blocks.

Nathan Wrigley

Thank you very much indeed. Now, as the title of this podcast will no doubt reflect. You’ve really thrown all of your weight behind the whole Gutenberg block system. I’m just curious about why it is that you’ve done that as we speak, there are a few packs of blocks, which are similar to what you offer. You jumped on board very early and therefore you must have been fairly confident in Gutenberg and what was going to be offered. So I’m just interested in that really? Why is it that you decided that blocks were going to be the future for you, your business, your company, and all of that?

Benjamin Intal

Actually, when we started building Stackable, I think we released it early February, 2018, and Gutenberg was still in very early beta back then. And back then it wasn’t yet certain if it would get included into WordPress core, but we were doing other things related to page builders during that time as well. And we thought that it wouldn’t hurt to try building blocks for a Gutenberg. So it was something very innovative and new. So previously WordPress was all about PHP and this one, it was more about JavaScript and more about React. So it was a chance to learn new technologies. So we built actually just an MVP, minimum viable product. So we turned that into a free plugin that added blocks, uploaded it to the plugin directory, and then see what would happen. So if it works then great. If it didn’t, then at least we still had fun and got the good learning experience from it. So that’s how we got started.

Nathan Wrigley

Yeah. I am curious about that. That’s quite a big commitment in terms of time and energy, and moving the assets around in your company in order to make that all happen. And I guess at that time it was a bit of a gamble. Were you prepared at that time to accept that perhaps Gutenberg wouldn’t be making it into core and that your endeavors might end up just as time spent in development, but nothing would actually come out of it. Were you in some way hopeful that it would come into Core and we’re banking on that happening?

Benjamin Intal

It had something to do with timing actually, before diving into Gutenberg, we actually attempted to make our own page builder before using our own resources. In the middle of it Gutenberg suddenly popped out of nowhere. And then people were talking about that it would be a page builder killer in the future. So you had kind of a crossroads. So do we continued trying to build our page builder, or should we jump into the Gutenberg bandwagon if you say, if you can say that. So what we decided was, what if we just come out with something, and then while Gutenberg is still brewing, let’s just continue what we’re doing, the page builder. And then if Gutenberg gets merged into Core, then we can maybe focus our efforts more on that. But if not, then we can continue doing what we were originally doing.

Nathan Wrigley

Probably at various points dip into the suite of blocks that you have, which is called Stackable. I’m just curious as to what the difficulties have been over the last, roughly three years or so building this, because if you’re building something into a fully mature platform where the documentation is excellent and the roadmap is clear and everybody knows how to build things. That’s one thing, but you were building into the dark really into an area of it almost like shifting sand, something that was certain today could be removed tomorrow. It was complete state of flux. The documentation probably wasn’t as fleshed out as it could be. And the roadmap wasn’t necessarily clear. So I’m just wondering if there were any difficulties which you’ve encountered over the last three years, which meant that you had to perhaps rewrite things undo things that you’d already done or indeed find new opportunities in innovations that you didn’t expect to come, which did come.

Benjamin Intal

Yeah, I guess to start off, I didn’t realize it’s been three years already. Oh my gosh. So some of the components that we can use, especially at the start, we’re a bit barebones. So we had to invent a lot of our own. So that’s fun actually. Some parts now are getting better. So like now Gutenberg has the focal point picker and the gradient color picker. So before there weren’t any of those controls, and I’m actually excited to use these new things and Stackable as well. So that’s one difficulty. About the documentation, I think it’s okay, especially if you’re just starting out, there are a lot of examples to get you started now. But a lot of the time we had to explore the code and go inside GitHub to study how things are done and how the components are used. Although even if we did that, it was still really helpful checking the code base. Since I think it’s very well written. It’s well segregated and well-maintained, there are hundreds of people who have contributed to the code. Most of whom are more knowledgeable in Gutenberg and React than me. So I also get to learn a lot of things from it. As for the roadmap, there’s a higher overview roadmap that Matt Mullenweg brought up before, the four phases. Phase one replace the classic editor and then phase two is full site editing, phase three and four are collaboration and multi-lingual. So we go around that. But what we do is we have some big assumptions, that we mainly use as our guide on the direction on what we do. So in our minds, one of the main goals of Gutenberg is to have it replace the classic editor. So it’s not meant to be a replacement for page builders per se. So if there’s no more classic editor, Gutenberg would be the best experience for writing content in WordPress. So we work around that assumption. And also, we always anticipate whatever new feature is coming. So for example, full site editing is coming in the future. So instead of creating our own solutions like that, instead of providing the ability to edit templates and headers ourselves, we just wait for the future improvements so that we can build on top of it instead of reinventing on our own.

Nathan Wrigley

During the last three years, have there been blind alleys where you’ve begun doing something only to figure out a) it couldn’t be done possibly or b) it was going to become a part of Core? You mentioned something just there, but I’m just wonderingh how the communication from the team that are building it has impacted what you’ve been able to do. In other words, have you always felt that there’s enough information coming downstream toward you, that you could confidently put your team to work building certain things or has the last three years been a bit of a stop-start… well we didn’t know that was going to happen? I realize that we’re at a point now where things are certainly better than they were, but just because of the fact that you are one of the few people who’s done this right from the start, I’m just wondering how that process has been over the last three years.

Benjamin Intal

I’m not sure whether the communication has changed and I don’t think there’s something necessarily wrong with it. I treat the Gutenberg updates like normal WordPress updates. So what I mostly do is just good old fashioned research. So to be honest, I check WP Tavern on what’s new every now and then. And read the articles in there, although I’m more of a lurker in the comments than a commenter. What I also do is I used to check managewp.org before they shut down, actually. I occasionally also try out the Gutenberg plugin to see what’s new. So that’s, I think one of the main sources of my information on what’s coming, I read the change log rather actually try and read it since sometimes it can be quite technical. Make WordPress is also a very good resource for me on what’s coming. So some of the entries in there go into great detail on what’s new. Maybe there’s an API or a large change, and they sometimes have links to videos and show what’s actually new. And then actually there’s this video and Gutenberg times. So it’s like a news site, all about Gutenberg, by Birgit Pauli-Haack, where they demo the status of Full SIte editing before. So that was really helpful as well.

Nathan Wrigley

I know that the team themselves are very conscious that when Gutenberg was announced that there was real division in the WordPress community. There were many people who didn’t want to have anything to do with it and felt that it had been more or less forced upon them, shall we say? And there were many people who embraced it. It did bifurcate the community a bit, split it in two. And there was also the concern that, because it was a new project and there weren’t as many eyeballs and it hadn’t reached maturity that it was difficult to get involved. Like you said earlier, you’ve got to learn a whole bunch of new skills and many people who are quite happy using PHP, and that was as far as they wish to go, and all of a sudden there’s new requirements to learn new programming techniques and so on and so forth. But you obviously decided it was worth the investment. So that’s great. Well done to you. I’m just curious as to, because you’re shooting in the dark and inventing something new, I’m interested to know how it is that you discover from your growing audience, what it is that they would wish you to iterate on in Stackable. So obviously if we go back three years ago, there was very little that you had to show. If we go now and look at what it is that you’re offering, you’ve got a whole suite of different things with multiple complicated options. And I’m very curious to know if a plugin developer was keen to build their own block, what have you found to be a good way to discover from your audience, your memberships, your community, what it is that they wish you to build?

Benjamin Intal

Communication is something that we feel that is very important because while we use Stackable ourselves for some of our own projects, I feel that there are a lot of scenarios and use cases that we haven’t taken into consideration yet, and that our users would know more about. So first in communication, there’s our support. Some customers email in just to request some feature that they really need. Then there’s our Facebook community. So this is something that we started early on. So we try and foster sharing in the community. We try to be as transparent as we can. We try and share what we’re currently doing. We share GIFs and screenshots and we get feedback on those. So whether it’s a good idea or whether to continue or whether it lacks something more. And actually now it’s a bit difficult catching up with the number of requests. And we’ve discovered that what we wanted to build and what our users want, can sometimes be a bit different from each other. What’s important is to remember who you’re building for. They are the ones who tell us, what’s a good idea. So for example, we have this role manager feature where you can lock up the inspector, and it would only allow you to edit the block text, which was actually suggested by a few of our users who had clients and those clients wanted to perform edits on their site themselves, but they didn’t want them to accidentally change the design. So we wanted to add features geared towards agencies, but this was something that we didn’t even think about. So it was a good match. So that’s why we added that in.

Nathan Wrigley

I wondered if there were any things that you wish you were able to build, but you are constrained by the Gutenberg project thus far, are there any limitations that you’ve run up against? What I’m imagining here is there’s a whole bunch of people out there in the community who never use page builders, and there’s a whole bunch of people who write template files, and there’s a whole bunch of people who really embrace page builders and it’s become their modus operandi, that’s how they interact with WordPress these days. And the level of sophistication that has been built into some of these tools is pretty incredible. They can do some fairly amazing things and their team have worked very hard. But they’re in their own little silo. So as an example, page builder A over here, they’ve got their team and they’ve built all of these fantastic features and page builder B over here, they’ve built there’s and they’re completely separate, and they’re not interoperable, but we’re trying to build it a system here where everybody can bolt on top of it, Gutenberg the block editor. But I’m just wondering at the moment, if there are things which you see in third-party tools that you wish to build, but it’s simply not available to you yet. There are constraints within what’s possible.

Benjamin Intal

I think something that fits that very well, is that the ability to edit page templates. Every now and then we get this request. Would I be able to edit headers? Can I edit my footers in all of my pages? But unfortunately we can’t do something like that in Gutenberg yet. That’s probably one of the main limitations that we have right now. And for that, there’s an answer that Gutenberg has, although it’s still in the pipeline, so we just have to wait for it, and then we can dive in and add features on top of it so that people can start creating their own page templates.

Nathan Wrigley

I think people give Guttenberg flack because it’s not entirely clear unless you really go out of your way to discover what’s coming down the pipeline and so on. It can be quite a confusing experience. And the idea that it’s in the future, going to be able to do these things, and these things. It’s a fairly drawn out process and it’s taking a long time and we had Anne McCarthy on the podcast last time talking about why that was and why that’s intentionally a fairly slow rollout because they’ve got 40 plus percent of the web to protect. But I’m just interested in whether any of that. Is a cause of frustration. If you’d have been building this yourself you may be, could have advanced things quicker, but your users are asking for the ability to, like you say, alter page templates and so on, and you can’t provide it for them, but it’s not your fault. And it may be, there’s a bit of you, which is thinking, do you know, I wish they’d hurry up and get this thing finished.

Benjamin Intal

Yeah, I think that’s really something. So it’s not really a frustration, but more of something that we always have to keep in mind is that we are quite dependent on Gutenberg’s progress. So really have to time things right most of the time. So like Full Site Editing, there was a hint that it would maybe come out late last year. And there was another hint again, that it will come out earlier this year. But fortunately that didn’t happen. So we always have to be on the tip of our toes when it comes to what’s going to be released, and what can we do about it? One funny thing, but not really funny, but maybe unfortunate since we’re building something that’s tightly intertwined with Gutenberg is that some people mix up what’s with Stackable and what’s in Gutenberg. So for example, they recently changed how reusable blocks worked. And we got some emails from users asking us why we changed the behavior, a few usable blocks, but actually that wasn’t us. It was part of the WordPress update.

Nathan Wrigley

From the outside that would feel like a point of frustration because suddenly something that you have got no control over is causing you to have to spend time answering support tickets and so on. Something that, that you didn’t do is consuming your time. And while it’s not a frustration, I guess that’s just the fallout of jumping in early with this. If you’d have waited to create this for another three or four years, when everything was much more mature than it is now, you would have probably had a great deal of a smoother road, but you would have missed that opportunity to become one of the people that jumped in early and made a name for themselves. So I guess as a company, you’ve just got to accept a bit of that. That goes with the territory. You’ve done this early. There’ll be a benefit to that down the road, but there’s also going to be moments right now where things don’t go as smoothly as you’d wish.

Benjamin Intal

I think you said it quite right. So it’s just part of the territory. We just really have to accept it that way. Since if you really jump in early, there’s going to be a lot of changes, especially in Gutenberg. Where everything isn’t certain yet. So you have to keep on adjusting on what’s out there, what the people want. So I think it’s just really part of the territory. And it’s just something that you have to accept.

Nathan Wrigley

Speaking of which let’s gaze into the crystal ball a little bit and think about what it is that you’re planning to build in the near future. Now, obviously, anything that you say now, may have to go under the microscope of what Gutenberg actually allows you to do in the way that we’ve just discussed. I’m just interested to know what it is that you’re hoping to build in the future, given what the project is hoping to provide for you.

Benjamin Intal

So right now we’re busy with the version three of Stackable. So currently we’re at version two, but in the middle of adding new features and listening to feedback from the users, we realized that there were some things that we weren’t able to do with how our blocks work right now. Cause right now what we did was every block, that we have, we try and make it so that you can turn any block into a whole section of your website. So while that’s good. So that also gives us a few limitations on what we can do. So in version three, we want to make things more flexible. So for example, we want to add more dynamic content stuff and also better responsive editing. So things like, adjusting how columns would collapse in tablets and mobile. So for example, if you can specify your four column layout to be a two column layout in tablet, we want people to have that ability as well, so much more advanced editing capabilities, similar to what some page builders already have. Probably down the road, maybe towards the end of the year, we hope to be able to provide starter websites, a fully package website that you can just import and start from there and probably a design system, so you can change what all your Stackable blocks would look like. Something like that. Although that’s just something we’re currently thinking right now.

Nathan Wrigley

In terms of what you can do at the moment compared to one of the proprietary page builders that you could go and seek out in the WordPress space. Is there still a big disconnect with what they can do? So for example, you just mentioned a certain feature that page builders can currently do that you’re hoping to bring. How long into the future, and obviously again, we are crystal ball gazing. Do you see that sort of feature parity there being equal amounts of features in page builders, which you can purchase and download from the repo and what Gutenberg will provide? How far in advance do you think it’s going to be before they’re feature equal?

Benjamin Intal

Oh, I think probably around maybe two years or so, because right now, Gutenberg is still quite new. So we’re still in the area where we can just edit the contents of single pages. We’re not yet there in terms of editing the whole website in just Gutenberg and nowhere else. So I think we’re maybe around two years from that

Nathan Wrigley

In a couple of years time in two years’ time say when maybe there’ll be many more features that people require to build full sites. Do you think that there’ll ever be a point where the people who build page builders currently need to be concerned about there being a business left for them? In other words, Do you feel that Gutenberg will replace page builders? Or is it more a case of that’ll be one option, but there’ll still be a completely viable business for people who sell their page builder software.

Benjamin Intal

Yeah. So you’re asking if Gutenberg will ever replace themes and page builders? For that, I don’t think so. I think if it replaces anything Gutenberg probably just replaces the classic editor, but with the plugins that extend Gutenberg, it can be a great alternative to page builders. Yeah. But I think in the future you can just get Gutenberg and then with the power of other plugins, it can be a viable page builder. So it can just be an alternative because there’s always going to, it’d be some people that would want an alternative version. Another way of building things.

Nathan Wrigley

I also feel it’s a bit of a case of a rising tide carries all boats. What I mean by that is that as WordPress’s market share seems to keep going up, a few years ago, it was in the mid thirties and then it became late thirties. And now we’re into the early forties percent of the top 10 million websites. You feel like the market is just getting bigger. And so even if you were wedded to a particular page builder and you’ve been using it for many years, it feels like the market’s just going to get bigger for them all. So there’s nothing to be particularly concerned about. It’s just going to be one option. You’re going to be able to do all sorts of different things with that option, but you’ll also be quite able to just carry on using the existing stack that you’ve got. If you’re happy with it. Speaking of developments in the future, there are some lovely initiatives in the WordPress space to make the creation of content, much more straightforward. And I know in your case, you can drop pre-configured blocks in and you can style them and make them look however you like. And there’s all sorts of options in there. I just wondered what you thought about some of the new developments, things like block patterns and reusable blocks, which allow us to save time by creating content, squirreling away somewhere, and whether you’re intending to use any of these features in the future within Stackable.

Benjamin Intal

Yeah. So reusable blocks are great for repeated content that you want to be consistent across your entire website. So something like a signup form for your newsletter that you can add in the middle or at the end of your blog posts, those are really helpful. So if you wanted to change something, you won’t have to go through every single blog post to update it. Block patterns on the other hand are great also, but I feel that they’re a bit under utilized. So they’re like reusable blocks, but unlike reusable blocks, if you’re the user, you can’t add block patterns on your own, and it’s up to the theme developer to add them. So I found that a lot of our users use reusable blocks like block patterns. So they add their designs as reasonable blocks, but when they add it into their pages, they just convert it back to regular blocks so that they can use that as a starting point and then customize them. So it’s like an unofficial way to save your own block designs or patterns. So I think that’s a use case that the Gutenberg developers can take into account and maybe add that in as a future update.

Nathan Wrigley

There are so many awkward problems with the Gutenberg UI at the moment, in terms of exposing those things to us, I feel that sometimes the proprietary page builders, I feel they do a really good job of showing you what all of that looks like with their overlays and things. I’m not sure yet that, the Gutenberg project has hit upon the perfect UI. We’ve got the bar over to the left, we’ve got the bar over to the right and the fact that they’re fixed in width and you’re not really, you’re not really able to moderate them. It feels like there’s a lot of work to be done there to improve the UI, to discover all these things, and particularly in the case of reusable blocks, and block patterns. Nice ways of seeing, not just as a tiny little thumbnail, but something, large and full screen. So you can get a real idea of what it is you’re about to drop into the page. So really a conversation about, where the UX could be improved if you’ve got any thoughts on that.

Benjamin Intal

Yeah. Yeah. I think there are a lot of things that we can still improve on. Although I think it will only just take time because right now, even if it feels like there are a lot of stuff being added to Gutenberg, and there are also a lot of things that are being studied and adjusted. So I think as an example of something that can be improved, like I mentioned a while ago, I think block patterns, I think a lot of people have, can have a good use by having the ability to add block patterns or their own block patterns. Oh, actually one of the good improvements that we can do in Gutenberg, because one of the hard things to do in Gutenberg is to know where you are, in the current page. Cause it’s if you check out the block editor, if you check out Gutenberg, it’s basically a tree of a lot of blocks and then blocks inside of other blocks. So it can easily be hard to know what you’re editing. Although the, I forgot what it’s called, the navigator button on the top. The one where you, when you click it, it’s going to show you a bullet list of the blocks. So I think that can be improved. I think that can be transformed into something that you can use to actually manipulate the blocks that where you can, for example, if you want this heading to be moved into inside another container, you can just click the navigator, and then you can move it around from there directly. So I think something like that can be a good way or a good alternative for you to be able to move around blocks and figure it out where you are. Cause it’s actually sometimes hard to click on something, especially if you’re inside a columns block because inside a columns block, there’s two column blocks, and inside that you have your other blocks inside. So it’s hard to master or it’s a bit hard to make sure that people can click around and figure out where they actually are. Actually, I think the difficulty here is that there’s a balance between building a what is what you get, editor, and then also making it spacious enough that you can click around and easily figure out where you are, because if you add spaces everywhere and add outlines. So I think that’s a solution. If you add outlines everywhere, that’s going to be easier to know what’s going on in the screen. So for example, if you have the columns block and then maybe an outline block to signify that you’re inside the column. So that’s going to be easier than if you didn’t have any spaces and they don’t have any outlines. That’s going to be way easier than what we have right now. Although it’s a delicate balance because now if you have outlines and lots of spacings, it’s not going to be a, what you see is what to get builder, no matter what you do, it’s going to be, you’re going to have people who don’t want what’s going on right now. You’re going to have people who don’t like this change, or you’re going to have people that would prefer the other way around. It’s just finding the balance on the what works.

Nathan Wrigley

One of the most fantastic features that ever I suppose, came to WordPress was the ability to add in plugins to extend what WordPress could do with extra functionality, and in the near future, we’re going to have the block directory will be available to everybody and we’ll be able to search for blocks that we don’t have yet installed and install them on our website. I’m curious about whether you think this is a good development. What I mean by that is I just wonder if there’s a concern that we need to have about people wanting to have a block for every little thing, and then downloading a ridiculous amount of blocks, most of which they don’t need, which will be consuming up resources on their website and so on and so forth. I’m just wondering what your thoughts are on this block directory, whether it’s something that you’re going to be involved in, whether you’re going to do anything like that become involved in installing directly one of your blocks at a time as opposed to selling it as a whole suite.

Benjamin Intal

To be honest, I was initially excited about the block directory. And I think it’s already live right. It’s working right now, except that, although I thought it was going to work more like the plugin and team directory, where there’s an actual directory that you can go to and browse, I think right now the current behavior is that you have to search for a block inside the inserter, the plus sign that you click on to add blocks. And if what you type doesn’t show a result. If you don’t have any block that matches that keyword, then that’s the only time the block directory shows up. So I think that process can be improved. I think it’s a bit off since you can only see the block directory, if you type in a search term that doesn’t match anything. So you’ll have a lot of instances when the block directory won’t show up at all. So for example, it won’t trigger. If you type in text like the t e x t since that’s the keyword of the native paragraph and heading block. So I think that’s something that can be improved on and they hope they’ll improve on. And I think if you have a lot of blocks turned on from the block directory, like a block bloat. So I think it’s just the same as with plugin bloat. So it’s like the notion of having just too many plugins installed. I think it depends on the plugins that you have in your setup. And they think with blocks, it’s going to be the same thing. So it’s quite possible to have this block bloat by installing lots of individual plugins. Especially if you add in lots of blocks that load their own style sheets, their own Javascript files, but they think this depends on how the blocks were made. So like with plugins, it depends on how the plugins were made. If you activate a lot of plugins that just loaded a lot of their stuff, every time. So that’s going to be a bad experience. So I think it’s going to be just the same. It’s going to be up to the block developers. It’s going to be the responsibility of the block authors to make everything optimized so that everything would load up properly.

Nathan Wrigley

I can see a future in which individual little blocks become a nice commodity. So at the moment, we’ve obviously got a very full free WordPress repository, and we’ve also got a very healthy paid for plugin and theme marketplace. And I can imagine a future where blocks also in the same way that Stackable is, you pay for the premium version of Stackable and that’s great, but I can see almost like on your Android or iPhone device where you are prepared to pay a smaller amounts of money for a smaller thing. It’s not a windows app or a Mac app, it’s just the Android app, you’re going to pay less for it. Just wonder if there’s a marketplace for. Individual little blocks and, you pay, I don’t know, $2, $3, $5 for a block that does this one thing. And does it well, and whether or not you’re interested in that marketplace, or if you’re going to keep your Stackable suite as one big thing, instead of lots of little things,

Benjamin Intal

I think maybe it might be a good idea for other blocks that provide a very large functionality in just one block. So maybe a store locator block, or maybe a contact form block, but I don’t think that’s an option for us because one benefit though, with doing things as a collection is that you get everything in one go, so you get all the blocks. Maybe you can turn some of them off if you don’t need them. But if there’s an update that adds one more block in the future, then you won’t have to pay extra. So there’s that. And going back to block bloat, I think it depends on how the blocks were made. So for example, in Stackable we have optimizations in place that affect all of our blocks. So if we add another block in their roster, the plugin won’t necessarily feel any bulkier. That’s one of the benefits of a collection. So I don’t think we’re going to offer individual blocks. I don’t know right now we’re thinking maybe not, but we don’t know sometime, maybe in the future. But right now, I don’t think so.

Nathan Wrigley

I’m just curious about this sort of slight disconnect in the way that things look in the backend of Gutenberg. So if you’re doing something Gutenberg, you’ve made it and you’ve given it the correct padding and so on, but the UI kind of gets in the way a little bit. And I’m wondering if that’s a problem for you. Do you get feedback from people saying it doesn’t look the same over here as it does when I finally publish my website. Is that a problem that you’ve had to overcome and explain to people, look, it’s just parts of the UI, you’re just going to have to cope with it. How have you overcome all of that?

Benjamin Intal

Surprisingly, we don’t have that much concerns over that. That it’s not a direct, what you see is what you get. I think it’s totally okay. Especially in desktop because technically it’s really hard to make things identical while adding all of the bits and pieces that make the content editable, like the inspector or the toolbar, but it’s easier for people to just accept that they’re not going to be identical. And they’re just going to be close enough. I think people have accepted that already, so it’s okay. And after a few edits, I think it’s easy to get the handle of it, of what your edits would look like in the front end, because basically you just ignore the sides of your website, essentially. Yeah. As I said, this is easier for desktops for mobile and tablet though, this is harder since right now, you can only do previews in Gutenberg. And all the times we see that people want to take control of how things get smooshed and how things collapse as the screen size gets smaller. So if you just keep on doing previews in Gutenberg, it’s going to be harder since, just like before you have to keep on pressing preview to view in the front end and resize your browser. So I think it’s more essential for a tablet and mobile. So first Stackable, we addressed this issue since when you do a previous in tablet or mobile our blocks would also change and you can set how they can look like on that specific screen size. Yeah, but I think it’s up to the block developers one way or they’d handle these cases as well, because Gutenberg already has some things in place. If you want to implement that in your own blocks.

Nathan Wrigley

It’s pretty clear that you’re very bullish about where this is going. I’m guessing that you are, you as a company are all in on keeping this going and supporting this and making sure that Stackable is something which is going to be around for the future.

Benjamin Intal

Yeah, definitely, definitely. I think it’s going to be a very good future for Gutenberg.

Nathan Wrigley

Ben just before we go, is there anywhere where people could contact you if they wanted to find out a little bit more about what it is that you guys are doing?

Benjamin Intal

Oh yeah. If you want to contact me, I am in Twitter. So that’s at @bfintal and I’m also in Facebook. So just search for me, Benjamin Intal, and I’m usually actually more there in Facebook than Twitter. If they want to check out Stackable, our website is wpstackable.com and we also have a Stackable community and Facebook, so you can join that as well.

Nathan Wrigley

Okay, Ben, thank you very much for joining us today.

#2 – Anne McCarthy on How Full Site Editing Will Impact WordPress

About this episode.

So the podcast today features Anne McCarthy. Anne is Developer Relations Wrangler for Automattic. Her work is focussed on the WordPress.org space, and she is leading the Full Site Editing Outreach Program.

Full Site Editing is an endeavour to make it easier to manage how your WordPress website works. It’s hoped that tasks which once required a fairly technical understanding of the WordPress code, will become available to all. Creating headers and footers, deciding what information to pull from the database and where it should be displayed. These will become part of the Block Editor interface. Complexity replaced by simplicity; or at least that’s the goal.

This, as you might imagine, is not an easy task. Now that WordPress is pushing beyond 40% of the web, there’s a lot to consider, and that’s what Anne is doing. She’s part of the team trying to work out how this might look, how it should work and when it will be ready.

We start off with an introduction from Anne and how she became involved with WordPress and the Full Site Editing initiative in particular.

Then the discussion moves to an explanation of what Full Site Editing hopes to achieve. Which areas of a website are intended to be made available with Full Site Editing?

We then get into the specific details of what constraints the project faces; and there are many points to consider. Backwards compatibility, accessibility and how commercial and free plugins feed into the project roadmap.

Towards the end of the podcast we get into the process of how Full Site Editing is moving forwards, who is making the decisions and how the WordPress community can get involved in shaping WordPress’ future through endeavours like Anne’s Outreach Program.

It’s a very timely episode. Many of the areas discussed will be landing in WordPress soon.

If any of the points raised here resonate with you, be sure to leave a comment below.

Useful links.

Full Site Editing is moving fast. Since the recording of this episode, there’s been some movement. To get the latest information and learn more, see the following links:

Full Site Editing Outreach Program

Full Site Editing for WordPress Overview

Full Site Editing Go/No Go | April 14, 2021

Full Site Editing Go/No Go: Next steps

Transcript
Nathan Wrigley

Welcome to the second edition of the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Our aim here is to create a podcast and transcript for people who are interested in WordPress and the WordPress community. We’re going to create one episode each month, for the time being, but that might change in the future.

We’d love to hear your feedback about the podcast. Perhaps there’s a subject that you’d like us to feature, a person who you think would make a great guest or anything else that comes to mind. We’re very open to suggestions so long as it’s to do with WordPress and the wider WordPress community. You can do that by going to WP Tavern dot com forward slash contact forward slash jukebox. And there you’ll find a contact form for you to complete. Once again, WP Tavern dot com forward slash contact forward slash jukebox, and thanks in advance if you reach out.

Okay, so the podcast today features Anne McCarthy. Anne is a developer relations wrangler for Automattic. She focuses on the wordpress.org space and is leading the full site editing outreach program. Full site editing is an endeavor to make it easier to manage how your WordPress website works. It’s hoped that tasks, which once required a fairly technical understanding of the WordPress code will become available to all. Creating headers and footers, deciding what information to pull from the database and where it should be displayed.

These will become part of the block editor interface. Complexity replaced by simplicity, or at least that’s the goal. This, as you might imagine, is not an easy task. Now that WordPress is pushing beyond 40% of the web, there’s a lot to consider, and that’s what Anne is doing. She’s part of the team, trying to work out how this might look, how it should work and when it will be ready.

We start off with an introduction from Anne and how she became involved with WordPress and the full site editing initiative in particular. Then the discussion moves to an explanation of what full site editing hopes to achieve, which areas of a website are intended to be made available with full site editing.

We then get into the specific details of what constraints the project faces, and there are many points to consider. Backwards compatibility, accessibility, and how commercial and free plugins feed into the project roadmap. Towards the end of the podcast, we get into the process of how full site editing is moving forwards, who is making the decisions and how the WordPress community can get involved in shaping WordPress’s future through endeavors like Anne’s outreach program.

It’s a very timely episode. Many of the areas discussed will be landing in WordPress soon. If any of the points raised here resonate with you, be sure to head over and find the post at wptavern dot com forward slash podcast, and leave a comment there. And so without further delay, I bring you Anne McCarthy.

I am here with Anne McCarthy, Anne welcome to the podcast.

Anne McCarthy

Thank you so much for having me.

Nathan Wrigley

You’re very, very welcome. Now it’s a regular question, I often ask them at the beginning of such podcasts, but I think it’s important that we lay the foundations of who you are and how you’ve come to be on the podcast.

Would you mind giving us a little bit of backstory about how it is that you came to be on this podcast today? What’s your relationship with WordPress and perhaps tell us what the role is that you have currently?

Anne McCarthy

Great question. It’s hard to succinctly sum up who I am, but I’ll give it a try. I first got started with WordPress in 2011 as a freshmen in college, and I was using blogger for many years before that to get out all my feelings on the internet as a millennial does.

And eventually, it turned into three years working at the university and their ITS department, which led me eventually to finding out about Automattic. In 2014, I joined them as a happiness engineer and very recently, almost exactly a year ago, switched into a developer relations wrangler role focused on the wordpress dot org community. And currently part of why I’m here today is cause I’m spearheading the full site outreach program. So I’m here to talk about that and talk about full site editing and all the fun stuff that’s happening. Cause I know it’s a lot to keep up with.

Nathan Wrigley

Yeah, there is a lot to keep up with, but it is a really interesting episode.

There’s an awful lot to say when we’re recording this, in the month of April 2021, this episode will probably air shortly after we record it, and there’s an awful lot that has been going on, but there’s an awful lot to happen during the course of the rest of this year. And we know that there’s a lot of change coming.

First of all, just rewinding the clock. Would you just like to try and sum up what the ultimate ambition of the full site editing project is? I know that there may be things about that roadmap which change things you wish had been included that probably won’t get included, but just sum it up. What is the full intention of the project?

Anne McCarthy

That’s a great question. I would simply say it’s to empower users more and bring WordPress to the future. There’s a reason these projects are taking so long. It really is about planting seeds for decades to come. And it’s something that Matt, the co-founder I really admire in him as he thinks about those decades.

And so this is a part of that push into using blocks as a paradigm into empowering users, more and bringing WordPress to the future.

Nathan Wrigley

Okay. So it’s all about creating websites with blocks. What kind of areas is it getting into? What is it going to empower us to do? What things in the future will we be able to do inside the block editor?

Anne McCarthy

Yeah, so everything you can edit any part of a global style on your site. So if you want to have every font color, be one thing, you can quickly change it. Even by block, you’ll be able to change things by block, which is really exciting to have a global point of view of your site, and to be able to actually customize it to your liking unlocks things.

There was recently a test that we did around, the 404 page. Normally that’s something that a theme author decides. And you’re locked into it, and if you want to change it, you have to go digging through the code. With full site editing, you can actually go straight ahead and customize it to your liking, make it real fun, make it really clever and make it really serious.

Like you can do whatever you want with that. So a lot of template editing that normally you wouldn’t have access to. So even editing, like if you land on your blog page, you can actually adjust how that looks, what shows up, what doesn’t, in a really powerful way. I try and talk about the tangible aspects of it, but there’s also a lot underneath the hood.

So there’s a lot of design tools for theme authors as well. That there’ll be able to hook into that ideally will make it much easier to create themes and to focus more on the aesthetics and the experience rather than on coding up the basics. So there’s a lot that I think across the board, whether you’re a user or a theme developer or a plugin author, there’s a lot to be excited about in the future.

Nathan Wrigley

One of the things that keeps coming on my radar is the comparison between what we’ll call page builders, these plugins, or perhaps it’s a theme we’ve seen lots of commercial and free products available in the WordPress community, which enables you to achieve many of the goals that the full site editing hopes to achieve. So templates for this templates for that. Headers, footers, you can have global color palettes and all of the things, and it can be done within their interface. I guess the thing about those products is they are created by a team of developers and they are released presumably when they’re mature and they’re ready to go and the company believe that it’s now suitable and people will purchase it or use it and deploy it. Now you’ve got a very different set of constraints that you have to work within. And I think highlighting what those constraints are, would be really useful to give people some context as to why it isn’t where some of these other solutions might be, because you’ve got many, many things to be thinking about in the background. So if we just get into that, maybe one thing at a time, do you want to just rattle off a list of things that you’ve got to be concerned about that perhaps we didn’t know you needed to be concerned about.

Anne McCarthy

Yeah. I’ll start with the most obvious ones, which is we’re building things so that other people can build upon it, including page builders. So I think that’s something that often gets overlooked. Like some of our audience members are these page builders. So it’s an interesting dynamic there because it really is about that foundational level. Anyway, 40%, the internet, just the diversity of ways that people use WordPress, whether it’s multi-site or what have you, there’s a lot to consider.

Then you add in internationalization, which is part of like future phase four. Accessibility is a huge issue. Something that really needs to be thought about including backwards compatibility, and that’s another. A lot of page builders could easily say, hey, update to this version after this, x Y and Z will no longer be supported. Doing that with 40% of the internet is huge.

Just recently actually, I did some outreach because in 5.2, which is many releases ago, some smaller APIs were deprecated. We’re finally removing them from the Gutenberg plugin. And there were still three plugin authors who were using these APIs, and I reached out to them, let them know and made sure they were aware that this was coming, but that’s something that a page builder is not building the same APIs that are going to be used across the internet in the same way.

So there’s a lot of just scale that I think has to be thought of, which is partly why things get pulled from releases until they’re ready. But it’s also why sometimes we have to include things in releases in order to get feedback in order to, hear from people what needs to be improved and what we haven’t thought of, because inherently you can’t talk to 40% of the internet at once.

You just can’t. So part of that is that dance of, hey, this is coming up, hey, this is what’s new. And seeing how 40% response. What did we miss and how can we do better next time? And the way I think of it as it’s this nice chance with every single release of thanks for making me better. Thanks for making the web better.

And when the feedback comes in, that’s what it is. Whereas I think page builders and site builders have a unique position where they might have a very large user base, but it’s not going to be 40% of the internet. You know, there’s just a huge difference there.

Nathan Wrigley

So some of the constraints that you mentioned there were the audience size, 40% of the internet, you’ve got to be mindful of the fact that they are going to expect things to break as little as possible.

You’ve got accessibility and so on. And there were probably two or three other things that you mentioned there as well. In real terms, how does this constrain the development? How do these factors slow you down? Do they have a material impact in the amount of time it takes you to do things because you have to ask for more consultation or you have to receive feedback from various people before you can get the green light to push that and move onto the next thing.

Anne McCarthy

What you described is very, very accurate. I’ll give a specific example. So the widgets editor, which is bringing blocks to the widgets editor. Originally, it was slated for 5.5. I’m pretty sure. And it’s gotten pulled from 5.5 from 5.6. Wasn’t even considered for 5.7 and is now hopefully going to be slated for 5.8.

And a big part of this was originally, it was just going to be a separate editor, separate from the customizer and with feedback, it became very clear, customizer is a key interaction that we need to prioritize. How do we bring blocks to the customizer, which is a whole unique experience to think about.

And this is where the 40% of the internet comes into play, right? Because we understand that you’re releasing new things, that’ll cascade to new people. But what about the person who’s had a site for five years? What benefits can we bring to them? Not just brand new users who are going to be using WordPress for the first time, because the majority of the users are people who have been using WordPress and who have trusted the community and the people building WordPress, with their site, with their, who knows what is their story, their business.

So there’s a level of thought that has to go into play with that, and I think part of it is why Gutenberg, the plugin does bi-weekly releases. And I think there’s about 300,000 active installs, which is a much smaller compared to the 40% of the internet. And it allows us to test things out, have experiments, go do outreach, like the outreach program I’m running, get the feedback that we need, reach out to specific plugin authors. And in the case of the widgets editor, it became clear with each release, it just wasn’t ready. It wasn’t in the place that it needed to be. It wasn’t as stable as it needed to be. It wasn’t refined, it wasn’t intuitive enough.

And in many ways, one of the things that slowed us down was wanting to have it in the customizer, which I think is a huge win. It’s a main interaction that people are used to. It’s something that people trust. So how can we go where people trust and extend that and provide an experience that they can also in the future trust and have actually unlock more things because when you’re able to use blocks in the customizer, you’re now able to add way more stuff than you would be able to and do way more things than you’d be able to when it was just the customizer, which is pretty exciting. So it’s both like trying to get user trust, but then also providing value at the same time and going to areas that people feel familiar with and slowly incrementally having stepping stones towards this eventual idea of full site editing, where everything is through a block paradigm, and you’re able to extend your site, however you want.

Nathan Wrigley

Do you ever get feedback from people who use these tools? That sort of question I’m trying to frame is something along the lines of. How do you cope with people who wish that it were already something that their current tool can do? Take the example of a commercial page builder. There’s several, you could pick the names of, and they’ve got this tool and they’re quite happy with it. And it does all of the things that they would wish to achieve. And then they come over and they look at the project that you’re involved with, the full site editing, and they see a real difference. They see that this tool over here, which I’m familiar with that works. I’m very happy with it and it works and it does all these things that you are, you’re still trying to put together. How do you bridge the gap between what their expectations are and what you’re trying to build? Do you have conversations with people? In fact, you even download some of these commercial products and check them out and see what it is that people get excited about, about them.

Anne McCarthy

I definitely check them out. I actually love, love, love hearing about new plugins because I do, I actually test full siting every single day. I have been, it’s been a challenge of mine like last couple of weeks, but I do also love when people flag things and say, hey, this new page builder or this new plugin provides a really interesting experience.

One of the recent ones, I actually went back and checked out was the Iceberg plugin that simplifies the Gutenberg editor. And I recently checked that out again cause I was actually talking to someone in a completely different, it was a developer relations, a Slack community, and I have an alert word set up, anytime someone says, WordPress, I love doing that’s my favorite little hack, life hack for everyone just joined a bunch of communities and then set up alert words. Yeah. He was just like, oh, man, this editor sucks. I don’t know what to do with it. I immediately reached out to him and said, hey, no pressure. If you’re game to talk about this, I’d love to hear your concerns are what features are missing or what has you blocked? And I ended up sharing the Iceberg plugin with him and then went back through and tried it out again. And I bring this up because I think something to be said is that, the hope is that WordPress can provide common tools so that people, for example, aren’t locked into one single page builder.

Like you can move around, and I get the rush to say man, I want to use the core system, but right now I’m relying on this page builder, and we’re frustrated with that too. There is a sense of urgency and Matias and Josepha touched on that in a WP Briefing podcast very recently that there’s this urgency of getting features out to people now, because we know that it will benefit them.

And I think that as a really exciting position to be in. I know where we’re coming… It’s going to come, I promise, hang in in there. Which I think is a neat space rather than this impatience or hesitancy, which I also think happens, but I do seek out feedback like that, and I do enjoy talking to people whenever they explicitly have a bad experience. And one of the best questions that I ask is, what features about this page builder do you really like, what would you want to see in the core experience. And then from there, I can be honest with them and say, oh yeah, we’re working on that. That’s going to be like, here are a couple of Github issues that you might be interested in that this is the design. This is whatever it is. But then on the flip side, There is also going to be a role that plugins have to play into the future. Same with the Gutenberg editor right now, and the core editor right now with Iceberg, for example, like where it simplifies the editor.

I imagine in the future with full site editing, there will be both plugins that really open up the options in the settings, and I also can imagine there’ll be plugins that really simplify things and make it really easy for certain users to use it and people can pick and choose and customize as they’d like, same to what we see with plugins now, anyway. And the biggest thing I often say to people whenever they talk about page builders, I’m like, that’s fine, if you’re not ready to switch, that’s totally fine. But at the end of the day, when you’re starting with new client or you’re starting a new site, or you’re redoing your site at some point, you’re going to have to learn something new, and it’s better to learn the sure thing. Doesn’t mean you only have to learn this your thing. I can imagine a world where people have these like hybrid experiences for some time, but the hope is that we can provide common tools so that people are not locked into one single page builder. Ideally the page builder is actually build alongside full site editing and the editor tools that we have. And then from there, people can customize to their liking either having more options show up or having less, and I do love hearing, what do you want? What’s missing? Cause it helps sharpen our thinking, and oftentimes I hear about things that I would never think of. That’s the beauty of having 40% of the internet is it’s like, whoa, I never thought about that. You’re right. That is a really interesting use case.

Like someone recently a good example with the custom 404 test, as part of the outreach program, we had people build fun, custom 404 pages and someone reached out and said, well right now, it’d be really awesome to have different templates depending upon how the person landed on the 404, having some level of customization of what you present.

So maybe you have four different 404 templates and it cycles through them. They were like, is this possible? I would want to put a feature request in. And it was pretty easy for me to say, you know what? That probably will be done by a plugin. So, that’s a great idea. That’s a really interesting use case, and I do think that’s something that’s desired, but this is also where plugins will still play a role. And being able to tell people that, so that expectations are in line as much as possible, I think is really important. There are going to be aspects that will not be covered by the site editor and that’s good.

Nathan Wrigley

Commercial page builders if you like, the process which I often see is they’ll release a statement out into their email list or what have you, and they’ll describe the features that they have been working on that have now been released and so on. And so in many cases you don’t really know what is happening unless you probably take great interest in their team and what have you. So I’m curious to know what is the actual process that is going on in the background that iterates your project, the full site editing project. How did the little leaps forward get made? Who is involved? How can people get involved? How can they find out what it is that you’re working on currently? And ways in which they can help you. And there’s a lot in that question, so probably the first thing I’ll just rewind a little bit and say, could we just concentrate on how the full site editing, the team that’s behind that, how does it actually work? What is it that you do? How do you communicate with each other? How do you ensure that things are being built that people want to have in.

Anne McCarthy

Yeah, that’s a great question. To start, I would say Matias is kind of, I think Josepha described him as the spark behind Gutenberg, and I really love that title, so I’m going to use it, reuse it. He is the project architect. So imagining multiple steps ahead, thinking about where we need to go, thinking about truly the infrastructure of what’s being built, APIs, is design tools, all that sort of stuff. And really thinking about based on many, many, many years of experience in the WordPress community, what do we know for sure that people need? And then from there, a lot of it is just this back and forth with the community, releasing stuff, doing calls for testing. The outreach program is a big part of that. So getting feedback from the outreach program, but one of the things that I recently came up that I am working on doing a better job of communicating is the outreach program is bringing in feedback, but that feedback and the high level, top feedback items are likely going to be different than what are the top issues to solve for full site editing if that makes sense. So there’s the feedback there’s actually using the tool, and then there are, these are the things that have to be solved and sometimes there’s overlap where sometimes some of the feedback becomes a top issue. But not all the time. And that’s partly because the MVPs is a work in progress.

And as those things get clear, for example, I think after April is gonna be a jam packed month, but once there’s that decision point that go no go date, there will be a time where the full site editing outreach program can start switching into a more narrowed experience of testing. And I’m really excited for that, where it’s okay, here’s the MVP. Here’s what we’re thinking for 5.8 which are two separate goals, by the way, there’s like building MVP, and then there’s, what’s going to go in 5.8 and I think that’s important to keep in mind as well. And yeah, one of the biggest ways that we get feedback and figure out what needs to be done next, especially now that we’re in a more refinement period is through the outreach program is through people filing feature requests and just doing as much testing as possible. Ideally this is also where a theme authors start exploring what it’s like to build block-based themes and give feedback on that experience. So, yeah, there’s a lot of ways that the feature development goes on. I will say a lot of the work happens in Github and then every, probably I think, a two month cadence, there’s some high-level posts about full site editing, whether it’s about a specific release or just like a check-in post, or if it’s about FSE and themes. There have been various posts over the last six months and I expect to see a lot more in the coming months leading up to 5.8 so that people are aware and they don’t have to pay attention to the day to day with Github. Another really good post to keep an eye out on is the what’s next post. And that’s posted each month and kind of defines, this is what the team is working on next.

And a lot of that does come down to, what issues of have come up in testing, what issues does Matias think are high priority to solve? What else is remaining in the MVP that’s been discovered previously? And one thing that I think is really easy to miss with full site editing, and it almost feels weird to just say. This monolithic full site editing when actually it’s this really diverse set of projects, and each is further along than others.

So there’s this very interesting battle that goes on in my mind, whenever I talk about full site editing, cause what I really want to do is talk about a specific piece of full site editing, but that also can get too granular in a way that can be really confusing. But it’s something I like to mention where if you try out the experience and one part seems really good and one part you’re like what’s happening here, that’s on purpose. Because at the end of the day, I don’t expect the entire experience to go into 5.8. I expect certain things to fit in and for there to be a drip campaign, probably through even the 6.0 release, who knows, but definitely through the 5.9.

Nathan Wrigley

Let’s say somebody is listening to this and they’ve got no experience contributing to any software project, and they’re interested, they like the idea of full site editing and they’ve got a few things they’d like to get off their chest and they want to be of some help. What are the most effective things that can help to push the project forward right now? That could be an answer as to which website to go to, and get involved in, or it could be, well, actually, no, we need help about this specific thing right now over the next month or two, you can take that in any way you like.

Anne McCarthy

I mean the simplest answer that I would love to see is people joining the Core Editor meeting. If you can. If you can’t reading the notes and starting there, which you can see them posted on make.wordpress.org backslash core, there’s actually a tag for the Core Editor meeting. But I would start there, and I say that partially because we’re in a pandemic. Most places in the world, you can’t meet up in person. So getting connected with the people behind this work before you step into Github, before you step into anything else, I think is really important. There are humans doing this work. There are humans who are listening, who are caring, who are staying up late, thinking about problems. So join the meetings if you can, if you can’t asynchronous contributions are very welcome. So if you can comment on the post with a question and have it answered, but I want to start there with the human element, especially right now. So my answer, you’re listening to this many years in the future, hopefully we’re beyond this, but for now I really want to connect people with other people. And then from there, start as simple as just testing, get a test site up, try things out. There’s another make site, which is where we communicate in the project, make.wordpress.org backslash test. That’s where I post a lot of the stuff around this outreach program. So if you just want dip your toes in, that’s a great place to start. It walks you through, there’s instructions on how to set up everything, what to use what to pay attention to, how to actually go through the call for testing. It’s very purposely constrained right now, so that it makes it easy for people to jump in. But if you’re more advanced, I would just say, start scrolling th through Github. Look at different labels. There’s a really good label that I check regularly, the overview label. So if you want to get a sense of the top issues, or I guess the summarized issues, the overview label is my jam. I love going through that and seeing what’s new and also just seeing the status of things. It’s a really great way to dig into the project, but not too deeply. And if you’re someone who’s been around WordPress for awhile I would say starting to, try to create a block plugin or build a block based theme.

We’re going to need to see the community in the future, really adopt these things and starting early while things are almost refined, I think is super helpful because it helps us define them in a place that there’s early enough for things to shift. Getting that feedback is pretty key so that we are creating tools that you can actually use, because the whole point is this is all being built, so other people can use it. Other people can’t use it, and we don’t know that. That’s a problem and it’s hugely helpful and valuable to do that.

Nathan Wrigley

You highlight the fact that you obviously need help with the things that you just described. All those technical areas. If I was to be listening to this and I am a more casual user of WordPress, I use it to create blog posts and I’m good at writing, but I’m not really into the code, and that side of things is of no interest to me, are there avenues that would still be open to me to assist with this?

Anne McCarthy

Yeah, I would actually say the testing should be pretty basic enough that you can dig into it. I’m saying this as the person who writes the test, I purposely try to make them very contained, so anyone can jump in and if they want to spend five minutes, ten minutes, that’s great. You don’t need to spend hours on this. Some people do, some people really like to go deep with it, but the whole point is that it’s something that anyone can jump into.

And even if a call for testing is passed, it’s still great to go back through previous calls for testing and I actually have videos as part of the calls for testing so that you can see me walk through it. So if you get stuck, if you’re reading my instructions and you’re like, what is this person saying?

You can watch the video and watch me go through it. And even just watching that and giving feedback and saying, hey, this is really weird, or, I really like when my page builder does this , do you all have plans for that? And another thing that’s actually coming up that I plan to do that anyone can participate in is another big call for questions. So there was a lull in testing. I was waiting for a new Gutenberg release and a couple of months ago, I did just, anyone could ask anything about full siding and I would find the answer for it. And we ended up getting, I think it was 46, 47 questions, which was fantastic. And I grouped them into different chunks, answered them, all, publish them, pass them on to the documentation team, the marketing team, but that allowed people where if they don’t have time to test, but they’re nervous about it, or they’re curious about it or they’re excited for it, or they’re impatient, whatever their emotional state is. Ask any question and I’ll answer it. And I plan to do those, another round of that definitely in the future. Probably at the end of April, and if that’s of interest paying attention to the, make.wordpress.org backslash test as the best place to pay attention or in Slack there’s in wordpress.org Slack, there’s a FSE hyphen outreach hyphen experiment that you can join, and you can just sit back and listen to me update you as I go, but that’s also a great way is asking questions, sharing concerns. That is actually hugely helpful. It sets the foundation for documentation. It helps the people building it know what the points of confusion are likely to be. So yeah, if you just want to ask a question by all means that’s a very easy pathway to jump into.

Nathan Wrigley

Thank you. I’ll be sure to take those links off you before we finally hang up the call today and we’ll make sure they make it into the show notes. Do you feel that you have. Enough people giving you feedback to justify the decisions that you made. I mean obviously in any software development, the answer I guess, is going to be, well, it would be great to have more. Do you feel that there is enough people assisting you at the moment so that you can be confident in the direction that you’re going? We’re doing this, we’ve got some feedback, but curious whether or not, if we have more feedback, we’d go in a different direction or not.

Anne McCarthy

That’s a great question. I am always someone who wants more people involved. I don’t think I’ll ever be happy with the numbers. Right now we have between 10 to 15 people with each test. And one of the things I actually recently consulted some of our design team with an Automattic, and I asked, I said, with usability testing what kind of numbers do you look for when you all did this with 5.0 what did you look for how many people? And a lot of times I got feedback saying, Oh my gosh. Anne, five to 10 people, it was great. You can calm down. It’s fine. I’m like, no, no, no. I need like 50, you know, it is this weird sense of no, no, I want more and more and more. And I can tell you, I don’t think we can ever get too much feedback, especially if it’s relevant and its… I mean, obviously there’s like irrelevant feedback where it’s make WordPress like Facebook. I mean, whatever, it could be something outrageous. That’s not terribly helpful, you know? But imagine if we just got completely inundated with feedback in the outreach program, that would be amazing. My goal, my personal goal that I’ve been trying to say outwardly in hopes it encourages people is I would love to have 20 to 25, really dedicated, diverse testers, each release and not each release each call for testing. That’s my ideal. And the reason I mentioned engaged testers is because I want people who are along for the journey a little bit,ideally. Obviously I think it’s great if people jump in and out, I think there’s something to be said for really new perspectives and I love when people comment saying, hey, this is my first time using full site editing and here are my thoughts. That’s excellent. But the idea of quality over quantity, I think is really key, for this phase of testing. I think when things actually get merged into core and certain aspects get merged into core, that’s when things can open up and be a bit more, having 2000 people give feedback, but yeah, I don’t think there’s ever enough testing and honestly, I do worry about that.

And it’s something, one of the things I’ve been very intentional about is reaching out to the accessibility team to try and get people to help give feedback so that we’re thinking about accessibility needs and reaching out to folks in the polyglot space so that we have translations of these posts so that people can participate. I only speak English and I had been in countries where all of a sudden, you see something in English and it’s like this it’s like such a relief to have a menu in English. Like, Oh yes, this is so nice. And I want that outreach to happen because I think sometimes the software development I’ve seen this like arrogance of, oh well, we’ll just be doing the work and if they’re curious, they can come to us. And I actually think this is one of those situations where we need to go to them. And that’s what the outreach program is all about is meeting people where they are doing the outreach. Bringing people along with us and learning from them as we go. Part education, part feedback loop, and part, hey, here’s a really easy way to get involved and walk you through what’s coming.

I would love to see more engagement from folks who are non-English speaking. We’ve had Italian, Spanish and Japanese translations very consistently. I’m so grateful for the people who’ve done that. I think it’s just, oh, I’m so bad at languages that it just amazes me. I also think everything looks better in a different language. So it’s neat to see my own words translated, which is a kind of a wild experience that I never thought would happen, but I’d love to see more engagement. In those polyglot and local spaces, because the last thing you want is for all of a sudden it to land and only a specific audience benefits or sees this or understands it or knows what’s coming, right. There’s a big responsibility for 40% of the internet. And I’ll never forget the day that Matt at a State of the Word said that non-English downloads passed English downloads. And so when you think about that 40% I think a lot of us English speaking, Western world think of a certain type of person, but really it’s much more expansive than that.

So I’ve been really hammering the polyglot space as much as I can, as much as volunteer time people can give to translate those posts and to try and get feedback. But it’s something that I’d love to see more of.

Nathan Wrigley

I’m curious actually, if you’ve got a really nice concrete example of an instance where somebody’s feedback turned into something actual. It was realized off the back of a piece of feedback, which you passed on to the team, and somebody reached out said, I would like this. And you were able to provide this, Hearing those stories. Ah, it is possible.

Anne McCarthy

Yeah, I can think of a really specific example that I was actually thinking about this morning when I was making coffee. A blind developer, I got connected with her through actually posting in a different Slack community. So, you would not believe how many Slack communities I’m a part of and how much I try to drop links and engage people in different spaces. And I got connected because someone said, hey, I have a friend she’s blind, she’s a WordPress developer, and she cannot use full site editing. And I was like, whoa, tell me everything.

How can I get in touch, and got in touch, her name’s Taylor. And she very kindly jumped on for about 30 minutes. We recorded the session so that I could pass along the feedback. She just walked me through the experience of both using of using two different screenreader tools. And. It was fascinating. It was awesome.

We found so many bugs. It was one of those things where I think the biggest, the most jarring one that I keep thinking about that I actually want to see if we can get some development in on ASAP, is that the save button, and the saving process for full site editing right now is pretty non-intuitive, it’s a little bit clunky and it’s something that’s come up with sighted folks as well. What is the saving process, how does it work? But for people who rely on screen readers, it’s really impossible to save. Like you basically have to search for the phrase save in order to find the save button because there isn’t an aria label. And so that’s a big one that came up and on top of that in just the session, I worked with her another piece of feedback that came up with the columns block.

So if you have columns and you’re imagining, let’s say two columns and you are using a screen reader, it doesn’t tell you which column is which. So all of you here just announces column, column it doesn’t say like column one or column two or right column or left column. There’s no identifier for how to navigate.

And so that’s actually, there’s a PR right now that’s underway. I actually just filed it for the accessibility team last week to see if someone could review and someone already stepped in to offer some thoughts to fix that, to actually announce, I think they’re going with like column one and column two and column three rather than right and left due to internationalization. And that’s going to be a huge improvement because right now Taylor was just like, columns block is so confusing. This is almost useless. Another one is the spacer block. I’d love to hear. If you use a screen reader, I’d love to hear your experiences with the spacer block, because that’s a really confusing block for people I’m relying on screen readers.

And I opened up an issue for that, and we’ve had some discussion back and forth about improvements that need to be made there as well. So those are some of the, and I can tell you, there’s probably about. I think six issues I opened just from that 30 minute conversation. Some are like a work in progress, but this was very recent and something I keep thinking about, especially as we start to refine things and decision points come up because we don’t want to release something that has such blatant problems with it.

Nathan Wrigley

It marks a very big change for WordPress this last couple of years have been really extraordinarily different, the experience that we’re all going through, but in particular, around full site editing How do you calm people’s fears that things in the future are going to be going in the direction that they wish it to go in. So, as an example, let’s imagine that we’re a theme developer. We may be getting concerned that themes are going to become a thing of the past that the livelihood that we’ve created for ourselves is going to disappear before our eyes. People concerned that the way that they’re working with at the moment, the way that they’ve taught their clients to work, this is how WordPress works, and this is how you can manage your website for yourself, and so on. What do you say to people? What is the golden light on the hill? The thing that you draw attention to, to say, look, all of this will be worth it. How do you keep people focused on the positives and not worrying about all the different things that are going on left right and center?

Anne McCarthy

Yeah. The biggest thing I say is there’s a reason that the last milestone is gradual adoption. And one of the things that I also love to talk about is the fact that full site editing is a bunch of sub projects actually gives us the flexibility to ship reliable items rather than shipping it all at once.

Yes, they’re interdependent. Yes. And some cases they rely on each other and there needs to be probably a certain order or approach to releasing things. But by having so many different tools that provide value. It actually gives us the ability to step back and say, okay, what’s ready. And that should be a big relief to people.

It’s not like there’s going to be this on-off switch full savings here is taking over your site. Good luck. That’s not going to happen. Gradual adoption is the game plan. It is the final step. And I imagine right now, a gradual adoption as a milestone is not fleshed out. But I imagine, especially you have to 5.8, that will become a much more fleshed out milestone in the same way you see other milestones, I think, Josepha has talked a lot about this, and I really love the way she basically says we want to fulfill the WordPress promise. We want to keep that trust and we want to release things in the best state possible while at the same time, recognizing that there’s this urgency to offer tools that people are just lacking right now, at some point, we need to get those out in front of people and to provide value and making that determination is super tricky. But the good news is like I was saying earlier, we have that flexibility built into the fact that these are all sub projects and that many of them can be shipped independently.

And for theme authors, Themes are going to be so important in a full siding world. And one of the things I am so excited about is that there’s going to be a ton of what they’re calling. I .. the idea of these hybrid universal themes that can work with for example, template editing.

So going and being able to edit like your single page template, your homepage template, or your 404 template. You could have a theme, that’s a classic theme or traditional theme, whatever you want to call it. And you could use template editing. You could update your theme to hook into the tools have been made to allow for template editing.

Same thing goes for global styles. You could just use one part of the full site editing machine, so to speak and all the projects and slowly integrate, more and more, as you want to, like theme authors will have a lot of control of what they opt into and what they opt out of. And for us building it, it’s on us to make it so desirable to opt in.

Right, and that’s where the gradual adoption, so many pathways are going to be created. And I’m actually really excited to see people move from this framework of anxiety to looking out across the space and going, hmm, what can I use? What is it that I hear from people all the time that I can integrate into this and moving into an exciting creative space rather than thinking, hh, I got to get caught up, I’m behind. This is so bad. Like that kind of feeling, which I hear from a lot of people was like, I don’t have time to get up to speed. And the ideal is that we’re actually providing tools that save you time and add value. And that makes me really excited. I fully understand the fear. I fully understand the fear.

I don’t say that lightly. As someone who is thinking about like how it’s going to land in 40% of the internet and who every single day is talking to people who are giving feedback about, what’s not quite there, I don’t spend a lot of time talking to people who are just like, oh, I’m so excited about this.

People don’t go out of their way to tell you that you often hear from the people who are upset or something’s missing or promises broken or whatever it is. And it’s something I think about a lot. And I understand why there is panic there, especially with livelihood in the situation that we’re in.

And I have a lot of empathy for that. And I think in the future, and one of the things that I think you’ll hear from leadership and you’ve, everyone’s priority heard this from leadership. It’s just that we are purposely moving slowly and things get pooled for a reason. And it is to fulfill that promise and to think about backwards compatibility, but at the same time, balancing that with wanting to provide value for users and empowering users, especially in a day and age, when a lot of tech companies are actually taking away a lot of the power, whether it’s in the form of privacy or what have you.

I think open source and the way WordPress is working is actually trying to resist that and really focus on giving everything we can to the user, to build the site that they want and to have the experience that they want. And also to free them up, to focus on what the site actually gives them, whether it’s a business or platform.

I think that’s the part that makes me… that hopefully makes other people excited. And that makes me really excited.

Nathan Wrigley

Speaking to that. You’ve done an incredible job answering all of my questions and you’ve obviously got to wear the Automattic hat during a discussion like this. I’m curious if we cast away the Automattic hat just for a moment and we ask you personally, what in the next six months to a year, what’s the one single thing, the thing that you are most excited about, the thing that you most want to see happen, the thing that gets you personally switched on about the project.

Anne McCarthy

It’s a great question. I would have to say block patterns, because we’re talking about all these tools and features and things coming along, but ultimately as a user, it’s like, what can I do, and what can I do quickly? And block patterns will really be the glue that ties together all these projects. You can insert a block pattern, manipulate it as you want to. And when you’re manipulating it, you probably won’t be thinking about the fact that you might be using global styles or that the block pattern is relying on block styles or whatever it is.

But the power of that. And the promise of that, I think is just such a high impact, such a high impact feature that will really be like a cherry on top. And we’ll bring together a lot of the things that we’re talking about in a way that will be really tangible. And especially in this world of, you know, we’re not able to gather in person we’re not able to have those moments.

I think having something that is easy to understand almost the point of being, so intuitive that it’s like, why didn’t we do this years ago? That’s what I want the feeling to be. And that’s when I had someone in design, tell me this one time. And it always stuck with me as like the best ideas are the ones where you’re like, well, no, duh, like, yeah, of course.

And that’s what block patterns I think you’re going to feel like, and I think it’s really gonna fulfill a lot of these things and bring a lot of these things that we’re talking about together in a way that will be really fun to play with. And also people will be able to submit to the block pattern directory, ideally in the future, similar to the block plugin directory.

So personally, I’m most excited to see the marriage between block patterns and full site editing along with these hybrid themes.

Nathan Wrigley

I know there will be no metric to judge this, but it would be fascinating in a couple of years time. Were we able to measure it, to see just how much of humanity’s time has been saved by something like block patterns, the fact that you don’t have to do things over and over again. Yeah. I completely understand why you’ve selected that one. We have gone through so many questions. If somebody at the end of this, has been listening to this and thinks I would like to help, but I want to contact Anne directly before I go to these Slack channels and Github repos and so on. How might somebody get in touch with you should they wish to?

Anne McCarthy

I would say go to my website. I am a weird millennial without social media. I jump on and off of Instagram. That’s my one holdout. I love photography too much, but yeah, my website is nomad.blog and I have a contact page and I truly welcome to hear from anyone seriously. All I ask, and this is on my website as well. I like to do pen pal. Kind of writing back and forth. I think we don’t rely, I think email, I’ve read too many books about this, but I think email has ruined our ability to relax and unwind, and I refuse to opt into this always responding world. So as long as you’re patient with me, and if I get a bunch of emails, as long as you’re patient with me responding, I promise I will respond genuinely with a lot of thought. I do not like to do short, low quality responses. So if you’re willing to engage there, that would be awesome to hear from you. I’m also an annezazu in WordPress dot org Slack, if you end up joining there as well.

Nathan Wrigley

Well, thank you very much. I appreciate all of the hard work that you and everybody connected in the project is doing. It’s making great inroads into our editing experience in WordPress. Greatly appreciated. Thanks for coming on the podcast.

Anne McCarthy

Of course. Thank you so much for having me.

BuddyPress 7.0.0 Adds 3 New Blocks and Admin Screens for Member and Group Type Management

BuddyPress 7.0.0 “Filippi” was released this week, following WordPress 5.6 to ensure compatibility. This version was named for Filippi’s Pizza Grotto in California. It requires WordPress 4.9+, but sites that are not using the block editor will miss out on many of the new features that make BuddyPress websites easier to customize.

The first set of community blocks was introduced earlier this year, allowing site owners to insert a specific Member or Group into any post or page. Version 7.0.0 adds three new blocks that make it easy to feature a list of members, a list of groups, or embed a public activity post.

Blocks make customizations easier for non-technical community managers. Years ago, you would have to write a custom query to display members, groups, or activities anywhere on a page or post. The other option was to install a plugin to do it and use a widget or shortcode to place it somewhere in the content.

The Groups block, for example, lets you select any number of groups using auto-complete, to create a custom list. The block’s toolbar has an option for displaying the groups in a list or a grid. In the block settings, users can show or hide group names, select full or thumbnail versions for avatars, and include extra information about the group.

New Administration Screens for Member and Group Type Management

BuddyPress’ member types and group types are a feature similar to WordPress’ custom post types. They now have their own management screens in the admin, making them more accessible to community managers who would not be comfortable creating and modifying types without a UI. Member and group types can now be added, edited, and deleted directly in the admin.

Source: BuddyPress.org 7.0.0 release announcement

New Default Profile Image for Network Sites

Version 7.0.0 introduces the capability to add a default profile image for sites in a multisite network as part of the Site Tracking component. This can improve the appearance for the sites directory or the activity stream, when networked sites have not added a custom profile image.

A few other notable improvements in 7.0.0 include the BP Nouveau template pack updated to be compatible with the new Twenty Twenty-One default theme, improvements to the BP REST API, and BuddyPress CLI commands expanded to cover more aspects of community management. Check out the release notes for a full list of changes.

BuddyPress 6.0.0 Released with New Group and Members Blocks

BuddyPress has entered the world of blocks with the release of version 6.0, the latest major update that has been in development since November 2019. The release, code-named “iovine’s” for a favorite pizza restaurant in Paris, introduces blocks for Groups and Members. It also marks the completion of the BP Rest API, adding the final remaining endpoints for Blogs, Blog avatar, Friends, Group Cover Image, Member Cover Image, and User Signups.

The first set of blocks allow community site owners to insert a specific Member or Group from the editor into any WordPress post or page. More advanced customizations are available to developers who want to make blocks available to (or restricted from) specific custom post types. Developers can also override block output using new filters, disable blocks, and specify a custom stylesheet for a block.

New BP Blocks in action

In a previous WP Tavern review of the 6.0 beta, Justin Tadlock noted that the block settings had each setting is placed within its own tabbed section, which increased the number of clicks required. This feedback was incorporated six weeks ago in a patch from BuddyPress core developer Mathieu Viet, which places all settings into one panel until such a time as more panels become necessary.

Next Up for BuddyPress: Block Versions of Existing Widgets and Community-Requested Blocks

The BuddyPress community has a unique opportunity to shape the future of block development for the plugin. The next blocks are not yet set in stone but Viet said contributors will probably start by adding block versions of the existing widgets, followed by block requests based on community feedback.

“The poll we made about BuddyPress blocks showed there were expectations about a block to share a post or a page into the Activity Stream, so l think we should include such a block,” Viet said. “But we’re are very open to new ideas or contributions to the GitHub repository we use to develop them.”

The poll results indicated that in addition to a block to share a post or a page via the Activity Stream, the community is also strongly interested a block to list the recently published posts from across a network, followed by a block to display Sitewide Notices posted by the site administrator. 

Viet said core contributors have not yet set a roadmap but are working in small steps and carefully following the Gutenberg project to see how they can incorporate it more into community features. A block-based activity posting form is one feature they are considering.

Now is an important time for BuddyPress site owners to give input on the future of the project, whether through block recommendations or via the new 2020 BuddyPress Survey. It includes 17 questions, which take approximately 7-10 minutes to complete. Most of the questions are centered around how you are using BuddyPress on production sites, but one interesting question asks about the prospect of breaking up the plugin’s features to make it more modular:

BuddyPress is a large plugin with optional components (3MB zipped). There’s a proposal to reconstitute BuddyPress as core + members only and improved upon with new functionalities and API’s among others for new BP plugins to hook into. The current optional components like groups, friends, private messaging, etc. can be migrated into separate plugins which can be activated as needed. What do you think?

Survey respondents have the opportunity to choose between keeping BuddyPress as is with core + members and optional components, or break it down to put the components into BP plugins. Feedback on this proposal and other important survey questions will help the BP core team know how to prioritize features for the next release and long-term roadmap.

Find My Blocks Plugin Shows All Blocks in Use on a WordPress Site

How do you know what blocks are in use on a WordPress site? I recently saw a tweet asking this question in regards to knowing whether it is safe to turn off a plugin. This seems like it could become a common question, especially for those who have hundreds or thousands of blog posts as well as those using WordPress as a CMS.

When looking at content in the editor, it isn’t immediately evident which blocks are in use. You can click on the block navigation at the top of the editor, but that will only show you the blocks in use on that particular page. If you have a lot of plugins installed and many pages of content to wade through, figuring out if it’s safe to remove a plugin can be a time-consuming process.

Fortunately, there is already a plugin that will give you a quick overview of where blocks are being used on your site. Find My Blocks is the one that was suggested to Nick Hamze in response to the question in his tweet. I had not heard of it before, so I took it for a test drive today.

Find My Blocks is basically a utility plugin that lists the blocks being used on your WordPress site, along with the posts/pages where they are in use. It includes core blocks and blocks from third-party plugins. The plugin’s settings also give the option to sort the block menu display alphabetically or by most/least popular.

Frontend developer Eddy Sims created Find My Blocks to solve one of his own problems and released it on WordPress.org in January.

“I was working on a site that required a few custom Gutenberg blocks,” Sims said. “After a week, updating became a hassle. I didn’t know where the blocks were used. Find My Blocks is a plugin I created to hopefully help someone else with this issue.” So far it has received several five-star reviews in the plugin directory.

“We’ve been using this plugin to help us figure out where we’ve used blocks on pages so we can deprecate them and replace them with shiny new blocks!” WordPress developer Tammy Lee said. “This plugin makes tracking down blocks really easy! I don’t want to think about how much time it would have taken us, otherwise.”

Find My Blocks is a plugin you may want to add to your favorites on WordPress.org for the next time you inherit a site that you didn’t build, or for cleaning out your own installed plugins.

Block Patterns Will Change Everything

Screenshot of a book sales group of blocks.
Book sales section from a custom theme.

It was about a year ago. I was happily designing a theme for aspiring novelists. I wanted to get ahead of the competition and market a theme specifically to writers who would be attempting the National Novel Writing Month 2019 challenge.

NaNoWriMo, for short, is a whirlwind of a month where 1,000s of people from around the world clatter away on their keyboards to pen a 50,000-word novel manuscript. One month of sheer willpower, coffee by the gallon, and sleepless nights in exchange for glory. There are no grand prizes or guaranteed publishing contracts at the end of the journey. You nab a certificate, a few coupons, and bragging rights. I completed the challenge in 2018.

Inspired by my win just months before, I built a theme for those who would be taking the journey the following year. I also wanted to broaden its appeal to anyone who might be an aspiring novelist but not necessarily participating in the challenge. Or, maybe even to someone who just published their first book. Perhaps this would be an opportunity to bring a few new WordPress users into our community.

I outlined a homepage layout to show how users could feature their latest book with a purchase button. Then, it dawned on me.

How could someone build this book sales page without solid experience with the block editor?

I had been using the Gutenberg plugin for months upon months before it landed in WordPress 5.0. I knew the ins and outs of the system.

The design was simple. Using the core media & text block, a heading, a couple of paragraphs, and a button, I had created something that may have been too complex for the average user. I had not even gotten into the custom color, font-size, and block-style options that accented the layout.

This simple combination of blocks had the potential to be overly complicated for some. I had other plans for more complex layouts. Other theme authors had taken on bigger combinations of blocks. For end-users, they were likely stepping into a world that did not make sense. They would see beautiful theme demos and grow frustrated when they could not make things work. The block editor was not, and is still not, intuitive enough for the least-knowledgeable users to build layouts beyond the basics.

I opted for a step-by-step tutorial to guide my users into building this simple book-selling section. However, documentation is not always the best answer. Even when users find and read it, the results are not always accurate. It would have been far simpler to have a button that, when clicked, inserted this section directly into the editor. The user could then customize it to fit their content.

That is where block patterns come in.

Theme authors should be able to build unique and complex combinations of blocks with custom styles. Users should be able to just make it look like the demo.

Since “building” (I use this term loosely) my first WordPress theme in 2005, I have either seen or attempted every manner of solution to this problem. Page templates. Theme options. Shortcodes. Widgets. You name it. They have all been tried before. Each method provided major hurdles for users. Some (ahem, shortcodes) left users’ content in shambles and created a lock-in effect where they ended up tied down to their theme.

It is long past time for something new.

What Are Block Patterns and How Will They Improve User Experience?

Screenshot of a pricing column block pattern.
Custom pricing columns section.

What happens when a user wants to build a layout with multiple columns of pricing options as shown in the above screenshot? Good luck. Most could not produce it with the block system. Even without block patterns, the theme would need some custom block styles to make it possible. Plugins will likely fill in the void for such complex output and have been tackling pricing tables in various ways over the years. What if we could produce layouts like this within themes or in much simpler plugins?

It is possible with block patterns.

Put simply, a block pattern is a group of blocks. Core WordPress, themes, and plugins will be able to register patterns with predefined settings attached to them.

From the average user’s point of view, block patterns are predefined sections they can use to create layouts. These layouts can be something as simple as the book section from earlier in this article to the more complex pricing columns. With these patterns available, users will be able to create complex layouts at the click of a button.

The block system laid the foundation for a much different and forward-compatible future than what we have experienced over the years. At the end of the day, most blocks are just plain old HTML. Block patterns will be nothing more than the registration of a group of these blocks. When a user switches themes, their content remains intact, even when their new theme does not register the same patterns.

Version 7.7 of the Gutenberg plugin shipped the first iteration of an interface for patterns. It is basic and will undergo several more iterations before it is ready for use in production. Eventually, there will be a fully-integrated interface for selecting from multiple patterns. The user sees something they want to use. They click on that pattern. It gets inserted into the post.

No more complicated theme options. No more shortcode soup. No more hours of frustration wondering why you cannot build that custom front page shown in that carefully-crafted theme demo.

I may be a tad optimistic. Block patterns will require massive buy-in from the theme and plugin developer community. While core WordPress will ship several popular patterns by default, they will in no way cover the breadth of design that is possible when theme authors put their artistic skills to work.

I have always been excited about the block editor. However, it has always felt like I was more excited about the potential than the end product. I was in a constant state of waiting for it to become the thing I thought it could be. Yes, I am still waiting. However, tinkering with an early version of the pattern system feels like we are getting to the point where we can do those awesome things the editor was supposed to allow us to accomplish. It has been a long wait, and we still have a bit to go. But, I have a renewed passion for the project after experiencing the work that has been done thus far.

BuddyPress 5.0 Introduces BP REST API, Paving the Way for Blocks

BuddyPress 5.0.0 “Le Gusto” was released this week with the long-awaited BP REST API, a new Invitations API, and BuddyPress info on the Site Health screen. The release was named for a favorite pizza restaurant in Fortaleza, Brazil, where BP REST API contributor and core committer Renato Alves resides.

The new REST API is fully documented and includes endpoints for members, groups, activities, private messages, screen notifications and extended profiles.

The first feature powered by the new API is an improved interface for managing group members. It enables administrators to quickly search for specific members to promote, demote, ban, or remove.

BuddyPress 5.0 also includes a new BP Invitations API to help developers better manage group invites and membership requests.

BuddyPress site administrators may notice a new panel in the Site Health Info screen, containing plugin-specific debug information that may be useful when seeking help in the forums.

This release updates the BP Nouveau template pack to use the same password control as the one used in WordPress core. It provides a more consistent interface for users when setting their passwords on the registration page and on the user’s general settings page.

Blocks Are Coming to BuddyPress

The BP REST API offers a myriad of opportunities for developers to create new interactive features and front-end experiences, as well as improve performance by replacing AJAX calls. It also opens up the world of block creation. BP core contributors and community developers will have a much easier time creating blocks, since Gutenberg mainly uses REST.

In anticipation of BP blocks, 5.0 includes a new panel in the block inserter that allows developers to organize their custom blocks under a BuddyPress category.

BuddyPress 6.0 may include core blocks for specific components and core blocks may ultimately replace the plugin’s existing widgets. Contributors are still discussing which blocks to begin building. They are looking to get community feedback on blocks that will be the most useful, particularly from BuddyPress theme developers. The team plans to discuss 6.0 release priorities during the BP core dev chat on October 2, 2019, at 1900 UTC.

Experimental Block Areas Plugin Allows for Editing Content Sitewide with Gutenberg

WordPress core committer Felix Arntz is working on an experimental Block Areas plugin that would enable users to create and edit content sitewide using the Gutenberg editor. Inspired by a conversation with Morten Rand-Hendriksen at WordCamp Europe, Arntz created the plugin to “explore what the theming of tomorrow could look like already today.”

Block Areas allows users to define specific areas where they want to use the block editor (outside of regular posts). The block areas function similar to widget areas, but are created using a custom post type with a familiar admin UI.

“They are implemented as a post type – with the key aspect that they can’t be accessed in the frontend via a certain URL, but your theme has to render them via a block_areas()->render( $slug ) method that the plugin exposes,” Arntz said. “The slug you pass to the method should match the block area slug (i.e. post slug) of one of the areas you have created in the admin.”

The plugin comes with block areas for site header and footer to provide a starting point. However, adding the block areas to a theme is one technical hurdle that currently limits this experimental plugin to developers.

The concept is reminiscent of the now seemingly abandoned Buckets plugin that aimed to provide an alternative to WordPress widgets. It allows admins to create reusable pieces of content and place them anywhere on their sites. Reusable buckets can be created with the same UI as the legacy post editor and then placed anywhere using a shortcode or via a button in the TinyMCE editor.

In the case of Buckets, the idea was to preserve the users’ ability to create content using the visual editor and media manager. Block Areas seems to have a similar aim – to preserve users’ ability to use the block editor anywhere they want throughout the site. That is part of the general goal of Gutenberg Phase 2, which includes migrating widgets and menus to use the block editor.

Block Areas is just one idea for providing a unified approach to reusable content inside WordPress. It is not an official project and may not be the approach that the Gutenberg team settles on for core. However, it offers a good opportunity for discussion and collaboration about the possibilities of taking the editor sitewide. This will open up a whole new genre of blocks for plugin developers.

“Think about a block that renders the site title, the custom header, a menu, the copyright information – taking Gutenberg to the site level opens up a whole new set of typical blocks that would be required,” Arntz said. “Start thinking about which blocks you would need outside of your post content bubble today.”

The Block Areas plugin is available on GitHub if you want to experiment with it. Check out Arntz’s introduction post for more implementation details.

In Case You Missed It – Issue 25

In Case You Missed It Featured Image
photo credit: Night Moves(license)

There’s a lot of great WordPress content published in the community but not all of it is featured on the Tavern. This post is an assortment of items related to WordPress that caught my eye but didn’t make it into a full post.

Open Call for People Interested in Being Team Leads

Josepha Haden has published an open call on the Team Updates blog looking for people interested in learning about the Team Lead role. The post includes links to training materials that will be open for two weeks where people can make suggestions.

Once the training materials are complete, interested parties will be sent the team leads training materials and quizzes. Those who pass the quizzes will then be part of a group orientation in which team leads and future leads will be chosen. Even if you’re not interested in becoming a team lead, the training materials in the post contain a lot of useful information about the inner workings of the project.

Marcel Bootsman Continues on After Hospital Visit

Marcel Bootsman who is walking more than 700km to Berlin, Germany for WCEU recently made a hospital visit. “The doctor asked about what I’m doing, and what the problem is, so I explained everything,” Bootsman said. “She examined both legs and found that there was a swelling on my right ankle. She sadly could not diagnose further, since it’s impossible. An expert has to look at it, and an x-ray picture has to be taken.”

The doctor diagnosed him with having an overloaded right ankle. After wrapping his ankle for extra support, Bootsman continued on. Check out his description and photos from day 19 of his travels.

WooSesh is Coming Back

WooSesh, a global, virtual conference devoted to WooCommerce, is scheduled to take place on October 18-19th. You can follow WooSesh_ on Twitter or sign up to their email list to be notified of when tickets are available.

GitHub Repo Templates

Earlier this week, GitHub launched Repository Templates to help developers manage and distribute boilerplate code. Web development agency 10UP has a Theme and Plugin repo template that is available for anyone to use.

WordPress 5.2.2 Release Date Changed

WordPress 5.2.2 was originally scheduled to be released on June 13th, but the release team has decided to push the date back. Tickets that are slated for WordPress 5.3 that meet the requirements to be in a minor release will be merged into 5.2.2. The new release date is Tuesday, June 18th, a few days before WordCamp EU.

WordCamp US After Party Is Now Wordfest

There won’t be a big after party at the conclusion of WordCamp US this year. Instead, organizers are hosting WordFest on Friday, November 1, 2019, at City Museum in St. Louis. According to organizers, the party doesn’t always have to be at the conclusion of the event thus the name change.

How to Use and Create Reusable Block Templates

Justin Tadlock has published a tutorial that explains how to create, use, import, and export reusable block templates in WordPress.

“A lot of this is not intuitive at this point and might take some digging for someone not intimately familiar with all the block editor features. But, this is an extremely powerful feature that I’m sure will become more useful in the future. I can even see things like theme authors sharing reusable blocks to help users build out certain page designs.”

I’m looking forward to seeing other people share their reusable blocks or templates. One of the beautiful things about the new editor is that it doesn’t require a developer to sort blocks into a particular layout and then save it as a reusable block that can be shared.

C02 May Be the Cause of Feeling Drowsy During Conference Sessions

I always thought it had something to do with lunch but I’ve felt drowsy before then. Interesting data shared in a Twitter thread. Hat tip to David Bisset.

That’s it for issue twenty-five. If you recently discovered a cool resource or post related to WordPress, please share it with us in the comments.

Awesome Asciidoctor: Don’t Wrap Lines in All Listing or Literal Blocks of Document

In a previous post, we learned about setting the value of options attribute to nowrap on listing and literal blocks, so the lines in the block are not wrapped. In the comments, a user suggested another option to disable line wrapping for all listing and literal blocks in the document by using the document attribute prewrap. We must negate the document attribute, :prewrap!:, to disable all wrapping. If we place this document attribute at the top of our Asciidoctor document, it is applied for the whole document. We can also place it at other places in the document to change the setting for all listing and literal blocks following the prewrap document attribute. To enable wrapping again, we set :prewrap: (leaving out the exclamation mark).

In the following example, we have markup with a listing, literal, and example block, and we use the document attribute :prewrap!: to disable the wrapping for the listing and literal blocks:

Blockchain Data Management

In my last blog, I provided a brief on the basics of blockchain. In this blog, I will try to further explore how the actual data gets stored/managed on a chain of blocks.

As you all know, a blockchain is a distributed architecture that follows a peer-to-peer network and essentially inherits all of the advantages of a peer-to-peer network, like performance, avoiding a single-point failure, etc.

Ultimate Blocks Plugin Adds Schema-Enabled Review Block

Ultimate Blocks, one of the many Gutenberg block collections that have sprouted up, launched before WordPress 5.0 with eight blocks. The collection has since doubled in size, adding features like accordions, social sharing buttons, tabbed content, a progress bar, and star-ratings. Many block collections are loosely organized around serving a specific user demographic. This one is aimed at bloggers and marketers.

Ultimate Blocks’ latest release includes Reviews, a new Gutenberg block that is unique to this plugin. It allows users to easily add rows of review criteria and will automatically calculate the cumulative star rating. Users can also edit the title of the review, author name, review summary, and call-to-action button.

One of the most interesting features of the plugin is that it is schema-enabled, which means that the reviews use a standard schema for structured data that can be easily read by applications like Google, Microsoft, Pinterest, and others. For example, when Google finds a schema-enabled review, it can display it as a rich review snippet with stars and other summary info. These snippets may appear in search results or in Google Knowledge Cards.

It’s important to clarify that this block is for the site owner to write their own reviews. It’s not a block that adds a frontend form for visitors to leave reviews. It’s more useful for site owners who want a nice way to display their own reviews for books, movies, restaurants, or any other type of information.

After testing the plugin, I was impressed by how the star rating calculations all work live inside Gutenberg while setting up the block. The back and frontend styles also match fairly well. The Reviews block is generic enough to be used for virtually any type of review a user wants to display. It would even more useful if the author expanded it to support frontend review submissions, which would allow users to create their own community review sites.