When it comes to building websites there are a couple indisputable facts. First, you'll be working with content. Second, you'll need to maintain that content, be it through edits, updates, or additions. If our content never needed to change, we'd be printing books.
Every good website has an area that only a handful of people ever see: the Content Management System. There are dozens of extremely mature, well developed, flexible Content Management Systems on the market, but the question of which CMS to use for your project is just as nuanced as the systems themselves.
When we recently built the M2057 Pages for Maria Pinto, we decided to use Craft. Why? In our initial conversations with Maria and her team, a handful of requirements stood out to me that mandated a certain type of CMS:
- Speed - The timeline on this project was short. We needed a CMS that would give us the tools to build the site we wanted, while staying out of the way and letting us easily dictate the final output.
- Simplicity - Maria Pinto was launching a brand new line of clothes. She had her hands full. When it came to the website we wanted a system that let her log in, write up her posts, and get right back out. The more straightforward the process, the better.
- Flexibility - While the M2057 Pages are a blog, we wanted a system that was extremely flexible so that we could scale in the future.
Craft is a newer entrant into the lightweight CMS market, built by Pixel & Tonic. I've been familiar with the work that Pixel & Tonic has done in the past through their work developing modules for Expression Engine. What stuck out the most to me in their work was their UI and their attention to detail. When I first heard that they were building their own CMS, it instantly caught my radar.
Getting started with Craft was easy. We were extremely impressed with how quickly we could build functional pages. At Table XI we design our wireframes in the browser with HTML and CSS. Turning those static mockups into functional page templates is not much harder than a bit of well-placed copying and pasting. There were no complex php functions that needed to be written and looped through. There was no template overhead that needed to be put into place before we could start working with data. We simply swapped out the static content from our design mockups with simple template tags that grabbed what we needed, and the site was suddenly functional.
As a developer, this process worked great for me: I'm used to working in the browser all day. The true test of a CMS is how the project's content managers do when they are introduced to the system. What may seem obvious to me can fall apart at the fingers of someone less familiar the interface. If that happens, we failed. In fact, it's fair to say that poor user interfaces are a major shortcoming of many of the Content Management Systems on the market. Some strive for a one-size-fits-all solution that ultimately becomes a lowest common denominator system. Others simply try to do too much and overwhelm less technical users with options instead of clear directions. Craft doesn't suffer from any of these issues. As I mentioned before, the Craft developers pay great attention to the user interactions of the software they develop. The control panel is intuitive and inviting. It leads you to where you need to be to do your job. If you forget how to do something, it's not a problem as the software itself will guide you through the process.
Where M2057 is concerned, we knew we had a system we could get up quickly, and one that would be easy for Maria and her team to use once it was up. But what about the future? How would the site hold up as M2057 grew? Would we have to tear it all down and start over? Would we spend all our time building custom functionality for new features? How many hypotheticals could I fit into a paragraph of this blog post? Who knows, but I do feel confident with Craft.
As a lightweight system, it has a fairly simple set of functionality out of the box. The backend lets you determine the structure of your content, and then you can show that content in templates you build on the front end. Keeping the feature set small ensures that the system is fast and easy to use. However, they've built a system that easily supports the addition of new functionality through modules, most of which can be added directly through the control panel itself. This means that as the site grows, either through the addition of new types of content or functionality, Craft gives us a great foundation to build upon and ensures that our time is spent on getting the features right, rather than just getting them to work.
Craft is not right for every project. Be wary of anyone who tells you that a single system is ideal for everything. There are projects that require a custom Rails application and admin interface, while others are perfectly suited for WordPress. Perhaps Drupal gets you 99% of the way to getting your new site launched. In all of those cases, that's the right CMS for you. In the case of the M2057 Pages, Craft was right for us and the results speak for themselves.