Yeah, it's fun. I'm super excited by all the stuff. Let's fix it. Not right now. I'm going to give this talk first. I need to talk to Adam afterwards, but I should focus on it. OK. Is this working for the live stream? OK, great. That means a lot of that conversation was on the live stream. Awesome. So, hi. This is Introduction to Gutenberg Block Development. My name is Josh Pollock. I'm the Founder and Lead Developer at Caldera WP. We make Caldera forms. It's a drag and drop responsive form builder for WordPress. I've been a WordPress core contributor since WordPress 3.9. And so I've been doing this for a while. Key fact, I'm totally from Pittsburgh. I was born here and I moved back in May. And our company now has an office here. So really cool to be at for the first time. This is my second time at WordCamp, Pittsburgh. This is my first home town WordCamp. So really neat. You can follow me on Twitter at Josh412. As I said, before we started, these slides are available at this link. And there's a ton of links, like all the example code from here that I'm going to show you today is in a plug-in, which I'll have a link to at the end that's on GitHub that you can copy. You can study, you can copy, whatever you need. So we're kind of at the mercy of the quality of the monitor, but you can pull this up on your own screen by downloading that. Today, this talk, everybody's welcome. But specifically, I wrote it for people who are just starting like, hey, I might need to make my own block. What does that mean? But we're going to start with why Gutenberg is happening, what Gutenberg is, when Gutenberg is happening. So that's important for everybody. And this is, again, developer-y-facing. These are all presentations that I would recommend if you're looking for a very iBuild websites. I edit content with WordPress-type introductions to Gutenberg, not for developers. And if that's something you need or you need to send to other people, GiveWP has a whole resource they put together for WordCamp Miami that was a good introduction. Gutenberg.courses, there's a few courses there, but one of them is specifically introduction for site builders from Joe Casabona. Nate Ingram from iThemesTraining is here. In that talk that he gave is really good. Just on getting ready, there's a bunch of stuff on iThemesTraining on it. I did one of them on how to use Gutenberg to improve working with clients. So also, this is my dog, Josie. This is her super excitement. And this is kind of me on this Gutenberg stuff. Because it's really, for the first time in a while, WordPress has a fun thing in it for developers. So why what? When? What is this Gutenberg we speak of? And I want to preface, this is just like my opinion. I don't represent the Gutenberg project, right? I work for Cal Airforms and I've contributed a little bit to the project and I've learned a lot and helped people learn about it. But this is my read on the situation, right? So why Gutenberg? I blog a lot, I traditionally, and it's almost always published on WordPress. I generally write in Google Docs because it's the best writing experience available. That's a problem, right? My, you know, our site has all these custom post types and all these meta boxes all over the place. So it's become kind of very inconsistent. It's a 15 year old platform. In Amd's keynote, he showed where we've come from. This is iterated over time. And the current system is not very what you see as what you get. It's very unstructured. The problem is people like me with no sense of design, no sense, you know, no real SEO background can just type anything into that box. Well, that doesn't make sense in 2018, right? We need to have consistent structured documents so that way the SEO is correct, so that way they're accessible to screen readers properly that they can be indexed by Google and Bing or whatever. Also, the developer experience for WordPress. Look, I have a job, I have all these wonderful friends because of WordPress development, but like we need to improve it. And Gutenberg is a great step on that. So what is Gutenberg? This is the official answer copied from WordPress.org slash Gutenberg. But WordPress.org slash Gutenberg is a front end implementation of Gutenberg explaining what Gutenberg is, that you can move stuff around in all the little blocks. So I really recommend if you're like, what's this Gutenberg? And we'll get more into this. Go to WordPress.org slash Gutenberg and learn about it by playing with it. So I like to think of it as a user interface framework specifically for WordPress and Drupal now apparently. There's a Drupal module where you can replace the content editor in Drupal with Gutenberg. And that's a sign of good development if you could take your editor and pop it into another CMS. Clearly, good quality development practices have been done. So I think that as somebody who does react, view Aerovel development and then gets upset going back to WordPress, the Gutenberg stuff is the really good stuff now in WordPress. It's a developer experience that for me, I really like. I think that I've been writing a lot in Gutenberg recently just to kind of get used to it both on my mobile phone and you know, on my desktop. And I just think it's a more joyful way to work with content as a blogger. I actually want to write in WordPress now. And as a developer, this is the thing that I really actually want to write. When is Gutenberg? Gutenberg is a plugin. I think the most recent version is 3.9 and there's a just sequential release. So that means that when the 1.0 came out, I was like, oh, man, yeah, right? This is pretty neat stuff. But you know, when you do something for two years and constantly iterate, it improves. And it's been a community project. So people have really done that. So you can install it right now as a plugin. There's a call out when you install WordPress now in the new versions. You can also install lots of the pieces of it if you're a developer using NPM modules. I'm not really covering that. That was in my work at Boston Talk. And so I was a little bit more advanced, but that's an option, which is great. WordPress 5.0 will have a Gutenberg-powered WordPress post editor. So the default post editor for posts and pages and then you can opt in for other post types will be Gutenberg. And in the future of WordPress, other features of WordPress will be powered by Gutenberg. Nobody don't get asked for a more specific answer than that. That was supposed to be a shrug emoji, but I don't know. Character encoding. It's a box now. It's a minimalist emoji. And WordPress 5.0 will be released when Gutenberg is ready. So let's start for a second before we get into this about editing content versus displaying content. I've been talking about Gutenberg for a while with folks and this is the biggest concern is like, what happens to my content? And I'm like, that already exists in content. So let's talk about what it does, right? To understand that. How to answer that question, right? What happens to my content that pre-exists right now? You have a WordPress site that's shrugging long. It's got 100 posts on it. There's a whole new editor. What happens to your content? Well, keep in mind it's an editor. So this is, you know, my personal site, recent stuff I've been publishing with Gutenberg, right? You can see here. It knows. This is the same thing that Elementor and Beaver Builder do on Page Builders that I've worked with where if the Page or Post has been edited with Elementor or Beaver Builder, it knows and you see it here and then it automatically opens in that editor. Gutenberg's the same way. These are older articles that weren't written with Gutenberg. So I can upgrade them later. WordPress VIP has a plugin called Ramp that helps you do this in mass or you can do it one at a time. But these ones are just gonna open in the old editor. These ones will open in the Gutenberg editor. You'll see at the top the add new button that you're used to just being a button has a dropdown, Gutenberg classic editor. So existing posts, remember this is just an editor. So nothing happens to your existing content just by installing the plugin by upgrading to WordPress 5.0. So and I'm gonna work through that a little bit more technically now. This is a page contact page being built with Gutenberg. It has one, two, three blocks in it. This one is a paragraph block. You can't exactly see it, because this block is highlighted. Here, this is an image block. And its most important controls come up here and then it's over here in the sidebar. I'm focused on the block and it's like the alt text, the size, the alignment, that kind of stuff. And then below it is a form block from Calera Forms. I use this little thing to switch to the code menu where it actually shows you the source. This is what's being saved in the post. Like this is the actual post now. I'm gonna jump through that a little bit. Some highlights. The top was a paragraph block. You can see that it's automatically marking off where its paragraph block is, but there's nothing fancy about saving what's the content of the paragraph block. It's in a P tag. So semantic HTML. How do we represent a paragraph in HTML? Paragraph tag. That's how it works in Gutenberg. These little ones right here, some of the data doesn't make sense in HTML. So it gets put into these little comments here. So in the case of the image, the caption gets put in fig caption because that's how semantic HTML works. But this is some extra information up here that just gets saved right there. And then if you look at this one, this is the form block. That's an example of a server-side rendered block where we already had a short code for showing a block. So we built, for showing a form, so we built a block that just selects the form and then uses exactly the same PHP function to render it. So we've rendered, we've done what's called a render callback here. And so this form ID is passed to that. And then we render based on the ID. And then you'll notice there's like an empty basic paragraph block down there. I'm gonna get more into all of this stuff. Because now we're getting to creating blocks. We're gonna walk through two very basic blocks real quick. One's a more complicated version of the second one. I went the wrong way. We're gonna be building static blocks. We tend to think about Gutenberg blocks in terms of static and dynamic. This is a little tricky. But the real question is, when does the content of that block change? So static blocks, for example, the paragraph block, to change what the paragraph block says, you go into the post editor and you change the paragraph and then you click save. Whereas a dynamic block, content changes for some other reason. An example is, if I enter the recent post block into my page and hit save, that's gonna show my six most recent posts the first time you view it. Two weeks later, and I've rendered three more posts, that content is different. It's dynamic. The data, because there's been more recent posts. We're gonna stick to static blocks because we're gonna make things easy. But dynamic blocks are really cool. Is that you can do eight most recent products in the same category as this post, that kind of stuff. So let's make the block. When we think of blocks, there are five paragraph blocks on the page. Those blocks have the type, core paragraph. Core being the namespace, word press core, paragraph being the name. So it's a type of block that's registered in the system and then we can have many of them in our post. So we're registering a type of block when we say we're building a custom block. There is a PHP function called register block type. That registers blocks. The most important thing as it does is associates the block type with assets, JavaScript and CSS. You can define block attributes, the render callbacks that I just talked about, meta box compatibility. The handbook documents all of this. Let's walk through some of it. First thing this is doing, checking if register block type, that function exists. Don't assume it exists because it doesn't in word press core currently. Check that it exists so that way this line doesn't throw a fatal error and also you're not running on necessary code. If Gutenberg isn't present, stop loading up Gutenberg stuff. This is all WP register script, WP register style. Nothing new there. But note that we're not in queuing it. We're not telling it to load, we're just registering it with the system. And then let me skip to the next one, which zooms in on the bottom there. These are, this is editor script, editor style, style. These are the handles of the scripts that we registered with WP register script, WP register style. Gutenberg figures out when to load those on itself. You'll also notice that it has a name. Do you see the slash here? Before that is the namespace, after it is the block. Blocks have to have namespaces. This is similar to custom rest API routes have to have namespaces. That way if I make a block called form, and you make a block called form, we don't have a collision because we use different namespaces. So both of the blocks that I have, I'm gonna show you today, have the same namespace and a different name. And this name should never change because it's super important. It's meaningful. What is how is it meaningful? This is my style.css, which gets loaded in the front end and the editor, because it's declared right there. I've kind of shrunk down that last slide here on the left. And then this is the CSS. WP block slash basically what it says there, right? This is a formula. So I can now target any block of this type by wrapping it in my CSS selection in this class. So that allows me to target specific blocks that belong to my plugin and not mess with other blocks. That's really neat. I have absolutely no qualification to talk about applying CSS and design for blocks. So I won't. That's how you load up the CSS sheet so that's how you know your selectors. Here are three good talks on design for Gutenberg that you can click on when you download the slides. From Michelle Schwab, from Tammy Lister, who you should read her blog, anything she writes. She's one of the lead designers for Gutenberg. Kevin Hoffman, one of the organizers here today, his WordCamp San Diego talk, talks about all about the front end and stuff in Gutenberg. So really neat stuff. So there's also a JavaScript function. The rest of this talk is basically in JavaScript. Called register block type. And this is responsible for at least block name and category supports, keywords. We'll look at those, but also they're really well documented in the handbook. Edit callback, save callback, defining block attributes. I keep putting a star next to that. I promise this is important and we'll get to it. But let's do some simple stuff first. This is my JavaScript function. We're gonna kind of zoom into different pieces of this. That, I've taken out all the commenting here, but see register block type, exactly the same name that we saw before, the name spacing and the name convention. I give it a title, I give it a category. I have an edit callback and save callback. The edit callback creates the edit interface for your block, right? Editor, okay. Receive props. It gets this object that has important stuff in it. It's called props. We're gonna, it has the class name. So I keep making this big deal about that class name and how that glues the whole system together. You don't have to remember in your JavaScript. It just comes out as class name. It can't be called class because this is JavaScript and class doesn't mean a CSS HTML class. Class means a class as in a thing that creates. You know, that is polymorphism and such in objects. And so, in order to avoid that name in React, which this is built on top of we use class name to represent in HTML what we use as class. And so, that's the class the block is wrapped in is selected is either gonna be true or false based on whether or not the block is currently selected. So every time that gets selected or unselected we have an opportunity live in the, this is all updating in the browser dynamically without refreshing the page. There are other props which we'll get to. So, this is my edit function, very zoomed in. This is this function element which we'll get to in a second creates HTML elements. What is this? This is of the type P. So it's a paragraph. It has one HTML attribute class name, props.classname and then just the string thanks for reading my post about Gutenberg. And notice that it's in a side of a function. So, we, I just raced through that because it's introducing two new things and I wanna talk about each one separately. One of them is this wp.element.createElement that creates HTML elements. The other was one of these translation functions. WordPress and PHP has all these translation functions that you put in a string in your native language and then your text domain and then somebody else if you know my plugin is in American English, somebody can come along and do, you know, French Canadian, French English, French, French, Spanish, right, and that's powered by these translation functions in PHP that have now been reproduced in JavaScript. wp.element.createElement is really what's important to us now. This creates HTML elements dynamically. So, instead of printing it once to the screen and then you have to re-render it, this does all of that for you based on conditional logic as the state of Gutenberg changes with a lot less work than making it yourself because under the hood it's actually React. So, you've already started learning React today. You don't really need to learn React, but I kinda recommend it. So, let's walk through this a little bit tighter. Element equals wp.element.createElement. So then, all of the new Gutenberg scripts are when Gutenberg is loaded are gonna be available at wp.something. So, it's just easier instead of every single time going wp.element.createElement to put it into a variable. So, that's what I'm doing. This is I kinda cut the rest of the block out. Seven, you'd see it's creating, what type of element does it create? Right, ignore the HTML attributes and then this string that it puts at the end. You can't just type HTML here. It's gotta be a string, but, or an array which we'll get to. This is in the editor, that block, which you can kinda see is, right, we saw that CSS, which was applying a green background. And because my edit and my save call back look exactly the same, I've achieved what you see is what you get for this little like, hey, thanks for reading my post about Gutenberg already. So, my goal as I go on with this is to try and keep that what you see is what you get experience. This is that same side by side except for this is the un-rendered post content saved and this is the rendered post content, right? This is the end of that paragraph block. That's just some, oh, it's some feed tax and ends there. This is my block starting here. Do you notice that the comments are gone? Those don't get printed to the screen. That would be bad, right? Because they might have some privileged information in them that it would make your markup messy. They get stripped out, but my write this class is still there. So that way my CSS selectors, other types of selection can happen. When I said in my last slide here, this has to be a string. Well, that's a problem because sometimes you want to nest other HTML inside of other HTML, right? If you want to do a list. So it can be an array, okay? So, instead of having a string in that these two are like the ones that we had before. In fact, this is exactly that one. I just nested it inside of a diff. And then, so this has two children to it. A paragraph and then a link. And I can't just type down here, open HTML, a, ref equals, Gutenberg will in React will actually just print out the encoded characters there, the HTML, not actual HTML. Instead, I assemble a link element, right? So I use the type A. It has an HTML attribute of ref, href, right? And that's the link and then this is its text. So if I wanted to give it an ID, I wanted to give it aria described by, I would put it here. Everything that I've done so far, by the way, if you have WPCLI, which is the command line tool for WordPress, you could have basically done in these three commands. And I really recommend, I mean WPCLI makes WordPress development a lot faster, but if you're getting started with WordPress, WordPress block development, I really recommend just running these because what it generates has really detailed inline documentation and links to the online documentation for more. So you can kind of generate a basic block, read what it's doing, click on the thing and learn more and start experimenting for yourself. Also you get a basic block. It doesn't have like advanced build tools, things like that, create, Gutenblock, it's kind of better for large blocks, but for where you're getting started, this is great. So you just run these three commands. I have a blog post on my site about how to do that. It's pretty basic. So that was a block, but that block was a very fancy way of saving some HTML into post content that you couldn't make any changes to. So I couldn't, right, it was just like, thanks for reading my post about Gutenberg, click here to learn more. Well, where should I have them go? Shouldn't it be like, thanks for reading my post about object oriented PHP, right? I need to have some settings to this thing. So we're gonna make a less basic static block. This one has some settings. That means that we need to save some data. We're now talking about block attributes. These are the editable fields of a block. They can be stored in the HTML like we've seen, they can be stored in the HTML comments like we've seen. This is especially great for shortcode like blocks where we're gonna server side render it with that render callback. They can go into post meta out of scope for today, but you can just say source equals meta because sometimes you need to query information from the database, right? So you put it in post meta.  It's a form, save it to some other place, right? Like whatever your individual needs are, right? It's open source software, figure it out. So let's start looking at, I've cut up a little bit of this register blocks. This is my new block called action editable. And I have three attributes. We're gonna walk through these a little bit closer, but it's just attributes equals and it's an object literal. And it is indexed by the name of the attribute. So I have three attributes here. Text, link text and link. In this starts to show, this is exactly what you're looking at on the left and then the Gutenberg code editor for what it's saving on the right. And these arrows, right? The name, which we talked about is going to here. And then this is a text, the type is a string. So it's going to not allow like say an array or an integer or something to go there. But the source is text of the element with the selector p. So it's gonna look for children of this class here that are a p element and get its text. And if that doesn't exist, default value will be this. Gotta have a default even if it's an empty string. I lost about 30 minutes working on the example code to this of it was undefined because I didn't have a default. But we're doing the same thing here where we say selector a and then the text. So we get the text of this based on selector a. And then the third attribute is a little bit trickier because it is a, its source is attribute. So its source is HTML attribute and its attribute is href. So now my edit callback, remember I said props.isSelected is one of my things. I've kind of hidden away my editor. So it says if props is selected return this thing we'll get to that or this function content because I wanna reuse that in my save callback because I don't wanna write the same exact thing twice. I just wanna have a function. So my save callback is just function return content attributes. My edit callback is if it's selected do some stuff I'm about to show you if it's not do exactly the same thing it doesn't save. This is that content function. Notice I'm doing wp element dot create element here and I have div and this is exactly what we had before except for its attributes dot text, attributes dot link, attributes dot link text. All right, attributes dot text in P. Attributes this attribute is href, resource attribute, which attribute href and then I save it there. So this is saving it and creating my static HTML that runs in the front end. Notice that I added to my dependencies wp components. wp components is the component library, text control, select controls, category selectors. This is one of the packages that's used to build Gutenberg that you can reuse via this method or you can install it outside of WordPress using the NPM. So if I wanna just use WordPress as text control this is my text control for changing the call to action text, that's its label, that's its value attributes dot text, help, that's the descriptions, that goes in there and then unchange which we'll get to in a second. That's the function that runs whenever it changes. Let's back up a second here and let's look this is the form that gets created and you'll see that it's doing stuff like this has a, this label has a four tag on it that's associated with the ID. This is my help text which has an ID which then the ARIA described by is done. So all that work that I wanna make sure I do every time and I obsess over and often make mistakes on to make sure that my HTML is valid and accessible, like WordPress is handling that for me now and if the standards change in the form in the future on how to do this correctly, hopefully WordPress and I trust WordPress core will step up and update on those. So I'm not just maintaining my own component library, I'm getting a lot of work of other people who are like better at accessibility testing than I am, for example. So I glossed over unchange. This is the function that runs whenever the input changes and we use it to change the value of the attribute. We can't just write attributes.text equals new value. That will not tell Gutenberg, hey, update this value in your internal state. If you are a React developer, you might be familiar with set state. This is props.setattribute. It has the same API as set state in React, not a coincidence. So whenever my text input changes, see I have props.setattribute, text equals whatever the new value is. Gutenberg handles kinda getting that out of the input of off the event and everything and so I just pass it here. So in this case, I made three functions because this is academic, I would have one generic change handler into the real world, but this is kinda good for getting started if every one of these has an unchange handler. So their value is attributes.link and whenever that changes, this tells Gutenberg to update the value of attributes.link. In React, data flows down. There's only one way to take it back up in that in this context is props.setattributes. That is a lot of basics. This is example code is available at this link on our GitHub. Both of these blocks are in a WordPress plugin. WordPress.org.setattribute has a really good graphic on the GPL, the open source license of WordPress. And the second freedom is my favorite, that you could study how the program works and change it to make it do what you wish. Enables this idea of like, I learned all this stuff by reading other people's code. It's the same way I read, and creative writing was reading other people's stories, other people's books, and figuring out how they did it. So take a look at this. Take a look at more complicated blocks out there as you learn. Use WPCLI to do it. Ask on the support forums on Stackout Exchange and study other people's code because this is really fun stuff. What I would recommend to you next, look at PHP render callbacks. Those are great for migrating short codes or something like, you know, like it's just better to render in PHP. Plug-in sidebars. That sidebar can, that we looked at, that had the extra settings. You can add a custom sidebar there. So Yoast is doing really cool work where on the side, you'll see your content analysis in real time. There's a cool plugin called Drop It that gives you a viewer for Giffy and Unsplash, and then you click and it inserts it in, but it's a plugin sidebar. So that's instead of building a block a different way to extend the editor when it's not, you know, in the context of the location. Plug-in sidebars are great.  React's documentation is interactive and very well written. So if you want to get serious about Gutenberg block development, React and then JSX is the templating solution that create uses create element like we looked at under the hood. So it's a little bit of a more scalable way to write this. WP.data is an API in Gutenberg that is the state management. So for example, if you wanted to do something every time the post title changes, like say analyze the quality of the headline, you can use WP.data to subscribe to the title change or to the change in the categories. I mean, that's built on top of Redux, which is a pretty popular state management library that I don't know I mixed feelings about, but you could read some of my upbeat feelings on there's a JavaScript for WP.com had a conference and my talk was specifically on WP.data Redux. So that's a really good thing to learn if you're kind of, I would say this is on a spectrum of complexity, right? Like go here, this is pretty easy, plug-in sidebars getting a little bit more like this is backing up and learning some new stuff. This is starting to get into the advanced stuff. Let's start reading some stuff and then kind of the hand looks great, read other people's code. My name is Josh Pollock, you can find me at Josh4n2 on Twitter, Cout Airforms is our plug-in. It means a ton to me that like people got up this early in the morning and came out here and showed up in a room to hear me speak. Thank you so much. Okay, I have a couple of questions, time? Probably, right? So at the beginning of the talk, you said that Gutenberg is available as a plug-in and WordPress 5.0 will be available when Gutenberg is ready. So then that makes a question, how stable is Gutenberg plug-in? Okay, so the question I'm gonna repeat so that gets on the live stream is Gutenberg is available now as a plug-in and it'll be in WordPress 5.0 when it's ready. How, what does that say the stability of the plug-in? On a few releases ago, they said that the, this was the features.  And as of a couple months ago, the commitment is as much to backwards compatibility as possible, but like it still hasn't shipped. So it's very stable. I, to give you the most truthful answer, I haven't installed on my personal blog. I do not have it installed on our company site. You don't trust the stability yet? It's partially that I don't 100, I actually would trust the stability. It said it's a fast update cycle and our company say like checking updates and these things become a bit of an issue. And also it's a retraining step, right? And because the interface has changed a few times recently, like I don't have to retrain people as it changes. So it's getting more stable right now. And I think now is a good time to load it up on your staging site and try it. Were these things have changed? Have you had to refactor anything that you've done like an example that you've seen? Yes, I did a version of this talk in May and not all that information is accurate. We had a function in the first, we were one of the first plugins that have a block that shipped it, you know, whatever it was built on had been removed and I had to redo it, right? And it was better. Like we have that live preview of the form. I spent a lot of time hacking that together. I could have now done that in like four lines of code with new stuff.  Did you have a question? Well, I mean, I think the evolution will be that they'll be good and ready things with a lot of this stuff already baked in that you don't have to do this development. I don't see how it's gonna make it easier for your client. So the question is, won't this stuff be baked in? Right, like why do we have to build custom blocks? Well, so WordPress Core ships with a basic set of blocks, paragraph, gallery, embeds, audience, right? Like all the things that you need recent post-recent categories but does anybody have a WordPress site with no plugins? Ever? WordPress Core can't solve everybody's problems. It would be a nightmare. So that's why we have plugins.  So instead of a custom post type or pods or anything, this is gonna replace all the short codes gone?  Let me write a custom short code. That's the analog of what we're talking about right now is, okay, I need a thing that has three settings in the editor. Instead of writing short code for it, write a block on a small scale and then for plugin developers, anybody out there or theme developers who wanna have a companion that has, when you install ours, we have special CSS for the gallery block to make it look that way or we add these five blocks, we have this plugin for five blocks for like, ooh, commerce products or something like that. What about follow-ups? Have they addressed that officially? Yes, there's a multi-column block that you nest other blocks in.  Yeah, I mean, that's slowing down but that was definitely the case in the past. So how safe is it to have those types of blocks with code visible with the PHP? Don't you think hackers can get into that with React? There's no code visible. All of those little things, those little comments, those do not show up in the front end. They get stripped out. So when those get saved in the database with the post content and then when it renders out, that gets stripped out just like you don't see a short code in the front end. Right, if you look in the... It's stripped out a lot of the content that's bloated over the years inside WordPress that kind of like... No, no, that would be bad. It's not going, by default, it's not going to do anything to existing content. When you open a post, if you choose to open a pre-existing post in the post into the Gutenberg editor, it will open in the classic editor block, which is the current post editor wrapped in a big block and then you can choose to convert it to blocks or just let it be. Okay. But if you have a post that has no Gutenberg blocks in it, basically the quick version of how the parsing works is it says if has blocks. There's like Gutenberg has blocks as the name of the function. If that's true, do the block parser. If false, don't do anything. Does that make sense? It's going to be easier for novice people. Yeah, right, so this is a developer talk to build blocks. You don't need to build your own blocks to use Gutenberg. What I'm saying is, you know, it's not going to be WYSIWYG front end, like Wix is building stuff. You can't compete with that. Okay, we have time for one more question and I'll be having to talk to you later. Yeah, so I was going to ask, as an entrepreneur. Yeah. Why are you excited about Gutenberg? Are you excited about Gutenberg? Okay, so a couple of things. One, I would self-identify both as an entrepreneur and a nerd developer. So like, right, like I own a company but I'm also the lead developer and we don't have a huge team. So I do both to the development. And so I love this stuff. But as an entrepreneur, I maintain a ton of stuff that I don't want to maintain. Right, like our plugin's kind of built on a framework of its own design on top of jQuery that I'm now kind of replacing with this Gutenberg-y stuff. So I get a component library that not only is very good and easy to work with, I don't maintain, pay to maintain. And also, I believe that the more that plugins use, the more that users get used to Gutenberg, which takes time. And the more that plugins reuse Gutenberg components and lay their system out like Gutenberg, the more intuitive it will be for people to get used to new plugins because they'll be using the same basic interface, right? If you have to learn a whole new interface, that's harder than learning a different layout of a similar system, mentally. So I believe that as I adopt Gutenberg conventions more in my interface, that it'll be easier for people coming from Gutenberg. There's a bit of a time lag in what I'm saying, obviously, to onboard. So it'll be cheaper for me to develop better quality product and it'll be easier for my customers to onboard. Right, and the hardest part about getting the growing customer base is some of the people get confused when they start your product and stop using it, right? So you need to get people past that hurdle. So as an entrepreneur, and especially in a small business that can only afford to do so much, it makes me really happy to see that. You know, like I had this mind blowing moment when I first learned Angular and then learned like Laravel and React, like, oh man, the framework can do all this stuff for me instead of in WordPress having to develop my own framework around WordPress. That's all the time I have. I'll be around the rest of the day. Feel free, I love talking about this stuff. And I'm happy to answer any other questions. Thank you so much. So you knew the answer before you started the question.


