Chris Wiegman returns to The Drunken UX Podcast this week to share information about WPEngine‘s newest innovation – the WordPress DevKit. DevKit aims to take the best ideas of local development tools like Docker, Local by Flywheel, and others, and combine them into a streamlined utility to help designers and developers reliably speed up their production cycles.

Followup Resources

Transcript

The following is a machine-generated transcript of this episode. It will contain errors until it has been reviewed and edited, and we apologize for the difficulty that may cause for screen readers. Do you want to help us speed up our transcribing process? Consider sponsoring an episode.

Hey everybody, it’s Michael. Before we jump into the episode I wanted to let you know that we’re celebrating a year and a half of The Drunken UX Podcast by giving away a chemistry book flask to one lucky listener! Now, yes, I know “chemistry book flask” sounds confusing. It’s not a flask shaped like a chemistry book, it’s a flask that comes inside a chemistry book, all covert-like. I don’t endorse taking it to work with you. Unless you just want to show it off, because Aaron and I will autograph it, too. You’ll be the most popular dev on the team! You have until June 30th, 2019 to enter to win it, so if you’re listening after that, ding us anyway. Maybe we have a new giveaway going on! Who knows, it’s the future then. All you have to do to enter to win the flask is share a tweet or Facebook post with The Drunken UX Podcast tagged in it. Best of all, you can enter up to ten times. There are a few conditions, of course, and you can find them all on the blog at our website at drunkenux.com.

Welcome to The Drunken UX Podcast, everybody. I’m glad that you’ve taken the time to sit down on your train, in your car, in your home, in your office, or wherever you’re listening to us. Hopefully not in your basement in the creepy room where the spiders are because that would be scary. I’m your host, Michael Fienen.

Everything is spiders. I’m your other hosts Aaron Hill. Welcome, Aaron. How are you doing? I’m great. I’m glad to hear that. Spiders here.

There are no spiders there. There are no spiders in your head.

That I know,

I want to give a quick shout out to our sponsor over at New cloud. You can check them out at New cloud.com slash drunken UX. They do maps, illustrations, and all kinds of stuff over there. So stop by check them out. Let them know that you’re listening to the show and that you want to spend millions of dollars on. I’m sure that’s a thing. Let’s see Aaron tell the fine folks at home where they can find us. Come and

check us out on Facebook and twitter.com slash drunken UX and instagram.com slash drunken UX podcast. Also because Be sure to come check us out with slack. Drunk ux.com slash slack. And are we all know? Are we on the Snapchat?

I know that’s not that’s not a thing. Yeah, I don’t know what I would Snapchat

quite honestly, I don’t know what I would do. It seems like a lot of work.

Anything there. I would do like little quick videos or something I’ll throw up on Instagram. Which speaking of if you aren’t following us on any of the social stuff yet go ahead and and get ready to do that because we will be announcing a little giveaway contest the simple kind of thing in the near future. Maybe by the time this episode comes out. Maybe not. I don’t know. I can’t predict the future. I’m not Nosferatu.

It’s a pretty cool.

It’s It’s It’s a little thing, but it’s just our appreciation. Yeah, speaking of the appreciations. I’m drinking scotch tonight, which is a shock to everybody. What’s up?

This is scotch

recently, and less than recently and a long time ago, as it turns out, Spain burn 10 so it’s not fancy. It’s actually I think $35 a bottle or something. It’s a fairly, you know, entry level scotch. I’m tired of looking at it. It’s been on my shelf in my bar for probably the last year and a half. So I’m I’m committing to trying to finish it out in the next couple weeks. It’s not bad. Like I’m not saying that. Like it’s some terrible turpentine tasting scotch. It’s just not fancy like it does. It just tastes like kind of like liquor, though. It’s you don’t want to drink a lot of it.

I’ve got the Bazell Hayden. Again. It’s good. Nice old Hayden.

Where was that from?

That was a it’s from Kentucky. Its proper bourbon. But it was recommended to us from our Slack channel.

Justin, Jason J.

Jonathan.

JOHN. Donovan.

Yes, Jonathan or no, Justin, Justin them. Ha. You’re right the first time.

Give me an hour, I won’t be writing more. This evening on the show, we have brought back a guest to that we are both big fans of and we hope that you are to You heard him back on episode 12. When we were talking about the basics of web security when it comes to setting up your first website. It is Chris Weidman, the senior software engineer at WP engine. The creator of I themes security, or what as it was called back in the dark ages, better WP security. And he’s also a budding microphone engineer. As it turns out, little inside joke.

We should probably tell them what happened. But

it’s funnier if they don’t.

I’ll tell him what happened. I’ve had this blue Yeti for six years, and people have been complaining about the sound. And I just realized talking to these two gentlemen tonight who I owe a beer or something to that I did backwards for six years on a directional microphone. I’ll admit it.

And in Chris’s defense, the I have the same mic he does. And as much as I love it, it doesn’t have any clear marking on it to indicate which side is front when you’re using the cardio aid layout. So it’s totally understandable.

Usability Am I right? Yeah, for real. So this evening, we brought Chris on for a very specific reason not because we love his beautiful face, although that is also true. But largely because he works at WP Engine. And WP Engine just got done doing something super cool, which is launching a dev kit for WordPress sites. And so we wanted to get him on here as quickly as humanly possible. I don’t know if we’re going to be the first show to have him on or not. But I’m I tried to act as quickly as I could. For that first one. So yeah, we wanted to talk about that, because it’s a very interesting development, no pun intended in the WordPress world. And it has some very neat implications. I’ve been playing with it. We’re recording on June 13. This launched, I think, on the 11th. Right. So I had all have two days to play with this day and a half early. And I’m already pretty much figuring out how this is going to slot into my workflow and take over some of what we were doing.

This is a

very neat if you want to go read up on it and get some of the ins and outs in the background that there is a blog post up on WP engines website, we’ll have a link to that in the show notes. It’s worth stopping by and reading, they’ll have a they have a link to it to their dev kit landing page as well. So you can go download the beta, this is beta, it’s brand new software version, point, x

13, Lucky 13.

So let’s talk real quick, because before we talk about what this does, let’s kind of understand how a lot of people build WordPress sites, or at least have in the past, because we’ve all done variations on some of these things, right that you either if you’re a Mac or Linux, you may have got lamp or map packages that you downloaded that kind of just bring everything all in one sets it up, you get Apache, you get my sequel, you get PHP, and it’s just kind of there and working for you. So you have somewhere to put your site. There’s also the idea of editing and production, which as much as you know, a professional would say you just don’t do that, then we all have and we all do, I have no doubt, I have a bad habit of doing that with CSS, I admit it completely. But that process, SAS was very informal, so to speak, everybody kind of had their own way of going about it. A lot of folks, you know, if you use like a LAMP stack in your environment, you would do stuff like then you’d also edit your hosts files to put in local domains and things like that, you always ended up with stuff bound to Port 80 unless you stopped services. So this is this can be a challenge. If you’re trying to run like different web apps on your local environment, I could test suite, let’s say you know, some tests, we have a web component to them. And it also the other thing, especially with a like a lamp, or if you were trying to do it as a roll your own kind of solution, you kind of had to end up being the sort of weird Server Admin without really being one but you had to understand how to set up a patchy, how to write your, your site configurations and things like that. And it’s a skill that doesn’t always lend itself to a designer or developer or all the time. So this, this was not a good

process. I remember using WordPress, I think it was probably like one eight or something early, long time ago. And it was before I started using Linux full time. And so I was using Windows on 95. And we had lamp and Windows Apache, MySQL, PHP. Um, and the nice thing about that was that it was just an application that ran and it was actually very similar to what it sounds like this dev kit does where it’s just sort of all encapsulated and it just works. And then you just have your you just set up your WordPress site and then it just runs Far, far easier than setting up a LAMP stack manually.

