Wishlist for Modern WordPress Development

## Introduction

**Aurooba Ahmed:** You are listening to viewSource a conversation around tech, web development, and WordPress with hosts Aurooba Ahmed That's me and Brian Coords

**Brian Coords:** Welcome to part two of our three part season one finale episodes. Two of 3, 19 of 20. Is that right?

**Aurooba Ahmed:** Yep. 19 of 20. Crazy.

**Brian Coords:** So today all about WordPress. We're gonna do a little WordPress exploration. So I thought I'd open up with the question. Since we started this podcast, January, 2023, is I, you know, what I kind of roughly say what's been like the biggest WordPress news you think of the last, you know, six months

## Remembering the Site Editor

**Aurooba Ahmed:** I don't know about the biggest, but I think the most dramatic was the un-beta-fying of the site editor, you know? That was like really dramatic that it went from beta to like, it's not beta anymore. Go use it. It was, hmm, I dunno, I forget what the word is, but it was something that was, there was a lot of feelings around it, around doing that.

My feelings included, I had an old issue about it in the Gutenberg, like repo.

**Brian Coords:** Yeah, everyone has an opinion on it, and I think very few people have the opinion that it didn't need to be called beta software anymore. I think, I think even people who love it still feel like it's like getting, it's getting close, but yeah, that Band-Aid had to be ripped at some point, so they did it.

The default theme uses the site editor. So like a standard WordPress person gets the site editor. So that's, you know, you can't call it beta at that point.

**Aurooba Ahmed:** No, not at all.

**Brian Coords:** I think that that would be, mine would be the, the theme that came out.

## Remembering the TT3 Theme Release

**Brian Coords:** With this was really in November, but it was like when the new 2023 theme came. Right. And it had the 10 different style variations and they did the big like design contest to see whose like style variations would get put in.

**Aurooba Ahmed:** Right.

**Brian Coords:** you know, I felt like that was like a first thing where I was like, oh wow. That's that's a really cool concept? Out of the box, like, wow, your theme can like paint itself in all these different ways. And then they were like, and then we'll pick the most boring one as the one is that's the default when you install it and not even let you know, you know?

**Aurooba Ahmed:** I kind of get it, you know, when you are shipping your software to. A bazillion people, you know that everyone's gonna have opinions anyway, and you kind of wanna be interesting but neutral at the same time. You know? There's something to be said maybe about being slightly conservative in what you make the most default version, but I get it, you know, it's, it's pretty boring.

**Brian Coords:** I mean, I think I've seen word documents with more personality than that. Default. Variant. Yeah. It's like black text, white background, you know? And it's just very it's a very blank slate, you know, there's no picture of a boat. Like

**Aurooba Ahmed:** Or a bird.

**Brian Coords:** Yeah. Oh, I forgot about the bird one. Oh yeah, that one.

And then all the, like the bird themed

**Aurooba Ahmed:** yeah. That was the

**Brian Coords:** I oh actually, that was one of my favorite themes, the one with the bird. I

**Aurooba Ahmed:** Yes, it had a, like a serif heading font that I really enjoyed and like a really good font pairing and a like nice monochromatic color palette, you know? I agree.

## What are WordPress themes now?

**Aurooba Ahmed:** That was definitely one of my favorite too. It definitely redefined. I feel like that was the moment when the theme redefinition happened because, you know, themes were how you skinned your site, but now you have a theme and it comes with style variants, which are essentially skins so. Like, you know, where is the line? So what does the theme do? And what does a style variant do? And it's a, it's a skin with other skin variants. Like it changes the way you think about it, you know?

**Brian Coords:** I mean, I'm just glad we're moving away from the place where you install a theme and the theme includes like its own short code, page builder, like monster thing happening. Like I, I like people say, oh, our theme's going away. But no, I think like I. The idea that like a theme is just a coat of paint on the top of your website and that's all it does.

And maybe it's just like eventually just a JSON file. Like I think that's perfect. I think that that's exactly what I want, is I want a theme that's just like the lightweight coat of paint and hopefully so much of that other stuff is in plug-ins and core. And, you know, Everything is speaking that same language so that I can just swap out that JSON file with a different theme, you know?

And I think that's, that's, that's like more exciting to me. But yeah. Why, why would one theme have multiple themes inside the theme? Then we're like entering the weird territory of like mega theme frameworks again, and I, you know, we don't need to go there. We don't need that again.

**Aurooba Ahmed:** I think we're still a long ways off from themes being just a JSON file. I don't know. Or maybe that would work for like the DIY crowd or the market crowd, you know? But I don't know if it would work for bespoke stuff still.