Good morning guys. Welcome to a new vlog. I'm hoping that you'll see this vlog the day I'm filming it, which is Saturday I did not vlog this entire week because Your girls just did not have the best week because we're supposed to be off at clinicals, right? well on A hospitals and there's just like been some mix up apparently we're in the system now But like we're just waiting for this like process to get our badges So yeah, it's a little rough, but it's fine like eventually we'll get to go It's just like when a date is set.  I'm definitely vlogging on Monday because I'm getting I'm picking up my dog so far I just want to catch you guys up on everything not only am I like waiting to go to clinicals when I'm picking up my dog and The previous owners really wanted me to get her like sooner, but like on our end I think it was just a communication problem, but I'm like It we can't like take the dog Earlier because we've already set a date in our heads, but they didn't really like set a date They were just more so looking at like the dog's condition. So I don't know anyway, it worked out I'm getting her on Monday. Yeah, and like all this stuff like happened on One specific day when I say all this stuff the dog being requested to be picked up like earlier than the date Happened and then like three of our classmates. Okay, which I'm really happy for them But they basically got to get their badges from this hospital And it's just like kind of sucks because like the rest of the class didn't and then some of us like well More than half the class isn't in the system and that's what the people on the phone said I don't know if this make any sense, but I'm just explaining so back to what I was saying basically last week was just like kind of like I don't know two things that I was talking to my mom and my friend about this but like two things that I was supposed to be Excited about and like and thought that They would happen like smoothly, which getting the dog should happen smoothly But I'm just saying that like the process is leading up to these things that should be like You know fun happy positive like caused me intense stress and Yeah, but you know what it's the weekend now that week's over and On Monday, I'm gonna pick up my dog and hopefully I'll get a badge on Monday as well. So yeah That's the little update from what happened this week and everything I did end up going because this time I'll be my fourth time at cycle bar this week, which is really good because um like working out just like helps with like stress and angst and everything so basically like I hit my goal of going four times a week and I want to get my money's worth With cycle bar, obviously as you guys know and I know all these changes are coming up So like I don't know how often I will get to go So that's why I like push to go like more a little bit more than I normally go Which is typically like three times a week. So I'm going to cycle where now It's like a hot girl summer explicit ride. So I'm excited and it'll be good Then I'm going to pet co to shop for some last minute things for my dog. I need the food obviously I need the um Crate cover because we are going to create her when we're gone because like we don't know this dog, you know So like we can't have her getting into everything It'll just be like too much. So basically we're going to create her and then we're going to see like how she does and everything um like when we're gone And then we'll start like leaving her out like a little bit and then like see if anything's completely destroyed or whatever So I think it'll be fine though. She seems like a really calm dog and like good Yeah, I have to do that. And then I have to get a little gift card I just wanted to get um my friend like a little something for her birthday because um, She invited me to like this little birthday dinner, which is nice. We're going to cheesecake factory So I'm going to get her something and then tonight is the cheesecake factory Yeah, we have a pretty full day ahead of us Okay, so my hair a little crazy because I took it out of My like high bun that I put it in got the iced coffee my good friend london She got me a little gift card just like to say hey and it was like so nice So thank you london if you watch this video, but I am going to head to pet smart now Um to pick up the dog stuff and hopefully I can find everything Um, I need basically the cover for the uh crate Then I need the food obviously because what am I gonna feed her and then um, I'm gonna get a squeaky I'm gonna get a couple new toys and um a brush and shampoo Those are like the things that I really need to get so I'll be ready for her and then on sunday my parents are gonna work on our house Um and get that all ready. We're gonna set up the crate And then we'll be ready to get her. All right. We made it at this pet co This is a different pet co, but it'll be fine. Um, I wanted one like closer in location They use science diet for the food. Oh, this is kind of nice. Oh doggie. Oh my gosh I'm so excited guys. You guys don't understand Oh my gosh, I cannot wait to get Her outfit. I hope she likes it because I won't be dressing her up Um, okay. I need to like Find where the food is. All right, so I found the blackout cover. Um, we got the large So this is the one we want. Oh my gosh. It's like $50 Wait, why is that 30? Oh, it's probably because of the size. Crap Yo, dogs are not cheap. I just got out of pet co Pets sound like kind of expensive not gonna lie. I hope this dog thing works out I hope it's as like magical as I thought it would be Yeah, I don't know.  I'm like, okay, like, you know, I paid for these like I'm gonna put them in here Um, I have the receipt because you just gave it to me But yeah, so I do have my reusable bags, but like that's for publics and since I was going into That like a pet store like I didn't think that that would be the case like that I would have to Bring those in but luckily to carry them into the house like I have reusable bags So I can just use those but starting off. I got a couple toys because I have like one rope toy But I thought like she might like Like soft toys plus shoes like this if she destroys it, it's fine. It was like 10 bucks um and then This one's a squeaker toy I don't know she I mean this dog kind of acts old So I don't know how much toy she would want but like We'll find out leading on to not knowing Like this dog at all. I got some puppy pads because like I just don't know this dog. So like yes, she's potty trained But like if I leave what if she has to go to the bathroom like I Just felt the need to get these as a like just in case there's not a lot in this batch So it's totally fine. It's more just for precaution Then this is the main reason why I went to petco today to get a blackout Um create cover. I mean, I know I could just put like towels and stuff But like that just looks not cool. And I don't know. I just don't like the look of that So we wanted to like have something to actually like fit the crate and like look nice as well Of course, she has to eat so like I got the same foods that her owners have And like are feeding her and then I got this de shedding pro style brush Um because she needs to be brushed like every other day or I don't know some Exorbent amount that I probably won't if you're too because like I don't want the time for that I'll be tired. I have like school work, but it's fine. Um, at least I'll have this tool And what got me to buy this one was ideal for daily slash weekly shed control So that's the reason why I ended up going with this one I guess packaging does work But now I'm gonna head over to target to get this like dog shampoo that like my friend Uses on her dogs Because I don't want to have an allergic reaction to this dog. I don't know So I'm like thinking if I wash her With the same shampoo it might be better for me.  It was the last one on the shelf, which I'm like really lucky Maybe this is a sign. It's all gonna work out. Okay, so luckily no one's in the top.  I don't know. They're still like kind of short, but I am not pretty much already for the dinner at Um cheesecake factory. I went like casual nice because yeah, I don't know But I'll show you guys the full body outfit. I'm just so frustrated with my hair. It's dirty I was gonna wash it, but then I was like no because I might go to the pool tomorrow With my school friends. I have it's still like tentative So I was like no either way I could just wash it tomorrow and I thought I could just like style my bangs But they're not really like they're okay And I know it looks a little bit like too much right now, but it'll fade It'll lose its curl pretty fast because it's raining outside anyway So I don't really even know why I'm trying but I'm trying to like make the top look like less oily in a sense Um, I could do one of those like slick back pony tails But like I like my hair down like I like it Like this and I'm keeping it straight because I don't want to put heat on it because I'm just gonna wash it tomorrow You get what I'm saying? So this is how it's gonna be and it's fine my hair straight. I like it straight because it's longer So It's all right But it's rare that I have like such a bad hair day. Oh my goodness. Okay. So this is the outfit My top is from Eriksia. My jeans are just Levi's this belt. I think it was from forever 21 And then my shoes, I don't know. I've had these for forever I kind of forgot where I got them to be honest, but This is the outfit and it's like, I don't know.  I don't know. I don't I'm not a big fan of jeans anymore Okay, so foggy lens because it's super humid. It was like raining and that's why the traffic was so crazy But we're here at the cheesecake factory now. They're gonna be a little bit late again. Sorry for this like camera Um, they're gonna be a little bit late So I'm gonna go in check in hopefully everything's fine and they'll still take us even though we're late. So Um fingers crossed everything works out. I love the cheesecake factory. I'm gonna be totally honest with you The hair is not looking good at all but got checked in everything's good because I have to prepare the table Um, so she was like, oh, there's gonna be a wait anyway. So I let the group know and everything's gonna be fine and Damn my hair looks so bad birthday girl. Anna. Look how pretty she looks Had to include you in the vlog. I'm happy birthday to Anna. We all got our little desserts here We got the Oreo look how giant that Oreo is Okay, so my friend was like, oh, we should go to the ice bar Orlando Um, so that's where we are. We're at international drive and I'm walking there now I must have gone the wrong way from the parking garage. It's like further down international drive So walking there now got a good parking spot. Oh, no, I'm not too familiar with international drive because I never really like come up here so Yeah, it's kind of weird, but it's fine. I've been here before so at least I knew where to park Okay, so we made it to ice bar found it. It's right next to the ice lie place There's they like give you jackets and stuff because it's like all frozen inside there, which is like super Jackets and stuff for all this place is so cute And the waiter brought us these little proset shots. It's just so nice I'm having some of my school friends over to our house to have a pool day And I don't really think Maybe I'll get some clips in and put um at the end of the video of like us making the Moscow mules Uh, because we have our Moscow mule cups right up here Um, yeah, those are actually from one of my other friends. I saw yesterday, which is cool. Yeah, I'm just gonna Close it off here and add whatever footage I end up getting after this So if you guys enjoyed this video, make sure you give a thumbs up Don't forget to subscribe to my channel and I'll see you guys in my next video And here's the rest of whatever footage I get All right, so kaira is gonna make some mules. She actually has this really good. Um, a little recipe So what's the first step kaira? Well, first step is your vodka Most important part Wait, should I put ice in the no never mind? It's okay. We'll do it after Um, can you hand me the mules in there? She has this mule this one. Yeah So I gotta come say in Augustine. Oh, that's that's what you're Saying that like was in your uh room, right? Yeah, it's been waiting to be used.   Yeah, so it kind of he kind of deserves it else oh These are actually really good I just got out of school and we are going to go pick up my dog Um, basically my friend Kyra is going to come with me So I don't have to go alone, which is good But first we need to go to a place where she's dog sitting and let out the dogs She's responsible for right now so they can go to the bathroom We had to leave school early because there was like these fumes from like glue and paint So basically we are going to Um the place where she has to let out the dogs and go to the bathroom And then we're gonna go head over to get my dog. I just wanted to start this And now we're getting on the highway. So I'm gonna end this clip. All right y'all. So I've secured the dog Head west toward moss higher circle We're on our way in 1000 feet at the trap You're the best dog ever You're the best dog ever Okay, so Me and my dog are going to Wolfgang Bakery in celebration So the collar I got her does not fit. So I need to like get one. Luckily my friend Kyra. Let me use this green one um, but as far as like You know fitting her and everyday use I obviously need a new one So I'm gonna go find that and then I really want to get her groomed Maybe they could at least give her a bath. I don't know but like There's this like product on her. It seems like dry shampoo almost for like dogs I don't know what it is. It seems it feels like what I use for my hair. So Yeah, I am Going to see what they can do if not it's not the end of the world But I just need to keep washing my hands a lot Um, but she overall is a really good dog.   I got a new leash. So we got this rope style leash because I really like them I think they're cute. It is so hard to remember to vlog and update you guys. I'm like, what's actually going down with Uh, Piper, which is her name um because all of my attention is on her and I'm like I can't even remember to vlog because like I'm in the moment with her. So I know this vlog kind of sucks, but Yeah, I don't know. I will update you guys once she's like used to our house and like used to everything um, it's just kind of hard and difficult to You know, like get her comfortable and like make sure I'm doing everything I can And then also vlog like it's just like kind of hard.  Um She's a good girl She is so all right so I just gave Piper a bath and this is what my floors look like and then in here She's a shaking She's a shaking. Oh my goodness, but I hope hopefully my hives will go down though So I'm having dinner She is just waiting for me to drop something man


