Content Management Systems

23 February 2011 | talking about Programming, Infrastructure

Different CMS SystemsContent management systems (CMS) have been on my mind for a while now. Several months to be exact. A content management system for the web is a system for publishers, producers of content, to easily distribute content without needing a PhD in computer science. Allowing the producer of the content to focus on the content not the technology. Once a CMS is setup a publisher just logs in to a private admin area to add content. Adding content in most cases is as easy as updating your status on Facebook.

Content Management On The Brain

The reason I have been thinking about and playing around with different content management systems is I have had this good guy bad guy thing going on. As a programmer I have always just felt managing content is for non-programmers. If I need to create a new web page I will just open up a text editor and build that page with my programing skills. Who needs that extra layer of fluff? I have used almost every CMS on the market in the past for client work and personal blogs. I always felt they were great if the primary user was not a technical person. Over the last few months I have had this unexplainable urge to prove to myself that I need a content management. I have been on a quest to find a CMS that speaks to me. Diving deep into each CMS offering in search of a CMS that delivers the flexibility I need as a “programing power house” while at the same time giving me features and interfaces to manage my content in a more effective way.

I spent a great deal of time with Wordpress, PyrosCMS, ExpressionEngine, Drupal, Joomla, and FuelCMS. Almost all these content management systems provided really nice ways to build pages, and a blog (which I am sure is a majority of the CMS market). They all had their pros and cons for customizing into a platform to run my web empire. On several occasions I concluded I was just going to write my own CMS (like every web developer does) but then realized there is a lot to it, hat tip to all you CMS developers out there. Then I went into a phase of “I will just build whatever I need on top of which ever CMS I choose, and maybe contribute the code back to the community”. This was a great idea but felt like there was too much custom hacking going on for the commercial products I manage.

Finally, I fully committed to Expression Engine (EE), the only commercial, non-free, CMS of the bunch. I have been playing with EE for years but always thought it was not suited for my particular needs. I was pretty wrong about that. EE is the most flexible and robust CMS I have ever used. Its channeling system, templating system, and asset manager really allows me to build web applications the way I want and not structured around some restricted way of doing things the CMS developer chose. My team and I at Skyclerk recently fully converted our public marketing site to EE. We are very proud of what we completed and are very excited about the flexibility EE will offer for us to grow in the future.

Great You Picked A CMS But.....

I started out this blog posting complaining about how I did not like content management systems because I could just manage the content with my own programing skills, and then flip flopped to “I picked the best of breed and now I am happy”. You might be asking yourself “what gives?”

Through my CMS soul searching I realized what makes a good content management system worth its weight for a programmer is the focus on the content. For me at least, producing content and programing websites relies on different parts of the brain. If I am mixing the two I am not giving 100% to either. A solid CMS allows me, the publisher, to focus completely on the content I am trying to produce and less on how this content will get to the world. That solid focus is very much worth it for me.

Future Of Content Management Systems

While on my path of exploring content management systems I came to realize there has not been much innovation in the CMS world in the last 5 years. Sure, these systems are always improving but nothing has really knocked anyone’s socks off in a Steve Jobs kind of way. I think there are several reasons for this but I would guess the biggest is legacy support. Since so many sites on the Internet are driven by content management systems you can not just flip a switch and release the next big thing and not support the slow adopters.

Here are some ideas of what I think are important to the next generation of content management systems. I hope myself or my company someday will be a part of bringing some of these next generation content management systems to life, but we have much different fish to fry at the moment so we hope more that someone beats us to it.


  • Content should be managed in-line. It is very clunky and web 1.0 to manage your website from some admin panel. Content creation is a bit of an art. Giving an artist a canvas to create on in real-time is a much better way. Let me see my content as I am creating it. It is very time consuming and disconnecting to build the content in one place and then review it in another. Now-a-days there is no reason for this separation. A few are working on this. MojoMotor for example, from the makers of ExpressionEngine, has done a pretty good job of bringing this concept to life. I hope someday some of the ideas from MojoMotor make it into EE.



  • Where is the content management system for web applications? Yes, there are platforms like Force.com, and Google App engine but they are more plays from their cooperate leadership to lock customers into subscription fees. As a web application developer, every application I write is nearly the same. Data in, data out, and data reports. If I am building an accounting system (http://skyclerk.com), or a system for personal trainers (http://elevationfit.com), it is all the same interaction. We spend more time on the “theme” layer customizing the UI to meet the needs of the particular industry. Our back-end code has gotten so generic in nature that building a super generic CMS for applications is not too hard and I think would be very useful in this world. Imagine if every business owner could build their own web application to help manage the particular data of their organization with a few clicks, as easily as installing Wordpress - which most business owners can do these days. Imagine a plug and play system for mobile developers to help manage the content on their mobile application instead of having to build something custom. A CMS like this could have been very useful for a company like Four Square in their early days.



  • Drop & Drag building of sites. Why are / were Front Page, Dreamweaver, and iWeb so popular? Because people do not have to be a front-end programmer to build pretty nice sites. A user can drop and drag assets into the site editor and move things around until they have built the site of their dreams. I have seen many sites built using these systems from someone who has no idea how to program html. The problem in the past was these systems were not very robust, nor were they very maintainable. I think with HTML 5 we can build systems that allow users to engage in just that manner while being robust and maintainable. I think this type of process belongs in a CMS - and it might go well with my in-line editing idea above. Many sites are working on this, including google sites, but I am not sure the big players have jumped on-board yet.


Overall, I think the next generation of content management systems is around the corner and I look forward to being an early adopters of them or maybe even a contributor.
 

tags: skyclerk, cloudmanic labs, cms, content management

blog comments powered by Disqus