Zap I used zap for a long time. I remember years, same thing. x x am pp. x am what’s the x? a letter? Okay. I off the top of my head. I honestly

don’t. Is it just like that, like x? Like, it could be anything like it’s Windows, Mac, whatever

I’ve been told it was because it was. But yeah, exactly. That’s what I’ve been told. Don’t quote me on that. But I

think you’re right, though, because it did have like a Linux image, no sx image. So that would make sense that cool. That’s what they were going for. I also included pearl. Whereas, oh, man, that’s all that’s just mean.

I No, no, no disrespect, but the pro at all. It’s just it’s every once in a while that pops up. And it’s just like, Oh, I remember you.

But you’re right, though, that these were like these all in one tools that helped kind of just bootstrap that process. Because especially, you know, when you start going back years, that process of setting some of those things up, especially in a Windows environment was very challenging. And, you know, I don’t know about a lot of folks, but you know, Windows was my first experience in a computer. For a lot of folks, it may have been like, OS X, or what was before I was x is nine,

I was w i go back 231.

These these things, though, didn’t lend themselves well to this development stuff. So it was handy having tools to get you up and running. I used zap for years on an old 98 server that I had that would just like sit in the corner paint, but I ran a an mp3 server on it. Before before we had like iTunes and Google music and everything, I would just rip all my CDs mp3, put them on there. And then when I was at work, I could just pull up my own little local web page. And listen to my music from the house. I was like revolutionary at that point in terms of streaming music, but it’s it’s still funny to me how there was a period when mp3 is aren’t strictly illegal. And mp3 file sharing wasn’t strictly legal. But you could just do it. And nobody would care other than the fact that they were just big in space was a premium. But I had my own like these were my CDs, I rip them legally. I’m not afraid of that. And then there was all the other stuff that I got from my roommates. And we won’t go into that. So anyway, staging is the problem with WordPress staging is where things start to get a little screwy because it’s, I would, I will say, you know, relatively speaking, easy to set up a local development environment, there are a lot of ways to do it. They aren’t consistent, but it can be done and you’re there. where things get challenging with WordPress is setting up an environment that you can work in. That is a staging or development environment that can then push to another environment

for some of our newer developers. Can you define staging? Yeah, so staging mean,

staging is like a place to go look at something. So if you think about a staged house, when you go walk into a staged house, it has fake furniture, and it lets you see what that house would look like, you know, once you moved into it, as opposed to walking into an empty house, that’s a new build. And because I always say, you know that, that when you’re selling a house, it’s much easier to do if the person can visualize themselves living there, that’s harder to do if your house is empty. So staging sites let you deploy features or content, a lot of folks will use a staging site as what we call an authoring environment, where they will write content or create pages, that’s interesting, not not what you know, without development involved, but lets them write everything and proofread it and get approvals and things like that, that will also happen on a lot of staging sites. That’s a workflow that we use with my company.

The visualization I always have whenever I think of staging is I don’t know if you read Harry Potter or not, but I tried. There was a you know, like to have the feast at the beginning of the year, every year. It’s like the first day is the big feast. Like all the food just appears in the big hall as if by magic. This is in the book. It’s in the movie, too. I Okay, okay, well, anyways, they’re all the kids are sitting in a giant like dining hall, and all the food just suddenly appears on the things magically. And so I don’t think they should say it in the movies. But in the books, her mind, he just kind of nonchalant way says, like, Oh, yeah, all they do is all the house elves and other like chef people, they’ll prepare it down like one floor below, on the tables down there. And then they just use like an a spell to like, basically just transport at one floor up. So like, the food isn’t prepared instantaneously, it’s staged one floor down, and then they just move it into position. So that’s like the visualization I always have for staging.

I, that sounds relatively accurate, I think web development brought to you by Harry Potter. There’s a There’s our next shirt idea added to the pin board, what’s the spell they use, let’s we’ll we’ll use that as our up, get deploy command. So with with staging, there’s an article over at the mile, they describe a lot of these different ways of creating a staging site and whatnot, very much worth going and checking out there. The thing that I’ve always had a problem with, when it comes to setting up staging and development sites is the various tools that are available to escalate code or escalate features or content between the environments, they have a bad job distinguishing between granularity. And they, a lot of them are very much all or nothing pushes,

oh, you’re talking about like doing like piecemeal push, like,

right? Like saying, I want this page, I built this page, send it over, as opposed to, we can’t send you the page, we can send the whole database. Version press, I think gets around that I would have I haven’t used version press in a project for every so I have very vague memories on it. I think they kind of had figured that out. WP Engine has this feature, for better or worse. They allow pushing between environments. And they let you pick whether you want just database or files or all of it. But that’s really all. So you’re staging that where this comes into conflict a little bit as your staging can’t act as an authoring environment. Because you can’t push just your content, you have to push everything if that’s going to happen. And that can be very,

that’s on the server too. That’s not in dev kit.

Right, right. Yeah. Yeah, that’s that is on the the platform itself as a feature. But it does work well like that the feature as it is constructed, does its job. And we we use it quite regularly to deploy, we use GitHub, to host our themes. We deploy those into our dev site, we check it out. If everything works great. We’re able to move that between Dev and staging and so forth. There are other tools, stage coaches, one that comes to mind. It’s a paid software as a service platform. And there’s a plugin called WP staging, which I don’t have experience with but is supposed to operate kind of in that realm.

Is there is there a tool for WordPress that’s like a, like a deployment script like like in Rails, we have Capistrano, where you just do like cap deploy. And then it handles a whole lot of stuff like copying, or SSH into the target environment, and then cloning down the repo into a new directory and setting up siblings and then like restarting passenger and everything else. Is there something like that for WordPress, I’ve

seen WordPress sites on Capistrano. Oh really seen but most people aren’t developing a full site, you’re developing a theme or a plugin right? So it’s you have to be a little bit careful on how you handle some of those tools. For instance, my plugins when I don’t have anything left on wordpress.org, I gave my last one away. But I had a bash script that would handle all the tagging and everything just to send it to wordpress.org. So it just it depends on it’s so platform specific to what you’re sending them to that. Yeah, there’s tools out there. But what’s your building where you’re sending it at 15 you know, what day of the week it is and phase of the moon are going to depend on which one’s going to work for you.

And you can leverage the WPC Li for a lot of stuff. Yeah. So you can you can script out something that would say, for instance, push all the new content after x date, you could query the CLA for you pages or whatever, forget that exists. But it’s really cool. But it’s that’s very like, you got to be a plumber. You know, that’s, that is high level stuff once you’re getting into that. Because not only you have to know the Seelye, you’ve got to know scripting and whatnot, you’ve got to have either, you know, Jenkins or in something set up for the CI piece of it. It’s not easy, like the end, and there isn’t a good like that that’s still to me is an unsolved problem across the ecosystem. For the most part,

it’s so unsolved, that when I started on this dev kit project, they had a quasi merging database thing. And that no way we can’t put this on customer sites. It’s it wasn’t good. It wasn’t ready for that it was at scale. So we don’t even have it in dev kit yet. Because that is such a crazy problem. Nobody’s

solved it. It feels you know, the when it when you talk about WordPress and doing development versus production environments and trying to move data between them, you start to realize why there are CMS is with these features and their enterprise level. And they cost a lot of money. Because while it seems intuitive, where you say, Well, I just want to push this page, it can be done, there are certainly you know, there are the plugins that will do it. But they are complicated pieces of work. Because when you get under the hood, and you start looking at you know, the way content is established, the way ideas come into play, the way content is related through the media library to it. And that stuff is all ID then has its own stuff. You know whether or not there are plugin dependencies, and there are all these little intricacies that start to come into play, to say, Well, I want to push this page and make sure that all the right stuff ends up there. And none of the wrong stuff does. That’s

