I know there’s already been a ton of well written articles against WordPress’s Gutenberg project, which is why I’ve held off so long on talking about it. However, I’ve been watching the project since I attended WordCamp 2017, and feel like I should finally speak out on how this project is going.

Everyone knows I’m not a fan – but not everyone knows or understands why. I often speak out on “new shiny dev stuff”, but I’m not opposed to these things just because they’re new. When new CSS features are released, I don’t hate on them, I learn them. I know they’ve been worked on for years. We’ve had previews and time to play with it and get to know it before it’s well adopted. However, I’m always opposed to the “new” when it’s untested, not user-friendly, or throws out a decade’s worth of good coding behavior.

Let’s Start With the Devs

Let’s face it – users probably will never care about Gutenberg. After all, it’s something you’ll only interact with in the backend/admin area of WordPress. Users who visit the site will never know that the admin area of WordPress has drastically changed. Unless of course, they can’t even visit the website anymore (more on this one soon).

I sometimes feel bad about whining about tech that makes our jobs harder – after all, if it doesn’t affect the users, we should just shut up and do what we gotta do to make a website, right? No.

Let’s start with one of the major problems with Gutenberg, React. I’ve been vehemently against React for a long time, and not just because I think Facebook is evil (they are). All of WordPress is basically written in PHP. Yes, I know there’s the Rest API, but the majority of devs will never use it (I certainly don’t either, and I’ve coded some very large, complicated sites) and having the API doesn’t affect anything else you do on the website. You’re free to ignore it or use it. Which is how all these type of enhancement features should be.

But Gutenberg throws a new programming language into our faces. In addition to now having to know HTML, CSS, PHP, Javascript, Rest APIs (if I’m using it), I’ll now need to learn yet another language. I can’t ignore Gutenberg, it’s on by default and it’s in our faces. It’s another dependency on a third-party JS framework that may or may not be around in another five years.

It’s also a Frankenstein approach to WordPress. Instead of following the standard WordPress convention of using PHP, and using the functions.php file to turn on/off these features (like menus, thumbnails and literally everything else in WordPress), we now how to create and load React files. As if coding websites in WordPress wasn’t already hard enough, let’s put this one feature in a completely different place than all the others. I really, really feel bad for new developers coming to WordPress to learn.

As if coding a new website with Gutenberg isn’t going to be hard/annoying/time wasting enough, an even bigger issue with (and the one I’m most worried about as a developer), is the fact that Gutenberg at it’s current iteration has the potential to break the majority of already launched websites. This is due to the way they hide/remove meta fields. While some of this problem has thankfully already been addressed, it’s not perfect yet.

If you’re using something like Advanced Custom Fields (which I do on every website), you could be screwed. Yes, the devs of ACF has promised us that they’ll have a plugin fix that will work with Gutenberg at the time Gutenberg launches. But so far, we haven’t seen that.

If you use something involving multiple Tiny MCE editors, you’re in even more trouble. Gutenberg is aiming to get rid of these editors, and there’s a huge outcry right now of devs who know this will break their theme or plugin.

There have been people who’ve said this isn’t a problem. Just don’t upgrade your WordPress version. Just install the Classic editor plugin. But here’s a problem: what happens when we’ve been coding 2-3 websites every month for the past 10 years?  There are clients that aren’t my clients anymore. There’s websites I no longer have admin access to. And for an extra knife jab, I don’t work for free. And clients aren’t going to want to pay to fix this.

I’ve always told my clients to upgrade WordPress as soon as it comes out, for security reasons. You can’t tell clients to just not upgrade, because as soon as some security flaw is exposed in that old version of WP, and their site gets hacked, guess who they’re going to blame? Not the gardener, that’s for sure. You also can’t assume clients are going to (or even going to know how to) install the Classic editor. I can even do the work of sending everyone one mass email, but that doesn’t mean it’s not going to go in one ear and out the other.

