Vancouver’s big on Drupal. On almost every corner in Gastown you’ll find a passionate advocate who’ll talk your ear off about its flexibility, the benefits of leveraging its community of developers and the extent to which out of all the choices for Content Management platforms it sucks the least.
But surely the primary function of a CMS is to make content management simple and idiot proof for non-technical users. It’s here that Drupal fails so spectacularly that I’m astounded it is even referred to as a CMS. Developers often argue that it’s unfair to expect Drupal to be user friendly because then it would inevitably be inflexible. A classic logical fallacy if ever I heard one, sort of like saying “all developers work faster if they use a command line interface therefore everyone who wants to work faster should use the command line.”
My crash course in Drupal included being presented by a local Drupal shop with a content management interface that consisted of a seemingly randomly organized list of every piece of content on our site, some of which could sort of be edited, some of which required direct editing of the raw html rather than text and none of which offered even the most rudimentary workflow management, scheduled publishing or approval process. Oh, and if you want to deal with really advanced stuff such as, I don’t know, images, you better brush up on those programming skills. In about five minutes it would have been possible utterly and irreparably to decimate the website, with no hope of restoring it without programming expertise. Going back to that argument about flexibility, it’s interesting to note that it’s all theoretical. That is, in theory any beautifully intuitive content management interface can be created to manage your Drupal site, but here I’m reminded of a classic bit from Seinfeld:
JERRY: So, when do I get my dinner?
KRAMER: There’s no dinner. The bet’s off. I’m not gonna do it.
JERRY: Yes, I know you’re not gonna do it. That’s why I bet.
KRAMER: Ya well, there’s no bet if I’m not doing it.
JERRY: That’s the bet! That you’re not doing it!
KRAMER: Yeah, well, I could do it. I don’t wanna do it.
JERRY: We didn’t bet on if you wanted to. We bet on if it would be done.
KRAMER: And it could be done.
JERRY: Well, of course it could be done! Anything could be done! But it only is done if it’s done!
In other words, without substantial customization Drupal simply isn’t viable as a CMS. To paraphrase those irony-deficient Ronseal TV ads from the UK, Drupal doesn’t do what it says on the tin.
Start to venture into virtually any kind of basic functionality present on a moderately interactive website and you’ll quickly get to know and fear the words “that requires us to write a new module”. You’ll also discover various peculiarities that either force bizarre user interaction patterns on your audience, or again demand the creation of a new module. And because Drupal is primarily deployed by development shops rather than a guy you have sitting in your office, you’ll pay through the nose, again for the alleged benefits of flexibility.
Recently the Drupal community has seized on Chris Pirillo’s use of the platform as the basis for Gnomepal, which has the noble objective of making Drupal more of an out-of-the-box solution for real publishers. Perfect, except that (no disrespect to Pirillo intended) I’m not sure there’s anyone less connected to the real-world demands of normal, non-technical users than Chris and the army of geeks who follow him.
The belief in the Drupal community is clearly that it’s all about the… community. That is, the power of a disparate community will be harnessed to deliver the features and usability desired by end users. But the fatal flaw in the Drupal community model seems to be that its community consists entirely of developers and not publishers. Or worse still development shops who make money by customizing Drupal.
I stumbled upon Mike Stopforth’s excellent overview of Drupal vs. WordPress while writing this piece. I’m sure he’d disagree with my overall assessment of Drupal, but nevertheless I completely agree with his comment:
Drupal’s problem is that the community behind it - genius’s that they are - simply don’t get marketing - they need more people like the gang at Lullabot, and I daresay you and I to help them ‘humanise’ Drupal.
Saying that the Drupal community doesn’t get marketing is an epic understatement, but that is perhaps what it comes down to, and where the power of the WordPress community becomes particularly relevant.
WordPress doesn’t pretend to be a CMS (although for many websites’ needs it’s actually more than enough), but it’s become close to the de facto choice for anyone seeking to create anything from the simplest blog to the most sophisticated magazine-like content site. The guys at Automattic clearly were driven by exactly the right kind of singular purpose: take something very difficult (creating and managing a website) and make it spectacularly easy and idiot-proof.
This kind of game changing innovation creates a very different kind of community — users who are passionate because they’re able to do something that was hitherto as close to impossible as makes no difference, and do so for free to boot. Putting this kind of control in the hands of non-technical publishers hasn’t stopped being a revolutionary thing, but what’s possibly more revolutionary is the way in which WordPress’s critical mass of users has created an entirely new ecosystem of innovation around plugins.
WordPress plugins are designed to make still more difficult / impossible / utterly alien tasks and features immediately accessible. Many of these are things that can help your website make money (the excellent AdSense Manager, for example), integrate with other popular services (such as Twitter and Flickr), or aid in the promotion and discovery of your site (All-In-One SEO and the Google XML Sitemap plugins). Imagine that, tools to make your life easier. Isn’t that a better kind of flexible?
So going back to Drupal… It’s really not for basic or moderately sophisticated content-based businesses, and it clearly doesn’t, can’t and won’t work for anyone who wants to publish not program, at least not anyone who hopes to do so without a huge investment of time and money. And yet it’s unlikely to be your platform of choice for building a large-scale website. It’s all-but impossible to find in-house Drupal experts, and while I’m in no way qualified to get into Rails vs. Django vs. doing it yourself vs. everything else debate, 99 per cent of the start-ups I know wouldn’t for a second consider Drupal to build a community site, a SaaS application or much else for which the website and the business are one and the same. They wouldn’t pick WordPress, either, but it makes no claim to be a powerful framework for building applications; instead it just does what it says on the tin.
But finally my biggest beef with Drupal is that it appears from my outsider’s perspective to be a platform always ensuring it has an excuse for its failings. It’s not user friendly because it’s flexible. Your project requires vast, expensive customization because Drupal provides oodles of functionality for free as long as you stay within its limits. We tried to please everyone and in the end kept no-one, including me, happy. The lesson, I think, is that great technology knows what problem it’s solving and relentlessly chases it down, and ultimately that’s why WordPress’s limitations pale in comparison to its brilliance.