**Brian Coords:** Yeah, there's, there's no way they're gonna take everything you can do in CSS and stick it in JSON. Like it's just not gonna happen. And like, if I'm gonna write my CSS, As JSON like the, the just like, we'll just use the CSS. But I do think, yeah, for the DIY crowd, I mean it's gonna get there. And like, you know, once we get parity between theme json and the site editors like style guide where you can actually change the things that says you can change.

And once all that's like a little more formalized you know, you might not even need to change a theme, just slowly chip away at your like, settings.

**Aurooba Ahmed:** Yeah. Yeah. And ideally, you know, we. See the site editor become not just the site editor, I guess, like the dashboard is your editor. You know what I mean? So it's interesting that we have a dashboard, but then also a site editor. But really your dashboard should be the site editor.

## Our WordPress "Pre-Phase 3" Wishlist

**Brian Coords:** Yes. Well then let's go into our topic today, which is we're gonna kind of cover, I guess, would you call it like a wishlist? Like things that we would love to focus on as we're transitioning into like phase three of WordPress?

**Aurooba Ahmed:** Yeah, focus on, or like, maybe like a middle between before, like a pre phase three. That's my, in my ideal word, we'd, we'll, we would have a pre phase three and not go directly into phase three, you know?

**Brian Coords:** Yeah, I like to think that the end of phase two was really the end of phase one and like block editing is really good and I think by the end of phase three, phase two will be done and site editing will be really good. And all the stuff that they're working on at phase three will like... be halfway Good.

And I, you know, I think it'll get there, but I would love, so we, we picked two kind of categories. One is user experience and the other one is developer experience. Because it would be nice if they did the like, apple thing where they like spend an entire release, cycle, like an entire year of development just on cleanup. No new features, just.

User experience, developer experience, like get all that stuff in a good place now that we're like a little more stable because I think they, they would win over a lot of the community. So we have a few ideas around that.

**Aurooba Ahmed:** Yeah, and this is something that I've historically called paper cuts, but in Gutenberg there's officially a project and it's called something UX and Polish, something like that where they are sort of compiling a lot of these things. And I would love if they would just, like you said, focus just on that, because there's so many things in there.

So many things. But yeah, let's get into it.

**Brian Coords:**

## A Unified Dashboard

**Brian Coords:** Because you said, you talked about the site editor and the dashboard, and I think like that's a big piece the disparate dashboard and old WordPress dashboard, new WordPress dashboard. I think like

**Aurooba Ahmed:** yeah.

**Brian Coords:** it would be really great for them to, to have a, you know, the Settings API was never that great, but it would be amazing to have a design framework, dashboard framework.

So that plugins and stuff can all start speaking the same language and we could have like a real clear path forward on that instead of like different UIs and stuff coming from every plugin. So dashboard to me, like big picture, that's what I'm thinking. Is that kinda what you were thinking with dashboard?

**Aurooba Ahmed:** I mean, definitely. You know, when I think about it, I see three different things going on in the WordPress dashboard right now. There is the post editor, which is, you know, the first block editor we had, and there's this site editor, which has, you know, this whole browse mode flow thing going on in it with the fancy animations and all that.

And then you have your classic dashboard, which covers the rest of the parts of WordPress, like plugins and the actual switching of your theme and settings and et cetera. So I would love for all of these three to come together and become one and just instead of saying, oh, let's go into the WordPress dashboard, I think it should be, oh, let's go into the site editor.

Everything should be the site editor. Like that should be what it is. It's not a part of the dashboard. It is the dashboard, you know?

**Brian Coords:** I think the biggest hurdle is gonna be. I think of like the WP_List_Table, like where you look at a list of posts. A list of pages, and like that was so extensible and it was so easy for developers and plugins to add columns, to add content, to add filters. Like that way where you interact with all your posts, all your pages, all your custom post types, I think is gonna be really, really hard for them to do in the site editor because, Things are not quite as extensible as I would like in the site editor, so I think they would have to be really like, how are they gonna bring that level of extensibility?

Because that, that was, I think, a really core to WordPress.

## The track record of extensibility in WordPress

**Aurooba Ahmed:** Oh yeah. WP_List_Table, that class. Is amazing. You know, without it some of like, it's so nice to be able to do almost anything you want with it. And the track record of extensibility in the React version of anything that has come to WordPress is frankly very poor. I love the block editor, I love all the stuff, but the extensibility parts are very poor.

And if they don't take an extensibility-first approach to bringing this whole experience to the rest of the dashboard, we're all gonna be in trouble.

**Brian Coords:** You should talk more about that because I think about your Plug in the quick post plugin as like the perfect example of something where you were like, I'm gonna extend the block editor with this small, I'm just gonna add a button to the block editor, just like add one button to the top of the block editor.

