You will be missed little druplicon
As part of the recent overhaul to my site, I moved away from the content management tool that I have evangelized so proudly in the past – RealJenius.com is no longer running on Drupal.
I still think Drupal is a remarkable piece of engineering; in my opinion it shows how far a language like PHP can be molded (disclaimer: I am not a fan of PHP as a language, however it’s portability and ubiquitous availability certainly make it a good and easy choice for pre-built tools). I also feel that for general purpose content-based web-application, it’s hard to beat the flexibility Drupal provides. Modules like ‘Views‘ and ‘CCK‘ are shining examples of the malleability and power that Drupal can offer.
Unfortunately, for me Drupal was just too much damn work.
My site is meant to be an efficient blogging platform. I was able to make Drupal run perfectly fast (something of which I blogged about), and it was certainly reliable, but that is only a small portion of what makes an efficient blogging platform. A good tool for blogging must make me an efficient blogger – something at which Drupal was failing.
Even with custom input formats, the Drupal administrative interface was cumbersome, unfriendly, and tiring. Dealing with spam comments (of which I had plenty) was a huge multi-page headache, and adding new content was not nearly as intuitive as it should have been. While the programmer in me enjoyed using a markup syntax like ‘Markdown‘ to maintain my content, if I were to be honest, it just wasn’t as friendly as a rich-text-editor like TinyMCE or CKEditor. While Drupal supports these uber-editors, they aren’t truly integrated into the Drupal maintenance process like the plain-text input formats. It feels stuck on like a bad bumper sticker — admittedly this is something which has been at least discussed for Drupal 7.
I will be the first to admit that the Admin interface of Drupal (just like anything else in Drupal) can be customized to the hilt. The problem is that out of the box it feels very ‘auto-generated’, and I spent so much time organizing the rest of the site the way I wanted, that I never got around to tuning the admin panel. If I’m the only user, it just doesn’t carry the same priority. The admininstration process suffered, and so I suffered.
Drupal’s admin panel is tailored to be extensible by modules. By simply applying a few meta-tags to a module in Drupal, you can automatically have your admin pages categorized and grouped by Drupal. This is very powerful, and can also be very overwhelming for a site admin. You can adjust it to use a custom theme for the admin pages, but you still have to pick one out of the standard themes, or roll your own – time I could spend doing other things.
Even all of that aside, my biggest problem with Drupal was not administering content; as I said, I could improve that with a swift kick in the pants. The part of running a Drupal site that caused me the most heartache was keeping the site up-to-date. Upgrading Drupal sites (even minor patch upgrades) is an error prone and manual process.
Tools like the Update Status module have improved the process of staying on top of upgrades, but the process itself is still one of moving TAR files around, and running SQL backup scripts. Many competent developers are certainly working to improve those hiccups – but as is right now in version 6, the process is still tedious. I used to dread logging in to see the Update Status alert telling me my site was (once again) out of date because of some security patch.

Hello, Stranger
Enter WordPress
So I did what I never said I would do – I crawled into bed with the less flexible, but more popular arch nemesis of Drupal: WordPress. What I found is what I expected to find – a very capable and cohesive blogging platform that is not nearly as powerful as Drupal for other things. What I had to realize before I could accept the move was the fact that I wasn’t doing other things. My site is a blog, and that’s all I want it to be. Besides, I have enough server rented out from (mt) that if I wanted to run Drupal on part of my domain, I can without breaking a sweat. After all, I still have ol’ rickety running at archive.realjenius.com.
WordPress, unlike Drupal, comes with a totally separate Admin layout. The admin panel is tailored specifically to manage site content, and has been laid out very purposefully, with special sidebar controls available for manipulating content in the workflow (approving comments, tagging content, etc). The controls in the admin panel for WordPress are simply organized more logically and fluidly than Drupal, with functionality specific to maintaining content right where you need it, as opposed to being stuck on the bottom of a big text field. Because of those reasons, I feel that WordPress makes a better use of screen real-estate.
On the flip-side, the big trade-off for WordPress is that it is harder for plug-ins to contribute to these custom areas than it is for Drupal. Some of those special controls floating throughout the admin panel and on the dashboard in WordPress are not contributed the same way as they are in Drupal (most of the ‘Edit Post’ admin page layout is pre-defined, for example), so it’s not as simple for a plug-in developer to just snap functionality in to those boxes. The CCK edit forms in Drupal as a good example of how extensible Drupal is, and doing something like that with WordPress would be challenging, and is probably not possible with a standard plugin (although I’ve only done some cursory browsing of the admin contribution documentation).

Those last two links a happy R.J. make.
The other place where I feel WordPress excels over Drupal (and where I have reaped the most immediate benefit) is in plugin and installation management. In WordPress, plugins can be added and removed directly from within the admin panel (assuming you give the wordpress unix ID the correct permissions). That means that as a site admin, I can browse and install plugins from within WordPress (there is also an integrated plugin browser) without having to have interact with FTP and/or SSH.
Furthermore, I can 1-click-upgrade the WordPress installation from that same panel, and with the installation of the WP-DB-Backup plugin, it is possible to backup my site database on demand, and even backup regularly on a preset schedule.
Apples to Apples
I’ve only been using WordPress for a short time, so what I plan to do moving forward is spend some time consuming the internals, and comparing how the two platforms solve certain problems (I’d like to go over Drupal input formats in comparsion to WordPress ShortCode for example).
There are, of course, other content-management solutions out there – here is just a short list of some of them:
I’d like to explore some of these other solutions (particularly TextPattern and Joomla which are free to use), as it seems only in my best interest to spread my net a little wider.
For the time being, however, I’m glad to have a tool that makes blogging much less of a chore.
Tags: Drupal, Realjenius.com, WordPress