Products like Basecamp or Dropbox are simple to describe. "Everyone's favorite project management app", "All your files, everywhere you go" – these are great examples of software that does one thing well.
Contentful does more than one thing well. In fact, Contentful is more than one thing on its own. It's a content management system, a content backend, a content API, a web content editor – not to mention a team of 40 enthusiastic people. Businesses invest in Contentful to build websites, launch mobile apps, and delight their users.
Still, we are eager to do one thing well: making content available to developers. That way it's simpler for them to build digital products, as they have more freedom to use the technologies and the tools they love.
We'll go through every aspect of Contentful as the ultimate modern content platform, showing what's hidden deep inside, and what you are getting as a customer.
We like to describe Contentful as a headless, API-first CMS, adding that it's an API for all your content. Below is a simplified version of what it contains:
Content delivery API, colloquially referred to as a read-only API, is a big cluster of servers and CDNs responsible for delivering content to users' devices, as well as the API which enables requesting the exact bits of content which need to be delivered.
Content management API, which might be alternatively remembered as a write API, is another server cluster which takes care of processing and storing the incoming content. Naturally, there is an API on top, using which apps can put their data into Contentful.
Web content editor, a SaaS web application where authors and content managers can create, publish, and collaborate on content.
Developer ecosystem: SDKs, libraries, tools, sample projects, documentation and API references which help developers start building with Contentful faster.
Essentially, Contentful is not just a powerful API or a writer-friendly web content editor. It's both. It's also a complete content hosting and delivery platform, which means that there is a dedicated devops team taking care of every detail of the infrastructure. Not that many CMS offer that kind of service: WordPress and Drupal don't.
This approach enables development teams of our every customer to focus on building the specific products instead of putting time and effort into setting up servers and services configuration, which is time-consuming, complex, and not sufficiently appreciated.
Another aspect of being a developer-focused platform (and even developer-friendly, as we humbly think of it) is that we provide all the essential tools which simplify interacting with the API and help developers focus on building their projects.
On a first glance, there hardly can be anything extraordinary about content delivery. Every CMS delivers content, after all. The way Contentful does it, however, is different: since it's a platform, there's more to it.
One of the most important parts of the delivery tier is the CDN, content delivery network – a family of geographically distributed servers. The purpose of using a CDN is to increase the content delivery speed. Contentful uses two CDNs: one for JSON data and another for images, videos and other types of media, as well as any other file types. Both are optimized to perform their specific tasks as rapidly as possible.
Another aspect of the delivery is the caching layer. A cache server stores frequently requested content to, again, reduce delivery time. Contentful uses several layers of geographically distributed cache servers, which adds up to the stability and efficiency of the overall setup.
Finally, the content delivery API is completely isolated from the content management API, which also contributes to security and safety: if something goes wrong on one part of the cloud, the other stays intact.
First of all, the fact that a separate API exists for content management means that anyone can do anything with their content. It means actually owning and having control of your content both ways, in and out. You are free to import content from any source (your previous CMS, for instance) using code, not manual labour. (Take a look at Exporting content from Wordpress, Drupal or elsewhere and importing in Contentful tutorial or see the list of import and export tools). The content management API enables uploading both JSON documents and binary files.
The differentiating aspect of the content management tier is how document storage is handled. We are using Amazon S3 to store content, which gives our cloud infrastructure unprecedented scalability: the storage scales seamlessly according to the requirements. It means that no matter how much data you put into Contentful, you're never running out neither of storage, nor of delivery infrastructure.
Ultimately, having this kind of API moves Contentful into a different category. It means that anyone can integrate Contentful with any software: for instance, instead of using our web editor, you can choose to build your own or to integrate Contentful with some existing content editor you are already using. That way Contentful will be just your content backend and nothing else. By design, Contentful is modular, so that everyone can choose just the options they need.
The Contentful web app, also called web editor, serves two major purposes. First, it's used to define the content structures: what kinds of content could be stored, what data types it consists of, and so on. This part is generally called content modeling and typically done by content strategists or information architects.
Second, editors use the app to actually put content in Contentful: create and edit content entries, upload files and media assets, preview the content, and do other parts of everyday editorial work.
The web app also helps get the API keys, control the billing and do other regular SaaS things, but content modeling and content editing are the essentials.
One of the distinguishing aspects of the editor – and also a huge advantage – is that it's not WYSIWYG. One of the core principles behind Contentful is that the content should be separated from presentation. That means that we store as little markup as possible, so that content can be smoothly taken across different platforms and presented in the most suitable way on each.
The Contentful web editor is built around Markdown markup language. It's straightforward, it's highly functional, and simple to use both for developers and writers. We discussed the reasons and benefits of it in an earlier post: Markdown, the way to write.
As mentioned above, the web editor is built on top of the content management API, so that it supports live collaboration, media uploads, and all the regular features expected from a CMS.
It's important to mention two more things that relate to both content delivery and management APIs.
First is that both APIs support full-text document search and queries on document attributes, which helps fetching just the right content pieces. These refined query capabilities help increase delivery speed and contribute to overall performance. Also, the fact that API requests can be linked proves beneficial, especially when it comes to mobile clients: a developer can use fewer requests and greatly reduce latency.
Another aspect of Contentful is the devops team behind it. There's a dedicated group of software engineers whose full-time job is to make sure that content is delivered rapidly, the latency stays under 80ms, the uptime is as close to 100% as possible, and that your data are stored and delivered safely and securely. See the results of our efforts. We know from experience that building and maintaining this kind of cloud platform is difficult. That's why we make sure that there's no need in building another one when you can use Contentful.
Summarizing the above, Contentful is a content management platform which combines content storage, delivery, modeling and editing capabilities. It's built around an API – two APIs, in fact – which helps build products on top of it, interact with content using code, and integrate with third-party services. Contentful provides both content service and cloud infrastructure, so that anyone using it can focus exclusively on developing the product and nothing else.
Most importantly, Contentful gives freedom. You have the freedom of using content in any way you want: the API makes it fully open. Developers have the freedom to choose the tools they like best. Designers have the freedom of coming up with custom user experiences. Information architects and editors have the freedom of structuring content in a way that suits their workflows better.
Thank you for reading (it's been only 1554 words). Enjoy the freedom.