Gutenberg on trial (again)

Will the “new editor” plugin forever change WordPress (for the better)?

Here’s one of my favorite Free Software moments:

No, thanks, I’ll stick to Windows.

If you’ve never heard anyone telling you that before, it means you probably answered this way in the past and, if that’s the case, relax: this is not going to be the snob-ish comment (that you would actually deserve) about it.

It doesn’t matter if you tried to talk someone out of their iOS for compatibility sake, wanted to install something ethical in your school’s computers or took a chance at convincing your boss to switch to other software for your own survival, I bet the results were often pretty much the same:

No, thanks, I/we will stick to [insert the nerve wracking software of your choice here].

Frustration can reach new heights if you happen to be involved in an activity that requires an high level of IT systems reliability: a person I know quit a good job at an airport’s air traffic control tower due to the stress of having continuous blackouts on their systems.

You can see that’s bad.

No, that’s actually REALLY bad.

So bad in fact, I’m compelled to start a quick philosophical rant: I often find myself thinking that conservatism is the worse among our cognitive biases because it runs deep in all of us. The implication that I find more dangerous about it is that it basically stifles scientific and cultural processes which would normally arise way faster: to be clear, progressive minded people are included in the equation.

While you ask yourself how did we get into politics, I’ll get back to my topic: the Gutenberg plugin.

The vision

The Gutenberg Team describes their project as such:

The goal of the block editor is to make adding rich content to WordPress simple and enjoyable.

OK, that’s kinda catchy and all but, how about the details on how to make it happen? More info are available:

The new post and page building experience will make writing rich posts effortless, making it easy to do what today might take shortcodes, custom HTML, or “mystery meat” embed discovery. WordPress already supports a large amount of “blocks”, but doesn’t surface them very well, nor does it give them much in the way of layout options. By embracing the blocky nature of rich post content, we will surface the blocks that already exist, as well as provide more advanced layout options for each of them. This will allow you to easily compose beautiful posts like this example.

So, Gutenberg has been written with the aim of helping WordPress users publish richer content, faster: a “text editor restyle”, if you wish, for the moment. But with so many more changes under the hood than they meet the eye and, especially, with even greater plans for the future.

The landscape

At the time of writing, WordPress dominates the CMS (Content Management System) scene, with a staggering 60% for a global Web usage of almost 30%, while Joomla and Drupal are solid in second and third position.

Such huge numbers have become a permanent target for all the other competitors, which include big companies with even bigger budgets: Google, Adobe, Squarespace, Wix and a few others. These are competitors that neither like nor support the license that the major three systems share: the GNU GPL.

Nothing new, of course: there have always been companies which despise users freedom and try to seduce their “useds” with pretty interfaces that require development costs which are not sustainable for most of the companies working in GPL environments.

You might now be asking yourself:

“How did these GPL CMSs become such a success if they were competing against such big budgets?”

You also did answer “No thanks, I’ll stick to Windows” before, didn’t you? Answering that would require me to write the aforementioned snob-ish comment, which is not what this article is about. As previously stated, this post is about the Gutenberg plugin.

The interface

I have been testing Gutenberg since a few months now: mainly on local installs but I did briefly tried it on some live sites, despite its clear warning by the Gutenberg Team:

Meant for development, do not run on real sites!

But I am that kind of a maverick, you know…

Being based on Calypso, there’s no surprise the Gutenberg UI closely resembles the Jetpack / WP.com experience but it does so by integrating pretty seamlessly in the familiar WordPress UI standards. I do reckon some users might need some time to get used to the new dispositions but the interface did not shock me neither surprised me: it felt to me like a natural evolution of the platform.

Gutenberg is, for the moment, pretty much a “block” editor so perhaps the single most obvious UI characteristic is its content preview window: we can from there move our blocks of content up / down by clicking on simple arrows as well as editing, managing or deleting each block.

I believe Gutenberg’s most relevant new concept to get acquainted with is the “Insert” mechanism: as we said, all our content becomes now several blocks which can all be “inserted” and configured one by one.

our beloved manual editor…

It is still possible to switch to the classic HTML text editor which, I believe, is not going to go away anytime soon, but I can guarantee you that after writing with Gutenberg for a while you won’t really miss it unless of course you need to manually add in-line CSS and / or to work with custom elements or such.

The code

Gutenberg is mostly written in javascript (ES6), which is not (admit it, already!) traditionally welcomed in hardcore PHP environments like WordPress: that being said, the Gutenberg Team is built around many different kinds of programmers and this coding melting pot is something encouraged by the Team itself. The result is pretty amazing to me: despite the huge work, the code seems simple, well structured and comprehensive.

The plugin is in active development at the moment and the Team left a few placeholder options but at its actual size of 2.6 Mb and all its functionalities, it seems to be a reasonably well-thought piece of software. Nonetheless, we enter now a territory  where logic does not apply: Web Comments.

The ratings

This is the aspect that led me to write this article in the first place. Gutenberg reviews are, I believe, emblematic of the conservatism I was talking about earlier: 2.5 stars out of 5. Reading the different reviews, you can have a sense of how groundbreaking this plugin is perceived to be: developers seem to be especially concerned and vocal, expressing all sorts of hopes, fears and uncertainties.

Actually, almost EXCLUSIVELY developers: and the discussions run deep, from json to jsx, REST API and all the other unpronounceable things we like to talk about. But, wait a sec: what was the aim of this project, again…?

The goal of the block editor is to make adding rich content to WordPress simple and enjoyable.

Right. Gutenberg should mostly help the ones who need more help building web pages content. And that category does not include web developers… does it?!

Summary

Gutenberg feels like a first step of a future deeper integration with the WordPress core, passing by the Customizer.

The aim of the whole project seems pretty clear to me: to try to guarantee WordPress dominance for the medium period by offering an interface which makes sense to the Minimum Common Denominator kind of WP user. And it does that by delivering a concept which certainly makes sense and it’s enjoyable to use. Something that, as I said, is really important in order to preserve the community, since Big Buck would always really love to dismantle it.

Not so many people realize that Gutenberg and Calypso seem to be the reason Facebook released its beloved React under an MIT license, forgetting about the previous “friends-with-benefits” agreement: kudos to Automattic’s consistency and foresight.

My take

I do not cheer for any team in software beside the Freedom one. With Free Software, the user is king and I do like Gutenberg because I believe it will bring more power to the community, and that is a good thing. But you know what comes with big powers, right? Exactly, so let’s be responsible by beginning to see this plugin for what it is: a small step into the future. Embrace the discomfort, swear for an healthy 5 minutes and move on and discover your new software.

And, how about taking a chance and stop “sticking to Windows”?

Because what really remains to be seen is of course the users reaction to the new concept. Remember the conservatism I was talking about? It slows down adoption of otherwise logical and obvious things when we would instead need the furthest away possible jump into the future.

Which is exactly what Gutenberg (the publisher) did and, apparently, keeps doing…