complicated. And that’s what happens when you have a database schema design, originally for a blog and 15 years. 16 years later, it has it’s okay old all that well in that arena.

And my sequel, quite frankly, lacks some of the power necessary, I think to do that. Well. In some cases,

it’s gotten better. It’s got. It’s gotten a lot better. But yeah, you’re right. It’s still it’s not it’s not as sophisticated as Postgres and some of the others.

Yeah. So this is where we start to lead into then your work, Chris. So you teamed up with a fellow on your team, Jason Stallings is my understanding. And you said, There’s got to be a better way. And so how long ago did you start in on this?

I don’t know if you’re going to talk about an hour later. But at some point, if you could talk specifically about what it is that this product is?

Sure, maybe we should back up and say what this product is.

This is I’m cool.

It’s a you know, I’ve looked at these as Mike was given, given the Fienen was given a little bit the history of these types of applications earlier. Yeah, the original set it up on your machine, well, then you’re maintaining what happens when you go to the next machine. Certain things like Ma’am, and lamp came out, that’s great. But what happens in a team of 20 when everybody’s set their things up differently and you go try to launch it, it becomes a nightmare. Generation two, if you will, was kind of the vagrants and, and, and plain Docker type stuff. vagrant being a full virtual machine, you can package it up in one file, run it. Problem was you need basically a $3,000 Mac to keep the thing from crashing. If you’re if you have any more than a few sites go it’s very resource intensive. Right now we’re moving on to Docker, which containerized is all these applications. And we’re looking beyond just running them with other types of tools that can that can do some fancier stuff, that’s kind of where this is, I call it kinda like a generation two and a half at the moment. idea here being generation three is all the content transfers that you were talking about just a few minutes ago, nobody’s quite there yet. We’re kind of about two and a half. So this gives you all your local development, vironment engine x, PHP, St. PHP is on the WP Engine farm, it can push and pull code from the sites that can pull your database down. So we just can’t push it, it’s too dangerous to try to push to production. But I could connect all your WP Engine sites, it’s got things like traffic to manage what you know, multiple sites under a single container. Port conflicts you mentioned earlier, it’ll auto resolve port conflicts or you can set apartment in Port if you know what’s going on. It’ll it that’s actually something we just built in last week, it’ll if port eight is already taken, it’ll say hey, let’s start at 3000. And keep going until it finds an empty port. And that’s what it’ll grab. So you don’t have the macro issues with that. It’s got MIT and proxies, which is capturing all POST requests outbound. So if you’re, if you’ve done some not to that I’ve done this before, you know, but if you have like jetpack on with social sharing, and you write a test post for your client, it’s not going to go out to your clients entire Twitter intercept that like that, that I not that I wouldn’t know directly about

that. Like there’s a story behind that.

It was a very large client that made a very large operating system that I happen to have write a test, do a test post for it and what happened there Twitter. But that’s all I could that’s as far as I could say on that one. But intercept emails, all outbound emails. So I’m the same type of thing. If you’re working with a male and male or plugin, we’ve got what they call MIT something called mail hog in there that’ll intercept all of that. All outbound emails, and you can use it just like you would Gmail, it’s got a web interface, you know, if you want to do a password reset, it’ll send it to you, you can check your email, you can interact with it, it just nothing’s going to go out to the web. nice, simple tools like that all the caches on there, you can test it with vagrant, which is what we use on our farm, you could test it with mem cache is what we used our farm x two bugs in there, you can turn that next to bug with cookies, you can tell it to you can turn on auto starts you can debug API is easily PHP units in there.

It sounds like a fully silos like all the functionality of a WordPress installation.

And that’s the idea is as much as possible, the only thing we’re not on yet is content. When you pull a site down, initial clone from our farm, you can get your database. Or you can do what pull and save replace database. But it’s replace your local database. If you’re working with something like woo commerce, and you’re doing a whole lot of configuration in the database, it places your database, you have to be a little careful with some of that stuff. And that goes back to you know, it’s one thing to even say content. But if we’re working with something, say pods framework, which is a great content designing framework, how do you get know these special tables and everything else? So right now, we’re not even tech, you know, this is two days into beta. We’re not even really tackling that problem yet. We’re trying to just get some of these workflows down. And right now we have a workflow. It’s basically for a full site, or she can launch up you can do project new blank. So if you want to call it a blank project, if you want to run large Ellen it you can run anything in PHP and the thing but it’s really designed the current workflow around for WordPress sites.

Cool. You mentioned your rough course Docker and vagrant is sort of what things are evolving into from a workflow standpoint is like you say, now we’re at this point where we’re thinking about this as I’m part of a team, I work with other folks, we need to edit these WordPress sites from time to time. We need a this and I use this phrase in the last episode, I think the single source of truth. You know, we all need to be working from the same point to make sure that our output is the same because we’re all working together. We’re all coming to the same places and all of that. flywheel is another one that comes to mind. I have not used flywheel but it’s been recommended to me about 1,000,000,007 times by this point. But if it also it’s it is a tool, right, that is you know, the very, very similar wheelhouse to this.

That correct pun intended.

Fly flywheels got one Pantheon has come out with one in the last few months. And then there’s server presses still out there. There’s all kinds of tools out there for this, this this one started, it was actually a hackathon project about a year before I got here. And then I was recruited. Steven worded approached me last summer and said, Hey, do you want to come work with us and I have been working on a different vagrant and Docker projects for the University of Florida and my own. You know, there’s triple V for WordPress, which is very in vagrant vagrants that’s been out a few years, and back my 10 up days it, it didn’t have things I wanted. So I had been doing my own vagrant box, which should get a few hundred stars on GitHub. So yeah, I’ve been playing that side a lot. On the flip side, with all the hosts coming out with things, there were some efforts internally. So when I came on, Jason Stallings had been brought on just a few weeks before I had so it was, it was called team Jason. It was Jason Cohen, who was one of the company founders who was one of the original hackathon folks. And Jason Stallings. And then I came in by September 17 was my first day here. So I came in right at that point, and we started, we’ve been building it ever since.

So you, you kind of touch on the same problem I had. with Docker, you had it with vagrant, it sounds like but this idea that local Docker works, that you can set up a site, I’ve got this Docker compose file that is designed to deploy our site with the theme, the theme is set up with a link to our repo that does all this cool stuff. But it’s not great. The experience has left me a little bit lacking one of the things is like I’m using the stock WordPress image that’s in a Docker Hub. But I’ve noticed that there are issues with file permissions inside that image, like when I spin up the container, I have to then go in and permission the the WP content folder manually, because for some reason it’s deploying with the wrong permissions on it. And nobody’s bothered fixing that. And I would I don’t know how so I can’t, I can’t fix that for him. You know, bit Nami is one that some folks that probably if you’ve looked into using Docker with WordPress, the bit Nami images of probably past your radar, at some point, they have kind of approached this with that idea of kind of trying to solve some of those problems. I also think they recommend the plug with Maria DB instead of my sequel for what it’s worth. But you end up even if you get your stuff running perfectly, and you figured out the issues with like database and file persistence, and all of this, that because the fun thing is when you’re developing just a theme, and you’ve included your Docker stuff in the theme, you get in, you get into this whole get ignore chain with like, storing the MySQL files locally, and then get ignoring those files. And it’s it’s hairy, but you you get there you figure it out. But you then have to maintain those Docker compose files. So when WordPress updates, you got to go in and change, you know, make sure you’re running on whatever version of the image that you’re going to be running on on your local site and things like that. So it’s good. It’s getting there. But it still feels like a grind. And I think, you know, there is a technical level of expertise that comes with really running Docker, well, that isn’t friendly to like a low level, like a junior Dev, I think.