I’m soooooo looking forward (sarcasm) to the day Gutenberg launches and there’s 500 emails in my inbox demanding to know why their site suddenly white screened and I better fix it immediately and for free, because it was *me* after all who recommended WordPress and promised stuff wouldn’t break on upgrade (because hey, in 10 years of WP development, it never has).

What About The Admin Users?

Another major pain point in Gutenberg, is the user interface of the new editor itself. It’s horrible. It’s ugly. It’s bare and white and where-the-hell-did-my-tools-go? It’s terrible for accessibility. Don’t even try to use it with a keyboard or touch screen. Remember in the 90’s when we learned that it wasn’t a good idea to “hide” your main navigation and force users to scroll around a blank canvas in hopes of it popping up? YEAH LET’S FORGET THOSE LESSONS AND LET THOSE SUCKERS SEARCH FOR IT. 

No one cares about “distraction free” typing. People just want to bold that word and move on. And what about users with disabilities? Or users who prefer to use a keyboard only? Or users with poor eyesight. Yeah, they’re not important either (more sarcasm).

In case you think I’m just talking out of my ass, I actually have tried Gutenberg. At WordCamp 2017, I did their little user test. I was asked to sit down and type a block of text, make it a quote, and add a heading an image.

In the current version of WordPress, this would’ve taken me oh, 30 seconds. And yes, I know that when you’re learning a new thing, it takes a bit of time up front to learn. But by golly after 5 minutes the person running the test actually got impatient and had to SHOW ME, a person with 20 years of web development under her belt, how to freaking accomplish this supposed-to-be-easy task.

And guess what? IT WAS WRONG. Turns out the Gutenberg block has TWO DIFFERENT QUOTE BUTTONS NOW. The regular blockquote, and a pull quote or something. And nothing was labeled. Just icons. And stupid ol’ me just hit the standard blockquote icon. AND IT WAS WRONG. What happens when us web devs add 10 more icons to that hidden bar (which took me a while to even find myself). Assume admin users are going to click every icon to figure out what it does? NOPE.

Get Off My Lawn Solutions

Nobody wants this. I’ve yet to hear a positive review of this functionality besides the people from Automattic and the Gutenberg project themselves. We’ve been asking for better features for years and have been ignored. Automattic still supports a hugely outdated version of PHP because they cared about backwards compatibility and breaking existing sites. Gutenberg though, is a big EFF YOU to that principle. Let’s just break everyone’s websites and be done with it. Let’s make developers’ lives even harder.

I understand that WordPress feels like it needs to compete with page builder CMS’s like Wix and Squarespace. That they don’t make a lot of money from us WordPress.org developers, so they don’t care much about us. Their big money-maker is the WordPress.com users, who want a page builder type experience.

SO FREAKING GIVE IT TO THEM AND LEAVE THE .ORG VERSION ALONE. This isn’t hard. If you sign up for a WordPress.com website, you’ll already see that there are several differences between the .com and .org admin versions.

Or maybe make Gutenberg a plugin for now, and merge it in a few years when sites and plugins have had time to adapt.

Or maybe include Gutenberg for new downloads only.

Or maybe make it something you turn on in the functions, like menus, sidebars, thumbnails and LITERALLY EVERY OTHER FEATURE of WordPress.

Or maybe just scrap this functionality that no one actually wants and spend your time making WordPress faster and more secure. Get rid of the shoddy legacy code. Add some SEO features or something.

Please, please, don’t make me join the ever-growing crowd of people who have dropped WordPress and moved on to other CMSs. Because Craft CMS is looking tempting. I love WordPress. I’ve invested 10 years of my life to know WP in and out. It’s not perfect. No CMS is. But it’s a fantastic piece of software that’s being ripped apart to try and emulate other companies’ solutions. We all know how that ends, and it isn’t pretty.

 

Amber Weinberg

Amber is a freelance front-end developer specializing in semantic and accessible custom WordPress themes. She works with agencies and other freelancers to bring their designs to life using custom ACF flexible layout builds - making them more performant and less buggy while allowing the client easy customization without breaking the design system.