Changing the Way We Work

Context

It wasn’t so very long ago that companies who wished to employ content management technology for their websites were faced with only two choices: Either build it, or purchase a proprietary platform.

Building a CMS was not to be undertaken lightly. It required an experienced development team working in either ASP, Java, or Cold Fusion, and a good grasp of database architecture. Each language presented its own strengths and each had its own weaknesses and between license fees, development expense, and lead times, none were particularly cost-effective.

The proprietary system space was occupied by big names with even bigger price tags. In an arena dominated by Broadvision, Interwoven, and Vignette, prices in six figures (US$) were not uncommon. Per user licenses, consultant fees, server licenses, database licenses, and customization fees assured that proprietary systems were for the Enterprise – well out of the reach of SMEs.

With the high ground held firmly by the big brands, new players began to appear in the mid-priced market. With the appearance of these new more affordable solutions, price pressure began to be exerted on suppliers. Allaire, and much later Microsoft — relative new-comers — pushed market prices down more with mid-priced CMS products.

As the market matured, viable products started to emerge form the proprietary development field. (The Ektron products being a prime example.) Clients started to face an growing array of choices and began to look to their local vendors to provide viable CMS solutions. Many of those local market players received a major boost with the appearance of ActiveX features in Internet Explorer, which allowed WYSIWYG editor implementation through the browser interface. Almost overnight it seemed that server-side content management systems were both plentiful and affordable.

LAMP Shines

The CMS market really took wing with the liftoff of the LAMP stack and the growth of a supportive development community. Suddenly it seemed everyone was producing LAMP-based CMSs under Open Source licenses.

phpNuke set the pace early on and is largely responsible for inspiring others to follow suit. In the past several years, out of a very large pack of contenders (somewhere in the neighborhood of 85 active projects from my count!), some Open Source “brand names” have emerged as market leaders: Drupal, Zope, Plone, Mambo, Midgard, Typo3, and OpenCMS, in particular stand out.

All these names have produced multiple versions, with regular updates and a solid patch history. All have produced a wide set of features and have managed to achieve sizeable installed bases.

Of that group of market leaders, few have the support of a reliable vendor behind them. One clear exception is Mambo, which is backed by a non-profit Foundation that promotes and protects the intellectual property and the developers. The Foundation stands behind Mambo, offering support from their development resources, assistance with PR and the added assurance of the backing of a corporate presence in the event of legal problems, major meltdowns, or team instability.

Backing by a reputable vendor is unusual in the loose Open Source development community, but it becoming more common, as major players start to release software under the FOSS model and move their companies towards service-based business models.

While I would think that it is obvious that it is extremely desirable to have the support of an established and stable player, let’s look at an example: Drupal, though a very good and popular system with wide adoption, went through a major embarrassment in July of this year when the Drupal community servers went down for two days, leaving the Drupal team to post a one page website on a borrowed server asking the community for monetary donations to get them going again! This is the sort of incident that will send the typically conservative CIO scurrying for brand name cover.

Blogs, Wikis, And Other Niches

The Blog phenomenon is great example of how the proliferation of easy to use content management technologies has trickled all the way down to individual users. Blogging is a direct by-product of the presence and accessibility of CMSs employing WYSIWYG content editors.

One of the interesting by-products of the blogging phenomenon is the vitality of what I would call non-standard content management approaches. For example, we see hosted solutions, like Blogger, doing exceptionally well. We also see the client-side application Radio Userland developing quite a loyal following. I label those two approaches as “non-standard” in the sense that those approaches to content management have never been taken seriously for large scale content management. (Yet, when you consider the sheer volume of data handled by something like Blogger, you have to give credit to the system for being very robust!)

Blogging has also given rise to unusual features like content management via email and even voice mail. It’s innovative. How much of this will migrate into future mainstream content management tools, it is hard to say, but it is worth watching.

As a result of the popularity of blogging, some blogging platforms are gaining real strength in their own right: RadioUserland, Serendipity, and WordPress being leaders in the field.

Wikis are another example of how content management has become such a ubiquitous feature of the Internet landscape that specialized tools built for particular purposes are not unrealistic. (How many Wikis are there floating around on the Web these days?) Many of these Wiki systems are specialized in some manner to accommodate different formats / tasks / file sizes / etc. It is a remarkably robust community – and unheard of 3.5 years ago.

Dangers In The Road

The Open Source CMS market’s strength is not too different from its weakness: The large number of projects, indicative of the vitality of the movement, also brings with it the danger of fragmentation. Of all the various scripting communities only the Python community has solidified around one core product – Zope (and now that solidarity too is threatened by the emergence of Django). In contrast, PHP developers have an amazing choice of systems to devote their attentions and development skills.

The rapid pace of updates is similarly a double-edged sword. While we all appreciate improvements and enhancements, the simple fact is that every upgrade carries with it a cost in terms of maintenance overhead and the possibility for problems. As a Mambo user who manages more than a dozen Mambo sites, I let out a groan each time a new upgrade hits.