I think that’s exactly it. And that’s kind of where this one, that’s kind of what we’re trying to fix. You know, I’ve said before OS X Fs, which is Max Dockers file abstraction layer, if you will, for Mac, it’s there. Yeah, there, they do things different than every other operating system with Mac, trying to normalize that it’s been all kinds of fun. But those are the types of things especially this early beta we’ve been trying to tackle rather than, you know, we don’t have 50 different workflows for public plugin developers or theme developers yet we have all the files, you said in the thing are going to work. We can move we can move your code to and from wherever you need it to move. But that is Yeah, you’re right. Docker is a real sob. One of the things we want to do in the future is we want to work plugins. And one of the you know, one of the big types of plugins that somebody’s probably going to use as well, I have a different PHP configuration I need to use. Great, here’s how you can work in your PHP image. How is that going to break what we’ve already set up for you? So trying to keep that stabilize? That before it gets to that point is it is a challenge, and we’re getting real close on at this level. But now it comes down to trying to make that all work with different people’s workflows?

Yeah. Oh, yeah. Does the i remember i Docker trading couple years ago, long ago, and there was a, I remember, you could have a folder on your file system mounted, like as part of the Docker compose. So like, you spin up the Docker image, and then it’s pulling some data from kind of a location external to the Docker image. Is that does that get us with this? Like, yeah,

can you align entirely on Docker volumes?

Okay. Okay. So you would have like a theme or something, and then you would just tell the Docker file, right? Here’s the theme is over here. And then they would

basically your Webroot is mounted wherever it needs to be database. And then there’s there’s a sub folder dub w s are hitting the sub folder well, hidden on Mac and Linux is what you’re what we’re running right now, which contains your database know that the only tricky part with the whole thing has been, for instance, on Mac, or on Linux, we have to in the PHP folder, we have to make sure that the that the user matches your system user. Yeah, there’s but there’s some tricks there that we’ve worked in. But for the most part, once you get those volumes mounted, it’s it’s low as hell on Mac. That’s something we’re working on right now. In fact, Jason Stalin’s the work that teams up to eight as of April, but Jason Stallings particulars been working on the last few days really going back and revisiting the database. Because what do you do the most you’re right breed and writing from that database volume boy, and they were my sequel 5.7, which is what we want in our farm, put that together on OSS, Fs, and it gets a little painful for some people. So work, we’re working out a lot of those performance problems right now as we speak, and so is Dr. One of the big, we’ve kind of waited saying, well, maybe Docker, I’ll have some of these updates before we go to beta. They’re not moving as quick as we are right now. So we’re rethinking things a little bit. But I mean, it’s enough of a problem that is one of the big pushes and Docker itself, especially Docker used to require vagrant on Mac and Windows, huh. It used to be before Docker for Mac or Docker sweet or whatever it’s called on the Mac side, you know, because Docker is a Linux technology, they didn’t have the virtualization shoes virtualization, so you had install vagrant, and it installed a virtual box and then ran all your containers in that virtual box. Now it does it a little bit different, but it’s still has its own little VM that it’s running neck. And all these file system abstraction layers that can get a little wonky, especially on Mac. We don’t even run on Windows yet I tried to run in this thing and W SL a couple weeks ago, and it didn’t go very far. So that’s something that’s that we want to work out in the beta too, but

totally all the way down. Unknown Speaker Exactly.

So I got excited because when and for the listeners at home, we use WP Engine. at my company, we’ve got all of our WordPress sites hosted in it, satisfied customer, then not a not a paid testimonial. I liked WP Engine, it works very well for us. I think it does what we need it to very, very nicely. And I was super excited when I saw they had get integration, I became less excited when I saw how get integration worked. It was kind of just a proxy for FTP is kind of what it amounted to. And you what you had to do was you had to put your entire site into the get repo then not just login, it was not not not normal. But my immediate reaction to the dev kit was a very positive even though it uses a similar modality in pulling down the whole site. Once file system is on your computer, it’s very easy then to host your stuff in your own folders with your own repos or whatever at that point. But this is like I saw from from second one, I saw the value and how this was going to change the way I build WordPress websites.

Cool.

And you know, they get things funny. That’s exactly what we up until about a month ago, this was completely based and they called it to wait get and it was really replacement, replace FTP with get. Yeah, it’s a neat idea. But it doesn’t really work that way. That’s not what gets designed to do. So

there’s nobody wants to maintain WordPress as a whole in their get repo. And that’s why

you have updates to way Get they Yeah.

That’s the name that they were using. And in fairness that projects still in play. It’s just they’re rethinking how they run yet. But when the whole thing site was checked out, but it was only on one year environment. So if you push to stage, how do you switch brand? Yeah, there was a lot of things we swapped over to our sink, and other is no get involved at all on the dev kit side of things, which is nice because you can do whatever workflow you want. And as we start expanding to you, I want to make particular in particular plugins and themes, we first class citizen, WP project new plugin, or, you know, check out your plugin and assign the WP dev kit folder to it. Now you can run everything with all your tests, every you know, full copy of WordPress, other plugins you need everything’s right there. And you can just push and pull from your own GitHub repo and you don’t have to worry about that. Then we can start looking at things like ci cert, maybe it’s circle ci or Travis and other ways to deploy to and from our platform. Rather than just, I mean, the good idea was great, it just didn’t quite scale to the level of a lot of people’s workflows, especially when Yeah, most folks don’t keep an entire site and get. So we’re kind of rethinking a lot of that stuff. And a lot. There’s a whole lot of workflows, not just my team, but there’s a whole lot of team working on workflow right now. So that should hopefully be some neat stuff by the end of the year. So

let’s dig in, specifically into dev kit. First and foremost, I want to talk about or I need to talk about Swan say, while this is a tool being released by WP Engine, it is not necessarily limited to WP Engine, anybody can use the dev kit. For the most part, you just don’t get every benefit, obviously, because you are kind of tied like the push pull mechanism, the clone mechanism, those are very much bound to having a WordPress engine account. But if I just said I want you know, I’m going to do WP E, new project test, it’ll start up a perfectly good WordPress site for me.

And although and we are trying to plug it eyes eventually are pushing our all our connectors. So the push and pull for files and database, somebody wants to write a push polar do another service, the pot, I can’t say for sure when that’s going to happen. But that will happen eventually. Yeah, but right now the only thing you’re losing is completely free to anybody, the only thing you’re losing is pushing pull directly from our system. And

I will say that even without that just that ability to spin up an environment and just have it work. If you if you feel like Docker is daunting, or you’re scared of if you’re scared of trying to edit your own Docker compose file, then that’s one of those things that it’s like this solves all of that it’s a couple commands, and you’re good to go basically.

Or you can have six different sites, I’ll run in with SSL, all with first class SSL support, we generate a root cert that’s only on your machines, every machine that runs this has a root cert only on its machine, you can assign that to your machine, just like we assign it to your route store. Now you don’t even have SSL errors, like a lot of this does. So that all that stuff. Yeah, it’s the it is to make it as simple as possible.

And if you don’t know about SSL, feel free to go back to Episode 12. Or we also had Chris on, and he will be more than happy to educate you in that episode a little bit about some of the security aspects of web development. Anyway, that the way I wrote this in the show notes, I use the phrase, it’s a curated Docker experience for WordPress, you have basically said Docker is the solution for this. But we don’t want you to have to think about that. And I really respect that because from the moment I started using it, that was the way it felt. I didn’t have to think about, you know which versions of stuff I was typing, I didn’t have to think about those. Now, it may come in when I start getting into version development and stuff. Maybe that will come up. But from the start, at least it just worked for me. And that was a very nice feeling.

Yeah, what we have on it so far is is quite stable. I mean, there’s little things here and there. And we’re you know, it’s early beta, of course, we’re finding bugs that we’re pushing updates for, but it what we have in there is exactly that curative doctor that is stable. Yeah.