And I think it's like such a good use case of how that should, that should be easier. Like that should be a thing that you should be allowed to do.

**Aurooba Ahmed:** I shouldn't have had to hack the block editor in order to add something to the toolbar, which is something everyone wants to do. Elementor does it every possible like major block library plug-in, does it? You know? And. Not allowing it is creating more cognitive dissonance within the block editor and the site editor than just simply allowing a legal quote unquote way to do these things.

I had an entire Twitter rant about this. You know, I talked about the Heading Block and how it would be so nice if the Heading Block was more extensible so that you could do the things you can with it and just work with Core instead of having to replace the things in core because they don't allow you to make the changes that you want so that WordPress will work for you or for your clients.

If there was more extensibility, more plugins, more themes, everyone will be able to speak more of that same language because why would you go and create something brand new when there is a provision already there to help you do that and, you know, save you time and save you work? So, I don't know. I think that extensibility should have been there from the beginning.

Much like I think about accessibility as well, and I know that there has been some like renewed or like a surge of focus on it, but I think it'll be a lot of work to backport extensibility to the things that are already there and it would. I just make, I wanna, I hope that they take a more extensibility minded approach to the rest of this that has to happen, you know, in the rest of the phases.

**Brian Coords:** Yeah, and I think there's like two big. Pieces to it. One is that if you don't make things extensible in WordPress, people will find a way. Just like if they don't make a, you know, notifications feature as has been trying to get in, people will spam you with all sorts of notifications on the dashboard.

So like people will do it regardless. So you just, you're better off making a way plus. You know, when people are adding and injecting things in the block editor, it becomes really hard at different screen sizes. Cause there's no like, overall control. So then you start getting like all these buttons and toolbar and things and like, you know, the block editor on mobile is, is pretty hard without any of these additional things.

But I think if there was a good API for it, it would make it a lot easier because we could, there could be like a more central control and design

**Aurooba Ahmed:** Mm-hmm.

**Brian Coords:** But I can understand why in the site editor, for example, They haven't opened it up yet because like they clearly haven't decided what's gonna happen on that sidebar of the side editor.

Like that whole side, like

**Aurooba Ahmed:** mode

**Brian Coords:** the browse thing. Yeah. It's like, it's different every time. There was like, remember when they took out the navigation like right before release,

**Aurooba Ahmed:** We record an entire episode and had to nix it.

**Brian Coords:** Oh yeah. Remember that,

**Aurooba Ahmed:** Yeah.

**Brian Coords:** I wanna say that that I think leads to an area of things that are like small, like what I call 'em, like nice to have. Things that would just be nice to have in the block editor. It would be great if they could finish all of that.

## Block Editor UI Nice-to-haves

**Brian Coords:** And I'll give one example, which is anything with keyboard shortcuts.

Keyboard navigation. Controlling them. Setting them changing them, adding them. When you add a new feature, like you add copy and paste styles, put a keyboard shortcut there too. Don't just like add the feature and then hide it in a, you know, kebab menu somewhere. So like, that's my first nice to have, but like I have a lot of 'em.

**Aurooba Ahmed:** Yeah, so do I. I mean, you and I were just talking about this earlier. You know, I created an issue because I wanted the block sidebar to remember which tab I'm in so that when I'm going to different blocks, I don't have to keep switching tabs. It's such a content administration headache, you know, just little touches, little improvements, but, Some of them, I get why they wouldn't be there from the beginning.

These are things that you add, you improve, and then there's some things it's like, why wasn't this there from the beginning? You know? Like, why can't I select multiple blocks in the list view and then hit delete on my computer, on my keyboard and just have a delete? Why? Why do I have to use a shortcut kebab menu,

**Brian Coords:** You gotta use a keyboard shortcut. It's the only way to

**Aurooba Ahmed:** which I never remember.

**Brian Coords:** I really, I'm waiting for that right click on the list view. Like I don't want to click the little kebab thing, like, gimme the right click. Figma does it, all of that sort of stuff.

The one you said, like remembering what tab you had open on a sidebar, like sometimes you're in styling mode where you're like, I'm gonna go change the color for a bunch of things. Click on a block. Switch the tab, change the color, click on a block, switch the tab to, or I'm in like margin mode. I'm adding margins to a bunch of things.

Just open it, open it on every single one. Don't make me click to the tab. Then I gotta go to the spacing. Then I gotta add margins, like show margins for everything right now. Cause I'm in margin editing mode and I just want it to be easy. Those sorts of things. Power user moves for sure.

## What's a "power user"?

