Recently I’ve been reading Sara Wachter-Boettcher’s new book, “Content Everywhere“. It deals with information architecture for a world where content is being consumed in so many more places than just the traditional desktop web browser. I haven’t yet got all the way through the book, but it’s a very good read and well worth your time if you spend any time working with web content.

This isn’t a technical book. It’s about organising content. It’s about breaking down the content you have into different fields so they can be displayed appropriately on a variety of endpoints. The point it stresses is that content shouldn’t be stored in a method specific for any endpoint, but in a presentation-agnostic manner. Think beyond the immediate challenges of smartphones, tablets, etc. Design for a future where we don’t know what’s coming.

I agree 100% with Sara’s way of thinking. This is the way we should have been doing it for years. Why aren’t we?

Every modern CMS I can find is designed to not only facilitate content creation and storage but also render the content as HTML. Content creation/storage, and content presentation are handled by the same system. Why? One would imagine a better way to do this is to handle these two aspects by completely different systems. The CMS could focus on storing different types of content in the best manner possible, and serve that via an API to an entirely separate system which renders it for the browser, mobile device, TV, or whatever else you want. You could have infinite different outputs, all being fed content by the same CMS.

The advantages of such an architecture are numerous. Here’s a few off the top of my head:

  • A proper focus on capturing the content using appropriate fields rather than generic, catch-all text areas and WYSIWYG editors
  • Simpler change deployment processes
  • No need to worry about an upgrade to the CMS impacting the way pages are rendered
  • Mobile no longer is an afterthought or reliant on what’s happening on the website. A mobile app could be fully developed and released before a website has even been thought of.
  • Serve the same content to multiple websites (save yourself double-entering common elements across all of your web properties)

Such a system should move past the mentality that content consists of a title, summary and HTML body. It should enable information architects to easily create multiple content “types” (news articles, static pages, people, organisations, events…) and then define multiple fields for each content type. Access controls could then be set so each API user only has access to the content types and fields you want them to have access to.

I personally think this content-first, presentation-second way of thinking is the way of the future. It’s the way things are meant to be. But as of yet I can’t find any platform with this architecture.

Does such a thing exist? I truly hope there is, because starting a successful CMS project from scratch seems somewhat daunting, and I don’t want to go into competition with the giants of the industry (WordPress, Drupal, Umbraco, et al).