Thank you! So let's get that out. Okay, cool. So I'm Jayden from ematic.ai. I see a couple of familiar faces, so possibly something you guys have seen this before. So Word of Warning is kind of a bit of a high-level kind of overview kind of talk, so more focused on problems. But we've built this all in Ruby, so after that, happy to take some questions. How much time do I have? So what's the company do? We build assistance that increase productivity. That's our passion because we want to give everyone time to do things that they love. Basically, we're lazy, machines should do stuff for us. There's a bit about me, engineer, Yahoo, whatever. Let's skip to the interesting bit. What is AI? And I always start with this because whenever we talk about AI, it conjures up a lot of images in people's mind, and most of the time, what people think about, I mean, it's nothing new, right? And the whole point of the slide is it's been around, this was coined in 1956, obviously, work on making intelligent machines have started way before that. But whenever we talk about AI, this is what people think about, right? They think about Terminator or they think about Her, they think about Scarlett Johansson and someone you can fall in love with and talk to. But the reality is a bit more like this today, right?  But the reality is that they're kind of really a little limited today, right? So if you go off the rails, they aren't really able to respond. And that's simply just a fact of the state of the art, right? I mean, no one really knows how to build a truly flexible thinking machine that incorporates all the kind of world knowledge that we have. And that can kind of really respond to you intelligently outside kind of certain volume. So another quick thing about what's an agent versus a chatbot. So here's a chatbot, it says schedule meeting for us next week. And you notice this is a pretty broad statement, right? You didn't say when. But it turns out chatbots today tend to function a little more like IVR agents, right? So they want to know like something specific that you want them to do. So they need to know like what they, right? So maybe suggest two days and that's still not good enough. And then they want to know what time. So literally if you try this with Siri, this is exactly what you would get, right? I mean, Siri will actually ask you for specifically when you would like to have this meeting. And then it will proceed to send a calendar invite out, right? At which point you're like, done, I'm done with this, right? And I forgot to set the context. This is basically kind of a busy executive. You're really on the run.  And what you really want to do is to hand this off to an agent. Now the difference is an agent takes ownership and it's autonomous, right? So it makes decisions on your behalf.  It's ambiguous. It's ill-defined, relatively speaking. But the agent says, okay, fine. Let me go figure this out, okay? And it goes off. It emails the people on your behalf that you want to meet, figures out time based on your calendar and their responses and says, okay, I've confirmed the meeting Monday, 3pm, send the invite out.  So that's the difference between an agent and a chatbot. And obviously what we're building is closer to the agent side of things. So I'll have a quick video that will introduce EV to you guys that will set the stage and then we dive a bit deeper, which doesn't play, which never plays. Let's figure this out. Okay, all right. Okay, great. So it's built with Ruby, of course, but there's a slide missing, which is, so let's around a second. Right, so just a quick recap. As you saw, EV's really this AI system, it reads and writes emails, right? So you notice there wasn't anything special that the users need to do. They email the person they're talking to, or they want to meet, and then you just copy EV into the email like they would a real assistant, right? So if you had a real assistant, that's exactly how they would interact, right? And, you know, EV takes over from there and interacts like a real person, looks at your calendar, sends you, sends them some times, they can respond using natural language, and they can literally say anything they want, right? There's no keywords, there's no kind of boundaries, and EV would just handle it like a real assistant would, yeah? And of course, it's built with Ruby, mostly. It's a little bit of Python in there. And so, and, you know, a lot of people say, well, that's a strange choice, right? Because Ruby isn't usually the language that people use to do natural language or to do any sort of machine learning or anything like that, right? So why did we pick Ruby? Very simply, speed, right? And speed is not something you associate with Ruby, but in terms of raw performance, but what we are doing is we're building a ton of these algorithms from scratch, right? A lot of the natural language algorithms, a lot of the scheduling algorithms, we built and rebuilt multiple times, and the choice of Ruby was really to allow us to iterate really, really quickly, right? And to build something like a tiny mini Hadoop style thing that's totally integrated into your code base, and you can do that in less than a week. In fact, you could probably do it in a day or two in Ruby, which implements some sort of parallel execution or some sort of kind of map-reduced type implementation at a small scale, right? So it lets us iterate very, very quickly because literally, this is new stuff, right? I mean, I think no one's really built a kind of fully automated AI. And a lot of things that we need to try and throw out, or, you know, we've rebuilt algorithms at least three times, I think, for scheduling. And I think our natural language algorithm is on to its fifth iteration. And that doesn't count all the incremental kind of stuff that gets built on top of it, right? So that's Ruby. So now I thought I'd spend a little bit of time just talking a little bit about the challenges of natural language processing, right? Which we call speaking human. So let's take a very simple example. Someone says, let's meet for lunch. And implicitly, between you and that person, you know that lunch is typically a meal and it's somewhere between 12 to 2. And you actually have to usually meet in person for lunch. Now, machine knows nothing about this, right? So the first thing you need to do is to encode all this information into Ruby, sorry, into code, right? So you have to have some sort of ontology that you or a dictionary, if you will. And Ruby makes it really easy to do this because hashes are really easy to manipulate, right? And it's got great syntax, very elegant, and you really get to just say what you mean. So it really makes it easy for us to encode this sort of information and manipulate it, right? Then you have to think about syntax versus semantics, right? So consider I'm free at five, but I have to run at six. This means really you want to meet at five, but it's got to end. It means you've got to run end at six. And you connect with I'm busy at five and I'm available at six. So a lot of traditional syntactic analysis tools that exist in natural language today are able to tell you a syntax, right? This is a noun, this is a verb, this is a dependency graph. But what they can't tell you is that, in fact, although these two looks tactically similar, they're actually, from a meeting perspective, almost entirely opposite, right? So if you run a traditional word-to-vec program, which is a fairly common first step in a machine learning kind of pipeline for NLP, you'll find that these phrases are going to come out looking very similar in a vector space, right? So we need to basically write our own custom algorithms on top of this, combine that with the ontology to be able to just make these distinct ones, right? And you know, so here's another example. Let's meet Thursday or Friday afternoon works. Really simple sentence. Again, effortless for a human to process, you know, exactly what this means. But let's consider, right, that the machine really just sees this as a sequence of symbols. So first of all, Friday and afternoon need to be joined together. You're really talking about Friday afternoon. Very straightforward. But then you need to look a little further and realize that, hey, that the word afternoon, although it's a little ambiguous, probably belongs to Thursday as well, right? So you need to kind of look at how you can group stuff. And then on top of that, you then have to take this entire Thursday or Friday afternoon chunk and treat that as a single unit, right? And use that and say, hey, this person is saying that both Thursday and Friday afternoon work, right? And again, you can imagine how, you know, using the Ruby hash format, it's really easy to combine these things and kind of construct a structured representation of what Thursday or Friday afternoon really means, right? And so I think that has really kind of paid a lot of dividends for us. Here's another example of another different sort of problem that we need to deal with. Let's do coffee at Holland Village, say Starbucks or Yapen, okay? So a few things we need to pass out here. Besides the natural language syntax and structure, there's an implicit relationship here. First of all, Holland Village, HV in the Singapore context means Holland Village, right? That isn't necessarily the case for someone in San Francisco or in Seattle or New York, right? So we need to have very, very region and city specific dereferencing or core reference resolution to be able to decode something like HV and put it in the right context. In fact, this might even vary from person to person, right? So that's the first problem. Then you need to recognize that there's an implicit relationship that Starbucks is a very specific venue within Holland Village, the area, and the same thing with Yapen. And so you know that there are actually two kind of proposals here, right? Holland Village at Starbucks or Holland Village at Yapen. And again, I love hashes. They allow us to just throw stuff in and add more and more resolution to a particular location as you build it up, right? And as you read the sentence, you just add more attributes to it. As long as you've got your schema done properly, you can actually do this fairly simply. Here's the last problem. And now we go a little bit beyond just the surface level reading of language. I'm in Hong Kong next week. So subject, this is a fact, right? This is simply a statement of fact. So you need to first be able to take that sentence and turn it into a structured representation, which is the fact, right? That, hey, I'm in Hong Kong. So the person who's speaking, the first person form is saying that this person's in Hong Kong, right? And you can have some details about Hong Kong. And again, there's a validity now attached to this fact. So you first need to capture this, store it, and then you need to reason from this because it depends very much on what you're trying to do, right? So in the context of an AI meeting assistant trying to start with scheduling a meeting, we need to now bring in the context of conversation and figure out where's this meeting, right? Is this meeting going to be in Singapore? Am I organizing meeting in Hong Kong? Is it a call, right? Does this person have any personalization parameters, right? It's like, oh, well, no calls, be honest at the time, or I only do calls on Monday, Wednesdays or Fridays. And only after you're taking the context plus the fact, are you able to make some decisions? So there's another kind of big brain there that makes these decisions. It says, takes the fact, takes the context, reasons from it and says, well, you know, maybe I need to propose a time next week because it is in Hong Kong. So it's a great time. Or maybe I need to find another time range because it's not a good time, right? Or I need to change the meeting to a call. So there are various actions that you can take. And it all starts from just one single sentence. You can trigger this kind of, not cascade, but literally a sequence of events that could result in a decision where you can say, well, I want to reschedule the meeting, or I'm going to turn it into a call if it's urgent, or I'm going to move it to another time, right? So at a higher level, this is kind of what the natural language pipeline looks like. And it's, as I said, all built-in Ruby with the exception of the shelf components. So the tokenizer and POS tagger are off-the-shelf. And this is one of the components that are actually, is actually running in Python right now. But the reality is it could run in Java, it could run in C, it could run in whatever natural language library we haven't had it connected to. And the reason for that is because these are fairly well-solved problems in academia, right?  And these in and off themselves are the product of kind of 30 years of research and, you know, they all incorporate kind of latest machine learning techniques. And some of them, I think, if you guys follow the space, Google's pasty mac past space or model has uses neural nets as well to help with some of the decision-making. Then the rest of it is entirely a customized NLP stack that we've built. It's got an ontology that looks up things like lunch and kind of enriches it. And then we've got a semantic chunker which really uses meaning to kind of group to group words together. Then we do entity detection. So this is the Holland Village example. And then we build kind of a graph of the sentence and not only of the sentence but across multiple sentences, right? So if you think about it, we're reading entire email. We're looking at sentence one, sentence two, sentence three, and we're kind of constructing information and actions and data from these series of sentences, right? And so that's the graph building and then the information synthesis piece of it. I have to compete with that. Then we route. So I'm going to try. We route which means looking up the context that I talked about. So putting the message that came into the right context, right? What task is it talking about, what was proposed, where's the meeting, et cetera. We bring that context in and then we enrich it. That's the last box. Then we end up with the structured language representation that's really the machine readable understanding of what this message means, right? And that's really the natural language pipeline that we built to handle this. And that's just understanding language, right? Then there's a whole bunch of other stuff. I talked a little bit about the scheduling algorithms and how it needs to take into account a whole bunch of different things. For example, in a very naive scenario, machines don't understand human notions of time, right? So you say, hey, let's meet next week. Well, what's next week? Well, is that midnight on Monday, the first day of the week? Not really, right? And there's whole kinds of various factors you consider, time zones. How do you do that in a scalable way? And I think route was really great in helping us kind of experiment with different architectures for doing this. Location modeling. We talked about that when we talked about language as well. Aside from the language, you also need to have a way to represent this in terms of database structures and looking up stuff in a tiered and hierarchical manner. Dynamic workflows, so lunch, coffee, meeting, all that, then natural language generation, right? So each of these are like boxes and that are handled by one of these, right? So the natural language piece is really this box over there, right? So that's condensed in here. So this is kind of a broader view of the entire system. We start with the IO layer on the left. So you notice that in the current iteration, current version of the product, we take email input, but really the application has been designed to take any kind of textual input, right? So you could take text from instant messages, Slack, etc. So there's a generalized, virtualized kind of IO layer that we've abstracted away, goes into the natural language engine, the routing engine, and then it goes into the task manager that obviously kind of just looks at which tasks it's in, what state it's in, what workflows we are, location, location classification understanding. So that would involve, again, taking HB and translating it into something meaningful. You have a meeting room in your office named Hong Kong. Well, that's something that we're responsible of. The locust component is responsible for transforming into, you know, your kind of establishing probabilities, right? Is this Hong Kong meeting room or is this Hong Kong the country, right? That's your self-scheduler. P39 is our personalization engine. So no meetings on Mondays or I'm okay to travel on Tuesdays, but on Fridays, I want meetings in my office. So there are lots of rich personalization that it turns out users want for AR scheduling assistance to the useful. And we couple that with world models, right? And world models is really what we're saying is something like, if I'm scheduling a meeting and I say, hey, I'm talking to someone else or two events, I mean, Hong Kong next week, right? The next meeting I schedule, EV should really know that I'm in Hong Kong next week because I've told her in a different task, right? In a different email. So you always have to establish this memory and this kind of model of the world where people are and when they are in different places. And it's really a very dynamic environment that we keep track of, right? The sync engine is maintaining synchronization with the user's calendars, right? And this again was where Rugo is really useful because it turns out that synchronization is actually a fairly common operation in a lot of things that at least we do. So we were able to kind of extract the whole synchronization logic out as a module and literally just throw that into any class that needed the standard kind of like what's been added, what's been deleted, what's been changed and kind of like the automated pride infrastructure, right? So all this is kind of the brain that makes decisions and then at the end of making decisions, if you need to send an email out that goes into the national language generation engine, we haven't talked much about it, but it's also kind of that's worthy of another kind of deep dive at some point. And then flex message is really our abstraction layer because again we need to be able to say that I didn't want to rewrite, we didn't want to rewrite the code or rewrite the logic if we're talking to someone on SMS or short message just like chatbots or Slack versus a full email, right? So you want to be able to say the same things, but the way you would say it will be increasing will be pretty different depending on the channel you're talking to, right? So basically we've abstracted the way that in the messaging layer and then that just goes to the generalized IOL layer. And so that's really kind of the end-to-end architecture. We're obviously hiring as well, we just raised the seat round a few months ago and we're looking for software engineers, NLP researchers and of course anyone interested in machine learning. So that's it, so questions. Thank you. Yeah, so a lot of the feedback, so there's actually a supervisory loop, right? So it turns out that people don't like it when assistants get things wrong, so you can't actually afford to have it go out and do something wrong, you have to catch it beforehand. So until she's good enough, there's still people in the loop who kind of verify that things look good. There's also one of the things we're looking at is actually in the process of building. It's kind of a separate God, kind of like the way the Apollo computers, right? You'd have like two computers compute the same thing and if the numbers agree then it's good. But if you have, in our case, we're using two different methods and if they come with the same thing then it's all good. If they're different then it's like, hey, okay, maybe someone should look at this, right? Okay, I'll stop. Can you do it that precisely? Sure. So the IO there, that generates the hash from the app? Not really. I mean, the IO there is just responsible for taking input from email versus slag purchase, yeah. So you're saying that it generates the hash that you can then work with? That's more the conceptual language understanding. So it's from the what part is it, does that part of it all always need to build emails? For example, you said lunch, right? Yeah. What distinguishes between at lunch and for? Because at lunch could be a skyfall during the region and for lunch could be a street. Is there a rule set or is there like a training nurse? How do you classify those different ways of doing things? And if you file an edge case, how do you add them there? So a lot of it is, so that's actually the slide you really want is here. Which is really the expansion of the clues, right? And that typically happens during this process, like in middle of the oncology and the semantic jumping. And really you have what we're using is, you're using the attributes of these words, right? To kind of figure out what the right thing is to do. So typically what happens is lunch is the subject, right? It's got two properties, right? It's actually, you model both the fact that it's an event, but you also model the fact that it has time properties, right? And then the preposition tells you what to do with it, right? But a lot of times you don't actually need to be that fine grade because generally intent is clear, right? So we're trying to avoid being too picky about grammar because the moment you start doing things on the mobile, grammar goes to hell anyway, right? So what we try to do is kind of pick out the sense of the message and figure out from there. If I had e-mail and you had e-mail, would they just get a good thing? So technically it's possible. It turns out that sometimes people don't like that, especially if we haven't met before. So typically within a team or within a domain, then it's usually acceptable to do that. But usually it's like, say I want to meet you and I copy you, but you will usually wait for you to come back and say something to say, okay, yeah, let's do this, right? Or if you don't reply, then you will ask you, hey, do you want me to go ahead and confirm this meeting with you? So a lot of this is human factor engineering, in that sense. Really? No, right now we're using mailback. To receive, you know? Yeah, they've got an API, they give you a, you get, actually it's not even that, it's just a web call. And they handle parsing, so they do some level of parsing for you. So would they tell you what is their client or what is the injection? Yeah, so, you know, and we skip over this. I mean, an email really has a whole bunch of things, right? It's got the quarter part and it's got the main part. They do, I think when we started out, we used the off-the-shelf algorithm, and then we built a customized version on top of that, and then after that it detects signatures as well. So, and that's, you know, then you do the interesting stuff with who's in two fields, in a CC field, and solve data and context that you use to decide how to respond, right? Okay, sorry, well, which one? This one? Sorry, I'm having trouble hearing you. Okay, so my question is, how do you still communicate with the NLM-based systems? Yeah, when one system learns to love big enemies of math and information, you don't have a language. Yeah, I mean, ideally, ideally, right, you can think of it as a translation task, right?  We're not quite there yet. But yeah, that's definitely kind of a long-term area we'd like to kind of work on, and figure out how to really kind of unify those two, because you're right. I mean, they are two sides at the same point, yeah, yep. One question I guess I have, how do you deal with the noise-signal-to-noise ratio?  That seems relevant. Yeah, so that actually is kind of part of the challenge, right? Because a lot of times, we're not the only recipient in the email. I think what you're talking about is like, you know, someone's talking to the other person, and then at the end, there's a sentence that says, E.B., do this, right? But it turns out you have to pay attention to all the other stuff, because it has a bunch of contextual clues that tell you what you need to do at the end, because people aren't, they aren't gonna repeat what they said earlier in the message, right? So they'll be having a conversation about, hey, we should meet here, and we can do this, and talk about that, and then E.B. set this up, right? So you really have to read the entire message, and you know, some of it's just, okay, maybe you've discussed stuff that's in the past tense, right? For now, at some point, we'll do something interesting with the data, of course. But in the short term, maybe that's not meaningful. You're looking for future-looking events, for example. There's one way you can do it. You could look at who it's addressed to. So part of that is the information synthesis and the graph building, right? So figure out, like, there's a bit of diode modeling happening as well, right, in a very primitive sense, yeah. So those are some ways we can deal with it. Does E.B. have a custom email address per person, or does 3 to it is based on the 2? Does E.B. have a custom email address? So it generally is a shared, like, everyone can just email E.B. at Mimetic, and we know who we're talking to based on who sent the email.  If you mask your email address, it doesn't recognize who you are, so it's not going to take instructions from you. But if I mask my email address to someone else that was a customer? Oh, yeah, sure, yeah. That would potentially be a risk factor, right? I'm sorry, I didn't say that. No, but it's a great point, right? And it hasn't been much of an issue yet. I'm sure at some point we'll start checking DKM and SPF and making sure that the people who sent the email are verified, right? Why is she a female? You know, I didn't want E.B. to be a female name, but it's about as gender neutral as you come up with, and yet still be too syllable and could search on the App Store for it, because at one point we had an app. But yeah, at some point it's going to be just something you can, if you pay enough, you can name your own assistant. I'm open to suggestions, guys and girls. All right, if anyone has any more questions, can I look for Jin after the meetup? Cool. Again, I guess they could email you if they want to. Yeah, absolutely. All right, thanks guys. Okay.


