 Right, so just a little bit about me. I somehow managed to choose a talk topic that were about Gutenberg and I've got 30 minutes to talk about it in and I probably need about two and a half hours. So I wanted to leave some time for questions because it's quite a controversial topic. So I'm gonna try and get through it in an even pace. If you guys have got questions, I'm not a big fan of this super formal talk or anything like that. So just put up your hand, I'll answer it if I think it's relevant and then carry on. So I'm a front-end engineer at 10UP. Has anyone heard of 10UP before? Oh, that's good to know. 10UP's a remote agency based in the United States. They are big, big leads and contributors to the WordPress community. They work on a lot of big international clients across the world. I'll do a marketing pitch in this presentation as well so in case I need to find some talent in this room to bring back to them because that's generally what my mandate is. So we, big WordPress guys, big on React. We hire people from all over the world or different disciplines from UX and software engineering and obviously all of our projects work on WordPress and considering that we contribute so much to WordPress core, we've got about seven guys working at 10UP that are active core contributors, a couple of guys have been leads and core releases of WordPress. So we really do know what we're talking about when it comes to the internal workings of WordPress and how it works. And obviously with the latest debacles of Gutenberg, we've been trialling that on certain projects and we think we've come to a good point, we've really started rolling it out on some pretty big international brands. So today's sort of crash course for you guys to start getting to know, A, what is Gutenberg? B, why to use Gutenberg? Then what impact it's gonna have on business owners here? What impact it's gonna have on engineering and then the future, future, which might scare the shit out of everyone. So I'm leaving that to last and then any questions. So I generally like to do a little bit of market research before I go into all the details. So who is an engineer here? Developer, I was really hoping for more of you. Yeah, don't, what does it say? Don't ask, I'm just, that doesn't answer my question but thank you. And who's a business owner? Okay, gonna make things interesting. So who, you obviously all heard of Gutenberg, right? Yeah? It is, you know Tricia, you're behind a white column right now so I'm gonna ignore that comment completely. So, okay, we've all heard of Gutenberg. I'm going to explain to you guys a little bit more about what it's about for those of you who don't know. With the release of five, WordPress 5.0, there are some major controversial conversations going on in the community at the moment and I'm here today to give you guys a better understanding and some knowledge to equip you. That's gonna help you moving forward into the next few years of WordPress. It's probably, I haven't probably not old enough to realize all the inner workings of WordPress and what happened right in the very beginning when Matt and Mike started it up but I can tell you right now this is one of the most controversial times on the WordPress platform on a majority of issues. It's basically accessibility, internationalization like Pascal was talking about and then Gutenberg. So, lots to consider, lots of decisions to make and it's gonna impact the engineers and it's probably gonna have a bit of a larger impact on the engineers in this country and for business owners, there's an even bigger impact especially when it comes to dealing with clients and how to actually move your businesses forward on Gutenberg and what to do with sites that you've already built on classic WordPress and how to get those sites across to Gutenberg. So let's start with the first one. So, Gutenberg at the end of the day is just a replacement for the classic tiny MCE post editor that really horrible, I don't know what the word is, rigid application that WordPress has been running since version one. There's been a ton of work done over the years, lots of good work but as the web has developed and the technologies have developed, WordPress decided well, hey, we need something that's going to keep us in the loop, right? We need something more modern, we need something that's gonna be able to keep our users on board, especially with the likes of blogs like Medium or blogging tech tools like Medium providing such cutting edge user experiences, WordPress really had to jump to the forefront of that and I think I'm gonna try and keep my opinions out of this but I think they've done a really good job so far minus all the accessibility issues. So the first thing is experience, right? This is not necessarily an experience for engineers, it's not an experience for the people that are reading your blog, it's an experience for the people who are writing content for your blog. Does anyone do content editing here? How do you find WordPress in general? Good, bad, ugly. So it's good, Gutenberg's aim and goal is to make it better, right? It's gonna be more dynamic, more versatile and it's gonna help you put out easier, better content and improve your workflows, right? So that's the first thing to consider. Second thing, very, very dynamic, the way that Gutenberg is built on a technology called React, who's heard of React. That's impressive. More people have heard of React than there are engineers in here. Okay, so building React, oh, sorry, built on React, which allows for incredibly fast processing times of that content. Obviously more JavaScript based now than PHP and fast JavaScript, not the old vanilla JavaScript and Backbow and the tiny MCEs been employing for the last 10 years or more. So major improvement there and then finally from a publishing point of view, like I was saying earlier, here's a complete and utter overhaul, right? So it's not no short codes anymore. The content is gonna be dynamic, you're gonna be able to drag that content around. Images can be dragged around, text blocks. You're gonna have a variety of different blocks that have different purposes, right? So that could be code or video or tweets and as most of you guys know, especially the business owners, when it comes to extending WordPress and adding different types of data or adding different types of functionality to the post editor, that's always been something that you've needed an engineer to do, right? You need to hire a backend guy, you need to get someone that understands our WP options works and our post meta works, how to output that on the front end. It's always been a bit of a slip in WordPress to actually extend that part. And with Gutenberg now, half of that stuff is already baked into it, right? So you don't need someone to put content in different columns anymore. You can add as much content as you like, it can be dynamic, it can update. And that's obviously helping or is helped by the power of React. So it's a major change and a major overhaul to WordPress and it's not like anything that any of us in this room right now has ever experienced. Okay, so the next part is to chat about. So I think I actually duplicated my slide and forgot to change everything, but I'll just talk about this. So why do you use Gutenberg? So let's talk a little bit about the time period because that's a really important discussion point right now. A lot with WordPress 5 being released and the whole debacle around this is that Gutenberg's gonna become the default editor, right? What does that mean for engineers, and your business owners? That means that as soon as you update to WordPress 5, your classic editor's gonna be replaced. A ton of stuff might break, which means your entire website might break, which means you have a lot of unhappy clients, right? So the very dangerous part about this release of Gutenberg, what everyone's fighting about now is either whether to actually go do it or whether just to stick with good old WordPress and tiny MCE, right? So for businesses that are onboarding new clients at the moment, too soon for Gutenberg, right? As a, to actually release it and deploy it, I would say, especially we'll talk about the block API and everything right now, very exciting times, maybe not very stable times. So I would limit your time to live, if we can use that. Don't start deploying sites with heavy Gutenberg development just yet, right? Generally there's a couple of minor releases that help fix things. There's the API documentation is still being released and updated constantly. So it's very, very, very new territory for WordPress folk at the moment. If you have clients that are asking to be put onto Gutenberg immediately, who've got pre-existing websites, do it with care and be very, very, very strategic about it. A lot has changed, right? The block API using React as a JavaScript interface for saving content, content is actually being saved through JavaScript into the database now, right? Now that might make absolutely no sense to the business owners here, but for the engineers, that's a little bit to bend your head around, right? We're used to using PHP to save elements and data into the database, but Gutenberg, you can actually write the whole thing in JavaScript and all of that content can be saved straight into database tables. There is a PHP API that goes with that, but for whatever reason you need to use it, there are different needs and it would definitely make a big change to how Gutenberg is affecting your site. So sum that up. Don't deploy Gutenberg right now if when WordPress 5 does get released, right? Be very careful with it, right? If you have clients that are asking for Gutenberg, it's gonna be a process, right? Very, very strategic process of taking your current data, any data that's already saved in post-edit or post-edit screens and gradually transitioning that data across to blocks which you will probably have to build yourself, right? So big things to take into account there. From an engineering point of view, we have to think about the skill sets required to actually build Gutenberg blocks. So for the first time in WordPress, I don't know if some of you know, but the actual JavaScript framework that WordPress had baked in for years now has been Backbone. Anyone heard of Backbone? Use Backbone Templating, right? The customizer uses Backbone. That thing that you see on the front end of the site where you can change colors dynamically and titles and all of that, all written in Backbone. Now we're moving on to something called React, right? I'm sorry. Something called React. Brand new technology from Facebook. Complete shift in paradigm in terms of programming conventions. We start dealing with things like props and states and shadow doms and all of that. Big scary words. Don't make a lot of sense just yet. Especially to new developers. So if you are gonna move on to Gutenberg, it's gonna be a case of making sure that whoever's working for you and your business has a thorough understanding of React. Your back end guys are gonna be able to help you with the PHP side, but the React side of things is gonna become very, very, very apparent in the next two to three years. You're not gonna be able to get guys to build Gutenberg blocks that don't have any experience in React, right? So what I'm trying to say to you is that as a business owner, you're gonna have to start putting your feelers out now for React experience, vanilla JavaScript experience, and more so, more JavaScript experience than PHP, right? Big shift, whereas most WordPress developers are generally very, very, very PHP based business. So like I said, your sourcing provision engineers to build Gutenberg blocks is gonna start becoming your number one priority. You're gonna find possibly that companies like Visual Composer. I'm sure you guys all have heard of that. I can't remember what the other ones are called. WPBakery, Beaver Builder, all of that. If Gutenberg goes the direction to which WordPress.org is punting it to go, you'll start finding plugins like that, moving their business models across to building Gutenberg blocks and not completely third party solutions, which essentially, they're kind of already given you a Gutenberg, just a, I'm not gonna say the rest of that sentence. So skills, big thing. Client strategy, even bigger thing, right? You guys are gonna start getting faced now with either clients requesting Gutenberg, and you might not be ready from a technical point of view, or you're going to get, maybe when Gutenberg gets a little bit more stable and you're feeling provisioned in skills, you're gonna get clients saying, now we don't want it, right? And generally, that now we don't want it, is probably gonna be based off of fear of change. It's a huge step for the WordPress community to make. So I would handle that with care, decide whether your strategy aligns with going towards something like Gutenberg. It would, I'd base it off of decisions like what kind of content you're publishing on your website. Blogs makes a lot of sense. It's gonna really change workflows of content editors. E-commerce has a place for it, right? I have posts, I'm sorry, with products. All this is all weird and wonderful things that you can do in the e-commerce side with Gutenberg. And just be more cynical than you would have been in the past about building solutions with Gutenberg. Okay, and like I said earlier, there's gonna be a big content focus on this. So the invention of Gutenberg, the implementation of it in the WordPress.org is gonna be about improving the workflow of the people using that dashboard every single day, right? It is gonna help the engineers move into a different space and be more modern and dynamic about their engineering, but definitely the biggest impact by far is content. There are massive discussions going on at the moment and this is what I'm telling you guys, just like hold back for a little bit in terms of accessibility on Gutenberg and it's not the accessibility of the front-end of your site, which I could probably do another talk about that right after this, but it's about the accessibility of the Gutenberg editor itself, right? Keyboard shortcuts, tabbing through blocks, being able to edit content without a mouse. All of those topics are coming to light now which need to be sorted out. And then obviously, like Pascal said, big internationalization needs to happen there in order to get it up to speed. Okay, so, in fact, on engineering, so the front-end, like I said, major, major, major, major upskilling in JavaScript, right? No technologies, everyone should be familiar with no JS by now. Vanilla JavaScript reacts, I wouldn't say the learning curve is particularly difficult, but it's definitely a paradigm shift and it's gonna take engineers a bit of time to get used to building out blocks in a way that align with the paradigms that WordPress has set out for this next generation. Content, like I said, blocks in general can be static or dynamic so you can just have a block there that is a paragraph tag that you can edit or you can add a class to or it can be a tweet or it could be something like a post selector where it uses the WPA API to pull in posts into that block and show links or show preview images. Blocks at this point in this juncture in WordPress can almost do anything you want, anything that React is capable of. So that's using states. And updating certain elements in a very optimized way, these blocks will be capable of. So the user experiences that you end up building with Gutenberg are gonna actually start becoming the pivotal point of what you sell to clients and how engineers are building that. If you can go to a client and say, here's 50 blocks, the rest is up to you. They're all gonna work, they're all gonna lay out in your content. We've thought about the edge cases, we've thought about what data you're gonna be wanting to put on that page. We've thought about how it's gonna update, go ahead, fun, right? I don't know if it means increasing your prices or doing work once often maintaining it, but definitely a dramatic impact there. And then the backend. Do you know what changes for the backend? Nothing, all right? Frontend seems to change too quickly these days. The backend seems to stay relatively static. So the PHP API for Gutenberg is not at all difficult or problematic. It's just a couple of functions and impending some scripts, and that's where you lie, right? I'd say the only consideration from the backend point of view is if you do decide to use the Gutenberg API and build blocks out in JavaScript, you've gotta be very careful when using PHP you actually have to kind of like duplicate that functionality. So for instance, if you build a block that allows you to add an alert, for instance, a static alert to your page for whatever that might, I mean an actual like green or red alert, not the JavaScript alert that's part of the browser. If you build that in JavaScript, you would have to replicate the same functionality in PHP, which so the same content, same HTML structure, all of that, otherwise React throws errors, it looks at what's currently being edited in the post editor, what's gonna be saved, and then it breaks and has a bit of a field day. So what I'm trying to tell you is either go JavaScript all the way or do the JavaScript and PHP side of things but be willing to rewrite the same functionality that you've written in JavaScript on the PHP side, which could get tricky and it's kind of like maintaining two code bases, which I don't think anyone really wants to do. Okay, the future future, it's kind of funny because it's like Gutenberg's the future and then the future of Gutenberg, but the big aim here is to move Gutenberg out of the post editor, okay? This is the part that should technically scare the shit out of everyone, yeah? So Gutenberg is going to expand or the aim is for it to expand and themes will become a thing of the past, right? Gutenberg is gonna get to the point where you will be able to drop a header, the header of your site, and then control your navigation and control your footer, add a sidebar, change the layout on a page template basis. It's gonna take over that entire ecosystem of WordPress and from a plugin point of view as well, it's gonna start replacing functionality. So before is when you would need a plugin to, I don't know, Facebook posts within your content, Gutenberg's going to do that. So you should start seeing the WordPress environment coming cleaner from one point of view with less need for plugins because Gutenberg's already thought of it, but if we're moving into the future, things like the customizer will disappear because there'll be no need for it anymore. Gutenberg will overhaul that experience and provide it for you in a really elegant manner. The really cool thing about Gutenberg and they just released the functionality, I think it was a couple of weeks ago, is the ability to nest blocks, which is technically what all these fancy page builders allowed you to do, which tiny MCE couldn't really ever do. So if you wanted to create a two-column layout and drop a tweet in some content or an image in some content, Gutenberg allows for that already. So those kind of situations and scenarios are gonna be possible by the time Gutenberg is released. And you can only imagine with the open-source community, the amount of blocks that you're gonna have, we're gonna see maybe quite possibly see the plugin repository move to the side and a block repository surface with any block you could ever need. It's all gonna be there for you. Simple install, like you'd install a plugin, add it to Gutenberg, save your content and your work's done. So really, really, really massive change. Happening there. And the whole way that it's so dynamic is gonna make serious changes. I would say there's probably gonna be a little bit of implications on the back end, especially from a caching point of view, if you have such dynamic data running through your posts and through themes as well. So that's something that might need to be considered in the long run. But definitely something to consider. All right, let's move to that. And then obviously templates. So I think the functionality is currently in the API documentation. Right now, there's no real way to, you can create a post, right? And just drop blocks on there and save it and that'll show up on your front end. But there's no way to set out a predefined amount of blocks. So if you guys think landing page-wise, like sort of like you get those landing page templates, you can buy a theme forest, I've got fancy heroes and sliding in components and all of that. Something like that will be capable in Gutenberg by the time it's released. That guy, an engineer can come along, set out a layout of predefined blocks. You can edit the content, change the images, save it on a page template, and you've got a landing page. No stress, no fuss. Simple as that. Right, and then now it's time for my marketing pitch. So if there is anyone here, looking for new opportunities. TenApp's remote team, there's about 170 of us. Everything from back end engineers, front end engineers, UX guys, like I said, we're really big in the international community. Big, big drive to find really talented engineers. I've tried to approach a few people already since I've been here but it's not working. Haven't given them enough beer yet. And if I could find, I can always find the beer, Jonathan. So please do come speak to me if you wanna know more about it. Like I said, it's remote working. This is my first year of remote work and it's been wonderful. So the least I've traveled around the world and worked in different places and you don't really feel like you're living the rat race anymore even though you kind of are. So I think that's me with two minutes left. So there is a beta, I believe, that has been released. Right now I'm actually doing a workshop in webcam Cape Town next week on building a Gutenberg block and I do plan on using WordPress 5 beta if you hear really horrible results about it and don't upgrade. Awesome, so if you are totally poop-skate about Gutenberg and what's in the future, future, please sit down and have a cup of coffee with the great Dane. A beer, thank you. Thank you. Thanks.