**Aurooba Ahmed:** A hundred percent. And these are, these are not even developer or bespoke or client focused. Power user move, power user moves. You know, these are even DIY power user move. This is for anyone who lives and creates anything in the block editor. These are things that they're all gonna wanna, want, want.

The more I do stuff in there, the more I want them, you know, just as a user, not as a developer.

**Brian Coords:** I will preface this by saying my favorite third party tool for WordPress is Turbo Admin, which gives you like a command pallet on any WordPress site and it lets you like search your WordPress site, go to a page, go to a settings, whatever.

It's like a little command K in, like a little bar pops up. It's my favorite thing. And they're putting that in to like WordPress core, but to me, Like, I don't know very many people who use those tools that are not developers, and I would much rather see all these other little improvements that just make like life easier than a big feature, like a command palette.

That to me is , well, you said ultra power move, like ultra power user. That's, that's for like the developer of the developer. So like

**Aurooba Ahmed:** Yeah,

**Brian Coords:** to me, not as huge of a priority, even though I love my command palette.

**Aurooba Ahmed:** totally. And I mean, we're gonna get into this a little bit after, but as far as developer experience goes, if they're doing this for developers, I mean, there are 7 million other things developers want before the command pallet. For sure. You know?

**Brian Coords:** true. That is true.

## User Onboarding and Default Themes

**Aurooba Ahmed:** But the other thing that, you know, we've been thinking about is, How, and this has come up on Twitter quite a bit.

We've had, we've seen a lot of conversation around it. Is WordPress onboarding. WordPress default themes, you know. Showcasing what WordPress can do out of the box and doing it in a way that actually makes WordPress shine. And then walking you through how WordPress kind of works, because it doesn't matter, you know, if you're familiar with WordPress, It's sometimes hard to take a step back and realize just how much stuff is going on, how many paradigm shifts you have to have if you're not used to like post types and what's different between a post and a page and, oh, I, in order to edit my menu, I could go here, but I could also go to the customizer if it's a customizer or like thing or I have to do the menu in the site editor.

You know, there's a lot going on and there's no built in onboarding like a lot of software has that helps people figure out how to do stuff, you know, and give them quick wins that help them feel good about the CMS and show them how to do things.

**Brian Coords:** Like you say, you set up a website. What's the first thing you want to do? Is design your homepage and put content on it, and that first step of what does my homepage show? Does it show a query of blogs or does it show a static page? Is actually one of those things where like you have to go into like old school WordPress and set it manually and know how to do that, and the idea that there's no onboarding, that's like. One question, what do you want on your homepage? Like a page or a list of all your blog posts or like, what are you building a blog or a marketing, like all those sorts of things that I think like a, a Squarespace or somebody would kind of lead you through, or even a hosting company might lead you through, but like you get into the site editor and you're like, There's a list of blogs here.

It's a loop. Maybe I'll delete it, maybe I'll do whatever. And you're just kind of like mucking around in there. yeah. To me, onboarding, getting like that initial content onto the homepage I think would be like, a guided tour of getting your homepage kind of set up would be amazing. I think.

## The Query Loop Block

**Aurooba Ahmed:** I agree and don't even get me started on the concept of the query loop. Great loop. Great block, horribly named, you know, like it's def clearly it was built for developers who work with the loop and understand like main template queries and stuff like that. I mean, what regular user needs to know that? There, that's a whole, I could go a whole episode just talking about the concept of the query loop and how it was done, you know?

**Brian Coords:** I know. I feel bad cuz almost every time I need a query loop, I just make a custom block. Every time I need like a, a list of blog posts, I'm like, I can muck around in this query loop block right now. Or I could just build a block in like five minutes and like spin it up. Which maybe is a good transition to developer experience since we're both developers and would rather just build a block than like dig around on a bunch of settings.

**Aurooba Ahmed:** Oh yeah. I mean, it's pretty fast. One more thing. It's pretty fast if you wanna do a very basic query, but as soon as you wanna get advanced, like it's just not there, you know? And there's a bunch of like advanced query loops in the WordPress plugin repository. And I know there's one person who's coming with like a premium version of it.

But yeah, there's, there's, it's so much easier to just build the thing that you want that does something easier.

## Writing Code Instead of Using UI

**Brian Coords:** And you know what, I, on my personal website, I try not to use any code. My goal is like, I don't write any code. But then , I cheated and I put the code snippets plug in on there because that's a full site editing site. And I was like, I'm gonna live like full site editing and to change things on the query and stuff.

I just go in and I just write filters and I modified through there, like I needed a custom post type mixed in with my main query. So I'm like, I'm just gonna write the filter to do that. Or I filter the title so I can do cool text things for different categories and stuff.

