There are so many incredible things people do in the world and the web is a great way to share those but the options for publishing content sometimes feel quite rigid. These days content management systems are the go-to method for aggregating and publishing content in many environments. But there are so many CMS’ to choose from that it often leaves me wondering which one to use on a particular project. And which ones offer a good (not limiting) experience for content authors that may not be at technical.
Even knowing the front end of the web I still favor systems that offer a nice GUI that helps me apply just the right formatting, spell-check my work, and a multitude of other things that make what I try to write better than how it started.
As you can probably tell by the already massive landscape of options that the “right tool” is subjective and clearly depends on the conditions of what you are building and for whom. As I began testing some of the various CMS’ I could get my hands on I started noticing a particular divide in the authoring experience. It left me with a particular question.
Imagine you are authoring a blog post and you decide to quote someone in the second paragraph and you would like there to be a nice pull quote on the right-hand side. Does your CMS allow you to do that? Does it limit you to block quotes or nothing at all?
Many new modern CMS’ do an excellent job of letting you create organized data with specific fields but those are controlled by the developer. The extent of the author’s control is just what text they can left/right justify or bold/italic in the text area field. Suddenly deciding that after the third paragraph that you want to show something dynamic isn’t an option unless you are adding an iframe/embed and that assumes the CMS won’t strip that out upon save.
Maybe you just want to be able to have a two-column layout for part of your post. As the author (not the admin or developer) that isn’t an available option in many CMS’.
Or maybe you suddenly want to inject a call to action along with some dynamic data?
Platforms like Squarespace/Wix/Weebly offer quite a bit more control over content layout in a visual manner that doesn’t require code. They call this block-level editing. Most recently WordPress has also included a similar content layout engine called Gutenberg in its 5.0 release.
These newer editors bring up the question of how strict your content editing experience should be for a given site.
Some sites may warrant this level of rigid content structure but for ones where your authors are afforded flexibility, it can be hard to sell them on an update to a new CMS that locks things back down.
Many of the newer CMS’ (contentful, netlify cms, forestry.io, etc.) favor structured content over flexibility but going that route does limit the non-technical content authors’ ability to do what they want with their content.
I have been using WordPress for some time and I decided recently to give a few of the more modern CMS’ a try. Even as someone who can afford to control the full experience of his own site, I quickly found myself being restricted by the limited field and layouts that I could accomplish in the GUI of tools like Forestry, Netlify CMS, and Contentful. It wasn’t long before I found myself wanting to point my Nuxt based front end back at my WordPress REST API to regain my block level editor for blogging.
It wasn’t as though these other CMS’ weren’t impressive in their own way. I did appreciate the simplicity and overall cleanliness of these newer platforms but already found myself wishing for more field types in the process.
Like many things in tech, the evolution of the authoring experience is going to evolve and more likely end up with more options and more capabilities in time. I am hoping that we start to see more block-based editors in the future as more headless CMS options are developed that counter the traditional title/body field CMS’ of old.