As most in the WordPress world hopefully know, the arrival of Gutenberg is fast approaching.
Gutenberg is the code word for the new editing interface that users will see every time they add or edit a page or post in WordPress. It represents one of the biggest changes to WordPress in its history.
Right now, the plan is to release Gutenberg as part of WordPress 5.0 on November 27. But there are big questions about whether Gutenberg will be ready, stable, and safe in time for that release date.
This post is essentially an open letter and a plea to the Gutenberg team to consider deferring the release at least until January.
I LIKE GUTENBERG AND ADMIRE WHAT THE TEAM IS DOING
Let me start by saying that I like Gutenberg. I like the interface and think it has enormous potential to improve the content creation experience for WordPress.
I also know that the people working on it - including developers and leads - are normal, talented people. They’re working incredibly hard right now to create something great. The project leads are making the best decisions as they see them. There are a lot of considerations to take into account for launch timing.
This is not a broad critique of Gutenberg itself, just the timetable and release management.
I also offer these thoughts in the most constructive spirit I can. I want what’s best for WordPress.
#1 WIDESPREAD FEEDBACK SAYS GUTENBERG IS NOT READY
There is widespread feedback at this point that indicates that Gutenberg is not yet ready for prime time.
One can start by quickly perusing reviews on WP.org, where Gutenberg still has a 2.3 star rating:
It's worth emphasizing that rating is not improving with the most recent reviews. I just calculated the average for the last 90 reviews and it is exactly 2.31 (including 47 one star reviews out of the most recent 90 total).
Some people have been dismissive of those reviews and questioned whether they are a legitimate reflection of user experiences with Gutenberg. The reviews often lack detail and can be quite harsh.
But that’s the experience of ALL plugin developers on the WordPress repository. Gutenberg is being reviewed in precisely the same way as every other plugin on the repository. If any other major plugin maintained a 2.3 star rating and refused to accept the feedback as legitimate, it would not be a major plugin for long.
Even without detail, reviews on the repository represent a fair reflection of overall user feelings about a plugin. In the case of Gutenberg, it is clear the plugin is not ‘wowing’ potential users.
Apart from reviews, many prominent voices have gone out of their way to make the case. Here are some recent examples:
Let me begin by stating that I love Gutenberg. It’s the best thing since sliced bread as far as content editing is concerned. I’m writing this post in Gutenberg. I started writing it on my iPhone. It rocks. But it also still has numerous bugs. In fact, the editor broke on me during writing this post and failed to autosave all the contents. Luckily I saw it breaking and copied the paragraphs to an external editor.
- Joost de Valk (Yoast SEO)
I'm honestly running into so many bugs with #WordPress 5.0-beta1 that I'm not even reporting them all. It's demoralizing. Columns are super wonky. New Post page totally fails to load with Yoast active. Copying from Classic Editor adds weird empty Classic Blocks….Bottom line: The editor is where most users spend most (90%+?) of their time. I know there will be bugs, but it should be way harder to find them than this. #WordPress 5.0 feels a long way from ready.
- Mark Root-Wiley (Twitter and Blog)
This extensive post from @MRWweb on why #Gutenberg and #WordPress 5.0 is not ready and what needs to be done is so on the money I want to put money in an envelope and send it to him right now. https://t.co/Q8xLBVxxAm
— Morten @ ChromeDevSummit 🇳🇴 (@mor10) November 7, 2018
If you do a search for Gutenberg on Twitter, you can find many similar comments. There is also similar feedback in the nooks and crannies where WP insiders chat, including the WordPress Slack #core and #core-editor channels, and on most blog post updates about the Gutenberg timeline on WordPress.org.
#2 BASIC FUNCTIONALITY IS NOT STABLE
It’s still easy to find bugs, even testing basic functionality in a vanilla environment. We are supposedly weeks away from releasing this to tens of millions of websites. And it affects the core interface used for every page or post. It should be absolutely flawless in its basic functionality prior to release.
#3 WORDPRESS IS LAND OF EDGE CASES
If basic functionality is not stable, there’s no way that Gutenberg is ready for the array of edge cases it will face upon release. The WordPress ecosystem is defined by its complexity and diversity. Everything is extended and hacked, and there are thousands of variables up and down that stack that affect stability. If basic functionality is not stable in a vanilla environment, there’s no way it is stable in thousands of edge case environments.
#4 THE RISK: BREAKING 10 MILLION WEBSITES
Because Gutenberg is buggy, and because of the wide array of edge cases in the WordPress ecosystem, it's entirely plausible that the release of Gutenberg will immediately break 10 million websites. This will include the possibility of breaking existing content that's been added in ways the Gutenberg team has not anticipated or tested.
Just because of the epic scale of WordPress, the potential for epic, widespread damage is very real.
Because of the risk, it is the responsibility of the Gutenberg team to overcompensate in favor of safety. The current rush to release seemingly does the opposite.
There have been widespread and prominent complaints that accessibility is being widely neglected for the initial release. Again you can find a summary of some of this conversation on WP Tavern here: https://wptavern.com/gutenberg-accessibility-audit-postponed-indefinitely
Needless to say, Gutenberg is not ready from an accessibility perspective.
#6 TOO MUCH NEW CODE
The development pace right now is crazy. There is a huge amount of work being done with hundreds of commits. That’s great in that it reflects rapid progress. But it also means that large chunks of the code base are essentially new and untested.
#7 INSTALL VOLUME DOESN'T MEAN MUCH BY ITSELF
Several people have defended the readiness of Gutenberg by pointing out that there are hundreds of thousands of installs of the Gutenberg plugin now. Yes, that is great to see. But having lots of installs doesn't mean much itself. We need to ask what all those installs are telling us.
First, we have the privilege of promoting the plugin from nearly every install of WordPress. Any plugin could get hundreds of thousands of installs if it could be promoted prominently in the dashboard to nearly all WordPress users.
Second, end users don't report bugs. Most of them don't know what Github is. If you want to see how most users are responding to the plugin, you can look at the reviews. As noted above, the reviews are not favorable.
Third, there ARE a lot of bugs still being reported.
Fourth, there are almost as many installs of the classic editor plugin, which does not have the advantage of being promoted as aggressively in WordPress core. Huge numbers of people are actively defending themselves against the release.
In short, the volume of installs is a means to an end, not an end in itself. If you have a lot of installs, but all those people are telling you it's not ready, then you are getting the feedback you need.
#8 RAPID RELEASES AFTER THE FACT ARE LITTLE SOLACE
Several people have prominently suggested that we need not worry because there is a plan to push rapid releases every two weeks, after the initial release, to fix any bugs.
But this basically concedes that we know in advance the release is buggy, that we may break sites, and that we’re going to subject users to it anyways. It’s a kind of ‘beta test on your users’ approach that is almost always problematic, but is potentially disastrous when talking about a platform that runs 30% of the web.
It also imposes major pain on our entire user base that could easily be avoided by deferring until ready.
#9 THEMES, PLUGINS, AND API NOT READY
Themes and plugins are not ready. In some cases, this may the fault of theme/plugin developers who are not preparing.
But it’s also because Gutenberg has been so unstable. There is so much change, including regular API breaking changes, that it is is hard to develop around Gutenberg right now. I know for NextGEN Gallery, we’ve had a block ready since early this year. But that block has broken at least half a dozen times.
In testing this week, we found it worked with the latest Gutenberg plugin, but not with the latest WP 5.0 beta. Also, we had used a hooks API that's use is now discouraged (and possibly soon to be deprecated). We’ve just had to rework the implementation of our block again less than two weeks prior to the planned release.
It is simply not reasonable to expect hundreds of third-party developers to get compatible with a platform when we’re still rapidly changing and breaking the API.
There are also broader concerns. For example, with the release of Gutenberg, more uses of React will find their way into WordPress plugins. But we don't have an established way or best practice of how to deal with backwards compatibility, assuming that React will be kept up-to-date in WordPress.
#10 CONCERN FOR HOLIDAY AND SALES IMPACT
It is clear that little or no consideration is being given to timing around major holidays.
The original release date was set for November 19th, the week of Thanksgiving, Black Friday, and Cyber Monday. Those days include the second biggest holiday of the year in the United States, and perhaps the two biggest online shopping days of the year. The idea that we’d push knowingly buggy software to 30% of the web just before people go on vacation and just before business have their biggest sales days is stunning. It reflects either unfounded overconfidence about the release, or lack of concern about end users, or both.
Fortunately, we’ve bumped the release to the week after Thanksgiving. But it’s now set for Giving Tuesday, perhaps the biggest charitable giving day of the year. And it's still in the middle of the effective holiday season between Thanksgiving and Christmas, which is the biggest retail season of the year.
Why do this? We're knowingly introducing bugs to millions of websites at critical times when it costs nothing to defer it to a less sensitive time period. For a release this big, a lot of careful thought should go into finding an ideal time that we know works for the widest array of users globally.
#11 MOST WORDPRESS USERS ARE NOT ADVANCED
A common counterpoint from those defending an aggressive release cycle is that users can install the classic editor plugin, or they can defer updating, or otherwise manage their websites around the release.
But this misunderstands the nature of 90% of the WordPress user base. Most people are not tech savvy, haven’t paid any attention to Gutenberg, don’t know what the classic editor is, don’t carefully time releases, and when something breaks, have no idea what broke or how to troubleshoot it.
In short, the notion that millions of such users will manage their sites carefully around the release seems profoundly naive.
#12 REPEATING THE MISTAKES OF NEXTGEN GALLERY 2.0 IN 2013
Finally, I’ll just say that I speak from experience. We as a community are about to make the mistake I and my team made with NextGEN Gallery 2.0 in 2013.
We made major and breaking changes, tested it aggressively but in limited ways, and underestimated the complexity of the ecosystem into which we released. The result is that we broke probably 10% of NextGEN installations - maybe 100,000 installs. We also broke compatibility with a fair number of NextGEN Gallery extensions. We were rightfully decimated in reviews (this is one reason I know that the negative reviews Gutenberg is currently receiving mean something). Among WP insiders, there are still reputational consequences of that decision that have lingered for 5 years.
NextGEN Gallery did recover. It has a 4.2 rating now (4.7+ rating over the last 1000+ reviews), and still dominates the market for gallery plugins. But it took years and herculean effort. And we’ve become absolutely fanatical about backward compatibility ever since.
NextGEN’s scale was/is nothing compared to WordPress itself. If we make the same with WordPress itself, the results will be orders of magnitude worse.
In order to be constructive, I’ll now offer a simple recommendation.
First, we need to get to stability. We’ll know we’re there when the pace of change (and perhaps the volume of bugs) slows, and when it’s hard for anyone who beta tests in a vanilla environment to find issues.
Second, only after we get to stability, we should give the ecosystem 3 months to adjust and test. Third party theme/plugin developers need Gutenberg to be stable in order to build around it and prepare for it. The 3 months also gives us the necessary time to test a representative number of edge cases.
Thanks for reading.
Erick Danzer - CEO, Imagely
NEXTGEN GALLERY IS READY. Despite the concerns expressed in this post, I want to assure NextGEN Gallery users that we'll be ready regardless of the final release decision for Gutenberg. We'll be officially releasing our block in the next week. We've tested and ensured that your existing galleries will work when you update. We've developed our block so that if you add galleries via Gutenberg, they will continue to work if you roll back or install the classic editor. And we'll have all hands on deck to deal with any issues that arise when Gutenberg is released.
CLASSIC EDITOR PLUGIN. For users reading this who are concerned about the impact of Gutenberg, you can install the Classic Editor plugin and it will disable the Gutenberg interface on your site. This plugin is expected to be supported through 2021.