Does the user have to have Docker itself installed on their machine? Or does this come with what it needs? From a dependency standpoint there?

You do have currently have to install it. We have to install methods that we’re supporting at the moment on Mac, we’re only supporting through homebrew. So it’s brewed out sh homebrew think of for anybody who hasn’t used homebrew before. I think it was the Mac App Store only. It’s all command line. And it actually has everything. So you can install everything from Chrome Docker to whatever you use, I have yet to find something I can’t install through homebrew numbers. Awesome. Yeah, it’s and but that can also specify dependencies. So ideally, what we’ll probably do is have Docker is to cast dependency right now or a little for such an early beta. What we’ve never tried this is a company. What are the ramifications for that if I say Docker sees a dependency and they have something else? So I just grew up somebody whose entire work. Let’s not do that this early. And on the on the Linux side. We’re just doing this. We have our own little app repo company wide already. So it’s just we give you the you know, we give you the app key. It’s just done through appt.

Awesome. And I went through that process. That was exactly what I used. And it just it just worked. It’s like four commands totally in total.

Yeah. And that’s you did the app side. You installed it on Linux? Yep. Yeah. On Windows, we’re going to use something called scoop furnish will actually have that set up. But we don’t have we’re using this whole thing’s for enrolling. And there’s something really cool called go release or which does so much of this for you. But so we actually have a Windows repo setup. But the windows, the windows binary itself, because of all the passing problems and everything, we don’t have that work and yet, so we’re getting there,

I will give one word of caution. I say it just worked. It ran into one hiccup, but it was my fault, which was that the version of Ubuntu that I’m running, which I think is 1804. The default version of Docker compose that is like the the gold standard is 117. And I think yours needs 123. So I had to update my local version of Docker compose, but that was trivial. So

and that’s one of the reasons I don’t have. That’s that specific one on App side is why I’m not listening Docker as a dependency. Because if you want to current version of Docker, you have to use Dockers own app repo, they do not distribute Docker compose a current version on any rep free app report can find anywhere you have to manually download the binary and just put it in your path.

Oh, I did it. Yeah, I can do it. Anybody can.

And because it’s such a pain in the butt, I just linked to the I think we are documentation. We’re just linking to the instructions for Docker for right now until we can come up with a better solution. Yeah.

So I stole this from WP tavern. So WP Tavern on, I think the 12th or 11th, they put out a little announcement of this whole thing. And they’ve got a nice little write up and that includes some of the details. So I copied the feature list straight from them. I’m just going to read down very quickly for everybody. So if you go get the dev kit what you’re getting is a container based local development environment which I think we’ve kind of described at this point. You get SSH gateway ass access, push and pull deployments to WP Engine preview your local site and others via in Iraq. That’s your local serving preview your local site with others via in Iraq because I read that a second time because my eyes didn’t skip to the next line which was page papers and selection, email testing client MySQL, local SSH and WPC Li, Genesis Framework integration, PHP, my admin web grind varnish, https proxy and x debug. That’s a lot of stuff to get in one package that when I mentioned earlier that doc maintaining Docker compose files is kind of a pain in the ass. That’s kind of what you’ve taken care of there. Right, Chris? You’ve added all that in and you’re you’re taking care of that for me.

And we’re actually maintaining all our own Docker Docker images.

Oh, God, we pull

them all. Everything’s version to the video, for instance, just to keep that in. Check. We run Jenkins, internally, Jenkins is a CI server. So when we push them a new release, we just tell it September, push pull, you know, Master or main or major minor patch. Tell it the release number it does the release stuff generates the change log pushes, it all builds every image for every version and tags it with the version of the software

casts, I hope.

Oh, yeah, all of it runs unit. Now we don’t have a lot of Docker test yet. Again, early beta. Not all of our testing. We’re still working some of this ass

Come on, man. But uh,

yeah, we have we do have we’re using jet and of course, go test. So we do have a good we’re, we have, let’s just say we have good enough coverage for a first beta. And unit test and just as growing are just testing, acceptance testing.

And for everybody else. If you aren’t familiar with the phrase ci it’s, it means continuous integration. So what it means is, as you commit things, it’s continuously running some kind of command. So if you commit to a get repo, it may detect that, that push, and it will pull the repo and then compile code or run tests, deploy things, send them to an alpha server, gold server, staging server. It’s it’s kind of that middle man that does all the things that we used to write lots and lots of scripts and commands for basically, but throw that out there. What a hit on one of these very briefly because it was the one that caught my eye the most out of everything. Genesis Framework integration. Explain that part to me. What’s the What are you pulling in from Genesis and and empowering there for folks

with serious, serious question, what is Genesis Framework? fair question

is this sure Genesis is a theme framework we bought studio press was the theme company, and we purchased them. We’ve been WP Engine purchase them last July.

Oh, right, right, right. Big

10 or 11 years old. They’ve got some great themes, one of the oldest and probably best written WordPress theme frameworks out there. Our Genesis theme integration is really simple. Right now we have a first class WP is our right now this is only CLA the goolies excuse me under development. But up so if you type WP Genesis, it you could run if you have Genesis installed, it’ll run the Genesis CLA commands. We’re looking at expanding that to downloading Genesis if you’re a customer and things like that, but there’s no authentication with us yet. So all those stuff that work that that’s growing into you, hey, I want to develop a Genesis theme. Hey, you know, so web project, new Genesis Child. You know, things like that are in the works. But for right now, it’s just a wrapper on the WP CLA Genesis command, which of course you have to have Genesis installed for. But this is all growing.

Cool. That’s awesome.

So the process for using this if you’re interested in and figuring out what this is all about first and foremost, will have a link in the show notes. Go to the dev kit landing page. You go to the landing page, you fill out a quick form, and they give you a download file or instructions. I can’t remember which way it went to instructions, instructions. Yeah. And then you have to do the download because you’re either downloading stuff for Xcode or homebrew rather and doing app get work. Install that relatively painless. If you’re listening to this episode, and you get in there and you try it and you get stuck. Send us a message. I’ll help you out. I’ll figure out a way to get to work you through that I’m sure we can figure out what the problem is. get it installed. That’s first and foremost. Then you run I let me see if I can do this from memory. It’s WP setup. Unknown Speaker which asks a few very WP WP WP

because that’s really easy to get confused. Yeah.

So I can’t do it from memory. We’ve looked we now know, WP setup it last few a few questions of which I know one is your WordPress engine email address, which if you don’t have you don’t have so you just skip that question. It asks some other questions that I think there are like four questions. And I I remember the email one, I don’t remember the other ones, but they’re just very simple. You know, environmental type questions,

email, which is a hold back to get and that’s still the only reason why we can tell internal and external internal users put your we put our own WP Engine email in there. So in our in our in our anonymous analytics, that’s the only thing we have to tell internal versus external users. Nice and simple. It asks you what if you’d like analytics turned down that will use Google Analytics and all Google Analytic is doing is reporting events for what command you run, if it passed or failed. And in the case of a clone, how long it took. That’s all we’re collecting. Oh, interesting.

That’s actually super cool. because it demonstrates a use of analytics outside of a web page.

It’s collecting it for you like the people maintaining it.

Correct. We have our own know if we have a Google Analytics account at WP Engine. So instead of a website, I mean, we’re a web company, right? So Google Analytics is a natural fit. So but instead of we’re not recording page views or anything, so it’s what command? Did it pass or fail and time it took to clone a site? So the email address only? It adds one other variable if your internal or external, based on what your email is? Absolutely. So it’s completely anonymous. It doesn’t send the email or anything. But that’s the second question. Then if you have SSH setup already, it asks you if you want to set up as for action vs. Auto updates, I can’t even remember the order. Do you want to automatically check for updates? Then it goes into Do you want us to set up? Do you want to set up an SSH key right?

