Happy fifth birtday Drupal

Today, five years ago, Drupal 1.0.0 was released! The following snippet is taken directly from the original announcement:

Today, drop.org announces the release of drupal 1.00 after an extensive period of testing. Drupal is a full-featured content management/discussion engine using Apache/PHP/MySQL and suitable to setup a news-driven community or portal site similar to kuro5hin.org and slashdot.org. Current features include discussion forums, web-based administration, theme support, an open submission queue, content management, a modularized design, PHP sessions, user management with access control and username/profanity/hostname filters, error logging, a public diary module, an affiliate site module, backend/headline generation (RSS/RDF) and much more.

To celebrate the event, Karlijn and I made you a cake:

Cake
Step 1: buy the ingredients.
Cake
Step 2: bake a regular cake. It should be round because this will become Druplicon's face ...
Cake
Step 3: flatten the cake by cutting off the top.
Cake
Step 4: take off the top.
Cake
Step 5: create Druplicon-hair out of the top (you know, the thingy that sticks out of his head).
Cake
Step 6: put the cake and the hair together.
Cake
Step 7: unpack the m&m's. You'll want lots of those ...
Cake
Step 8: filter out all the blue ones (by eating the other ones).
Cake
Step 9: take sugar, butter, cream, and genuine Belgian white chocolate to make frosting.
Cake
Step 10: melt butter and chocolate 'au bain marie'. Add cream and sugar to complete the frosting.
Cake
Step 11: pour the frosting over the cake.
Cake
Step 12: put the blue m&m's on the cake. We used a piece of paper to get the eyes right.
Cake
Step 13: that's it! Happy birthday Drupal!

The Ockham's Razor Principle of Content Management Systems

Chris Messina wrote: Firefox set a good model for the rest of the open source world when it infused simple, clean design into a very useful tool. [...] The core differentiator that will set one application above the rest or result in widespread adoption will be rooted in user experience, not in the number of features or power. [...] WordPress will continue its meteoric rise over more complicated and ugly applications like Drupal and Joomla!.

Those who have read my Drupal predictions for 2006 will know that I tend to agree with these statements. Here is what I wrote: Furthermore, by the end of 2006, most other systems will provide role based access control, localization, clean URLs, some sort of node system, etc. Functionality-wise there will be less differentiation amongst the available content management systems, and as a result, more emphasis is put on ease of use, out of the box experience, the (support) community and performance. Some of the more obscure functionality like the aggregator, the taxonomy system, and the throttle system will be subtle but important differentiators. It's been a long, well-run race so far, but unless we manage to make Drupal more accessible to new users and to get back to the basics, we'll find the ground shifting beneath our feet.

I disagree with Chris' statement that functionality is secondary to aesthetics (see quote above). Maybe that is not what he meant, but clearly, form follows function and not the other way around. Drupal is growing because it offers critical functionality. Wordpress is growing because it offers critical functionality. Read on for more.

It is only when two systems offer the same same functionality (or just the required functionality to build a particular website) that the Ockham's Razor Principle of Content Management Systems kicks in (I made that up just now):

Given two functionally equivalent content management systems, the simplest one should be selected.

It asserts that simplicity is preferred to complexity. Most people want to build simple websites, it is easier to build simple websites with Wordpress, and so Wordpress will often be preferred.

Is Chris wrong when he says that simple, clean designs are key to success? He is not. Aesthetic designs are perceived as simpler to use and of better quality -- whether they are or not. It is uncommon for people to be attracted by things that look ugly, but it is common for people to be attracted by things that look beautiful. Aesthetics drive adoption when there are no critical differentiators.

For many people, Drupal's built-in forum functionality is not a critical differentiator to build a simple website. When it is not, Wordpress is likely to be preferred because of Ockham's Razor. When forum functionality is critical to succeed building a particular website, Drupal is likely to be preferred because form follows function.

For long I focused, completely and utterly, on the aesthetics of Drupal's code, neglecting eye candy and ease of use. I spent days trying to do something better, with fewer lines of code and more elegant than elsewhere. The aesthetics of Drupal's clean code has attracted many developers, but has also given Drupal the reputation of being developer-centric and hard to use. Similarly, aesthetics of user interface design (as opposed to aesthetics of code) attract users and designers, and gives you the reputation of being user-friendly. I believe that Wordpress' nicely laid out user interfaces have been an important reason for its success.

I have since learned that elegant design and ease of use are equally important as clean source code. Over the past year, I have been hammering on the importance of Drupal's usability, and we have been actively working on making Drupal easier to use. As a result, the next version of Drupal will be easier to use than any previous versions of Drupal. At the same time, we added critical functionality. I strongly believe that both are important to guarantee Drupal's continued growth in 2006. (Of course, I do realize that Drupal has a long way to go in terms of design and usability.)

Drupal in 2003
How Drupal looked like in 2003.
Drupal in 2006
How Drupal looks in 2006.

For Drupal to remain competitive in the future,

  1. we'll have to offer critical functionality not available in other content management systems, or
  2. we'll have to make Drupal easier to use and improve the aesthetics of Drupal's user interface design, and
  3. we have to maintain the aesthetics of Drupal's code.

As other systems are catching up in terms of critical functionality and because the amount of critical functionality is limited, we have little control over (1). Hence, we should focus on (2) and (3). To grow the number of users we should focus on (2) and to grow the number of developers we should focus on (3). Because the ability to make changes to Drupal's code is restricted, we can easily enforce (3). That pretty much leaves us with (2) to worry about ...

Hands up!

Hands up! This is a robbery! Give me all your money so I can buy the new Apple swag.

Updates from Dries straight to your mailbox