Ironically, a final danger we see emerging from the Open Source market is the marriage of certain to systems to particular technologies – the loss of platform independence and interoperability. Mambo and Midgard require MySQL (though Mambo claims that will change in the next version). Bricolage only uses PostgreSQL. Zope requires an obscure database hardly used outside the Python world.

While betting on the continued vitality of a technology like MySQL or PostgreSQL is probably a pretty safe strategy, you have to agree that the ability of a system to handle alternatives is a better long-term survival strategy.

The Bleeding Edge

Open Source Content Management is now moving into a leadership position in the field. The rapid pace of Open Source development is generating innovations and advances in the underlying technology at an amazing pace.

Open Source systems are now moving beyond creating out-of-the-box CMS solutions and into the field of web application frameworks. The framework approach is much more powerful and allows for the creation of much more complex and customized solutions.

To a certain extent products like Mambo and the xNuke family are frameworks, offering a great deal of flexibility in the creation of a website, but they come nowhere close to new technologies like Ruby on Rails or Django.

Rails is a full-stack, open-source web framework in Ruby for writing real-world applications. Ruby is an object-oriented, highly dynamic “scripting” language. The system is very young, but with out of the box support for MySQL, PostgreSQL, SQLite, SQL Server, DB2, and Oracle, it shows a great deal of promise.

Django is a framework built around the Python language. It enjoys many of the benefits offered by Rails, but also the added advantage of the support of the larger Python community. Django also has the advantage in the content management arena as the system is designed to create administration interfaces with ease. Django is also very young.

While the jury is still out on these two new technologies, they clearly signal the way forward. From a developer’s perspective, the emergence of these frameworks also begins to provide alternatives to the .NET and J2EE development environment.

The bottom line is that this is a very dynamic area of the Internet technology. The CMS market is moving so quickly less nimble players are finding it hard to keep the pace. One has to wonder if market consolidation in the face of competition isn’t on the horizon.

How To Choose

Evaluating a content management solution for a firm, or for personal use, is largely the same exercise. Begin with a needs analysis. Define your goals, prioritise them, and then assess what features or tools are needed to help you reach those goals. At a later point, once cost research is under way, you can then assess the cost of features relative to the priorities of the goals and come up with the basis of an intelligible cost-benefit analysis.

Start by examining the nature of your site. Is it a portal? A marketing exercise? An e-commerce site? A blog? An Intranet? These questions will set the outer boundaries for defining the type of system you need. Intended use will shape the decision process significantly.

Consider not only your short term needs but also your long term goals. Many of the systems that are in the market today are modular. This allows you the flexibility to start with only the features you need to meet your short term goals, then to expand the system as justification (or necessity) develops.

Accordingly, look at the modules offered by the vendor and assess whether the system will suit your planned future expansion. It is foolish to try to build it all at once, as the cost will be high and the time line extended. It is better to start conservatively with a modular system that you can grow into.

When shopping for systems, it is best to approach the vendor/developer with a shopping list of features that you require/desire. Mature systems will offer more modules, but make sure you demo the modules you are interested in, as implementations of similar functionalities tend to vary more than you might expect.

While many systems support basic modules, like membership tracking or online polls and surveys, there are other features which are harder to find and which may narrow your choices significantly if required. Key features you should be aware of include multi-lingual support, archiving and roll back, and syndication. If your site requires one or more of these more advanced functions, you will find the number of choices left for your review has dwindled (and you may be locked into a proprietary solution).

Another factor to consider is dependencies on other software packages. Some systems, like the Microsoft CMS, require you to license not only the CMS product, but also a number of other related products which are required for the CMS to work properly. Make sure you check database requirements, server and OS requirements, and whether third party components are needed to create templates or maintain the site in the future. And of course, never forget those frequently shocking consulting fees that are often part of any major implementation. Add it all up and you will find that some systems which may initially appear to be attractively priced are, in fact, quite expensive.

One issue many companies fail to consider is how well the CMS can be tailored to fit the firm’s existing work flow. Most systems will give you some flexibility in assigning roles and permissions. Systems vary in complexity from offering only a set of pre-defined roles to completely customisable user systems. Permissions, editorial review, and scheduling are related concepts: Does your firm need to put content through a review and permissions phase and does your firm need to schedule start/stop days or pre-schedule content (load the content before the start date)? Look for a system that matches, or can be tailored to match, your existing structure and work flows, otherwise you will face challenges in modifying offline processes and training staff.

There’s no magic formula for finding the right CMS. The market is very fragmented and many systems use similar labels to provide widely disparate levels of functionality. It is essential that you be proactive about approaching vendors and go in the door knowing what you need — put the burden on them to show that they can meet your needs. Have clear requirements and research best practices so that you are equipped to deal with this (sometimes expensive) decision.