As we speak the new editor is taking WordPress to the next stage of its existence and because of this there are countless “battles” ahead. To take something to a new stage is hard. It is hard because we all venture into an unknown where new things change the old, and sometimes the old is not bad in itself, it is only incompatible.
Incompatibility is something that proves hard to handle at a psychological level. Humans like stability and incompatibility sometimes appears like useless instability. That is why, to cope with it, we require a great, wide and open perspective which usually can be offered by answering several WHYs.
Why did we embark on the Gutenberg ship?
We did it so we are ready for the future of the web. The future of the web is shaped by many things, most of them external to WordPress: the advent of powerful silos of Internet and the fight to keep an open web, better browsers that enable commercial products which were unthinkable just a few years ago, new waves of users who come to the web with a host of brand new and different expectations, and so on.
Why must we be ready for this future?
Because WordPress “runs” 35% of the web! We need to be a force that both welcomes and shapes this future. To welcome the future we need to adapt to it’s weird new wonderful ways and to shape it we have to provide sound solutions to its challenges.
Because the future is now. This is a trite sentence, however on the Internet it holds true! Remember the syntagm of “Internet years”? In Internet years, two years ago is an eon. Things move faster than anything else you can think of, and this will of course affect any Internet business.
Moving from PHP based bundles to JS based bundles is a technological step that has nothing to do with the following fact: having a computer does not make you a developer. Nor does having a MacBook with Xcode installed make you an app developer. And, all the same, being a developer with a Mac and Xcode does not make you a hit in the AppStore.
The same applies to Gutenberg: the fact that Full Site Editing will make it easier for end users to EDIT their website, does not make these end users into full blown designers and developers. They will either stick to defaults (which a lot of people currently do as well) or they will create sub par experiences for various reasons such as financial, discovery, hobby (which a lot of people currently do as well) or they will want specific things.
Any by thinking about end users this way it becomes rather easy to notice that themes fall into the same three categories:
- all in one, specific and complex themes bundling a lot of features
- good design themes bundling default layouts and good styling
- convenience themes which do not have good design but change the default experience of using the system in some convenient way
The last category is the one which will be hurt most by the transition to FSE, because there will be a steep drop in the complexity of using WordPress (if we do it right) and the need for themes which make things easier to edit, or use in general, will be almost zero.
The first two categories of themes will keep on thriving but evolve or shift technically:
- the all in one, specific and complex themes will be a bundle of PHP, JS, JSON, and CSS and include full page layouts made of presets of blocks, custom blocks, styles for the front end and the editor and so on. There will be no more PHP templates, mixed with HTML, but there will be PHP just as well for anything the theme offers in the admin.
- the good design themes will be slimmer and might contain solely CSS styling and some binary assets because the layout and structure will be determined by the system and they do style defaults anyway
There is not much of a difference from a designer’s point of view: you still design a web experience in the context of a web browser.
There is not much of a difference for a theme as a product: you still need to service a certain design niche and if you can afford the development costs you can service a specific website niche.
There will still be the widespread use case of WordPress as an application framework. Unless we rip apart the foundation of server side WordPress and decide that the only use case for WP is to be a web builder. But God, is that very far … and unlikely.
From the point of view of someone who implements themes for a living today, there is not much to learn. We have nothing but a hunch on how full site editing and themes will work. We explore block directories and fiddle with block only plugins. So today, it’s all experimental.
But tomorrow it might be set in stone. And that is a problem.
If you are a developing WordPress theme software you have two choices:
a) wait for the new system to be ready and documented and then start training
b) get involved now in this experimental phase and have your say in the shaping of it
If you choose a) it might be so, in the end, that WordPress has abstracted so much on top of React and other tooling it uses, that the libraries themselves will be all just countless “other” libraries included in WordPress, all wrapped in nice functions that give you what you need. So at the end of all this transition, maybe you won’t even have to know React but the normal WordPress specific new things.
But if you choose b), then you need to know React, today. As any tool it has its limitations. As any modern tool it changes, fast, blazing fast. It is not a tool made of steel, but of code. What you understand today may be obsolete in a week. Today, WordPress abstractions and APIs are not complete, you will find bare React or glaring JS weirdness as soon as you start poking at the system. So you need to be armed properly to cope.
The advantage of getting involved (b) over waiting (a)?
Well, if you are a theme shop, a high grossing theme software developer, a well known theme designer, an enterprise WordPress implementer or vendor then you should go for b) and get involved now in this experimental phase and have your say in the shaping of it. The result of what Gutenberg will work like and what exactly FSE replaces will affect your margin, your business model and your future overall.
However if you are simply making a living working for small clients and tweaking their websites and maybe implementing some visuals from time to time in various websites you can wait. In proper WordPress tradition and in a constant effort to be improved, documentation, community support and developer responsiveness is at an all time high and I don’t see why that would change. So you will have plenty of resources to learn how to theme a WordPress website when FSE and Gutenberg will have set it clear.
And for the ones in the middle, not big WordPress shops nor small occasional coders working on WordPress projects, but involved hobbyists, one man companies and, why not, WordPress users publishing with WordPress, both choices are and will always be open.
The blazing speed of how Gutenberg and its consequences appear in WordPress is still not fast enough. And this speed is not about WordPress at all. Software development is in a phase where the common wisdom is that fast experimental iteration is always preferable to slow documented releases.
In my opinion, as a developer inside joke, the more those node_modules directories grow in size the closer we get to a moment of truth where this complete abandonment to experimental and speed or iteration will be tamed a bit. That’s it. Just a tad tamed, because the thing itself, you need to know, is the result of the failure of the slow documented releases to provide good software and to keep up with innovation, so even in the worst scenarios, all we can expect is a bit of responsibility baked in this fast experimental iteration process, nothing more.
So the same applies to Gutenberg. Of course people will be phased by new developments when you go this fast in such a small amount of time. But the good part? Remember it is an “fast experimental iteration” process. You can undo, you can improve, it can be changed, just as fast and experimental in the next iteration!
The people of WordPress are just as welcoming as ever so get involved, do not wait to be involved!