The Ephox team and I attended this year’s WordCamp US in Philadelphia. Matt Mullenweg delivered his annual State of the Word presentation and gave us his vision for the Future of WordPress. Along the way, Helen Hou-Sandí introduced some of the new features in WordPress 4.7 Vaughan. You can watch his full presentation on WordCamp TV and read our full transcript below.
A new design-led release schedule
Matt Mullenweg: I’d like to switch some things up for the coming year, because I think that we’re at a point, at a juncture, for WordPress. What got us here won’t get us there. Meaning that the things that we’ve done over the past five years, our three releases a year, et cetera, et cetera. I don’t think are going to be what we need the most – the structure that’s going to bring us the thing that WordPress needs the most.
I’m proposing a new structure for WordPress releases. We’re trying to balance a very interesting set of dynamics which is that, for users, we’re trying to make things simpler and faster. WordPress is often known for its usability and its accessibility for the people who are brand new to it. At the same time, we want to make it more powerful for developers. Many systems have one or the other. We’re trying to do them both simultaneously, and I think that they can support each other.
What I want to do a little bit differently is have design leading the way for our coming releases. Meaning that, before we even write a line of code, we’re going to start doing a lot more user research. A lot more markups. A lot more showing things to each other and throwing things back and forth versus talking about it and debating it.
— WordCamp US (@WordCampUS) December 3, 2016
I think we’re going to need to do a lot more video chats versus just – I love Slack. Slack has been amazing to come in – but sometimes it feels we’re dancing about architecture. There’s some mismatch between what we’re coordinating on and what the actual product’s going to be.
For 2017 I’m going to be putting my product lead hat back on for the year. It is that cowboy hat specifically. I will wear it in at least one of the zoo meetings, or video meetings, we have. We’re shifting to a slightly different approach than we’ve had really for a long time in WordPress, which is there’s going to be no set releases. We’re not planning to do three major releases in 2017 on the schedule that we have maintained for the past five years.
What does this mean?
There’s still what’s going on in Core, and I think that actually Core can focus to be very much focused on performance and fixes to existing functionality. Really making the core of what we do, hence the name Core, as smooth as possible. As efficient as possible. As maintenance-free and bug-free as possible.
For the rest of WordPress development, what previously might have gone every four months into trying to ship the next 0.1 release, it’s going to go into three main focuses.
The idea shifting from being time-based releases, which were a reaction to what didn’t work well before, and what has served us fairly well over the past few years, to really being focus-led. To saying that there’s certain things that are so crucial, they have to happen at WordPress, they have not yet happened in our previous release schedule, and so we’re going to work on these. It’s going to be all we work on, and we’re not going to release until it’s ready.
What are those three areas?
I was thinking hot chicken, brisket, and ribs, but I consulted with the team and we decided to make them a little more online friendly.
The first is one that we’ve been talking about which is the REST API. We got the scaffolding in earlier this year and, as of Tuesday, we’ll have the content endpoints available on millions, and millions, and millions, and millions of sites.
As I said actually in the Core REST API channel earlier, I think that as this becomes one of the three major focuses for the year, we need to shift from thinking about the input. So thinking about we just need to create these things and get them in the core to really think about the results of this.
How can we measure the success of these REST APIs? To be candid, there weren’t as many examples as I would’ve liked to be able to highlight. One we’ve talked about some cool things built on the REST API. We’re still talking about things that are in the thousands of sites being built using this way. Maybe less. One WordPress is at the scale of tens of millions. How do we get these API effective for more and more people?
A big part of that is going to be starting to have wp-admin use the REST API. I don’t know, it was actually very…. The REST API will be in 4.7, but it was actually hugely controversial. There was a very big debate for whether it should be in or not. One of the things we’ve talked a lot about, and we decided to start working on immediately after the release was getting wp-admin having first-party usage of the Rest API. Taking things that maybe use admin Ajax now, or maybe you don’t use an API at all, and rewrite them to use the existing API.
The reason for this is that right now for external applications, for those of you not familiar with the REST API, external authentication is a little bit tricky. There are plugins for it. But essentially there’s not an out of the box way you could, for example, have an app on your phone connect to the new REST API. Basically because it’s better. When you connect to the [inaudible 01:02:06] API it’s essentially sending your username and password with every single request which is not ideal. Because it’s better, it’s not there, but there is cookie-based authentication, so meaning when you’re logged into WordPress, and you have your cookies, you can do authenticated access to the API, meaning operations that read-write, modify-update, delete through the cookies, which means that immediately when you’re logged into the wp-admin, we can start using the API.
I believe that we will learn quite a bit as we start to do first-party usage of the API and that it will help evolve it to be an API that we can truly have for the next decade. If it turns out we can’t use it, I think we have to consider also bringing it back into a plugin, because it might be something that’s more for advanced developers at WordPress than something that’s going to be mainstream for all people who use WordPress.
Here’s a second area of focus: The Editor. One thing you may have noticed is that a lot of the features, user-facing features of the last few releases are editor-based. It’s really been major kudos to TinyMCE folks, Andrew and Ella, for really rocking every single release, and getting things that each of you can use every day in the daily posting, editing and page editing experience of WordPress.
Until we see this, or we see this thing that I think we could imagine which is this idea that you don’t have to think about widgets and short codes and sidebars and menus and all these as separate things. Creating something like 2017, that beautiful theme you saw, actually requires a lot of steps for doing the current customization editing framework of WordPress.
While it is possible to get to that beautiful thing you saw on the screen, you got to click a lot of buttons to make it happen, and have some persistence. When we are candid about our shortcomings, it allows us to be better towards going to the future. With the Editor, and I’ll talk about this a little bit more soon, I think it is going to be the basis really, many feature interactions in WordPress.
Although we’ve had a lot of improvements there, it is still not yet fast enough or to the point where it’s flexible enough to do some of the things that we want it do to.
Starting with the Editor
That said, I believe that the editor is a good starting point. This is the aforementioned Andrew and Ella – that’s Ella in the middle – who have done amazing editor work. I’m also happy to announce that Ephox which is the company behind TinyMCE has agreed to also work with us on this.
My, was it Napoleon invading Russia that always messed him up? Rewriting TinyMCE has been my downfall several times in life. Now I’ve learned to embrace it, and love TinyMCE, because it does so much. I have an entirely new-found respect for it. I’ve even tried to replace it at least twice. I think that when you start to understand at the level of browser compatibility and random HTML, and everything like that, that TinyMCE handles is actually, I think, the best starting place for what we’re going to do.
There are still some key technical questions that we need to resolve around this. For example, should we try to do all of this inside of TinyMCE, kind of like how WPViews works right now? Or do we try to have, to create something that exists outside of TinyMCE, and have lots of TinyMCE blocks for the text editing parts.
These type of technical decisions, we’re going to resolve as we start to work on it. Each of these focus areas, we’re going to identify a tech lead, and a design lead to be the heads of each one, and then as the overall product lead, I’ll be working with all of them, talking to them regularly, and one of these areas gets to a point where it has a significant user-facing improvement. Something that we can do another whole video about – like we just did about 2017 – that’s the one we’ll ship.
I don’t know when that will be. Hopefully before next WordCamp. Maybe not! These are big areas. We’re at the point now, when the steps that WordPress needs to take to thrive with the other 73% of the web that doesn’t use it yet is more significant. And the state of the art put forward by amazing competitors like, Weebly, Wix, Squarespace, and many others has raised how people expect to be able to edit and publish their sites.
The Editor’s also a good starting point because it works with arbitrary HTML, which means whatever we figure out for that we’ll be able to apply to some of the theme stuff, but if we went vice versa it might not work. Imagine the REST and the Editor part of this kicking off pretty much immediately. Taking a Core-first approach to this, as I said earlier, a lot of my past two years has been focused on Calypso because that was a very monumental task and it wasn’t going to…. Going from zero to one is very very difficult. Going from one to 10 is actually in some ways easier.
How does that sound?
We’ve actually never done this – intentionally! We used to have releases that would take a year, but it was unintentional. This is the first time we’re trying to do this intentionally. It’s an unknown. But like the quote that I launched things with, you don’t know necessarily, you cannot learn to walk, unless you are prepared to fall. I’m certain that we will fall a few times over the coming year as we think about this. I’m looking for to talking about it at the town hall at WordCamp Europe in about six months. I probably haven’t been more excited ever in the history of WordPress about the direction that things are going.
More State of the Word
Keep reading our State of the Word 2016 series:
- Part 1: WordCamps, Meetups and the WordPress Foundation
- Part 2: The Extended Family of WordPress: BuddyPress, HackerOne & GlotPress
- Part 3: WordPress.org Updates
- Part 5: Design, Inclusion & Growth of WordPress
- Part 6: HTTPS and PHP7 in WordPress
- Part 7: WordPress & Calypso
- Part 8: A Look Back on WordPress Core Releases
- Part 9: The Plan for WordPress in 2017
- Part 10: Code is Poetry
- Part 11: Questions and Answers
PS. Did you know Ephox makes the default editor in WordPress? Take editing to the next level with our premium TinyMCE extensions.