Which the SSH again is only useful at this point if you’re an WP Engine client, correct. And also worth noting, make sure if you go through that step that you if you use, like I have a SSH key pair that I use for many things that’s already generated. And I can’t remember if you say yes or no, I went through one of those and I had to go back and redo it because it generated one for me. I was like, Oh, no, I don’t want to use the generated one. I have one that is the key. So

I use my yubikey and I’ve screwed that one up not paid attention. It’s it’s actually now I think it automatically if you just press enter, it won’t generate one for you. So it should be a little bit easier but

so that but very quick, very easy run the questions it’s the you know, if he if you can’t answer I’m just don’t. Then it says simple as if you’re a WP Engine customer then it’s WP clone and then your environment name. Otherwise, WP project new name or project new name new, can’t remember a

new name, new name.

And it’ll just it’ll download the latest version of WordPress, it’ll make a folder for you put all that in there. And you have a site running at I think it’s a whatever the name is. So if you say it’s test site, it’s going to be test site dot test colon 3000. And you just have a site running,

or it won’t even be 3000 you already had 80 used on your port. So it automatically assign 3040

Yes, yeah, you are you are correct, actually, because i have i and this is where so I said earlier, if you already have services bound the Port 80 I run a local Apache because I run main WP, I run a local version of main WP to manage all my WordPress sites. And I just didn’t want to screw with ports. But the Port 80 and I assigned to the domain name and when so yeah, my port ad is used skipped to the next available.

I bring that up partially because I wrote that feature last week before we went public, Unknown Speaker you know, kind of last minute, but it works. But it

works. And it’s again, it’s one of those things that we used to have to think about. Or if you’re a doctor, you have to think about what port Can I bind this to, and are you know the normal way is roll dice and see what comes up and that’s the the port will assign to it over over 3000 or whatever. But once you have that it sets everything up. It runs through a cleanup process and then it says you’re good to go. All you have to do is run WP start our WP start WP stop and start and stop brings that server up and down in that folder. And you once you run start, you’ve got a site running if you type in your domain name with a port if if you need to, it’s there and as complete as it needs to be in terms of whether you clone stuff that the way that I’ve done it in the past, like my process was with Docker, use a vanilla WordPress image it downloads and and sets up I have 2019 running. But I’ll use something like updraft to pick up a whole backup file, bring it over, drop it in. And then that gives me all my content, all my plugins, everything that I was writing on the site that I’m working on, for instance. And you can do that here as well, if that’s if you’re not a WP Engine client, and you still want to use the tool and do that that’s just the process you would use is whatever backup tool you use, install that on this site and then pull a database over. Easy peasy. At least I hope it sounds that way.

Yep, that’s that’s what it’ll do. I mean, you can access the database locally through whatever you want to access it through. It’s a little tricky on Mac so far, because just because of the way map handles port mapping with Docker, everything’s accessible. But only, there’s only a couple things that accessible as far as how this stuff works. traffic. So you’re only dealing with one container with open ports. We use course, our restrictions as well as binding 21212701. So we’re not you know, a lot of people do Docker. And if you go to our coffee shop for everything, all your shit, pardon, my French is available to anybody yet on that same Wi Fi. So we’ve made sure we really paid attention to security on this thing that’s called

security through obscurity. hoping somebody doesn’t just guess numbers, right? But

in this case, it’s bound to your one to seven, right? Yeah, the only way you can get to it externally is within grasp

that and that’s where max at the way back handles Docker is not awesome.

It took and I’m hoping you know, once again, it’s an early beta because we we’ve been trying to really lock that stuff down. If somebody finds a vulnerability, please let us know we’ll gladly fix it. Where we only have we don’t have a huge user base yet the test all this stuff, but that’s exactly we’re trying to do is make sure we take care of all that backer issues that pop up otherwise,

yeah. So let’s talk about that, though. Because obviously this phrase is come up a lot, right? Early beta. This is a beta release. Obviously, you guys are excited, I’m sure WP Engine is is thrilled about what this can do to you know, their prospects and how they can empower the folks who developed stuff on their service. So obviously, there’s a lot to come. The the first that I know has been mentioned and and some of the artists, I think WP Tavern has mentioned that you alluded to it was coming up with a GUI so that if you’re not comfortable in the command line, which some developers just aren’t, and that’s okay. There will at some point, be a GUI that might help you along graphical user interface.

Think Like a local, sorry, I hate compared to the local by Firefox, that’s not what we’re basing the GUI offer. But if you were to use local by fiber or desktop server, one of the others it would work more like that with a CLA as both GUI and CLA are first class citizens at that point. So it’s not other tools, you got to pick one or the other. And there’s always something that doesn’t work one way or the other. That’s that’s what we’re trying to avoid heavily with this one. And the GUI will be available before this comes out of beta. We’re hoping to have a GUI and alpha within the next quarter give or take.

What do you What are you using for the gooey?

I don’t most likely the electron what is these days?

Right? Yeah, true.

Especially because we’re doing we are supporting Linux and Mac first. And as we enter we’re going to support Linux, or Windows, of course. So electrons The only real solution right

now that makes sense. electron is a framework, like if you’ve used whether it’s discord or Slack, a lot of folks have experience with one or those one or both of those. Those are both built on electron,

especially with Studio code.

Oh, is it really?

Oh, so is GitHub, Adam,

developer and Adam?

Not supplying those Sublime is built in Python?

I think you know, I always like to say it’s a better a better way. The way I like to say explain electron is basically we’re running chrome sandbox Chrome browser just for our app, because that’s really what electron does, right? It’s a sandbox Chrome browser. That’s just pulling everything back in.

Cool.

So I have to ask the big question, which is, obviously this is important for WP Engine, you are lower than anything a company does is first and foremost, looking towards itself, the push pull mechanism is awesome. Being able to clone a site down is is great. But will we see that maybe for self hosted sites at some point in the future?

I would say yes. The long term plans are, you know, the mission, if you will of this team is the ones that win the hearts and minds of developers. I know that sounds very. Is it okay? Yes, it’s very corporate speak, right. But the team is really is really living toward it. One of the things we’re really working hard on right now is how we want to do API’s on it. So you can write a plugin we built just today, I think he merged a complete redesign of our database, polar, pushing polar. And these are all re architected in a way that we can add different, you don’t want to push and pull a database from us or you, you know, we had get that we are pushing pulling files from that we switched our sync. And all these methods are being re architected, you can push and pull in any way you want, as long as the same types of files are coming. So that could be self hosted sites, maybe that’s your let you know your your WordPress site integrates with your larval app. So maybe it’s your alarm bell app, you can develop in it to that goes to your other server. Yeah, I don’t like to say that it could go to another host. But of course it can be let’s be realistic here. But I mean, even to support our own customers, that kind of functionality is necessary. Because if you’re working in an enterprise environment where you’re building larval, you’re building in and other types of things that have to interact with your WordPress site, we went be able to do that all in one tool and not have to play. You know, this isn’t just a side tool just for your WordPress site. It can work with your other other items. And that’s something we’re really looking spending a lot of time on and looking to do, right is how that plugin API can go. And that’s where how that you would build in different functionality for different things at that point. So if I’m, let’s say, a developer at

updraft, which is a backup and restore plugin, for folks who aren’t familiar, I’m not I’m, but let’s say I am, there is, you know, maybe a road where I could look at your tool and be like, I’m gonna write a hook into your, your push pull process that would look for an updraft backup file at a site, you know, given an API key or something like that, that could then when when you do a WP start, it could clone a site automatically from a backup file.

