Forest header image

Symfony Finland
Random things on PHP, Symfony and web development

Content versus Data (and Context)

Today the world has evermore information created and consumed each passing day. Not only is content creation using tools like Instagram, YouTube and others booming, but we're also collecting more and more data using sensors in our smartphones, cars and what not. So what is the relation of these two, content and data?

Defining what is content and what is data is hard, but I will go about and try to do this in my own words, with adding Context to the mix as a third player:

  • Content is created when someone consciously chooses to create something
  • Data is collected as a part of our human actions or simply monitoring events
  • Context is the setting where and how the Content or Data are consumed

This is relatively simple, but to add complexity you'll have to understand that data can also be derived from content and vice versa.

Consider people creating content on a platform like Medium. This is clearly creation of content, but from this content we can derive data on the usage and metadata (like tags). Going the other way, data is collected and entered to Microsoft Excel, for example. The user then processes this data and creates conclusions that then classify as content.

Choose the tools for the Trade you are in

Today we all likely create data and content every day. Sensors in our smartphones collect activity data that is then processed to graphs and recommendations in an app or an online service accessible via browser.

For content creation the majority of people use social networks with rich media capabilities ranging from location commenting to producing video recordings. Many of us also use Web Content Management Systems (WCMS) to create content for the World Wide Web (and other locations).

If you work in a business which is based either on data or content, it's worth to closely consider which one of these it is. Many WCMS vendors will sell their software as the ultimate tool for the Internet of Things, where as programming boutiques packed with code artisans will tell you that what you really need is an Elixir powered API to serve content with minimum latency.

Each of these can be used as a compromise for the other, but a WCMS will likely not provide the raw throughput for tracking parcels for couriers services like TNT or FedEx. Same applies to the media industry, where the stability provided by the Erlang heritage of Elixir might not shine the same way as it does in the telecoms industry where it stems from.

Slice and Dice

While compromises work for many businesses, if you're looking to be a serious player in your industry (whatever it may be) it's good to plan ahead. If data is your thing, then choose the platform that will allow the richest possible tools for analysing and deriving content from collected data.

Stretching a WordPress from a blogging platform to a CMS is an easy stretch. But going from there to something that is critical, say collecting sensor data from elevators in a skyscraper is another thing completely. In theory you can store the data in the WordPress schema, but you get zero benefits from the rich text capabilities of the built in WYSIWYG editor for example.

Probably having a combination of a Web Content Management System, separate infrastructure for the heavy lifting of data, bound together with a Business Process Engine like Camunda in the way to go in industries where you've got to deliver content and processed data to end users. Shoehorning all of this to a Content Management Framework (CMF) or CMS is not ideal.

The examples mentioned in this article are quite extreme. I'm sure no one would use Drupal to manage their elevators - imagine the stability of that thing, with hungover web developers doing hotfixes in production. It's not even funny.

Vendors of both CMSes and API Platforms often (have to) sell their products as the perfect compromise for everything on earth. To add to all of this you'd need to add context to both data and content to bring this all together in a meaningful way, but that's a whole story altogether.

Read more:

Written by Jani Tarvainen on Saturday March 26, 2016
Permalink - Tags: iot, drupal, rest, api, wordpress, bpm

« Exploring Content API Options - Integrating eZ Platform + Doctrine Entities with the Symfony Framework »