Forest header image

Symfony Finland
Random things on PHP, Symfony and web development

Open Source and the Content Creation Experience

I held a presentation on how shared code helps Content Management Systems focus on the essential. The specific case was focusing on Drupal 8 and Symfony. I first started creating the presentation with Shower, but decided to switch to a product I had never used before - Sway.

Sway is an online tool for story telling on the web and mobile. It is a part of the Microsoft Office product suite and is a limited alternative to PowerPoint. It focuses on content entry and is actually very limited in design functionalities. It has integrations to multiple data sources like Flickr, YouTube and Twitter.

The tool is not really a content management tool or a viable option for that. But while learning how to use it, I realised that something like this is what will be the expectation in content management tools eventually be.

The recent release of Drupal 8, for example claims to be mobile friendy and very usable. But it certainly is not. And neither is any other Open Source CMS I have used. They remain a collection of forms and some kind of content model that you need to understand. Composing sections of content with a touch-only device on these interfaces is not enjoyable.

I actually use Bolt CMS for content management on the go quite a bit, but it pales in comparison to Sway:

Open Source is primarily about technology

Back in May the eZ Publish show was discussing did CMSs sacrifice good editor experience for improving customer experience? I don't know know if they sacrificed it, but the thing is that CMS usability has been the same for a very long time. Open Source does not tend to produce very usable products as a whole - they often end up being a patchwork of different things trying to copy something else.

Open software focuses on technology and a wealth of features. Limited and polished functionality remains one of the corner stones why the iPhone is winning. With the rise of cloud content management systems like Wix and others this may as well happen to a portion of web sites. In the end few care if the system is open source or not, especially if the closed alternative is more reliable and usable.

As discussed in an episode of the Voices of the Elephant podcast, The WordPress community in general seems to have a different approach to development than more technology oriented tools. They tend to focus on the users and have made some technical compromises along the way.

This is likely due to the fact that development of WordPress is largely driven by WordPress.com, a content creation platform. With the recent update to the editor, it's only getting better. And for mobile they've had apps for ages now.

Usability is the key to the success WordPress. Great usability. A low barrier for developing does not hurt either :)

How Open Source can keep winning

Decisions on the selection of a web platform hinge on three different groups with their own motivations:

  • Technology - Open source, fuck yeah!
  • Business - If the cost is lower, why not?
  • Content Editors - Whatever gets out of the way.

The two first are quite easy to sell and are the key people. The content editors are the hard part. If you use a tool every day that is complex and cumbersome then the openness of it does not really matter. Open Source advocates like to tell horror stories about the usability of closed source government software created by large corporations. Many content management experiences with Open Source tools are equally horrible.

Open APIs are all the rage in the content management industry as many players like eZ Platform, Drupal and WordPress all now come with a RESTful API, but few practical examples of good use cases. Just creating the traditional page-to-page sites as we are today with these is something that they're really not ideal for as you end up solving basic problems that have never been problems before.

Sharing interface components

The APIs can be used to build complete editing experiences ontop of these content storages. It takes quite a bit of work to create an a compelling editing experience that feels natural. This needs to be supported by a content model that allows the exact relations between content elements can be blurred from the user.

JavaScript is obviously the language that this interface will be written in, but ideally sharing front end components between various content management tools would drive the whole industry forward. The componentization of the front end will allow this on a similar scale to what recent have enabled in PHP

So instead of heavily investing in a custom UI framework of your own, mixing and matching quality components to your design is the ideal way forward. Considering that browsers are now very advanced and can handle quite a few tasks, maybe even a complete front end interface for content management is feasible.

This tool would allow you to switch repositories (PHPCR, Contentful, Drupal, eZ, WordPress...) with an adapter depending on your needs or the available infrastructure.

Shared code helps us focus on what is important.


Written by Jani Tarvainen on Saturday November 21, 2015
Permalink - Tags: cms, sway, javascript

« HTTP/2 Server Push with Curl in PHP 7.1 - Testing content editing with Sway »