And as I got asked to come do this talk about the surface Navy vision, I was thinking about what I see every morning when I walk into my office. And that's two long rows of photographs. There's two huge walls covered with just black and white pictures. And most of you would think that those are pictures of ships and weapons systems and things blowing up. It's not. It's photographs of my predecessors going back to 1901. That's when, in one way or another, we stood up this job and said, there will be a director of surface Navy. The other day in preparing for this, I thought about it and I went back and looked at those individuals. And I found an interesting trend. Those people serving in my job in times of good or rising budgets, they smile in their photographs. They seem like happy, calm individuals. They're known throughout the surface Navy as really nice guys. Then I looked at those pictures of those people that had my jobs in decreasing or bottoming budgets. I'll try to be polite. They're grumpy. None of them smile in their photographs. They all kind of stare at you with these haggard look. I'll let you decide where I fall on that scale. But somebody accused me of channeling Barry McCullough the other day and walking around the Pentagon going, which he was famous for. So back to the surface vision. It sounds like a simple task to talk to you about the surface vision. It normally would be about three weeks from now. At that point, the budget would be on the hill. There would be no surprises. There would be nothing I can be accused of three weeks on because I just tell you what we did. Right now, what I have to do is tell you about general things we would like to do. So none of you can come back to me three weeks from now and go, you didn't do enough of that. And where's mine? And my program isn't in there. So I'm not going to do that. I'm going to take a little different tact and talk to you and follow on with Admiral Rowden's speech and kind of pile on, but with a twist. So I'm going to describe to you the next level down a detail on distributed lethality. And then I'm going to talk to you about whether we can afford it. As one of my staff put it the other day, distributed lethality meets distributed budget reality. Can you do it? All right. And that's what I'm going to try to answer for you today. So what's the surface vision and what's it guiding us over the next 20 years? What does a surface force do for you? In real simple terms, a surface force is putting warheads on foreheads since 1775. All right. Our job is to put a warhead on the bad guy's forehead. All right. Real simple. Nothing else. And there's elements of that and we can get more sophisticated or less sophisticated. But how is that distributed? And what's our historical example? That's our first historical example right there. The Continental Navy of 1775. Six frigates. Funny, we had to build them in six different districts to make sure that the oak timbers were matched by the pine timbers were matched by the spruce of somewhere else. And we had to build them all in different coasts or different ports on the east coast to make sure we got a distributed budget across the entire east coast. Doesn't sound like anything we're doing today. But at that time we had to get cannons from each individual ironworks in all major cities. All right. To make sure that we spread the one major largest thing we build, which is in the United States government, which is a surface ship construction amongst the east coast. Early colonies. Was that distributed lethality? Well, there were only six of them. They were really heavily armed for the most part. We could argue about the one built in the Chesapeake Bay, which wasn't quite as much. But these were really hard to fight ships of the line. We weren't quite distributed enough because we couldn't quite afford enough. So the British with two blockades locked up half our fleet. What was distributed about this time? So we can either look at the fleet of John Paul Jones or we can look at the fleet of Commodore Barney. The fleet of Commodore Barney was the mosquito fleet of the Chesapeake Bays. At that point it was the littoral combat ships. We took small craft. We put cannons on them. We took barges. We rode them. We put sails on everything. We put cannons on everything and we gave the British hell. Sorry, guys. I know you guys are sitting over there. My apologies. Okay, we're friends now. Okay. And we drove them nuts. Why? Because they didn't know what canal, what creek, what slump we would come out of, row out there, shoot at them, turn around and go back. Commodore Barney defended the accesses to Washington, D.C. Okay, you guys got there. You guys burned it. I got it. All right. I'm not going to say anything about doing that now. All right. And we got there. We were a distributed lethal fleet everywhere else. All right. So that's our distributed lethality background. Let's go to the next example. This is distributed lethality. 6,768 ships at the peak of World War II. Everywhere. Everything carrying armament. It was everywhere. Now, that's not just the battle wagons. The battleships with 16-inch shells in the Surigao Straits, which was the last time we did a crossing of the T in a major fleet engagement. That's also the destroyers and the light carriers of Taffy III. That's also Admiral Brinkley's, or at that time, Commodore Brinkley's, patrol boats with torpedoes messing with the Japanese in every single strait. That's distributed lethality. And it doesn't take 67,068 ships. It just takes arming everything. If it floats, it fights. And if it fights, it's nasty to the enemy. And you take what you got and you bolt it on everything. Plywood patrol boats with torpedoes. Who would have thunk it 20 years before World War II? All right. The Germans would have. We didn't. We figured it out. That's distributed lethality. That's everything going to sea. And if it floats, it fights. And it fights well. All right. Let's go look at the Cold War. Many of you might get depressed at this slide. On the far left is all the ship types and everything else we had during the height of the Cold War. All right. And you can kind of go down that list. Distributed lethality at some of its best. We used to look at tonnage of hull versus ordnance throw weight and decide who was the biggest, baddest thing out there. By that criteria, you know what that is?  At that time, Commander McCullough had one of them down there. That's a nasty system. That whole fleet was built around defense distributed lethality. I'm trying to give you a picture of what distributed lethality means to you. At that time, everything we had could fight a surface battle. Everything we had had one capability against the submarine or another. Almost everything we had could fight an air engagement. Everything we had out there could fight and give the enemy a hard time. The patrol hydrofoil I just mentioned had the radar cross signature of a small patrol boat and it could come out of anywhere. And it gave the folks on the other side nightmares. Look at what the Russians did to us. Look at the small patrol boats they strapped long-range weapons to and drove against our sixth fleet. They gave us the reason of distributed lethality. They gave us the thought process that if it floats, we have to worry about it. Make them sweat. Make every contact out there lethal. That's what we're talking about, distributed lethality. Now I'm a simple guy. I'll give you an analogy and then I'll ask you to remember it at the end. I live out a long ways from here west. I have a heck of a commute every day. A couple hours getting in back and forth. But when I go out in the backyard on a summer evening, I look out at the Shenandoah range and I'm sitting in my backyard and I try to equate these things to what I see every day. So I go out there and I think about presence of the Navy and I think about deterrence and I think about distributed lethality. So when I'm sitting out there and I'm looking out over the Shenandoah mountains and I'm listening to the bees and they got that nice quiet buzz and I know they're fertilizing the flowers or whatever the heck else bees do out there. And I'm thinking about that nice quiet home. I'm thinking that's presence. You know that nice quiet home. The bees are making things grow.  I start to worry about every little buzz. Every time something goes past me it goes, look, I'm looking. I'm not worried about whether it's fertilizing a flower. I'm worried about whether it's going to come get me. Now imagine what I'd be thinking about if all of a sudden on the news there'd be an article about killer bees now in Virginia. Don't quote me, that's not true. But what happens if killer bees are out there? Would I even walk out my door to look up and see what type of nest that is? That's distributed lethality. Everything that's out there can hurt you. And I'll ask you to remember my bee analogy when I get to my last slide and I'll come back to it. All right, up to this point I've been talking about what we would like to do. Now this is distributed lethality meets distributed budget reality. You've all seen this, you've all seen slides similar to this. This is what the possibilities are of budgets over the next several years. It goes back to the end of World War II which is the far left side of the axis and it goes up and down on this rather interesting historical cycle. You'll find four major conflicts in there. Korea, 1,000 ships. Vietnam, 750 ships. Reagan built up almost 600 ships. Today, 284 ships and coming down off OIF and OEF. The slopes on these are important. On the back side as you come down you look at the reductions in a fairly short amount of time. Those are 30 to 40% reductions in a short period of time. Now there's a view that somebody out there is going to go, ah history, this time it'll be different. We'll be smarter, we'll be better, this time it'll change. It's not the history of old. History has a funny way of killing off those people that say that. They kind of live at their own risk. So I'm not saying history is going to repeat itself, but what I'm saying is if I was watching this trend I would take away two things. One, every two decades the surface navy better be ready for a conflict. And two, every time the budget changes to that level the surface navy changes with it. So are we going to be ready for this next change and how are we going to think about it?   At a 20% reduction in DOD budgets you better start doing things differently. And that's where distributed lethality sits. Distributed lethality to a couple of your questions is taking the budget that we have and making everything out there that floats more lethal. Making the trades that we need to make and making the surface navy of the next 10 years or 20 years the most lethal we can. It comes down to two main elements. And at the risk of sounding like some college professor up here and talking to you about it I needed this slide to talk to you about the trades we are going to make. Vertical axis. There's only two, well actually let me back up. There's only two things that any resource sponsor needs to worry about from a war fighting perspective. One is capability or the vertical axis. How well the things you have kill the bad guy. Horizontal axis. Capacity. How many things you have to do it with a lot or a little. Vertical axis. Advanced technology. Redundant readiness. Advanced training. All increasing up that axis. Horizontal axis. How many ships I have. How many missiles I have. How many guns are in the fleet. How many of everything I own are there. The people. The maintenance. The basic core readiness. How much of that do I have. Where those two intersect at the lower left of the screen I have exactly no Navy. Or maybe I have a row boat and one driver for Admiral Rowden. And that's the Navy. All right. We'll keep that guy just in case. All right. Up in the upper right hand corner that's Nirvana. That's a fully funded war time Navy. I have more as many sufficient and a few more ships that I need. And each one of them is exquisitely armed to the latest and greatest technology. I will tell you that at 20% budget reductions within DoD. We no longer have the ability to strictly live up in that world. So what's our choices. We move to one of the other three quadrants. Simple. You can't live in your budget up in the upper right. Where you have as much of it as you want. And it's all perfect. So you move in three different directions. What happens if we move to the lower left. It's called a hollow force. I no longer have readiness. I no longer have manning. I no longer have the equipment. I no longer have the dollars. And I can't keep the force I have going. We've tried this before. We tried it in the late 1970s. We tried it again a little bit in the early 2000s. We took money out of manpower. We gained savings. We took money out of readiness. We gave savings. We took money out of structure and background and everything else. And we hollowed out our force. I'll tell you this. We're not going there. The scars are still too fresh. We have just put hundreds of millions of dollars back into training and readiness and manpower to do exactly what Admiral Rowden was just talking about. Fill the ships to 95% and have the people properly trained when they get there. What Pete Gumatow-Tow is talking about. Have the maintenance money ready to go when they get to that port and have the people ready to fix it when we're ready there. We're not going lower left. We're not hollowing out the force again to keep whatever we have left going. Two choices. I'm down to two. And this is the crux of what you'll be seeing over the next 10 years. Upper left. There's a huge feeling in some areas that we should go upper left. Cut the number of ships that you're building or own and make those ships perfect. Take the force structure you got and put the best technology on it. Make the enemy worry about that perfect technology and they'll run scurrying back to their home ports. For those of you that like popular movies, this is the Star Wars Death Star analogy.  For those of you that like history, this is the battleship Bismarck. Make it unsinkable. Make it just steam in the face of the North Sea and every other navy will run into port. We forgot about aircraft. We forgot about dropping bombs. We forgot technology moves on. But heck, for that time when we were building it, that technology was perfect and it was the best in the world and it was out there and there was nothing else like it. If I go upper left and take force structure down and ships down and try to make those perfect, where do I end up? If I ever hit a conflict, which if I looked at my historical analysis it will take another 10 years, maybe 15 before we get back into another conflict I can't build my way out of this. It takes an average of 17 years to build a new ship from design concept in your head to something at sea. I can't get to the upper right if I guess wrong in here. So where are we going? We're going to distributed lethality. Distributed lethality lives in the bottom right. Sufficient number of platforms to do the mission. Enough. We got to do the math to tell you what that enough is but we're going to be conservative on the enough. And then put things together that make sense in there. Make every cruiser destroyer, amphib, LCS, CLF just like Admiral Rowden talked about a thorn in somebody else's side. If I need a new weapon system I don't go spend 10 years developing it. I go take a seeker if that's my problem and I glue it on the front end of an existing missile. If it doesn't go far enough I go put a new back end on it. If somebody in the world is already flying it I go buy it. If somebody else in the world's got a PowerPoint description of it and says I can get that from you, I ignore it, because PowerPoint doesn't win wars. What's the difference in here between the upper left and the lower right? Let's say I need over-the-horizon targeting. Somebody asked about that. Admiral Rowden talked about it. Perfect exquisite solution for over-the-horizon target. A brand new satellite system that can track a sparrow in a snowstorm on the high seas in the middle of North Atlantic on a bad day. And it goes up to space and it sits there for the next 20 years. It takes me 25 years to develop it, but okay. It can track that sparrow in a snowstorm. I'm not fighting sparrows, okay, and I'm certainly not fighting them in a snowstorm. What happens if I turn around and take something I'm flying today like fire scout, and I went and looked at a radar the other day that somebody else is using, and I said can you turn that upside down and bolt it in the bottom of a fire scout and put it all off now? They went, yeah, just reverse the polarity, plug it in. Okay, go do that. That's distributed lethality. That's operating inside your budget constraints. That's operating with what we have today. And then teaching the young officers out there on how to think like that. Admiral Rowden talked about the tactics and development centers. If they find a hole, we'll go scratch our heads and put it together. To me, this sort of thought process and innovation is looking at the Israelis of the 1960s and early 1970s. We sold them A4s. A lot of you remember those. Some of you may have flown in them, all right? And A4 was really great. It went really fast and it dropped a big bomb and it was great. But when somebody was behind it, you couldn't see back there. So the Israelis had a choice. They could have rebuilt the cockpit and put a new bubble cockpit and had the guy sit higher, or they could bolt on two rear view mirrors. All right? And the guy could look out and go yep, somebody behind me gets check six, leave. Okay? That worked. I don't need an exquisite solution. I don't need a new cockpit. I don't need a guy sitting up higher. I don't need three A4s running together. I need rear view mirrors. Or in this case, front view mirrors and different ways of doing things. All right. So let's look at something and how this infects us. Distributed lethality in what we're thinking about and a different process of looking at how we do things. So how did we look at the modified LCS or small surface combatant? I was one of the co-chairs of the task force, all right, that went and looked at it.  Wrong answer. What we did first was we went and asked all the warfighters what they needed to do. And we asked them all in both fleets, in all areas, in all parts of the world and said, what do you want most? Well, the first thing they said is, well, we want an Arleigh Burke destroyer. We said, okay, you can have those. Well, okay, now we said, what else do you want? Well, they said, well, we'd like a small surface combatant that does a lot of ASW work, covers our mine mission and still does a lot of surface engagements depending on different parts of the world. Here's a shock. The guys in the Middle East didn't think the legs needed to be that long. The range needed that long. Why? Because if you go up an airplane, you see both sides, right? It doesn't need to go a long ways and there's a lot of surface stuff there. The guys in the Far East, what do they want? Something to go in a long direction, a long time and look for submarines. Why? Because for a small surface combatant threat to get out to that battle group, it takes a week. They want to hunt submarines. Okay, so we looked at the trades. Still, cost agnostic, platform agnostic. Then we went and looked at what's possible. We talked just about a representative from everybody in this audience. We said, what have you got? That can be PowerPoint deep. That can be DARPA-esque. That can be unobtainium to the nth degree, all right? Nuclear fusion, okay, we'll take one of those, okay? I don't care. You tell me what you got.  What's tested? What's flying? What's fighting today? And we put it together. So what did we come up with? We came up with a more lethal, more survivable, small surface combatant that gets the fleet exactly what they want. Something that, one, is capable of handling itself in a fight against an air threat. Not to the level of an ages destroyer. We got those. Two, something that can shoot a surface-to-surface missile a long way to give the enemy a bad time. Okay, we'll bolt one of those on. Three, an anti-submarine capability that knows, one, if there's a submarine out there, and two, if a torpedo is coming at you. Important safety tip, all right?  Go do that. Next, if you've got all these things, look at what it's susceptible to. And we came out with some great insights to this. We looked at all the threats in the world. Mines, missiles, gravity bombs, everything else. We looked at all of them. And you know what we found?  I know that's a blinding flashly obvious to some of you, okay?  And what we found was a lot of the weapons in the world are targeted against our big, heavy medium, you know, big, heavy threats to the bad guy. They want to kill our big, heavy, bad threats.  Okay, ignore that. All right? I'm not going to be better than a carrier, a battleship, a destroyer or anything else. So what can we do? We can get armor around the magazine. You can add structure. You can add things that make it survivable, susceptible. You can spread out the gear that's in there. So if you do take a hit, despite all the new defensive and offensive systems that you've put on there, you can still keep going and at least steam back to get repaired. First choice, any surface warfare officer is hit the bad guy first. Second choice, keep from getting hit by a surface ship, a submarine or something that flies. In all cases, put that on LCS, modified at all times. Third, make sure you can back fit as much as possible to make everything in the entire surface Navy more lethal, more survivable and give the other guy a bad time so you don't get hit. That's the essence of this. That didn't convince everybody. That should have been a good enough argument. So the last part of this is how much of it do you want? Remember to the quad chart? I can build you an exquisite something up in the upper left or I can build and take what I got and leave it down in the lower right. So this is the trade. Build four to six exquisite ships from a brand new scrap of paper and out of those four to six ships, I'll be able to deploy one or two of them somewhere to the Far East or the Middle East and I'll build them in the next 15 to 20 years because I'm building a new ship and it takes that long to get it through. Or I can build you 20 modified LCS in half the time and deploy 10 of them in half the time. Your choice. And that wasn't quite enough. So then just like Admiral Rowan was talking about, we were at it against every war game we could find. We went out and we wargamed it in the fleets. We went out to Newport and we wargamed it up there. We went to our nemesis and the Op-Nav staff, those guys with the slide rules that says you got too many or too few and we had them run it. And this is what we found without naming the adversary. You're right.  There shouldn't be a discovery to anybody. It's called war for a reason. And you put entire enemy fleets on the bottom of the ocean. Why? Because they come from everywhere and they're all equipped with weapons and they're all equipped with weapons that can come out and touch you. And if we add things like a fire scout, which we're already putting on there, I turn the radar upside down and glue it to it. It does it organically and it does it by itself and if I add a nice direction system that looks for EW signatures, electromagnetic warfare signatures, I now put together a fighting force that the United States Navy hasn't had in 20 or 25 years. That's distributed lethality and that's distributed lethality in a budget constrained environment. So, back to my bumblebees, back to my bees analogy. I asked you to remember this. Can we do this? This is Project Bumblebee, 1950s, budget dropping like a rock. Upper left picture is two cruisers, Canterbury and Boston. We were looking at what we could do with World War II cruisers. They were built in 1943. Project Bumblebee extension was what you see in the lower right. This is SM-2 in its infancy. And you ask me, well, that was a huge program. That was a... No, it wasn't. You know what SM-2 came out of? SM-2 is the test missile for the TALOS program, which was a really big missile that we were putting on other things. It was the test to prove if we could fly this. And how did we put it together? We used a German World War II beam rider missile, and we said, that's how we're going to guide it. And how did we decide we were going to fuse it? We took a gun round from a World War II gun, a variable time fuse that we were using to kill kamikazes, and we glued it to the front end. And we did it in a government lab that's still around. And we stuck all these things together. We came up with a launcher. We cut off the gun and we put it on top. And we did it in a real short amount of time. And we did it in a budget that was dropping like a rock. If you remember my first time that I showed you that. All right, that's that first huge downslope. After Korea, after World War II, a World War II cruiser now becomes Project Bumblebee, and the start of the age we know now, the guided weapons systems on ships. Can we do it? Absolutely. We've done it in the past. We learned how to fight these fleets. We learned how to steam these fleets. We learned how to take these fleets to sea, and we gave everybody else in the world nightmares about how to come get us. Did it last forever? No. But if we keep doing this, even in declining budgets, we can still do this. So at the risk of being the gloomy guy, the budget's coming down. But if I take and I distribute my lethality and give the enemy a hard time in his targeting, in his thought process, and knock him back on the defensive, I don't have to worry about as much him coming to get me. He has to worry about me coming to get him. And that's what United States Navy is. Warheads on forehead since 1775. All right? And we're going to do it again. So with that, I'll take your questions and then I'll let my good friend from the Marine Corps here, who by the way, we are linked at the hip, you know, in years past it's been, you know, how about your brother and for the Marine Corps? Yes, we're brothers. Cane and Abel. All right? Now, we're brothers. All right? He's sailed with me. I've sailed with him. We're linked. And we're not going to break that trust, just like Admiral Rowden was talking about. So questions before I turn it over to Whaler. Sir. You gave a good defense of the LCS, modified LCS. The big critics are going to be on the Hill, perhaps maybe the Senate Armed Services Committee and John McCain. Have you given this presentation to them yet? He still, his last statement, service statement, public statement was, you know, that your idea is going to need a lot of looking at. Okay. So let's talk about a couple of criticisms of LCS. One, I hope I've given you a hint on lethality and survivability, okay? Don't get hit. Engage the bad guy.  So let's talk about the other main criticism. It costs too much. When we started this program, and I was happened to be a, I got way too much time in the Pentagon, I happened to be a budget guy in the Pentagon at that time, too. And we said it was going to cost us about $250 million or so per haul, maybe a little more, maybe a little less. Look at LCS today. Everybody goes, oh my goodness. It's gotten so expensive. No. Inflate LCS of 2002 at the inflation rates you've seen over the period of time, over the last 12 to 15 years, and guess what? You folks in industry are coming in right on that target with the exception of maybe a couple percent up or down, depending on what we tell you to do that day. We hit it right on the money. Did the first one hit it right on the money? No. No first ship of the class comes in at what you expect to pay for everything else. Are they coming in right on the money now? Yes. Will it bump up a little bit again? When we change it to modified LCS, absolutely with the first ship of the class. Will it come back to a steady state? Yes. Why? Because it behooves all of us to bring it in on a budget that's affordable, and when we created that budget that's affordable, we kind of had a pretty good target number, and you're hitting it. Industry is hitting it today. Well, a couple percent, you know, one or two percent either way we can argue about amongst friends. I'm not going to do that. But those are the main criticisms. The other main criticism is it's not an Arleigh Burke destroyer. You're right. I'm building those. We restarted the line. I'm building a lot of them. I've got a lot of them. I need more distributed. Make the bad guy sweat. I need it everywhere. I need it in the shoal waters. I need it in the ocean. I need it everywhere. That's the other criticism, and that I hope we've demonstrated that we're going to do. Ma'am. Hi. My name is Laura Seligman. I'm the reporter for Inside the Navy. I was wondering, I understand that the Navy has not briefed the shipbuilders, Lockheed and Oslo, on the modified LCS yet. So can you tell me why that is, and are there plans to do so? Sure. One, actually, the answer is yes and no. The answer is yes, because we're still firming up the requirement.  Right? So my folks are writing that in right now, and we're doing the math and we're figuring out where exactly we want that to be. And we're doing the trades on that. Do I care whether it goes 42 knots or 39 and a half knots? We're doing the trades, so we don't argue about that later. But I will argue that the shipbuilder had everything to do with this discussion. We asked the shipbuilders what they could do, and they told us exactly what they could do. Bigger, smaller, left, right, painted different colors, I don't know, whatever you want. Shag carpet on the inside, beads on the doors, whatever. They offered us an option for everything. They offered us more weight. They offered us more armor. They offered us bigger weapons. They offered us everything. And when we came down to all these trades and adjustments, it was the shipbuilder's baseline on what they could do in that timeframe to not break production that we kind of went with. So it's not a surprise to any of the shipbuilders, nor will it be a surprise to any of the shipbuilders when we come down and do the RFP on these things, request for proposals for those shipbuilders that we currently have. Thank you. Yes, ma'am. All right, I'm going to turn it over to the Marines if nobody else has a question. Oh, sorry. Can't see in the light. Yes, sir. Yes, sir. Somebody said, and I suspect it was one of us in uniform, that peace is the most insidious of enemies. And I get that from your presentation. It's hard. And one of the things that happens in peacetime is that control tends to migrate away from the operating forces. And in our present day into the hands of the acquisition community. And we've made the mistake a number of times in putting design issues in the hand of the engineers rather than the operators. And so my first question for you and Admiral Rodin, I guess, are you currently satisfied that the operating forces have sufficient influence into the design issues of making our forces more capable? Okay. That's essentially what we did with Small Surface Combatant Task Force. We went and asked the people sitting in this audience wearing khaki or blues or whatever color you got out here, what you need and how much of it you need. And then we looked at the trades. This is what I can build you. What would you like to do with it? We said, what do you need to control the seas to make the enemy sweat? And then we went and said, is it possible to build that? And once we figured out it is possible to build that, we said, can we build it within the budget? And we figured out the answer to that was yes as well. So that's not the acquisition tail wagging the operational dog. That is the operational big dog with bigger teeth taking the tail and saying, follow me. And I think we got it right. I meet almost weekly with one of the two or one of the major acquisition program executive offices or program managers and we discussed just this. The trades that are made are war fighting based and not understanding budget reality and not based on what they think they can do within their portfolio. We make those trades at the war fighting level. And then we look at what we can afford. Yes, sir. Roger, it takes X number of years to design and build a ship. And I applaud the Bumblebee analogy because what's really important when you get into battle are the systems, the weapon systems, the combat systems, the sensors. But those in our current environment are still subjects of long range programs of record. So thank you for that question. I think I know what you're asking. So go back to my quadrants. Don't change the slide. But go back to my quadrants for a second. If I get the wrong ship with the exquisite systems, I'm 15 years away from fixing it. If I need a system, we have the normal acquisition process and we have a rapid acquisition process. And if I need something now to get the warfighter to do his job instantly, I can have that out to the fleet in months or at the most early years. And I can actually do that. And we've proven we're doing it. And I've proven we're doing it right now. And people say, well, the budget process is three years out. I've proven I can turn money around inside the current year, reshape a weapons program, and start buying something that we need in a certain AOR tomorrow. Now, it's not a new development. I don't need years of testing. But if somebody has something on the shelf, and I go buy it, and I bolt it out. And in the last six months, we've proven that we can do that inside six months and start that process quickly. So do we do it as a matter of course? No. I would like to think about all the integration pieces and have the training inputs and have everything in place and have the spare parts ready to go and everything else like that. And that takes a couple of years. Can I do it in months? Absolutely. But that's how I stick in that lower right-hand part of my quadrant. If I make a mistake there, it's at most a couple of years to fix it. If I go buy exquisite, it's decades to fix. And that's why we're going in our path. Thank you, sir. Thank you, sir. Sir. Sydney Friedberg, Breaking the Fence. To follow up on the question about the systems being critical, you've talked to the over-the-horizon anti-surface missile that goes on modified LCS, that's to be determined. You mentioned the new radar on the fire scout. You also touched briefly on electronic warfare, electronic sensing, and anti-air being beefed up. But I haven't seen any details about that. So can you speak to those systems a little bit? Absolutely not, because it's in my budget two weeks away. You can give me the budget now if you want. I could, but then I wouldn't be the director of surface warfare in the Department. So in two weeks, come see me again and I'll talk to you specifics. Thank you. Other questions? Yes, ma'am. I'm Valerie Insano with National Defense Magazine. I just had a couple of follow-up questions. Can you say when we might be seeing an RFP? And secondly, you responded to some of the criticisms regarding cost of the LCS, but I was wondering if you could respond directly to Dr. Gilmour's criticism that the changes to the modified LCS are not going to be enough to significantly increase the ship's survivability. Okay. One, we find that when you have a critic, take them to sea. Dr. Gilmour went out to sea on one of the total ship survivability tests of LCS. I suggest you ask him how impressed he was with that crew's ability to handle damage problems and respond quickly and get that ship back up and moving and address exactly the things they've been talking about. Can I make it the same shape, size, steel of a battleship or destroyer? The answer is sure. Do I need to for the mission? Probably not. Am I going to increase the survivability of it just by doing structural and armor and so on? Absolutely. What I recommend is you look at the trades we make and we will release all that within the next few months. I can't give you an exact date, but it's before the summertime, we will have a pretty good answer for you on all those trades we're making, and we're not done with it. That's still work that we're doing right now. But I would recommend you come see us in about three to four months and we'll have a pretty good answer for you, ma'am. Sir, you had a question? Yes, sir. Sorry, I just couldn't resist. Yes, sir.  If I can satisfy you, I've got it right. Jim Doyle, retired. Yes, sir. I was a little worried when whether that platform was going to hold up, but it did. It survived. I think surface warfare is in good hands in both your hands and, of course, in Tom Roden's hands. I think that you set the right course, and I believe you've got the capability and convinced the government that the surface navy has a lot of things that it can bring to the party in terms of strategic environment and so forth, particularly in this day and age. And I believe that we ought to worry about how we can make it more relevant to the National Command Authority and how it can be used in a number of ways and put the enemy on the defensive. And that's what we ought to do. And I think war fighting is the correct way to set the priorities, and you just can't be worrying about the details as you're going through bringing on new ships and changing things. You've got to go with what you've got and you've got to make modifications, I believe, of what you already have and make them better. And I think that that can be done, but it can't be done overnight. And certainly when I was in charge, I couldn't be worrying about the little details to get involved in. You set your priorities, you can get on with it, and hope the hell that comes out okay. Well, sir, I've been accused of being bullheaded and stubborn enough to get it done, so I guess that's why I'm here. What I'll do is I'll offer you the opportunity, sir, next time we war game this, come play against us. Let's see who comes out on top. Bring it. You're both doing a great job. Sir.


I'm a tried wife. I tried letting my partner be the breadwinner, but a family household needs this much to be comfortable. The average man makes this much, so I gotta work too. I tried making all the meals, but my partner's a way better cook and finds it therapeutic. I tried wearing traditional outfits for him, but sticking to my own style made me feel more productive and creative. I tried asking permission to go out, but we found out interdependence is good for relationships. I tried being a stay-at-home mom, but my partner wanted to see what it was like as a stay-at-home dad.