And I was like, you know,

**Aurooba Ahmed:** Yeah. What does it say when you write code rather than muck around in the, like the UI, you know?

**Brian Coords:** Well, I think like I just wanted to do like a slightly abnormal thing. I just wanted to make it a little bit more unique and at that point it was like, no, not possible.

**Aurooba Ahmed:** yeah. Which, in my opinion isn't even that abnormal. It's so common, you know? Everyone does it. It's so common.

## The Different Types of Developer Documentation

**Aurooba Ahmed:** But it's like, yes, you wanna do these things and you know how to do these things because you grew up in the world of WordPress with the codex first, the WordPress Codex, which is amazing.

And then that turned into the code reference, which is also still amazing cause it's all the stuff that, the code, the codex used to have just slightly edited. And then we enter the world of block editor documentation, which cannot keep up with how fast things change, and definitely has so much stuff that is still undocumented that would be easy to document, but it gets missed and then you don't even know how to do it, and then you're find yourself like digging into code.

I mean, to this day, I think we've talked about it every few episodes about the fact that the docs are just not good enough. You know, like it's, it's a whole thing.

**Brian Coords:** Yeah, the docs generally, to me, anything in the block editor handbook feels like it was written by contributors for contributors, meaning like a lot of the things that they explain. They're explaining for other contributors to use, like I wanted to use the WordPress data layer and gre get like posts or get a setting or whatever, but all the documentation is about like how it's being used or how it's being written or like what you need to do to modify involved.

And it's like, I just wanna know how to use it. Like I just want an example. And, and so the only good documentation is the code itself and is example code from other developers. There's like the gutenberg examples repository or there's a lot of kind of good educators out there, but like that's pretty much it is like you just have to start, start looking at people's code cuz , there's not the good developer reference for, for third party developers.

**Aurooba Ahmed:** Yes. I would say the Block Editor handbook is split up into kind of three parts. There is the package reference, which for the most part is just an API reference. It's automatically generated for the most part, and it just takes the Js docs like the doc blocks, and pops it in on a long page without, for the most part, very helpful descriptions or anything.

Sometimes even the parameters are not complete. And then there is sort of this slightly more outdated guides section, which I know that they are making an effort right now to update. Like it has a, you know, how do you create your first block except that it doesn't show you anything useful about creating your first block except like scaffolding it, which is not the hard part.

And then there is like the design, the component reference has this, some of the. Some of the components have this sort of guidance around how should you design with this component? When should you use it, and when should you develop with it? Some of them have it and some of them don't. Most of them don't.

I think in the beginning there was an effort and then they just sort of, Ooh, gone. You know, and it just. I don't know. I wish that they had just done it in the code reference or the way the code reference is set up for, for the rest of WordPress, which allows you to have explanations. It shows you the code.

It lets other people add, you know, feedback and examples at the bottom, which becomes this really awesome user generated repository of awesome that you can refer to. That usually provides so much context. I don't understand why there was a separate new handbook created.

**Brian Coords:** Yeah, I mean, the handbook is fine, I guess? But yeah, the actual like codex, yeah, the way where you can click and expand and see where it's in the code, the way where you can see what other functions use this function or where this is used, the way that the arguments and everything is all nicely formatted.

There's a table of contents, and then like you said, the best part is definitely the user submitted stuff at the bottom because people write really good examples of, oh, it's not gonna work if you do it this way, but it will work if you do it this way. Or if you're on this template, make sure you don't do this.

And it's like all this amazing community collected wisdom, organized perfectly by function, and you get none of that. So all of that, you're just kind of left like figuring it out, watching videos, you know, bugging people on Twitter. That's about it.

**Aurooba Ahmed:** Yeah, sometimes you just wanna even look at a component and say, oh, okay, let me go to the source of this component. There's no link. Usually you have to go find the repo yourself, find the package, go to the component, look at it yourself. I mean, it's, it's, there's a lack of interconnectivity, I think, in the Gutenberg era of documentation.

**Brian Coords:** People will say the only the best way to do anything with the block editor- from a developer standpoint- is to keep the Gutenberg repo open, and that's like a hundred percent what I do. Like the GitHub page for the gutenberg repo is almost always open.

It's like the same, a lot of the same stuff as the handbook, but it's so much easier to navigate and contextualize just literally on github.com and that's kind of the way to do it.

**Aurooba Ahmed:** I know if I type in GU in my URL bar, it just knows. It just knows where I'm going. That's how much I go to it.

## WordPress Scripts and Build Processes

**Brian Coords:** let's focus in on one of the packages. This one's been on my mind cuz I've been using it a lot and I think it's a good example of a thing that's almost there, but needs some more time and thought. And that's the WordPress Scripts package.