Maybe Exactly. And that’s frankly, the more direct use cases are, obviously, we want this to work as a work, our integration with our platforms got to be first class citizen. So the PHP images are going to match what’s on our farm, things like that, at least the default ones. But yeah, something like updraft, so you’re coming from XYZ host, we can give you a better experience here. But then we can also make it easier outside of that plugin to push and pull from our platform at some point. So it does become a funnel pack. And of course, that’s the general idea. But the plugin system will allow you to push and pull from where you need to get your data from

cool. Is is the is this whole thing maintain like a repository somewhere? Like, is it open source? Or are you guys keeping it?

It’s currently a private GitHub repo. Okay, I can tell you that every engineer on the team is very anxious to change that whether or not we’re, this is a very different thing for us to write. It’s never done anything like this before. So there’s a lot of questions about how we do this, how we do this, right? How we do this and support it correctly. So up and down the line. So if the engineers have anything to say about it, it will be an open get a burrito as soon as possible. Whether or not that maybe we don’t have anything to say I can’t promise it will actually happen. But that is what we what we would like to see happen.

It seems it seems like that would be in line with your intention to make it eventually work with all things and not just BP engine.

Exactly. And I think even just tomorrow it tomorrow afternoon, I have a one hour meeting just on Tuesday as we talk about open source strategy strategies for and it’s not that the company wants to hide anything, it really becomes, well, this is new. How do we do this?

I know that feeling, feeling? Well, it’s Yeah, I get it. Let me switch gears a little bit. And you mentioned part of this, the answer to this question, I think which because my question was going to go towards test suites. So if you have read any of like the the make.wordpress.org documentation, if you’re a theme developer, or plugin the helper, they have references to PHP unit and Q unit, respectively, for setting up testing on the things you’re making, so that if you want to eventually release something to the the theme repo or the plugin repo, you’ll be able to do that. It sounds like you said, You’ve already got PHP unit included or soon to be included.

php image or the PHP unit is on the PHP image. So you can and there’s a WP bash command. So you can just go into that box, we’re trying to find a better way to wrap that a little bit, you know, Basha and then start doing everything on a different box is going to get a little tedious. So it’s there. But it’s not something we’re heavily advertising, because we’re trying to improve the UX around it, it’s not the easiest thing to use. But there is PHP unit, of course, extra bugs already there. I’d like to see WordPress coding standards and fully integrated. So it would be just as simple, you know, maybe a Visual Studio code or whatever editor you got, add this dev kit plugin for that. And now you got code standards. Now you can directly run your test, you know, it sets up your test suite. So you just hit run your test on whatever you’re in. All that stuff’s coming down the line, but the UX of it is definitely, it’s a very manual process today.

And that, that went into a direction I didn’t even think about in terms of being able to live in dev kit into your editor, and and bring in some of that stuff so that it’s already done and integrated from a coding standpoint, that would be very killer.

Yeah, maybe you know, and,

of course, we want the GUI are going to kind of serve as a central piece piece of information. But there’s no reason that the right plugin a Visual Studio code, for instance, that’s that’s what I’ve switched to, especially since I’ve gone to go Lang, but we can’t hit okay, start this site, stop this site. You know, there’s different there’s a lot of different possibilities coming down the pipe. But the whole idea is just simply it’s going to be to simply or to simplify these these workflows. The country is right now with Yeah, I think we were really excited day, we figured we had 35 active users this week, as of as of this morning or yesterday morning, I forget which day, which is a almost thousand percent increase from where we were. I’m one. I am Unknown Speaker absolutely one of those.

And as we get more folks, it’s you know, the other thing is, we’re a team of two up until April 1, well, three with our product manager. But only two of us have ever worked on WordPress before. And the current team, most of them haven’t worked on WordPress at all. So how opinionated do we want to get to dictate workflows? So as we get more users now we can start saying, oh, okay, most of the people on our platform really do want x workflow. So let’s try to make that a better citizen. Right now. It’s just a single, clone a single site work on a single site, push a single site. Great, that does take care of a lot of a lot of items. But now, and that leaves a really big floor that we can expand that too.

So let me ask the big question, which comes into one of the challenges with a doctor, for instance, one of our workflow challenges has been if you are a new developer, or let’s say you’ve cleaned up your development environment, because you haven’t touched a site for a year, but now you’ve got a ticket that you need to clone the site down and work on it. The process of using just Docker, pull down the repo run Docker compose up, it sets up a WordPress environment. But then we go through this whole process of Okay, now I got to install updraft, I gotta go to the site I’m working on I have to pull their up draft plugin or their updraft backup files, download those, upload those into my server, do a restore, I’ve got this process. And it’s not a great process. I’m sure we could improve it ourselves. But I’m wondering about from the standpoint of your tool, like having injury scripts that could run perhaps once the, you know, being able to define like a, you know, first run sh file or something that might be a bash script that utilizes WP CLA to kind of automate business processes that might need to take place to populate a dev database, let’s say, is that something that you’ve been thinking about? Or is it maybe a wedding?

Actually what we’ve been thinking about, but here’s the catch, this is written in go Lang, most PHP, most WordPress developers are Which one? is it today? Is it PHP or JavaScript? bash, maybe, you know, bash, but the vast majority of especially junior to mid level WordPress developers, it’s PHP or JavaScript. So whatever framework we do for a lot of these hooks has to be able to be used at that level. So right now it’s trying to figure out so what’s what’s the best way to do that? Do we have maybe it’s some sort of demo file, maybe it’s an actual PHP script puzzle, PHP, you can actually run WPC Li commands. So is that at that point, maybe it’s maybe it’s education. Or this is how you run your own WPC Li, command store, PHP script, and you can run this PHP script on start, maybe it’s a JSON file that lists certain, you know, plugins, okay, install and activate these plugins, and maybe another object for themes or whatever, you know, whatever it might be there. There’s a lot of different ways to do this. But trying to get this the big catches? How do we serve the most WordPress developers doing this? bash is probably not the answer. You know, our first thought is, well, we can just go has different ways you can run go plugins, just tell him to write a go plugin. for WordPress developer, my first day here, they when they told me I was writing and go, I kind of went,

oh, oh, oh.

And frankly, six months in Jason, who’s been great with me, the two of us, this is our both of us, our first foray into go. He’s basically a Node JS developer, and I was a WordPress developer, you can imagine how much respect last couple of months can’t do we can’t do that to WordPress developers. So it has to be something corporate the technologies they already use. Maybe it’s a WordPress plugin that can be run on our server with some sort of gooey that you can select different plugins. I mean, there’s a whole lot of different ways to look at this. But it the UX is going to be paramount.

I’ll be interested to see how it turns out. I mean, I’m already a convert, I think at this point. So I don’t have a whole lot. I can say bad.

I don’t do much with WordPress anymore. But if I did, I would definitely use something like this. This is really cool.

What are you coding in these days?

rails?

Sorry, yeah. You mentioned Toronto earlier.

Yeah, pretty much all rails. Some rubies? By playing Ruby.

I’ve tried to bring them over to the light side. But it’s it’s just not working.

I’ve been on that side, though.

But my other tests last week was the put up the if you’re if you log into the WP Engine portal, and you go to dev kit was to build that page. Well, that’s a Rails app using react to things I’ve never touched and tried to put together. Oh, was that? Fun? I mean, I was ready to throw this computer through.

You know, it’s, it’s funny, you mentioned that there was a talk at rails con, a couple months ago, that was a guy from GitHub, I think was Terry Hawksley. But he created this thing for GitHub called action view component. And they’re pushing it upstream to rail. So it’s going to be part of like the main rails core. But basically, it’s it gives you like web components, like you might have with react, but without needing the React framework. Interesting. Yeah. Yeah, I’m really excited to see what direction this goes in. Because a lot of times, like just including react with rails feels weird. Like, it’s a weird power struggle kind of thing with the framework.

