When working with clients before starting a new project, we often discuss a familiar short list of content management systems. We're big fans of Drupal here at Kilpatrick Design (for reasons I'll outline below), but considering how often we have this conversation I thought it'd be helpful to us, to potential clients, and to anyone else out there who has been evaluating content management options, to discuss some of the details that drive these technology decisions.
The specific content management systems that are on the aforementioned short list are Wordpress, Expression Engine, Drupal, and custom solutions. Let me start by saying the first three at least are all fantastic platforms. They all provide great user experiences, loads of functionality, good separation of presentation from content, and an extensible architecture that allows new features to easily be bolted on. Beyond that there are some subtle but significant differences that distinguish one from the other.
Since we use almost exclusively Drupal at Kilpatrick Design, I'll describe the Drupalish goodness last. What follows is hopefully an understandable and helpful overview of some of the major points an organization should consider when choosing among the platforms, or among different firms offering to implement a site with one of these platforms.
Wordpress
Wordpress is one of the most popular blogging platforms in the world. According to wordpress.com, there are over 17 million (!) wordpress sites lurking out there on the tubes. Wordpress has grown rapidly thanks to a software-as-a-service platform that provides a way to create a Wordpress site with little-to-no technical knowledge at no cost, and a simple, end-user-focused user experience that makes it easy to get started. It's easy to theme with a well separated presentation layer. It's also easy to extend that to a well thought out architecture, and its huge install base provides millions of reasons for developers to participate in its rich eco-system. It's also an open source project, which we support passionately at Kilpatrick Design.
So why don't we use Wordpress for sites we build at Kilpatrick Design? First, we have in the past and we're quite happy with the outcome. The reason we don't do projects with Wordpress now is that its focus on a very simple user experience makes it somewhat more difficult (relative to Drupal) for us to create a site that is custom tailored to the unique information architecture requirements of each of our clients. So while it's much easier for a non-technical user to get up and running with Wordpress (on their own even!), it's more difficult to provide the customized, focused end-user experience that a well-build Drupal website (built by experts :D ) can provide.
Wordpress is a platform that was originally developed and is still largely focused specifically on blogging. While it has expanded its capability footprint with the last several releases, it retains that legacy and focus. That makes it a great tool if you want to run a personal blog, but makes it less than ideal compared to alternatives when building a site that has a more complex information architecture, or that you expect to expand with significant additional features such as paid content/members-only sections, e-commerce, or any number of other significant things one might do in a web context.
Expression Engine
I should start off by saying that while I've explored Expression Engine, have heard nothing but great things about it, and recognize it's nearly rabid following in the design/agency community, we haven't implemented any EE sites ourselves, so my perspective on the platform is distinctly that of an outsider. EE appears to be, like Wordpress, a great platform. The user experience is good. The separation of presentation, content and logic is good. Like the other platforms, it has an extensible architecture allowing it to be fairly easily extended.
Sadly, EE is not completely open source. It uses a dual licensing model where a stripped down community version is free and open source, but advanced features are commercial only. Granted, the price is modest and easily absorbed in the budget of a professionaly developed website, but we have a philosophical predilection to true open source. It also lacks a degree of flexibility in terms of how content is organized and presented architecturally compared to Drupal and the essential Drupal add-ons that are part of our recipe (Views, CCK, etc.), and it lags in available extensions compared to Drupal or Wordpress. So while the architecture appears sound, the actual available open source extensions don't offer the same diversity and completeness those competing products provide.
Drupal
Drupal is our platform of choice for new web projects, and has been for several years now. Drupal — at least through Drupal 7, recently released, which makes great strides in improving usability — does not do as good a job as Wordpress (or possibly Expression Engine) at out-of-the-box experience for end-users, we see this as an effect of Drupal's distinctly modular design, which is actually a crucial feature. Instead of providing, out-of-the-box, all things for all people, Drupal is focused on providing a content management framework — a flexible platform on which any site one might dream up can be built.
A well designed, well implemented Drupal site can provide a superior user experience for administrators, as well as visitors and members of a website, as well as an extensible platform that can be further expanded as the needs of an organization change. Need to add e-commerce? No problem. How about contact relationship management? We can do that!
Kilpatrick Design uses our own custom developed Drupal recipe — a combination of core features, open source modules, and custom developed tweaks — that provides a remarkably effective platform to rapidly build out even very complex websites. This recipe is a product of our experience with the platform, our design sense, and our acute understanding of the importance of the user experience. Our specialization in Drupal also allows us to implement a highly tuned hosting environment that makes sure client sites can handle any load.
Custom Solutions
We believe all of the above solutions can have a place depending on the project. We also think that, as much as we love us some Drupal, sometimes very specific requirements, performance considerations or scalability concerns can mean that a less general solution is the way to go. Custom built solutions almost never make sense in a "my company's website" context. The needs are generic and there are years of development that have gone into all the platforms mentioned above and many others that solve the straightforward website communications problem quite well.
On the other hand, sometimes there's a very specific trick or idea, or perhaps a business process, in which the specific requirements warrant a completely custom development project. We're happy to recognize and be able to deliver such projects. Even in these cases, we're still going to utilize best of breed frameworks and helper tools to keep us from reinventing the wheel.
That said, if a firm proposes to build a custom website for a fairly simple corporate or nonprofit website with a news and blog section, beware! It's probably not the best use of those dollars, and you'll most likely get much less bang for your buck compared to starting a project with one of the platforms mentioned above.
We hope that's helpful! Please let us know in the comments section if it was, or contact us if you think we can help you!