**Aurooba Ahmed:** Mm-hmm.

**Brian Coords:** On the one hand amazing and super powerful, and on the other hand, very opinionated and very specific in what it does. That's, it's like the perfect example of a thing where it's like we need a really strong build process for doing things with the editor and then. We need an easy way to enqueue things to the editor, and both of those things are just like not there yet.

They're like close, but they're not. They're not there yet. That's my

**Aurooba Ahmed:** Yeah, I don't know. I completely agree. It's really, really good if you use it just for pure straight block development, you know? And even there, like once you get into like really, really complex blocks or something, sometimes it gets a little finicky and you know, right now there's some work being done to fix the issue where A C F blocks

get messed up. They fix part of that bug about the render templates, but there's a little optimization needed still. And but if you try to use it for everything else that you do in WordPress, if you want to, you can't, or it's just so hard, or you feel like you're adding band-aid after band-aid, patch after patch, and then you're left with this cumbersome build process, which in my experience kind of became slow then and then, That's awful.

You know, that's not a fun like tooling experience when it's slow because of all the patching you're doing to make it work for everything.

**Brian Coords:** Well, and I think that's goes back to like what we were saying about extensibility. Like sometimes I want to do things to the block editor that's not just building a block, like building a block is one thing, but there's so many other things that I want to do to curate the block editor experience. And there's, these are default things like registering a block style or you know, something like that.

They're normal things, but the build process isn't really meant for that. So it like, it, it works, but like, it's very like weird about how it works and it's kind of hard to get like it to do like some of the other assets like style sheets and stuff as nicely as you would like. And then, You can like enqueue it, but then if you enqueue anything to like, not the block editor, but say like the site editor or like the widget screen that for some reason still exists then you doesn't, and you have to add dependency.

So you're like enqueue thing is all like this huge thing. It's just like,

**Aurooba Ahmed:** Yeah.

**Brian Coords:** Can I just put some JavaScript in here please? Like, can you just make it like easy? I mean, I guess you could do it without a build script entirely if you really wanted to, but like nobody's right? It's, you know, build processes are nice.

The dependency like extraction stuff, it does very nice. It's all very good. It just needs a little tweaking maybe.

**Aurooba Ahmed:** I think the WordPress scripts- wordPress scripts has blinders on. You know, it forgets that there's anything outside of blocks in the world of WordPress, and that's just not the right way to look at it. To build a WordPress project, you know, a project, you're not just gonna be doing block stuff, you'll be doing block stuff, editor stuff, other things surrounding it with styles, and if it's gonna be called WordPress scripts, it cannot be

just for blocks, because then it should have been called WordPress block scripts, you know?

**Brian Coords:** Yeah, I've been making like one off plugins for demo videos or like tutorial videos and stuff. And each plugin I like. I have WordPress Scripts and I have a source and I have an index dot JS, whatever. And at some point I was thinking, man, I should really just have one mono repo for all of this.

But then I thought, oh, okay, well some of these are blocks, some of them aren't, some are ACF blocks. It's like, now I gotta like think about how I'm gonna do this build. Like it just became a little too much to think about doing it that way. That I would love to see, I would love to see it become like a more.

Sustainable way to handle, build processes for everything from themes to plugins, to extending the editor to eventually creating admin screens, dashboard screens that are gonna be potentially that, hooking into the command pallet that's coming, all that sort of stuff. Like it, it needs to handle those use cases.

Cause otherwise there's no real good build process for all this stuff. And like, we're gonna be doing a lot more JavaScript, you know.

**Aurooba Ahmed:** Yeah. Yeah. I mean, at the very least, it should be able to handle the things that WordPress allows you to do, you know? I'd be able to do that elegantly. This is a wishlist, and this is us, like definitely talking about pain points and gripes, but I, I, I just wanna take a moment to say, we do enjoy all of this.

**Brian Coords:** Yeah.

**Aurooba Ahmed:** I like all of this, but these are the things that we feel that are missing. Right? I just wanna take a moment to say that.

**Brian Coords:** Yeah, I mean, it would be a lot easier to build a website without any of this stuff. Sure. Like I could build a website without any of this stuff. Yeah. What WordPress does is takes everything you've built and then creates this like very like interactive like user interface so that anyone can edit any of the content and like, That piece right there is the reason for all this struggle.

And so like that's always the end goal I, I'm not, I'm less worried about the website I'm building. I'm more worried about the user interface of letting a normal person, like a non-technical person edit this content. So like that's where the struggle comes from, is creating that experience. And like there's no other place on the internet that's, I think even comes close to

