Image: iStockphoto/nd3000

As computers have become more portable and deeply integrated into everyday life, the notion of making one design for desktops and laptops has become outdated. Smartphones, tablets, smartwatches, smart TVs and set top boxes, personal assistant speakers like Amazon Echo and Google Home, and augmented and virtual reality are all platforms that require consideration for content delivery. Content creators still require an interface to manage their work, but content must be more easily adaptable to the end user’s preferred mode of consumption.

The solution to this problem is a headless CMS–a content management system (CMS) that retains a visual user interface for creating, updating, and deleting content, but only provides an API for information to be displayed, such as a website generator, an app for smartphones or tablets, or an Alexa skill.

SEE: Become a Web Developer from Scratch (TechRepublic Academy)

What is a headless CMS, and why should I use it?

A headless CMS abstracts the display of information from the management of information. Traditional CMS solutions like Drupal or Joomla, or the blogging software WordPress, have a full-featured management interface for content creators to manage their work, and a public, front end system for that work to be displayed. This frontend can be extended and modified with custom themes, but generally exists within the paradigm of information being presented in a web page.

A headless CMS retains the management interface for content creators, but provides developers an API to access information. That information can be displayed in a wider variety of settings, such as apps for smart devices. Headless CMS deployments scale more easily, as tasks like visual themes are generally offloaded to client-side devices, in the case of smartphone apps, while binary blobs such as photos can be offloaded to cloud storage services.

What good headless CMS options are available?

In the open source arena, the most widely-used option is Jekyll, which is also the system that powers GitHub Pages, the hosting service for developers and their projects. Jekyll has a wide variety of plugins and themes available for use on their website. Another part of the Jekyll ecosystem is Prose, a visual editor for Jekyll websites.

For commercial products, SiteLeaf offers a Jekyll frontend with additional features, such as publishing to AWS S3, Rackspace, or via FTP, as well as importing from Ghost, WordPress, Drupal, and more.

Contentful is perhaps the most extensive solution available, with an extensive editor and management interface with support for granular locale settings, and API support for JavaScript, Node.js, Ruby, PHP, .NET, Python, Swift, Obj-C, Java, Android, and cURL. In addition to Jekyll, Contentful also supports Middleman, Metalsmith, Spike, Roots, and AWS Lambda.

Limitations of traditional CMS solutions

Using a classic CMS platform to display information outside of their web platforms is somewhat unwieldy given their monolithic design. Traditional CMS platforms are generally limited in the ways they can display information–generally, these are basically php calls that return information. Attempting to use this for a smartphone app is particularly challenging, as inserting these queries requires either a wrapper that allows the app to check for content server-side, or simply using a webview for the entire app, limiting access to native UI elements for the end user’s device.

Drupal 8 has a RESTful Web Services module, providing a partially detached interface for developers to build alternative modes of displaying information. That said, extensions for existing CMS solutions retain the overhead and operational flaws that exist in a vanilla installation.

What’s your view?

Are you using a headless CMS for your project or organization? Are you planning to migrate to one in the future? Share your content management strategies in the comments.