All right, everyone welcome. Thank you for sticking around and come to chat with us about what's possible in WordPress 5.0 So with this session, we're hoping to show you a little bit about what WordPress is doing and you know Sometimes we go heads down. We're in the Drupal world And it's nice to look around and see what's going on in other spaces and just have an idea So we're talking about some of the upcoming changes in WordPress My name is Andrew Taylor. I'm a developer programs engineer at Pantheon actually come from more of the WordPress side I came to Pantheon about two and a half years ago When Pantheon does Drupal and WordPress as a platform so came on to kind of Provide some WordPress expertise, but I've really kind of grown into The Drupal space as well and there's things like configuration management I wish WordPress had and so we're going to look at some of those pros and cons and With me I have Steve Perche Hello Steve Perche here lead developer advocate at Pantheon You can find me as Steve Vector pretty much all over the internet Drupal.org GitHub Twitter you might remember me from some past core conversations like I just want to edit a node at Drupal con Denver or What panels can teach us about web components in 2015 you might also remember Andrew and I co-presenting at Drupal con New Orleans We gave a WordPress focus and focused session in the horizons track called lessons from WordPress core that was more focused on The processes by which WordPress core does its core development and one of the main points We had that presentation was the idea of WordPress as a twin island for Drupal We've been hearing about getting off the island in Drupal for a number of years at the Drees note This week we heard about let's let's just take Drupal to the PHP mainland I think that's sounds like a great idea We've got bridges and ways of getting to the wider PHP community But there there is another island out there and it's it's WordPress It's a pretty similar island to ours and we think We benefit by by having good communication good learnings from that island many of the fundamentals on WordPress Island are very similar to Drupal Island GPL lampstack CMS started in the early 2000s led by the benevolent dictator for life Who also is is the lead of the major? company in the ecosystem Drees with with Acquia Matt Mullen like with automatic They also distribute power through a system of lieutenants leading the process of core development There's patch-based collaboration on pre GitHub sites WordPress org Drupal org They serve similar client bases higher ed media small businesses both CMS's can now Claim white house gov at some point in time as well Back in 2016 when we did that presentation at Drupal con New Orleans We were basically giving a plus to a plus one to Developments that were happening in core development process on the Drupal side like a regular release schedule We were pointing to how those had been successful in WordPress WordPress in 2016 was on a four-month release cycle Or there were different rotating release leads basically a more formalized way of distributing power amongst Some of the top developers in WordPress and they were working on multiple features at once keeping things backwards compatible over the last two years Drupal and WordPress kind of Started moving in in opposite directions on these specific questions Drupal Back in 2016 had just adopted that every six month cycle. It was starting to go. Well two years later It's going I think really well WordPress is now in a mentality of the next major release 5.0 will be released when it's ready not On a four-month cycle when it's ready. I think sounds familiar to a Drupal audience remembering to the way Drupal 8 worked also Powers gotten a little more concentrated on the WordPress side with one of the main features coming in and WordPress 5.0 Matt Mullenweg decided he needed to take more direct control over the way core development process was working and Because he wanted to make 5.0 a more focused release It meant some areas of core that some sections of the community were interested in just haven't gotten much attention because they Were not designated as the focus for 5.0 Democritizing publishing is the big idea in the WordPress community That's one one idea I really want to communicate that WordPress since its founding has been focused on the idea of democratizing publishing and basically what that means is making the tools of publishing as Accessible as possible to as wide of an audience as possible. I think that's one of the the main ways of separating out Why these two islands with very similar fundamentals sometimes have different priorities because I think WordPress is able to more clearly articulate their end goals So Gutenberg, this is the WYSIWYG editor that will be spending much of our time talking about Coming in WordPress 5.0. The goal here is not just to create a seamless post and page building experience But also to provide a seamless writing experience WordPress much more so than Drupal is very focused on that end-user experience that Persona of who actually is going to be using these sites and their day-to-day job is much more represented In the in the WordPress community than it is in Drupal Drupal's focus I don't think as sharp as Democritizing publishing right now. I think ambitious digital experiences is probably the clearest phrase We have that captures what we're trying to do as a community before that We had come for the code stay for the community or community publishing someone reminded me of that one Last night at the first trees note. I ever saw in 2010 trees ended with a message of Let's keep our culture of innovation Execution and fun that we had as of 2010 if we keep that culture then awesome happens And I think all of these are generally positive And I I don't don't have anything against any of these messages, but they're not as focused as let's democratize publishing Drees also in 2010 recognized that there was Two paths before Drupal we could move upmarket as he described it We could develop more enterprise-friendly features like configuration management like content staging And that would help us win larger and larger projects for more and more money Per project or we could go after a wider group of people Try and capture a larger share of the internet by serving the needs of of a basically the mass market What trees at the time described as the approach wordpress was taking and I think the approach wordpress has been very successful with to date I was also just happy to hear listening back to what trees was saying eight years ago and realizing My perceptions were were accurate. I had been as I've been preparing for this I wanted to say Drupal as a community is more driven by developers and what developers Think is is cool Technologically and it was nice to just watch the trees note in 2010 and hear him say that explicitly like it wasn't my imagination It wasn't subtext it was actually what trees was saying in 2010 that Drupal is driven by the interests of developers He hoped though he hoped that in 2010 the concept of distributions would allow us to better address the needs of the mass market and to some degree that has been successful, but Just on the level of do we have the market share or not? No, no, we don't distributions didn't really Meet that needed in the way. We were we were hoping trees also I was glad to hear he said that it would be more difficult for us to focus on a great user experience That would meet the needs of a very wide group of people I was happy to hear him say that that is the harder road because I think it is And eight years later the market share Proves this out none is till the the most popular CMS choice on the entire internet That's about half the internet no CMS whatsoever, but a full 30% of the entire internet is run by WordPress according to W3 techs Drupal down at at 2% and Drupal's growth is is basically non-existent if you look at this This view if you look at the view of the biggest sites on the internet we look better We're at at 9% according to a different set of metrics built with comm 9% of the top 10,000 sites compared to WordPress still much higher 37% of the top 1,000 sites So I do want to emphasize this idea of democratizing publishing, but I don't want to necessarily get that confused with Democracy itself. I think there's a strong argument to be made that as a community Drupal is more democratic and that I think we More widely distribute power amongst That group of core developers Dries is more consensus oriented He is he's much more willing to to let a decision-making process go out much longer in the hopes of getting wide community Consensus before putting his foot down and saying The decision has been made and it's been made by me But what people what people are around to make the decision and in Drupal you if you've been at Drupal events over the years You've probably seen the Drupal learning curve. It's a very steep learning curve So the people who are left around to make decisions in Drupal are the people who can climb the Drupal learning curve and that Drupal learning curve Gets rid of a lot of people gets rid of the gets rid of people who are using the software for Publishing wordpress has a much more approachable learning curve It means that the people who are there in the room for wordpress Have a wider set of needs are a wider set of personas that the people who are Authoring content in wordpress have more sway in that decision So I was really happy to hear in the Dries note this year that this is top of mind for Dries as well He recognizes that we need to do better addressing the needs of of that Author audience, so let's let's jump into actually looking at wordpress here So if you were to install wordpress right now wordpress core you would see this Editor that's been there since 2005 This may be what you remember of of wordpress Wordpress right now relies on the concept of short codes for embedding more rich information inside of your your post field and Speaking at least for myself this impression of wordpress is is why I thought well wordpress Before I started at pantheon and reintroduced myself to wordpress I thought wordpress has difficulty addressing the complex use cases that That Drupal tackles what we see here is a screenshot of advanced custom fields basically the the cck of of wordpress wordpress still has the dynamic of No customizable fields in core so like we had in the Drupal six days there are Contributed plugins that you can add for structured fields So there are a lot of wordpress developers out there that would hope that this concept structured fields would be going into core But that is that is not what's What's happening in Drupal? We do of course have Much more of a culture of relying on structured data, and I think this is probably our biggest strength paragraph module in Drupal 8 is An exploding module I just keep hearing from more and more agencies that this is one of the best things we have going on in Drupal it allows us to work in this design component mentality. We can design perfect HTML outside of Drupal and then we can implement it with paragraphs module Well, I'm here somewhat to say as a warning that wordpress is coming with something. That's that's going to be I think much better at achieving that concept. It's this Gutenberg editor that's coming to wordpress core So on a certain level it is like a really nice-looking whizzy wig It gives you bold and italic text you can change colors of things and really nice detail here Is when you change the color of text to something that's bad for accessibility you get a warning saying? This is a bad color choice for accessibility It's a better fulfillment of just the idea of a what you see is what you get editor So rather than having that short code Block that we just have to imagine what it's going to look like rather than trying to imagine what our Drupal Paragraph might look like on the other side We can just see the Google map that we're dealing with this is a plug-in that Andrew wrote for Google maps embedding right into the whizzy wig Adding images is incredibly easy one detail on a point out here is that to add the image block I'm not pressing the button for the block I'm just using a keyboard shortcut to say I want an image and then I decide no actually I want a gallery of images I'm going to convert this image block to a gallery block and then just upload a bunch of images at once I've I've not had this easy experience of creating an image gallery ever in in Drupal I've been saying the word block a couple times here. That's the key concept in Gutenberg everything is a block each paragraph is a block block quote is a block the map is a block and so on You can have blocks inside of other blocks nesting of blocks similar to the way you can have paragraph Paragraphs in Drupal nested inside of other paragraph entities some blocks are static blocks meaning a heading a paragraph Tank a block quote what you might imagine of that html is just what's directly saved into the database in WordPress some blocks are dynamic Basically, I'm saying here. I want a block of recent posts rather than the default five I want specifically six recent posts and I want to displayed in two columns instead of one So it's getting saved into the database is Recent posts six of them and two columns what we see in the editor here is a react block like React is used for the editor itself React is talking to the WordPress rest API in order to give us this rendering inside the editor when it gets rendered out to The general public it's server side processing of just that idea of recent posts six of them two columns That's getting processed server side. You can have reusable blocks Basically, I have a block quote about blocks that I'm designating to be a reusable block I can then embed that in other posts Updated in one place and it'll update everywhere. You can lock down post types. Basically the WordPress equivalent of content types I'm my first reaction to this was wait. Whoa, whoa, whoa too much flexibility I need to lock things down Well, of course you can lock things down for the post type so it makes sense to lock things down The data model is is almost going to almost certainly going to be the most controversial choice As far as a Drupal audience is concerned the data model is the body field WordPress Treasures the body field it considers that you know nearly sacred in its importance so what we see here is that each block ends up getting saved as Basically the HTML that that is the rendered representation of the block that gets delineated by HTML comments the HTML comments say what the block type is there may be some JSON within the HTML comment and The reason they're doing this is because they think this makes the the body field more comprehensible more migratable more ownable It's a better fulfillment of the idea of democratizing publishing There could be technical advantages to you know storing each block as its own database record and they've written the they've written The editor in such a way that the serialization the saving could be swappable so you could just store this as JSON you could just store this as Its own records in in the database block by block but for democratizing publishing They want the default to just be the whole bit of HTML all right with that I'm going to turn things over to Andrew to talk more about how exactly did they get here from from a technical perspective Yeah, thanks, Steve. So this has been a long time coming in WordPress So I kind of wanted to share with you the journey of JavaScript adoption. This isn't something that Happened overnight this happened over a long period of time And so as Drupal looks to adopt JavaScript more into WordPress core and we hear about JavaScript powered administrative screens and things like that. I just want to share this journey so we can maybe Learn from it and take some Messages away, so WordPress actually has a different feature besides the Gutenberg editor called the customizer Where basically you have Configuration over on the left in that pane and on the right you get a live preview This is a fully JavaScript driven application where users can go in update the setting see that live preview on the right You can drag and drop things you can do all of this really cool stuff and it first came Into core back in 2012 in WordPress 3.4, so it's been there quite a long time core uses it a fair bit and Users like that they can go in and update their logo and things like this and see the preview without having to publish and then go look at The front end of their site Gets rid of that save and surprise, but developer adoption was not very high with the customizer so in 2015 they made it required that any theme uploaded to the official repository had to use theme settings within the customizer rather than their own settings page and Developers did that, but they just sort of did only that that was the bare minimum That's all they did even though they had this great JavaScript application that was extensible and they could do all kinds of really neat things with it Here we can see things you could like lazy load items So if I wanted to build a slider on the home page I could have a button so clients could dynamically add slides and upload images and see how it's going to look before they publish But nobody really did that outside of a few enterprise projects where clients would foot the bill for that custom development There weren't a lot of contrib modules things going on in the community taking advantage of this and then in late 2015 Automatic the company sort of behind wordpress.com, which is a commercial product built Calypso, which was a react native Alternative interface for the wordpress administrative experience it ran Mac windows linux You could fire it up. You could connect your sites to it You could publish all your content in it in this nice sort of native app way and it's you see here much different Looking then kind of the editor. We've been seeing previously and so people thought whoa This is you know gonna be a complete game changer. Maybe this will come into Wordpress core and things like that, but no no adoption Some folks that use the dot-com commercial product used it a few other sites You had to install jetpack which is also done by automatic kind of large company in the space You had to connect to their APIs to use this product and people didn't really adopt it So wordpress has been trying to get JavaScript into core with these experiences for quite some time and after Calypso still in 2015 the state of the word which is similar to the Dries note happens at WordCamp US in December every year Matt Mullenweg Sort of the the leader of wordpress just gave a homework assignment and learn JavaScript deeply and people like okay JavaScript is you know Kind of surging and taking over the web and a lot of spaces and people are like well, what do I learn? What's going on? And so they had this Kind of directive, but didn't really know what to do with it and then in December 2016 He said he's putting back the product lead hat putting the product lead hat back on as Steve talked about wordpress went from a Release cycle every four months to Matt kind of said hey, I'm taking over. We're not gonna do releases anymore It's just gonna be done when it's done So this was 2016 and the only idea we had of the new editor was this one slide at the keynote That said it will be block-based and it will replace widgets and short codes and all the other things we have going on It's it's gonna be this cool new thing that will take care of all of it and People kind of went what what's going on right? We're supposed to learn JavaScript very deeply This thing is coming to core, but now the community doesn't have as much control. We don't have input We're not having a community release lead The head of automatic is taking back over and we don't know what's coming or when Pretty scary stuff right and so even though there was this homework assignment to learn JavaScript deeply We had React and Babel and ES six and webpack and all these things come out and people are kind of learning it But not for WordPress people were doing WordPress development were slow to adopt this there are a couple people that had Third-party plug-ins and things that maybe they would rewrite their plug-in Admin screen in view or a reactor or something because it was cool and they wanted to play with it But overall the wide adoption was not there And so there was this big question mark around JavaScript and WordPress. We knew something was coming We knew this editor was coming, but people didn't know what they had to do When when things are going to be released and all of that stuff so There was a little bit of this bumpy road WordPress actually threw around its weight a bit against Facebook and they wanted to use react to drive these JavaScript Experiences, but it was not licensed to be open source friendly and finally Facebook kind of blinked first and they Relicence react with the MIT license so that it is open source compatible And they started publishing Documentation so this is in Examples of what this is going to look like so this is a screenshot here We have some documentation on the development stuff going under the hood But it was really a big chunk of developers from automatic with Matt leading this charge and doing a lot of this development And it was on GitHub, but it still didn't have a lot of involvement and people couldn't quite see what was going on And so as we move further down the road they released some tools WordPress has a command line Called WPC li similar to drush so you could scaffold a plug-in and create your own custom block in it That worked well for developers, but it still didn't reach that wider audience and so there's still this kind of you know, what's going on here and Then at state of the word in December just last year you can kind of see the quote here They did a live demo Where the technical lead for the Gutenberg project got on stage and actually said in the mic I just pulled a bunch of in progress branches together. I hope this works Can you imagine that at a tree's note? and So came in gave this like really solid 15 minute live demo live streamed in front of the whole audience Everything that showed it off and people saw kind of the power of what Steve was showing this new Content-authoring experience and they got really excited It was announced that WordPress was going to continue this focus that there's still no set release You still need to learn JavaScript deeply and Gutenberg is here to stay It was this very loud message and people finally said okay We're going to pay attention now that live demo was sort of the turning point when the community kind of went I don't know what's going on. It was very very clear after this State of the word presentation what was going on and that you need to adopt Gutenberg because this was coming And so the community reacted and they got behind it I think they reacted in a very positive way because of that live demo and getting them involved earlier in the process Gutenberg is not released yet If they'd waited until this thing was merged into core and then got on stage and showed off a Polished video of the final thing it would sort of be too late for adoption They needed the community to help support this effort in order for an initiative this large to be successful And so we see this is a the advanced custom field Steve was talking about that a lot of folks use for those data structures and they came in after this state of the word at the end here at December 2017 Publish a blog blog post that their focus in 2018 is full compatibility and They're focusing their development time on that the community started creating blog posts and articles. We looked at that Map shortcode here's was a blog post that you took the shortcode with the square brackets You put in a github gist URL and then it popped out on the other side This was a step-by-step development tutorial of how to convert that to a block And and really get getting people excited and learning about this There's been webinars and all sorts of things we've been hosting some at Pantheon There's been a lot around the community as well as create Guten block. This is probably my favorite We looked at earlier WPC li kind of the drush equivalent letting you spin up a way to develop your own Block, but it was vanilla JavaScript. This actually Takes create rack react app and extends it so that you can create your own custom block and write React code with JSX and all the modern tools that you want to be using and you can spin that up in one command Lowering that barrier to entry so that people really can Get their hands on this and start adopting the technology now before it's actually merged into core And I went to word camp Miami Just last month in March and so we went and there were actually two tracks two full tracks at this conference This is one of the larger camps in the WordPress space has over a thousand attendees and we saw One track an entire day devoted to Gutenberg development how to get started with your first block How to take a look at those things and a completely another track That was just about react in ESX and modern JavaScript and remember this is a community who has largely been writing PHP For the most part there's been some jQuery and parts of WordPress have backbone But really to have this huge shift from majorly writing PHP to JavaScript It's a really big initiative. So this community support is imperative And so now at the end of all this we're at a state now where Gutenberg is being Still continuing development and there's some things that need to be worked out like accessibility in the editor We saw that preview of giving a warning about accessibility on the front end Well, how does a JavaScript application be accessible for people using it working on mobile these sorts of things But with the community behind it and this very large support of automatic and sort of this being the sole focus We're at a point where I think it can be very successful and it's going to you know be released when it's ready Hopefully be done right but having everybody behind it at this stage when we're still in the beta phase is very very important And now WordPress is embracing this rather than people being Apprehensive and scared when the same comes into core and they're already having conversations with clients about hey I'm doing a new site build for you. This new editor experience is coming Let me develop for in the develop your site with that experience now And we'll go back and there might be a few small bumps But for the most part things are fairly stable APIs aren't going to change largely They can go in and build that and tackle those projects now so they're not launching something That in the next year is going to be obsolete. So with that I'm going to pass it back off to Steve to Have some conversation Yes, so this of course is the core conversation track So I'm hope I'm hopeful that there are conversations in the room if there are please come up to the front some possible Conversation starters everything is a block is what we hear on the Gutenberg side of things and that sounds really familiar to me On the Drupal side of things there's there's been a mentality that in in Drupal 8 the block system is much better So we could just do Drupal site building where we just think everything is a block and maybe that would make something is better But is that a good way of thinking? Do we want other do we want our site building tools to evolve into content editing tools? I think that's what's basically happening with some of the layout-based modules that are coming into Drupal core right now They're essentially site building config based modules that are From conversations I've had with agencies are about to become Content editing tools agencies are planning on taking the layout builder and giving it to clients as a content editing tool That concerns me a little bit because I think You can have more success going the direction WordPress is going with Basically taking a tool that is first and foremost a content editing tool turning it into a site building tool How can we get community to embrace modern JavaScript? There's been plenty of conversation around that One of my biggest questions as as Drupal looks at that question is what is really going to be possible that's not currently possible? I think we could we could struggle if we simply rewrite everything in JavaScript and end up with the same end functionality just happens we rewritten in JavaScript And is there is there room for us to reimagine the editing experience? But I'm first curious to hear are there any other questions in the room Yeah, if you have something, please come up to the mic or if you want to shout we can repeat it for the recording But the microphone is much much easier All right, we got one Just one quick question. Do you know if there was this some kind of User experience Testing before implementing all this because you said that it goes to happen everything house in automatic Yeah, so they actually at word camp us in December and even at Miami the one I was just at at March They had Gutenberg booze set up where they would ask people from the community who maybe haven't even heard of it Just showed up to their local camp to get on use the editor and they recorded the experience and then started asking them questions afterwards so there is Paired with the technical lead for this project There's also a design lead and they're doing things like user testing and studies and all these in trying to get the interface Right, so they're not just going technical first There's really this design focus user testing and then once the design spec is updated Then we can go in and technically implement it And I'll just add on one of the reasons that works is because word camp us has attendee is who our content editors If I would love to say yes Drupal should do that. We should have a booth where you can do a live User experience test of any new experimental module. Well, okay If we do that most of the people walking up will be developers Who think about such tools in very different ways? So I'm glad we're Making an active effort to diversify the the group of people that comes to Drupal con What's been the approach to migration of old sites? Uh You can probably take this one. Yeah, so a lot of agencies I've been talking to you haven't been migrating sites yet because this is not in core. It's still in beta It hasn't been merged. So that is still to be seen But like I said, a lot of them are starting new projects now with Gutenberg. So they have that experience They're learning it they're using the tool now. They're getting familiar with it And they're starting to have those conversations with clients and do some of that discovery and scoping So that it when it does come into core, they're prepared and they're ready And so that's why that community buying is really important that if it just merged into core and people Hadn't done all of that work ahead of time Then there's a lot of pain there and so it's important that they're involved in the process early and can kind of wrap Their head around it before the actual shift takes place and WordPress is kind of always had backwards Compatibility and this is going to be the biggest thing that will break a lot of sites that WordPress has ever had I've seen people that have been on WordPress versions, you know higher versions of like two point five two point six And they can upgrade all the way to the current version of four point nine point five Which is pretty incredible. And so this is going to be a much bigger leap. I'd imagine there's One thing that's been very controversial with Gutenberg is that it is going to be opt out not opt-in So if you update to WordPress 5.0 when it releases you will have the Gutenberg editor from the start all of your existing content will not be transformed into Gutenberg if you go to edit it There's a convert to block button and the plug-in will the editor will make its best effort to convert those But there might be some cleanup there So it will be kind of a labor-intensive process But I imagine that sites will sort of have this mix and there will be some that will opt out There will be an additional plug-in you can install and say no I want to revert to the classic version, but eventually that will sunset and people understand It's been very clear that this is coming and they need to get ahead of it And and another perspective there is how do you migrate out of it? the reason one of the reasons they're storing The data in that body field is because they want the people who own the sites to feel like they own the content And if you can look at the body field and see oh, this is just my HTML Then you can imagine migrating it to Drupal or Joomla or just about any other system because the body field is totally comprehensible I think about that compared to panelize or heavy implementations I did in Drupal 7 and At the time thinking about these are content editors who are making content choices that are getting stored in serialized arrays or objects that are getting stored in the database. I Don't think there's really a migration path out of this I think if I were you know later contracted to migrate them out of that site I might be better off just parsing the HTML that gets rendered Rather than attempting to parse through the you know the panelizer Arrays and objects that are getting stored in the database and And I just I really respect the the level of thought that The WordPress developers have brought to this I would really strongly recommend reading the blog posts and the documentation that is in The repo is incredibly thoughtful. I think that's that's another lesson of the Drupal community community could take just incredible in repo Documentation and defense of their choices Is there any other major features that are coming with WordPress 5 that are worth noting like any changes to the way They handle taxonomy anything that is purely just content editing I think content editing is the big one and that like that's that's been that's been controversial because I Think it's like I think the like the people who care about multi-site Yeah, are angry that none of their patches are getting committed Because the focus is all on this and there might be a minor release at some point So maybe a WordPress, you know, we're at 4.9 point five right now There might be another like WordPress 4.9 point six or point seven that have these minor patches and tweaks But nothing major is gonna go until 5.0 comes out so that the case and that that comparison you're making earlier is it pretty much like a The the Drupal paragraph is kind of equivalent to the Gutenberg block. Is that what I'm hearing? I think so My first thought was It's a body field it's a wizzy week for the body field someone's probably gonna port this to the Drupal body field and Someone still might but I would not I would not recommend it because the Drupal community So values our structured data in our fields, and I don't think Drupal developers would give that up One perspective I've heard on Gutenberg is that it is a net increase in data structure compared to traditional WordPress core So yes that blobby body field might look Ugly to a Drupal eye But it is it is a net increase in structure on the level of WordPress core alone So I don't think Drupal as a community would would tolerate a net decrease in data structure So so so while you could put Gutenberg onto a Drupal body field I don't think I don't think anyone would do that beyond you know like the exercise of it But I think they're You could be more productive I think by taking that and putting it on top of paragraphs or putting it on top of one or more one of our more structured data stores How how is the content portability handled with the block like are you can you put like HTML into into the Gutenberg block? And how do you separate the theming way? Yeah, so you can there is and it depends on privileges as well WordPress core currently only Administrators can put certain things in so like if I want to embed certain items or put JavaScript right in the body field That's locked down with privileges So Gutenberg is kind of going to be similar all the blocks you can view the the rendered view But you can also view the HTML underneath you can edit edit it directly So you could put in just they have kind of the existing editor is actually basically a block and you could put HTML in there If you wanted to and on for the theming side basically you can go in and You want a separation between the presentation layer and sort of the structure So there will be like I have the Google Maps block and on the front end it renders a div Google map whatever and then it would be up to a theme to come in and say alright I'm going to style this gallery. I'm going to style this block quote doing that with CSS and then the HTML That's coming out of Gutenberg and the things that in core are going to be there and you just need a theme around them I have a comment about the everything is a block thing But I think there's maybe a question that could help with that a little bit too. So in In the WordPress Gutenberg Could you elaborate on how you manage reusable blocks? Sure. So if you designate a block as reusable it becomes a record in the posts table So the posts table contains every blog post every page Separate post types don't get made into separate tables the way they do and kind of do in in Drupal That they're all just sacked up in the one table So there's a post type column and there's a post type I think it is just like WP block or block That's how you know this is like just a block and it can be reusable So at the level of the datastore when you use a reusable block what gets saved into that body feel is just like a reference to post ID 1 2 3 and that post is a reusable block and if you pick a reusable block in the editor You get like a auto suggest list or how do you yeah? I think it just it just starts like You go to the next post that you're writing and it'll just be there in the list of all blocks I think that's what I remember. Yeah, and I Haven't done a ton with reusable bull blocks lately But being able to name them and things like that So, you know my favorite quote or George Washington quote or whatever right and then when you're going to most popular block Yeah, and they have a They have like you can search so when you insert a new block you get a list of all of them They're kind of categorized and stuff, but I expect there will be like dozens or hundreds right tons of these as people add extensions and things so You can search as well So I created the Google map one if you go in and type map or Google you can have these keywords that will filter down And help you find what you're looking for they also have kind of Suggested blocks, so if you're somebody who is inserting galleries all the time well when you click that button to insert new ones It's gonna put gallery kind of at the top for you that sort of stuff so cool Yeah, the comment relates all that about you know everything being a block. I mean conceptually I like that that works well for me building with components that that's nice But the thing that I often think I've been thinking about a little bit this week is how you manage those blocks and I think for WordPress I mean we talked a little bit how you do that now and some of that is just punted because it's all on the body field which I don't know about that but on the Drupal side like if those are literally Blocks in Drupal, which is I think what layout builder does think of them as they can see the paragraphs inside of that block but I Think we have a gap in how you manage those blocks and how you can get at them and how you can create them So I see that as a bit of a problem, but there are things that you know We're trying to do in issues to try to resolve that, but I think it's important Great comment over. Thanks. Thanks Hi, hi, I work in the marketing department and we are right now debating Do we stick the Drupal or move to WordPress and things like this are our top of mind? They they see these these features and say like we want that so I've been looking at like should Drupal Reimagine the editing experience in a big way. I've had a lot of conversations about that here and on Twitter I like this past week with people And I'm wondering like you know the website as a service industry is eating away at this kind of stuff So you've got wigs and Squarespace and all this kind of stuff Site owners see features on products like that and say I want it which is you know what my bosses are doing I wonder if if Drupal doesn't reimagine the content editing experience that it's seeding market share and becomes a niche product for a niche Market of glacially moving government agencies and institutions only things of extreme scale and you know ambitious digital experiences and That seeds community which may see Like may end up leading to lower time and development fewer features things like that And even those large institutions are eventually going to cut you up and say like we want these kind of features that we're seeing Out there like these these easy to use content editors. I would I would ask more over Rather than it should like does Drupal have the will and the want to even engage in something like that. I hope so And and that's you know, that's not a question any one person can answer definitively. I I I find ambitious digital experiences to be inspiring in a certain way But I think about something like being able to easily upload multiple images to an image gallery Drees use that same example in his own in his own treats node this week that Facebook makes it really easy to Upload a bunch of images at once and start captioning them. I honestly don't think that that's ambitious like that was a That was a feature I needed when I got into web development over a decade ago the ability to Make an image gallery and I didn't want to upload each one at once so I also am concerned that Drupal will Will fade in its relevance if we're not able to to meet some core features of expectations Yeah, and this is you know being at Pantheon we have a unique perspective working with agencies that do both and serving Drupal and WordPress and so Sort of a warning right we kind of want to do some education because if you're working with Drupal and you're going into pitch Somebody who's a marketer or who's that end user right ultimately? That's the type of person that's making the decision It's not the IT folks or the developers who are making this the decision, right? That's where's the money in those things now? They might be able to help convince that person to go one way or the other But if you come in and you pitch just a bunch of fields verse an editor You know experience like this the more modern thing that people want to see that works where space kind of stuff I kind of have a gut feeling of which one's gonna win that pitch Yeah, like I am I'm someone with 10 years working in Drupal working in a marketing department That's now saying WordPress. So my job is is probably at risk here Like I can retrain as fast as I possibly can but I get a feeling that the speed of business is going to move faster than I can catch up Yeah, and and I think to somewhat parrot what Andrew is saying pantheon's perspective is that Websites are Purposeful most of the time especially when when they're when there's someone paid to be a marketer for the website There's an expectation that that website is serving some kind of business need and those business needs Don't particularly care if they get implemented in in Drupal or WordPress Yeah, thank you. Hey, how you guys doing? Hi. So the thing I was wondering about was since it's so open-ended How do you prevent an open-ended editor like that from making there be millions of variations that you need to code for and test? Like is there are there ways to? Restrict it at some some some level like this body field Hey, you can use these four or however things like that Yeah, so we showed that a little bit with the templating you can lock down and you can actually have sort of placeholder blocks So a title should go here an image should go here and you can make those flexible so people can rearrange them You can lock it down so they can only use Those blocks and they must fill in these things right you could do it by content type And you can actually whitelist and blacklist blocks as well, so there's Wordpress has hooks and you can go in and by default all of the core blocks are there But you can say if I'm on this content type only make these blocks available Those sorts of things and if you're really diving in the admin experience. I expect that One of the things this is most disruptive to is WordPress has lots of page builder type things where we saw those Shortcodes and stuff and Steve was talking about content not being portable They'll have like short codes and size inside of short codes in the body field to do this page Buildery thing Gutenberg is going to disrupt that a lot But I can see them extending on top of it where maybe out of the box You can't have all the lockdown permission type things you want without some custom development And then some you know page builder type extensions on top of that Giving you that more granular control without having to dig into the code gosh And then one follow-up question is like do you think something like Gutenberg is going to slow down Any adoption for actual structured feels like I can like I can see the the greatness of something like that and we do it a Lot with hey, it's an open-ended page. It's more of a marketing driven page as opposed to a faculty member page or a news item or things like that which WordPress core by itself really can't do that very well like How what does the future look like? I think that's definitely gonna happen I went to the decoupled summit on Monday morning and I saw presentation from Jeff Eaton that that gave me Just two new thoughts that I think are related here When he talked about the Gartner hype cycle that pretty much all technology goes through where people get excited about a technology And it's coming soon and it's gonna be great And then you start using it and you realize oh it doesn't do everything quite the way I promised and you hit the trough Of disillusionment and then you figure out oh wait But maybe we can't make it do that and it starts getting better than you hit the plateau of productivity So I think I think Gutenberg right now is near the top What I hope is the top of the hype because it's not being used by a huge number of sites yet So it demos great some impressive gifts. I think but there aren't I think you're Describing one of the problems that a lot of real sites are gonna face of they can get something done really really quickly But maybe they would have been better off with structured fields because you know maybe after six months you you don't want the the team Bio picture to be above your title right right, but the way it got stored was in that order Yes, it was locked down when you edited it for the first time, but then it got stored in that order, right? And maybe all you intended was to have the the structure of Person's name job title image and body field, but because of the Gutenberg Data storage model what you got was those things But in that particular order even if you didn't want to impose that order had you save them as separate fields Then you could very easily Be arranged them in a template. That's like that's what we've been doing in Drupal for a dozen years and it's wonderful So yes, that is is gonna happen and Eaton talked about the need for Using content tools to designate meaning So I think another example will be people will mean Highlighted, but they'll select the option for green or blue because that's what's there So it'll get saved into their content is green or blue And then they'll do a redesign and they want highlighted to mean to be represented as yellow But it's stored in their data as green or blue Then somebody going to Gutenberg and then redesigning soon, right? How does that transition? What do they do? Right, so so though I think that'll be some of the things and in the trough of disillusionment. Thank you so much. Yeah a Couple of things just recently you mentioned something about content type. So are they gonna introduce content types? other than post a page So WordPress already has more than post-in page post-in page or what come out of the box like Drupal has page in article But you can create custom ones. That's been in WordPress for many many years. It's one of the reasons Agency I was working with at the time actually adopted WordPress because now we could create types for you know team Biopages or testimonials or whatever we wanted to do through custom coding though, but not like through the UI Yeah, it's through custom coding. There are Plug-ins that you can add that give you a UI for it, but out of the box you do have to code for it I've used in WordPress Like I think it was called Composer Whereas the blocks and you can add a header and you can add is that kind of like along the same lines like Because I know if I'm using Composer and I say I want a three column wide and a text box here And an image on the side I can choose the different blocks And then I can put them wherever I want I can drag and drop but then if I look at the end I don't have the blocks anymore. I have one long page of HTML. What has the The code for the different you can do exactly that in Gutenberg right now And I think we kind of saw a quick preview at the beginning of the presentation of the other JavaScript Application in WordPress the customizer where you update configuration So this right now Gutenberg is just in the body field I'd imagine after it gets merged in there will be a next phase where a You know the body field could be a block with other blocks in it But then the header in a footer can be a block that people can add into and it will sort of merge with the already customization in live preview experience in WordPress to kind of be the full-page editor and Steve was talking about They're going with a content first approach, but I eventually see it expanding to the entire site So I just want to clarify something that I saw earlier is is the ultimate plan to have widgets go completely away No more widgets in the admin menu So I don't know the answer to that But right now a lot of the widgets like latest posts and those sorts of things are blocks And so the aim of Gutenberg is to replace widgets and short codes and all these different ways That WordPress enters content into one unified fashion I'd imagine for backwards compatibility legacy reasons. They'll stick around Especially for sites that already have them, right? So if you have a there's a concept in WordPress where you can like have a sidebar or a certain area you can put these Widgets in it So you might have a site that has like latest posts over here as a widget and then the map is the short code Kind of square bracket thing. All of that is eventually going to be become blocks But when they'll phase out the other stuff, I don't know so then related to that a big thing that we use widgets for as global content You know Placing a menu someplace or you know placing nav Is there a global content option for I know you can share What is there a global way to automatically include it without specifically having to add a teach page? That's something you could probably Template in in theme if you really wanted to but I think we're still in that first phase of its editor only right now So it's remains to be seen as Gutenberg Gets merged into core finalizing the editor and expands to other areas how that's going to play out But right now the focus is just on the editor So why those are things that we can imagine happening there really hasn't been a lot of discussion about how that will happen Because we're really the conversation is really focused on what's going on right now as I could see a really like amazing Application for that would be menu building. It's like menu nav walkers are like huge pain And having some sort of a drag-and-drop solution would just be amazing for so many people Yeah, and that's a type of you know when I said page builders will probably extend on top I could imagine as Gutenberg expands outside of the editor that there will be additional plugins and extensions that give you all sorts of things based on top of it, but that's still Would would be way down the road. We don't even know when we're getting the editor piece So getting it for the entire site is a pretty ambitious Just to add on there I think one of the reasons the WordPress community is nervous is because there is this dynamic of paid page builder plugins I mentioned how like the islands of WordPress and Drupal have very similar fundamentals, but small differences end up turning into big differences one of those Perhaps seemingly small difference is a tolerance for paid plugins like Drupal culturally rejects the idea of paid modules or has historically WordPress Doesn't and I can't give you a full explanation of why but they have paid plugins. So imagine if If the panel's ecosystem and the display suite ecosystem had direct monetary Motivation to stay separate because their company is built on each and they're charging for panels and charging for display suite Basically what I'm saying is WordPress has multiple page builder ecosystems that Companies are built around because people are paying $50 a hundred dollars or whatever it is to buy this plugin and they are very entrenched in I think rightly nervous about what exactly is Gutenberg going to mean for them and we don't exactly know yet Yeah And just to add on to that I think that's one of the reasons why Gutenberg is being a focus is there's that kind of wick square space editing experience that people expect and there were third parties that were trying to provide it on top of WordPress But it was very fractured you might have to pay for this or install that and Every experience is different and so bringing that into core is really gonna be the only way to bring the entire CMS up to those Expectations that users have nowadays All right, well, we have two minutes left if anyone has a burning question. Please come up Otherwise, I think we we can end it here and everyone and enjoy the closing ceremonies. Thank you so much Yeah Yeah Yeah All right Right