Thanks for sharing your story, Chris.

Your story with Gutenberg resembles mine with Core and PHP twelve years ago. Read issues, comments, code, go for the simple first. Not just to contribute, but to educate one selves on the possibilities of WordPress and how to change how it behaves, add something new that you or clients need to be productive.

Few knows how every corner of WordPress works, and few will know how every corner of Gutenberg works. Few need to. What we need is, for core, the Plugin and Theme APIs, and similar for Gutenberg. It's still/also a framework for making change and add new things.

However useful, shortcodes are a nightmare. Having a visual editor and still have to rely on shortcodes, especially nested ones. Like editing html for people who hasn't a clue about it. They easily destroy them, or the structure, trying to edit them or make mistakes trying to avoid editing them. Or remove them all, start from scratch with tools like Ultimate Shortcodes plugin.

Take Jetpack contact form as example. It started as a simple shortcode, no alternatives. Then evolved into a nested shortcode, each field an inner shortcode. Then a popup edit panel to insert or edit it. Finally as a kind of block inside the visual editor, with in-block editing and a save button, like how the page builders work. But it you forgot to save the "block" changes before updating the post, the changes was gone (still is like that). And the form, even in visual doesn't quite look like the resulting form when appearing on the front.

I have made shortcodes and visual editor buttons to make things like custom style boxes, like for facts. They have background color among other things. When authors want the same box in another post, whatwas the color? Added some default colors, but thenthey want another and some other styling for a new purpose. Endless. Make my own system to to save such layouts and pick them up? Could be done.

I took one of my shortcodes, a very, very simple one, displaying some info, and converted into a Guteberg block, while still working as a shortcode. Saw an example and did it in 30 minutes. No React, no Javascript. The is an API for server rendered blocks, available in PHP.

All the above will be blocks, separating them from other blocks so they can be edited without mixing up or breaking things, by anyone. New sets of attributes, visually rendered on the fly, can be saved for later use, and have a name.

Many have inline ads. Where to put them and how will they look? Offending in this context? Then move. Some even have trouble moving, by cut and paste, shortcodes without screwing up.

Making highly dynamic blocks, like table of contents, list of other blocks by type, things that react to the local editing context or environment, will have to be made in Javascript and/or React, I suppose. Not there yet, for me, but how exciting to be able to, just by learning some more. Since I havn't tried yet, I'm sure I will master it.

Blocks are he answer to so many things. Blocks are not specific to bloggers, but for all article or rich text writers and editors.

Gutenberg is complex behind the scenes, so is WordPress. Making complex layouts has never been easy in WordPress, not when changing theme or relying on plugins that do their task in very different ways, locking you in.

WordPress has become quite archaic in many ways, compared to other tools. Gutenberg is thinking new, out of the traditional editing experience. WordPress is about to become greater than ever.