Tuesday, November 30, 2004

Jeffrey Veen on Making a Better CMS

I just just read Jeffrey Veen's essay Making A Better CMS and was struck by his intentionally provocative claim: “Most open source content management software is useless. The only thing worse is every commercial CMS I’ve used.” In the essay, Veen admits that his sample is limited to the out of the box installs that he was able to try on OpenSourceCMS which, although he does not say, is limited to a few LAMP based community CMS products.

I will refrain from my impulse to Fisk this article because I feel like people who make a living by complaining about software do have something to add to the dialog. I do have issue with calling a whole category of software “Useless” because a couple applications do not meet his vision of how software should work. CMS is a hard domain because these systems are used in such different ways by such different users. There are constant trade offs between "ease of use" and complexity, "out of box" and flexibility. I can see why Jeffrey is frustrated by everything he has not written himself. On the bright side, with Open Source, we have the ability to change what we don't like.

Here are some valid points that Jeffrey raises:

  • "Write task-based documentation first." A couple of products do this really well. For example, Plone's How Tos are excellent. However, some products have almost no documentation at all. I think this is a great area where business users can contribute to the OSS movement. We have all these excellent writers using content management systems. Rather than complain, ask questions and write documentation.

  • "Why do you insist on Web sites that have 'columns'?" Layout and positioning with CSS is relatively new. Most websites don't do it. There are some incompatibility issues with older browsers. Still, I think this technology makes leaner and easier to manage pages and newer software has a great opportunity to use it.

  • "Make it easy to install." One of the great things about OSS is that it allows people to freely download and demo it (without even filling out a form and getting hassled by a salesperson). Creating a simple and bullet proof install routine is critical to driving adoption. Some products are better than others. However, my experience with most commercial systems (CMS, and other server based software) is that they don't even try to be easy to install. In fact, most big software vendors have installation engineers that go on-site and install the software for their paying customers (not for free either). They rationalize this with the argument installing is a one-time thing and varies from environment to environment.

  • "Users of a public Web site should never, never, be presented with a way to log into the CMS." Good point, I see that Jeffrey can write his “own templates, and even dip into object-oriented Perl and Python.” He should be able to take care of that.