this crazy world of I'm gonna write all this custom code and then you're gonna be able to literally, visually edit it and like modify the front of your website. So like, no, it's very cool stuff. It's very cool stuff. It just it just has like a little way to go a little, a little more room to grow.

## Classic and Hybrid WordPress

**Aurooba Ahmed:** And just taking that same sort of idea that, you know, there's parts of WordPress, this new development that's happening in WordPress for the last few years has as blinders on. Sometimes it's like the development is forgetting that this is not the only way people use WordPress. There are actually still classic themes.

You know, we talked about it. Classic themes have been around for way longer. So of course there's way more of them than anything that's using the block editor or even block themes. You and I, I think we live in the world of what we, what is called like the hybrid theme world. You know, like the hybrid world where we use the block writer, we embrace it, but we also are doing so much crazy bespoke stuff that we still have to use PHP and we still have to do take advantage of all the other awesome customizations that filters and actions that WordPress, you know, provides.

And we bring that all together. And somehow, sometimes I feel like that part was forgotten. It was for that.

## Shortcodes are still out there

**Aurooba Ahmed:** There's this whole other intensely mature part of WordPress that also still deserves attention, that also still needs to be taken care of and brought into integration with the new stuff that's happening.

You know what I mean?

**Brian Coords:** You couldn't possibly be referencing the WordPress release, 6.2 .1 shortcode security vulnerability snafu that happened. That

**Aurooba Ahmed:** No, not at all.

**Brian Coords:** I guess for the context there, you, you can't use short codes. You can use short codes in the block editor, but when you're in something called the site editor, which is where you're even in a hybrid theme where you don't have the site editor turned on. If you do block template parts, which are very cool and we like them, you can't use shortcodes, which is a little ridiculous because like people are like, well stop using shortcodes.

Like, I'm not making shortcodes. You know, the form plug-ins are making shortcodes. The donation plug-ins are making shortcodes. Like, yes, they need to not use shortcodes, but like, you know, they'll get there. So, Then it didn't work. Then there was hacky workarounds, then it was a security vulnerary. So then they just made it not work entirely for everybody on WordPress.

And then they had to do another security update, like very fast, jumped right on it to get it all working. And it was just like, there was this kind of like sense of like, oh, I guess I didn't realize the short codes were still being used in, you know, the site editor. It's like, have you used a plugin before?

Like codes are out there. Unfortunately they

**Aurooba Ahmed:** Shortcodes have been around for so, so long. Of course, they're still around. Of course, even in the modern era, people are using it. Like things from pre block editor are still gonna be used in the block editor, and it shouldn't be a surprise that they are as important and as popular as they are.


**Brian Coords:** Yeah, and I think that combined with that, there was the performance report thing recently, right, where they were saying like, you know, like there's still a lot of room to grow in the classic world because people don't update their websites every year. People, you know, , that's a lot of work. Like people are gonna be running classic themes, websites built 10 years ago for like another 10 years easily.

So like, you know, we should think about that a little bit.

**Aurooba Ahmed:** Yeah, like one of the things they talked about in the performance report was, hey, the template loading stuff in regular PHP template loading, it needs to be faster. It, it has a lot of room for growth. The block template Parson stuff are slightly faster, but hey, the template loading in PHP needs to be faster as well, because making that improvement will impact such a big part of the ecosystem and it deserves attention.

**Brian Coords:** And it's cool that the performance team has turned into like a real team, and they do a lot of great work. And then there's the new sustainability team that's just like, just spinning up now. And they, I think they officially started sort of outlining their goals and stuff like that.

And I think a lot of those go hand in hand because, you know, At the end of the day, sometimes the footprint of all this modern development starts getting a lot bigger. The like, energy consumption gets a lot bigger. The performance gets, you know, like websites aren't free. They run, they use energy, all these sorts of things.

So like for all these websites that are gonna be running, all of these little bits help. And it's kind of nice to see that WordPress, like in many, many areas takes kind of a, a like a bit of a stance on these things and says like, oh, let's prioritize this stuff. So I feel optimistic on the performance and sustainability front a little bit.

**Aurooba Ahmed:** definitely. And. I think that'll only get better, and the more we all talk about it, the more attention it brings to these situations and issues.

## Communication and Feedback in the Community

**Aurooba Ahmed:** You know, sometimes I think it's just a matter of. Communication and feedback. Those, the channels for doing that are sometimes not clear cut, but obviously we're all part of the same community.

And the more we talked about it, the more awareness it'll bring and the more these things will rise to the top, and hopefully, you know, that integration between quote unquote classic WordPress and modern WordPress will become tighter. You know, I, I don't want classic WordPress to go away. There's such goodness there.