The only thing I’ve done with with Ruby in general is puppet before though. Yeah, I checked, I spent four years maintaining that is called primary vagrant. And that was all puppet that was the closest I’ve gotten to Ruby. So this was, this was an extra sighs in patients. Have you played with medicine? at all? No.

The medicine plate framework is also Ruby based.

Okay. Yeah. There’s a lot of things. I mean, that was for a while there every Code Camp on the planet, nothing but Ruby, because it was, yeah, hipster hipster language like five Oh, it’s

so it’s such a great language. I love it. It’s the I’m digressing heavily here. But yeah, I have all the love for Ruby.

That’s how I’m feeling about going for right now. To me, that’s, that’s been a lot of fun. So I get it.

I’ve been immersing myself in Zach Gordon’s courses on Gutenberg development. So for me, it’s like I’m thinking about the possibilities of, you know, talking about react and things like that. You know, that process, I’m using some of these command line tools, I create gluten block and stuff to kind of bootstrap some of those tools and make it quicker and easier. And the ability that I think a tool like this could give me to very quickly spin up an environment and test, you know, I in fact, I’ve got a plugin right now that I’m developing for some app work that is going to come into Gutenberg, being able to spin up that plugin, have a local environment that I can test it on that is as vanilla or not vanilla, as I choose to have it and not have to take, you know, 15 minutes to set up a Docker container for it or something like that. I think that’s going to be big, especially for folks who are trying to figure out all the Gutenberg stuff. And, you know, I’m a PHP developer, but now I got to learn JavaScript. And I’ve never dealt with, you know, any of this stuff. Like, those are questions that people have that the easier we can make them the answer. I think the better and it’s very cool that this makes I feel like this is going to make that very painless for a lot of people. Yeah.

And that’s the hope, right? It’s, it’s, especially as WordPress, I don’t want to say fragments, because that isn’t the right word. But as the technologies fragment, it used to be you could get by doing WordPress with nothing but PHP, and a little bit of jQuery here, there. I mean, CSS. I don’t want to touch nobody wants me touching CSS, so I don’t, I don’t mentioned CSS too often. But uh, I mean, from a backend plugin, developer point of view, now it’s, well, maybe you have to use, you’re working in the media library. So you have to know what is it backbone that that’s written in? Or do you want to do good and black? So maybe you’re writing in view and react, the fragmentation is interesting, which makes the question of so what do we support for plugins? Really interesting? Because how do you do this? Something that’s, you know, you want to build up the last? So how, how do we make it such a way that a WordPress developer with enough that they could write their work on their code in their own theme can also make sure that they can customize this enough that it works for their workflow?

But and for folks who are wondering just how fragmented This is? Gutenberg? Right about I think it was almost the exact same time that you announced dev kit. They announced the Drupal Gutenberg add on at 1.0. So they lifted Gutenberg and this was something that Matt had promised, I think, you know, a year ago or whatever, at, at the word camp us or whatever, that this idea that Gutenberg, while it’s going to be in WordPress can it’s, it’s it’s a react app, it can be picked up and used anywhere at that point. And so here we are on June 13. And we have Gutenberg and Drupal, though.

How is their data storage? They started all in a single database. So

I will find a Drupal developer and I will bring them on the show to talk about that. I didn’t

know if you guys I didn’t know if he did any Drupal stuff today.

That I have feelings.

I we could you could make that a whole episode, I’m sure but

I have used Drupal in the past.

That’s how I met you. I think know you were dot dot CMS. The heck was that thing that seemed?

Our enterprise sites are still all dot CMS.

This still make that Yep. Oh, yeah. still developing though. Yes.

Okay, cool. It’s come a huge way to us in the last What? My god 11 years I’ve been using that system,

where you were getting into it when I was decided between Drupal and dot dot CMS. And that’s how I remember I first talked to you way back in my used to work for Southern Illinois University way back in those days. And you had written the book.

Yes. A fun fact, for anybody who really wants to go do some digging on me. There is a book that can be found that I wrote on how to build sites and CMS. I finally got to the point where I saw people were still buying it, but it was so out of date that I felt bad. So I was like, I have to take this down. It can’t be a thing anymore. So Unknown Speaker uh,

well, I think we just got done talking about dev kit, didn’t we? Sounds about right. Let’s take a second. Give everybody a breather. And then we’ll come back and we’ll wrap up the show. How’s that sound?

You like it? I like it. It’s a good idea.

The drunken UX podcast is brought to you by our friends at New cloud. New cloud is an industry leading interactive map provider who has been building location based solutions for organizations for a decade. Are you trying to find a simple solution to provide your users with an interactive map of your school, city or business? Well, new clouds interactive map platform gives you the power to make and edit a custom interactive map in just two minutes. They have a team of professional cartographers who specialize in map illustrations of many different styles and are ready to design and artistic rendering to fit your exact needs. One map serves all of your users devices with responsive maps that are designed to scale and blend in seamlessly with your existing website. To request a demonstration, or to view their portfolio, visit them online at New cloud.com slash drunken UX that’s in you cloud.com slash drunken UX. Chris, man, thanks for taking your evening out of the week to sit down with us and talk about this. I know that when things like this happen between blogs that want to get quotes from you, and I’m sure other podcasts that are trying to pull you on, you have a lot on your plate. So thanks for taking the time to talk to our folks this evening. As a reward for that, that’s a horrible way but Ben, take a couple minutes. tell everybody where they can find you what you got going on. Obviously this is a big deal. But if there’s anything else that you’re going to be at or you’re doing or you want to draw attention to. Now is your moment. let the light shine.

Sure, you can find me Chris Whitman calm you can find me on mastodon at Chris at mastodon, Chris weidman.com, Twitter, Chris Whitman, but anything else? I’m Chris, would you want to talk about dev kit I’ll be at work camp Jacksonville in a couple weeks Ottawa a couple weeks after that. What am I have Orlando in August. So quite a few word camps coming up. You can find me on slack. First one minute, the WordPress slack or Genesis slacks and you know if you have any questions on a dev kit, and you just want to try it, you can’t find me anywhere. If he’s wearing WP feedback. They’ll still email our team directly. Your nice feedback with what’s going on in there. So please do that. Any questions you have anywhere you get stuck. Any suggestions you have? It’s early beta and that’s intentional. I’ve listed a whole lot of possibilities. Will we build them if you need them? Sure. Let us know what your what

you mentioned mastodon which I hadn’t heard of. So I was looking it up real fast while you were talking. It reminds me of counter social.

That’s actually counter social is the jesters thing. Yes. Built on mastodon it is that what it is? It’s part of the mastodon network.

It they’re all built on activity. pub, mastodons basically Twitter built on activity pub, there’s red friend tikka, which is Facebook, there’s pixel fed, which is a activity pub, Instagram clone, which is actually pretty awesome. But it’s all federated services, you can block you know, you don’t have to get into the sewer of Twitter and some of the folks.

I’m at Twitter, that’s what happens. Hey, and so are we, if you’re looking for drunken UX, go Oh, that was an

excellent segue, Mike, but you

would have been so smooth be just let me go even better. Go. We are on Facebook or Twitter slash broken uX instagram.com, slash drunken UX podcast. Stay tuned. We mentioned before, there will be some giveaway stuff coming up here very soon. So we want you all to get in on that action and get some free stuff from us. Otherwise, stay tuned. We got much more coming up from dark patterns to hosting solutions and other things in the coming weeks and months after this. In fact, I was looking at our listing and I think we’ve got stuff all lined up pretty much all the way through the end of the year. Yeah, awesome. So with that, I can only think of one other thing. There’s this piece of advice that I think everybody needs to hear from time to time. In fact, I think they need to hear it once every two weeks is and that is an important keep your personas close and your users closer


This episode of The Drunken UX Podcast brought to you by nuCloud.