So WordPress 5.0 has been released. It happened just in time for WordCamp US, conveniently enough, and now "Gutenberg" is just referred to as "The Editor". Of course the "Classic Editor" (which was actually TinyMCE all along) has been given a more recognisable name reminiscent of "Classic Coke", but stock WordPress 5.0 includes the editor formerly known as "Gutenberg" by default.

This has made a lot of people very angry and been widely regarded as a bad move.

But why is the community so angry? Essentially this comes down to one thing - Gutenberg is a prime example of how not to bring a new product to market.

Lack Of Communication

Most users never knew that Gutenberg even existed until about 6 months before it was forced upon them. When they found out, there was precious little information about what it was, and the people who even noticed the announcement were mostly confused. A lot of them agreed that TinyMCE was not actually sufficient to build modern, complex WordPress sites, instead relying on any number of page-builder plugins to create richer page content than was previously possible.

For myself, it took me several months to understand that Gutenberg was actually a new editor, and not just a code-name for a completely different fork of WordPress. This is where the FUD about it started to creep in - because no-one had the full story on what Gutenberg was, people just started to assume.

Lack Of Consultation

The second reason why users are upset about Gutenberg is that it doesn't really do what it seems like it should. It looks like a page builder, only... it doesn't behave like one, therefor it's not useful as a page builder. It's replacing TinyMCE, but it's not a complete match for features there, either, because ShortCodes leveraged the fact that the primary input method was essentially "a big text area".

I can only assume that the developers and designers of Gutenberg did market research to understand what features people used from page builders, or what the commercial competitors to WordPress (Wix, SquareSpace, etc.) were doing. What they produced looks a lot like those other tools, but it misses the mark for a lot of people. I can only put this down to the fact that Gutenberg was designed and built exclusively by WordPress power users. Not just power users, but core developers. They know WordPress inside and out, they know all of the best workflows, and how to maximise every drop of efficiency out of WordPress.

The problem is that the staggeringly large majority of WordPress users are not what you would refer to as "power". They're not developers, they're not designers, a surprisingly large percentage of them aren't bloggers, and probably rarely, if ever, edit their own content. The developers working on Gutenberg assumed that they knew what these users wanted, and assumed that the users would be receptive to a new editor. But they didn't ask.

Lack of Transparency

The two above issues lead finally to this - they didn't let anyone see what they were doing. The project was running for almost 2 years (!) before anyone in the general user base got their hands on Gutenberg. By then it was so large, so alien, and so different from TinyMCE that no-one had a chance to understand it until it became The Editor. I've heard stories that even within Automattic (i.e. the company that is responsible for WordPress), most people were unaware of what the Gutenberg team was actually building.

The end result is that when people were eventually shown Gutenberg, they didn't know what to expect. They were given something completely unexpected, and they didn't know what to make of it. Because the team working on Gutenberg were so familiar with it, they started to get defensive. They treated confusion and criticism as hostility, and responded with defensiveness instead of openness. It turned the whole situation toxic, and led to several well-known developers inside Automattic leaving their posts or becoming disillusioned with the project.

Why Is It So?

This is the question which I've been attempting to answer on Reddit, at meetups, in slack, and pretty much everywhere where the conversation crops up. I try to answer it because I believe in the idea of Gutenberg, even if the actual execution is a buggy, confusing, mess. I want people to understand the project, get on board, and make it better. I'm not doing this because I'm particularly invested in the success of Gutenberg, but because I believe in making WordPress a better platform that will survive long into the future.

It comes down to a few key issues:

1. The team didn't effectively share their vision of Gutenberg.

This means that no-one outside the team understands why Gutenberg is happening. Because they don't understand what the project goals are, they try to fit it into their own goals, and it just doesn't work. If the team had explained early on what the idea behind Gutenberg was, even before they had something to show, then maybe the community would have been more accepting. By the time they got to releasing Gutenberg, the "mission" was so internalised that they could no longer articulate it properly. This lead to them getting frustrated at others for not sharing the vision, when others didn't know what the vision even was.

2. The team didn't bring anyone else on the journey.

No-one outside was significantly aware or involved in the development of Gutenberg. I get that they wanted to surprise us all with a shiny new tool, but instead of shouting "surprise!" they snuck up real close, and whispered "boo!". They didn't get their expected adoration, they got a whole community of people reacting with shock or revulsion. Surprises are fine in software, so long as they're optional new features. If they're replacing core, established, tools, then you should not surprise the community - instead engage them and bring them on the journey with you.

3. The team didn't ask what the community wanted or needed.

There's the apocryphal Henry Ford quote - "Ask the people what they want, and they'll say 'faster horses'". Because Gutenberg was so alien to TinyMCE, I can understand why the development team didn't want to ask the community initially. They wanted to build "Gutenberg, the block editor of the future", not "Gutenberg, TinyMCE but with Divi strapped in". There would have been the fear that asking the community early would have lead to a lot of unhelpful suggestions, and a loss of direction in the project.

4. The team wasn't open to criticism.

This was the final kick in the pants. The community, understandably shocked that this brand new thing was suddenly to be forced upon them, started asking questions about the project. The team responded with defensiveness because everyone else just didn't get it. The problem is that no-one was equipped to understand it, so the defensiveness came off as arrogance. It's never good for any software team if your users see you as arrogant. This is why projects like ClassicPress started - people saw what they assumed was arrogance, and decided to take the project into their own hands. It's hard to accept criticism on something that you've poured your time, energy, and life into for so long (again - it was almost 2 years since the project started when people started trying it out). Because of the failures above, though, this would have felt like unnecessarily harsh, personal criticism instead of the bemused confusion that it actually was.

5. A complete and total lack of education.

There are no training materials, no videos explaining the transition, nothing explaining the objectives or potential of Gutenberg. Absolutely nothing. The closest we got was the sudden large banner saying "Gutenberg will be the new editor in WordPress 5.0 - try it today!". This was the final, and in my mind most egregious failure of the Gutenberg team. They introduced an entirely new tool, and completely failed to tell anyone how to use it. It doesn't matter how intuitive it seems to you if you're a developer, especially a developer who helped build it, because you're just not approaching the tool with the same assumptions or knowledge as regular users. For people like me who use WordPress to build sites for clients, that means suddenly I am tasked with re-training clients on the new tool. It's a problem that will be eventually solved by the community at large, but it should have been solved first.

6. Releases based on non-tangible, confusing timelines.

The Gutenberg release was pushed back time and time again, because the tool just wasn't ready. It was, however, the key feature of WordPress 5.0, and WordCamp US had a specific date. Saying that the release was rushed is a bit of an understatement. It's not even that it was rushed, it's that the tool should have been out to market long enough to be stable. It wasn't. It dropped with too many features, which weren't fully cooked, but somehow not enough key features that were somehow overlooked. Gutenberg should have been either a smaller release much earlier, or a later release after a lot of stability work. It kept getting pushed back because it wasn't ready, but instead of reducing features to a set that was consistent and reliable, they insisted on dropping it with a bunch of block types that were buggy and pretty much pointless for the vast majority of users.

I still believe in Gutenberg, and the future it promises for WordPress. Now that the cat is officially out of the bag and tearing the curtains to shreds, I strongly suspect that most of these issues will be resolved within 6 to 12 months. At the next WordCamp US, people will be reminiscing about how silly the whole "Gutenberg fiasco" was, and newer users will just stare blankly when you say "Gutenberg", because they'll only know it as "The editor".

Or maybe I'm wrong about this whole thing, and WordPress is doomed to an early grave. I really hope not, though, and I wish the team who built it well. Just learn from this in the future, and don't surprise the community again.