I just want the integration to be better.

**Brian Coords:** And you're really much better than me at like, if you see an issue, you make an issue on GitHub, like you will, you will make an issue. I think I, and I bet a lot of people feel this way too, where I go to Gutenberg and I see that there's like 5,000 open issues and. I like think, oh, like I was thinking as we were talking about WordPress Scripts we should make an issue outlining like here's some proposed changes to WordPress scripts to make it more robust.

But like, I feel imposter syndrome oh, I probably should not write an issue because like somebody from the core team's gonna be like, what the heck were you thinking? Like, don't come in here with your issue. Like, who are you? We already have five issues related to this. I'm closing your issue, but no. I think you're really good at like, throw an issue out there, share it.

And within a day you always have all these comments from other people who are saying like, yep, this is it. This is how I solved it, this is how I do it. And you know, people say weird things on issues. I saw somebody complaining that you can't, that, that we need to be able to put more H1 s on a page.

I don't think I agree with that, but you know what? Everybody can have opinions and we should all be a little more proactive about turning these complaints into issues, which Which I know you've been doing and we've been trying to kind of get better at.

**Aurooba Ahmed:** yeah. I don't like to call them complaints. I like to call it being part of the solution, you know. And being part of the solution first means also raising awareness for the thing that we want to solve, the thing that we want to address. And the other part of it is, is although it's not equivalent, it is not the same.

When you go searching and Googling for something around the block editor, a lot of times you're gonna get linked or see google results for issues in the Gutenberg repo. And people will share solutions there, right? So I sort of see it as, as kind of similar to the user contributed section in the Codex.

So if we just create things and talk about these things that we're struggling with or trying to figure out and other people share things, then somehow in some way it'll kind of become a repository that will be also helpful that's directly connected to the project that we can all benefit from, you know?

**Brian Coords:** Yeah, I guess that's a good way to look at it. Yeah, I, I think it just goes back to what you were saying, which is GitHub is the place to learn and grow. If you're interested at all in modern WordPress development, like if it's intimidating don't worry about it. Cuz the more time you spend, the more familiar you get with it and suddenly it becomes like second nature.

Oh, head to the packages folder. I know exactly what I'm looking for. I think you were saying beforehand that I didn't really jump into the block editor until we started this podcast as far as from a development standpoint. And so I am kind of proof of that, that like you do get used to it and then suddenly you do feel a lot more confident.

So that's the place to be hanging out for the Gutenberg info.

**Aurooba Ahmed:** definitely. And you know, you contributed to the docs just a few weeks ago, I think it was. So I think to anyone who's listening to this, if you feel imposter syndrome, know that every one of us who is not a regular core contributor feels that. And yes, some people can be gruff. And kind of intense in there, but some people are also really nice and really awesome, and it's okay if you made an issue that happens to be a duplicate.

There are people who will be like, Hey, this is related. And then they'll link you to it, and then you can go find out more information, participate more in the conversation, and feel involved. And as you start to do that, that imposter syndrome does go away. It went away from me. Sometimes I still feel it, but for the most part, I feel.

Like a productive member of the WordPress community?

**Brian Coords:** Yeah, I think you've earned, I think you've earned that one. I'll give you that one. Productive member of the WordPress community. So as our closing, we have one more episode. Do you want to give us kind of a teaser of what we're gonna do in our last episode for season one, and then also when we'll be back for season two, roughly.

**Aurooba Ahmed:** Yeah, so shout out to David Bisset because this idea is completely and entirely and totally stolen from him. We're gonna do a draft, but it's gonna be focused on the previous episodes of season one, and we're gonna pick our favorites in the certain themes. And if you pick one that I had in my list, then I can't talk about that one.

So we'll see what our favorites are and. What we learned from doing these episodes and sort of reflect. Just an overall holistic reflection on how viewSource season one has gone and honestly, we're taking what is best described as a summer break. I think you said it, it's a summer break, so in the fall we will be back.

**Brian Coords:** Okay, so I'll see you next week for our season finale.

**Aurooba Ahmed:** Yes. Looking forward to it. See you then.

**Brian Coords:** visit viewsource.fm for the latest updates and links to the show notes. Review and subscribe to viewSource in iTunes, YouTube, or wherever you get your podcasts.

Creators and Guests

Aurooba Ahmed
Aurooba Ahmed
(she/her) Developer building bespoke #WordPress solutions, tools, and blocks. My name is pronounced "oo-ROO-ba" — Default to kindness, folks.
Brian Coords
Brian Coords
WordPress developer and writer blah blah
Wishlist for Modern WordPress Development
Broadcast by