Hari's Corner

Humour, comics, tech, law, software, reviews, essays, articles and HOWTOs intermingled with random philosophy now and then

Why end-users prefer blogs to CMSes and more

Filed under: Software and Technology by Hari
Posted on Fri, Nov 23, 2007 at 09:04 IST (last updated: Wed, Jul 16, 2008 @ 21:12 IST)

While I was writing the code for my new blog/CMS system yesterday, I realized why people prefer blogs to Content Management Systems and why developers prefer databases to XML for content storage.

To answer the first question: blogs enforce structure on websites which makes it very easy to insert content. By providing a convenient method of organizing information without requiring too much input from the end user, blogging platforms are way friendlier and easier to administer/manage from the back-end.

CMSes are unique beasts. They have a layer of abstraction that requires the end user to think a lot more about the structure. Even a simple CMS like Drupal forces you to think about content organization. While Drupal can be used as a basic blog, I think the point is that it is so flexible in terms of content organization that it does confuse one as to what is the best or optimal way of using it. That, I think is the crux of the issue. Thinking, planning and organizing a large website is a specialist design team's job. Blogging, on the other hand, allows people to create as much content as they want without having to indulge in structuring. Of course, categories and tagging allow people to manage content to an extent, but that is built into the system and so requires little maintenance. CMSes allow such flexibility in design that sometimes it's harder to think about how to manage content and to visualize how future content will affect a particular structure. They also carry a lot of features (or bloat, if you prefer) that are unnecessary for personal websites.

Coming to the second point, I think the reason why databases are more popular than XML with developers is something similar. Databases impose norms and rigid structure (fields and records). Of course, they are powerful because they can be queried in an endless variety of ways. But they scale well for small as well as large applications and it is easier to visualize how a database design will work with large amounts of data than to custom design an XML format that will allow future flexibility. I also think that with XML there's the issue of choosing a suitable XML parser for the particular application in question. The generic nature of XML parsing imposes a lot more pre-planning in terms of code, while it is a lot easier to write a specific set of SQL queries to work on a particular database that will completely manage data-handling for the application.

In the end, I think the answer lies in the fact that as people, we like structure and simplicity to generic flexibility and complexity in design. Structure doesn't necessarily mean rigidity while simplicity doesn't necessarily imply lack of features. It's the layer of abstraction that makes generic design (as opposed to one specific design) harder to visualize.

6 comment(s)

  1. I completely understand the why, although you did put it better context than I could ever think to.

    You've also explained why databases are preferred over flat files or XML schemas. Thanks.

    Comment by RT Cunningham (visitor) on Fri, Nov 23, 2007 @ 12:52 IST #
  2. RT, yes. I actually explored XML as a very viable option before deciding against it. Simply put, SQL queries are far simpler and offer a power that XML handling/parsing would not match for such applications.

    Comment by hari (blog owner) on Fri, Nov 23, 2007 @ 13:25 IST #
  3. XML in a corporate environment where a sysadmin or support person has to troubleshoot is a damn nightmare. The only people who usually end up understanding it is the developers and the developer who coded it. Most of the time, the other developers would have to review it for a day before understanding a very complex XML setup or configuration.

    Databases are the way to go, XML needs to die.. ;)

    Comment by drew (visitor) on Fri, Nov 23, 2007 @ 18:28 IST #
  4. I can very well understand that, Drew. When you develop in XML, there's the problem of scalability, because if your design is bad, you can end up with huge, monolithic XML files.

    Databases handle their low-level file handling internally, so the problem of scalability doesn't arise for the developer who doesn't have to bother about such things as storage. The system handles it since database applications are made for scalability.

    Comment by hari (blog owner) on Fri, Nov 23, 2007 @ 18:39 IST #
  5. I tried really hard to get to grips with Drupal but I have gotten so used to simple blog stuff that just works with almost no thinking required. Maybe one day i will regret persisting with the system I use now, but as long as it is so easy to produce content (and revamp my archives (thanks hari!!!) , CMS will stay on the back burner for a while longer.

    Comment by Ed (visitor) on Mon, Nov 26, 2007 @ 10:11 IST #
  6. Ed, Drupal is really a meta-CMS more than a regular CMS. It has simple controls, but it confuses most people because it doesn't tell you how to produce and structure content. You can do it in a variety of ways.

    Comment by hari (blog owner) on Mon, Nov 26, 2007 @ 10:15 IST #

Comments closed

The blog owner has closed further commenting on this entry.