By
/01.12.21

Photo by Alora Griffiths on Unsplash

You want to stay flexible and still reach your goal quickly - even when looking for software, custom solutions are not always the perfect running shoe. In fact, we recommend standard solutions if the specific problems can be better addressed with them. In recent years, headless CMS - a new category of  standard software - have gained a lot of momentum. We explain what Headless CMS are and where they can be used.

We often hear the request from customers, "I just need a simple system to write some news or manage my events." In the past, I would have said, "We'll program that ourselves! Won't take long!" But most of the time it does take a little longer, as more challenges come to light during development. To do content management really well requires a lot of thought. An unfinished list:

  • Does the content need to be able to be formatted (paragraphs, listings, bold, italics, etc.)?

  • Does it need multilingual capabilities?

  • Is there a process for how content can be shared?

  • How is the file size of images compressed? Users often upload content too large because it is tedious to resize the images first

  • How are images delivered efficiently? You don't want to deliver the same size image to a mobile device as you do to a desktop computer to save mobile data. Efficient caching of requests is also interesting (e.g. using a CDN).

  • Is version management necessary? Often far too quickly one has accidentally saved something in a version and would be glad to be able to jump back to an old version again

  • Permissions: Are there different users that have different permissions?

  • Etc.

If you want to know more about whether you should use custom software or standard software, read my last article on this topic. But what does this example have to do with headless CMS or conventional CMS?

Conventional vs. Headless CMS

If you want to consider all these points above, the implementation is complex. Content Management Systems (CMS) have been around for a very long time. From my point of view they are often inflexible, tedious to use and can be quite cheap. I find the free CMS "Wordpress" - by the way also the most widely used CMS - one of the most user-friendly systems. These conventional systems are very well suited when content management and display on a website is the only task.

In recent years, the headless CMS has gained attention. Why? Conventional CMS couple the capture of content and its presentation. The presentation of the captured content can be individualized (customized) through so-called templates and themes. As soon as I want to display the data not on a website but in a native app, a conventional CMS is not the ideal tool. Although conventional CMS often offer directly responsive templates, these are intended for display on the web and not in a mobile app.

It differs from the conventional CMS in that it only handles the storage of the data and provides a data interface (API). Thus, the data can be displayed anywhere and is not dependent on the CMS in terms of display. This makes it much easier to display the data on different browsers and devices.

Use cases

You can run a hundred meters in sandals, but that is neither comfortable nor particularly efficient or useful. It's the same with headless CMS. Two possible use cases, however, where I think it makes sense:

  • A website/platform is already available, but cannot yet manage news. In this case, the headless CMS could take over the task of content management and the data could be displayed in the application that still exists.

  • For a mobile app, the data collection is done in a headless CMS. The mobile app makes use of this data and displays it. There is no need for a self-developed backend (we had described a similar process in the blogpost Using Google Spreadsheets for App Translations, but Google Spreadsheets is far more error-prone and less convenient to administer than a headless CMS).

Headless CMS are flexible

The strength of headless CMS is that they can be adapted very quickly. The handling is practically the same in all solutions. First, you enter a data structure once, in which you want to enter data later. This can be, for example, a blog article with title and image, but could also be an event, with start and end date and description, to display this data later in a calendar. Once you have added a field, you have many predefined fields to choose from, as shown here in Storyblok's example. In a second step, data can be entered into these fields in a structured way in a form that was created automatically based on the data model.

In a final step, you can retrieve all blog articles in a structured format (JSON) on the end device, for example, and is no longer bound to web technologies - in other words, a native mobile app could also use the data.

Which Headless CMS Solution?

If you search via Google for "Headless CMS" you will find yourself in front of a jungle of solutions, all of which have their strengths and weaknesses and also differ greatly in price depending on the requirements.

There are systems like Directus, which are open source and have a free self-hosting plan. Other systems like DatoCMS have handy features when dealing with images, such as the focal point (the center of the image), which is used to calculate thumbnails (preview images). For example, you can ensure that your images are displayed correctly on any screen size.

Photo by Jenny Hill on Unsplash

Some offer an efficient way to manage different versions of each page and publish only certain content. For example, Storyblok or Directus. Likewise, there are differences in terms of how the data is delivered. With Directus, for example, you can use GraphQL: A flexible technology that Facebook had invented to deliver only the data fields that are needed. For example, on an overview page, only the article title and image without the description.

Which headless CMS solution is the right one for you depends on the use case. We will be happy to help you find the right solution for you and look forward to hearing from you.