Since September, when I have written about the Gutenberg 1.1 version, this plugin soon to be part of the WordPress core, has come a long way and it has reached version 2.4.

A lot has changed with Gutenberg since my first article, and it is not really possible to list all the changes, I will try in this article to revisit the problems discussed in the previous article, talk about the editing workflow, metaboxes support and the state of the Gutenberg for the merge into the WordPress.

Gutenberg 2.4 with metabox area
Gutenberg 2.4 with metabox area

Metaboxes

For the most part, metaboxes do work. But, I am sure that a lot of plugins will still get broken because they might be doing something with the metaboxes that simply can’t work with Gutenberg. Here is the overview of issues and problems I have noticed:

  • Styling for the form elements on in the Gutenberg editor is quite different from the Classic editor, so most of the metabox forms that depend on this styling will look bad. This is an easy fix for plugin authors to add more styling to own plugins to make metaboxes look nice.
  • Metaboxes are not full width, no matter how big screen you have. Metaboxes are the same width as the editor area, and this will also be a problem for some metaboxes that need more space. I don’t understand why the metabox area is not full width, but someone thought that was a good idea.
  • Metaboxes that were made to interact with the editor are completely broken. Since the Gutenberg is no single editor, I have no idea how the authors of the plugins with such interactions will fix this problem.
  • Metaboxes are still an afterthought in Gutenberg. If you edit a long document, you need to scroll way down to get to the metaboxes area, and with few metaboxes added, it is hard to see what is what. There are many issues related to scrolling, empty space that appears out of nowhere.

The good thing about metaboxes support is compatibility option added to metabox registration. If you declare that your metabox is not compatible with Gutenberg, WordPress is load Classic editor for post types that have incompatible metabox. This will require for plugin authors to release updates to include compatibility flag.

I have been working on bringing Gutenberg support to Dev4Press plugins, and good thing is that the only issue found so far is the styling. All the upcoming updates for Dev4Press plugins will include styling changes to make metaboxes look fine with Gutenberg and Classic editor. Saving data appears to work fine.

Before Gutenberg is merged into core, metaboxes need to be made visible on the page and easier to access. Maybe add the static toolbar at the bottom of the page to give the user easy access to metaboxes, maybe even make them fixed on the bottom of the page when opened unaffected by the scrolling. Also, improve default styling, allow full width for metaboxes and dragging them to the sidebar area.

Editing workflow

There’s no two ways about it, editing workflow is still bad. I have attempted to create articles in Gutenberg in the last few versions, and editing takes too long, it has too many clicks, toolbars popping up is confusing and some simple things are very complicated. There are a lot more options for each block, there are many things that are supposed to give user choices, but that is all very much overwhelming that is contra productive. WordPress philosophy was always to have as little options as possible, and leave things to plugins to expand, and with Gutenberg, we have complete opposite, making it hard to understand and use all the options some blocks have.

Nice things about the workflow include ability to define editor templates for different things and assign them to post types, making it easier for editors to add correct data without much guesswork, but that still very far away from being usable, since all plugins need to adopt it, and right now that will take a lot of time, especially when it comes to free plugins.

Double sidebar, for document and for the block is also bad for the workflow because you will need to switch between them all the time, wasting more and more time.

Addition of the Classic Editor block is also a problem. This block should behave like the classic editor, but it works completely different from all other blocks, and it is not working quite like the Classic editor because it is missing the Media buttons. I really don’t understand the purpose of the block, because it goes against the basic principle of Gutenberg, and it is not block-ready.

If you want to use columns, current blocks are completely unusable. If you add columns and want to add blocks in each one, you will end up with the overlapping interface in very limited space. I don’t see a way to make this work in such small width, or worse, on the smaller screens when the columns will get even more confusing. This also brings us to another problem, you usually have no idea what each block is, where it begins or ends. And, even if you click on the block, and get under the block by little, you will end up with new block added.

Here is the screenshot of the editor with 2 columns (with another two columns in the first one under the Classic block), where you can see the chaos of blocks added, icons floating around without any way to understand what is what there, where you can click without adding a new block. This is just bad:

Columns mess in Gutenberg 2.4
Columns mess in Gutenberg 2.4

I can go on and on, but the best example of how bad workflow is is the video from experienced user Ross Wintle. This video shows just how immature the Gutenberg is and how far from core merge is. Check out the video, it is great to watch and includes the comparison to the Classic editor.

Revisiting The Bad

The previous article had the list called The Bad. And, after months of development, almost all the items on that list are still there! I expected to see improvements that will fix at least half of the issues, but that has not happened. Editor behaves better on small screens (with few issues still remaining), image and gallery blocks are much improved. Drag and drop for the block are promised a year ago, and it still doesn’t work. Everything else is still bad.

Developers documentation is getting better but still is far from usable for any serious development. Documentation should include examples of complex blocks building, forms, interactive blocks and more. Still, current documentation is better than anything else JavaScript related to WordPress.

Ready to merge into core?

No. Just, no.

I was surprised to see that Gutenberg developers are working on merge proposal for the Gutenberg. This editor has seen no testing on the scale that was the goal when the development started, it is used on barely 7000 websites according to WordPress.org, and most likely only a fraction of this number is a day to day use. We need tens of thousands websites with daily use to get detailed feedback on the plugin, tests with a large number of plugins, and all done with the regular users (not developers). After 6 or 7 months of testing and fixing things, maybe then, Gutenberg will be ready for the core.

What now?

Freeze the features, and remove some of them too, Gutenberg tries to do too much and fails too much at that. Stop adding new things, and if you need to experiment, do it in another branch for future use only. Get at least 20.000 users (or more) to test it for 6 months, and during that time, fix the bugs, improve the workflow, don’t add new things, and remove some in the process. Fill in the documentation, test the plugins, work with plugin authors on fixing the issues, and getting ready for Gutenberg to be in the core.

But, that is not going to be this year. Use 2018 to make Gutenberg good, and think about the core next year. Let WordPress development continue, and give users WordPress 5.0 and WordPress 5.1 this year. When Gutenberg is ready, it is fine by me to skip a bunch of numbers and go straight to WordPress 6.0, just don’t keep WordPress hostage with unrealistic plans to force Gutenberg to the world in the next 2-3 months. Gutenberg is not ready yet. Nowhere near ready for the core.

Please wait...

WP Rocket

Make your WordPress powered website load fast in just a few clicks
WP Rocket - Superior WordPress Performance

The most powerful and full featured caching plugin for WordPress, with very simple setup. Plugin supports page cache, CDN, CloudFlare, Preloading, Lazyload, minification, prefetch and much more.

Disclosure: This post contains affiliate links, which means that I receive compensation if you make a purchase using this link.

About the author

MillaN
MillaN
Dev4Press owner and lead developer

Programmer since the age of 12 and now WordPress developer with more than 8 years of WordPress experience, author of more than 100 plugins and more than 20 themes.

6 Comments

  1. Alfonso says:

    Thanks, can you maybe post this (or a condensed version) also as “review” at GB plugin page?

    Please wait...
    1. MillaN says:

      I will try to do that soon.

      Please wait...
  2. Mary Sullivan says:

    Thanks for this. Great video. I can tell you that I wasn’t saying “crikey” while I’ve been testing it. I hope they put off releasing it too.

    Please wait...
  3. Ashiq says:

    You just spoke my mind, I tried to create custom blocks but being a JS novice, I found the documentation not up to the par. Gutenberg is a good thing but I’d very much want to have it in Core but this is not ready. We need more time, more documentation and more testing.

    Please wait...
    1. Ashiq says:

      Gutenberg is a good thing and* I’d very much want to have it in Core but this is not ready. We need more time, more documentation and more testing.

      Please wait...
    2. MillaN says:

      Gutenberg is a good thing for WordPress, but not just yet. I am sure most users would like to see it in the core, but as it stands now, there is a long, long way to go before that can happen, and I hope that Gutenberg team and WordPress Core developers will realize that, and that merge will be delayed until next year.

      Please wait...

Leave a Reply

Your email address will not be published. Required fields are marked *