Page Content

kitcattnohr.com

The Brief

  • To build the "house" website for Kitcatt Nohr Alexander Shaw as per the pixel-perfect designs we were given
  • Construct it with the full capabilities of Drupal (a well known CMS)
  • To support a wide range of media and viewing platforms
  • The site must be easy to manage by non-technical administrative users

The Specifications

  • LAMP environment, supporting MySQL and PHP 5.
  • JavaScript enhancements to gracefully degrade to HTML/CSS fall backs.
  • Does not require Internet Explorer 6 compatibility.
  • Requires iPhone, iPad and Android compatibility.
  • Support HD video via a bespoke Flash player (with iOS fallback) powered by YouTube

Kitcattnohr 04

Drupal is a large and complex CMS, great for large scale projects but overkill for small sites. To learn it's administrative interface alone takes some time.


Kitcatt Nohr Kitcatt Nohr

The Build

Neither myself nor Luke (my front-end counterpart at Kitcatt Nohr) had any experience of using or developing with Drupal so the task laid out before us was already an interesting one. We were given quite a bit of a "heads-up" however, so we took any downtime we had to research and learn.

The learning curve was rather sharp, and our timings were padded but only by just enough time (as it turned out). As with all projects there were ups and downs, things that worked and other parts that needed a rethink. Overall though, I found this project rather frustrating, purely because Drupal - in my opinion - handles things in a very odd way.

In the end however, we achieved what we set out to do, managing to replace our old static kitcattnohr.com with a fully content managed, social media enriched, RSS enabled dynamic site with full bleed graphics and a rich contemporary design.



Screenshot.Kitcattnohr.1 Screenshot.Kitcattnohr.1 Screenshot.Kitcattnohr.1

The Downsides of Drupal

From my perspective I found Drupal 6's design (in places) to be utterly mad, wasteful and unpredictable - even it's naming conventions are down-right nuts. Coming from a background of mainly bespoke coding, manual learning and debugging (echo, alert, trace, mail, log and print_r are my friends), I found tracing Drupal's hugely wasteful array structures and network of functions a maddening process. Especially when some of the structures end up so huge that they can not be echo'd safely to the screen without crashing php or the browser.

I guess I still come from the school of thought that bespoke coding is far superior to any pre-built offering. However I still also believe you can achieve good generalised code that is powerful - yet easy for people to use - without having your code running through towering stacks of function calls, generating huge array structures which are finally merged / rendered in to HTML output.

Another thing I found rather odd, although I'm sure it would be difficult to achieve, was that there didn't seem to be any easy way to separate settings from content. When having to do major core updates, or even code base or module upgrades... If your changes involved the database you had no way of just applying the changes to settings (unless of course you have a full grasp of Drupal's database structure and could do things manually).



Drupal Screenshot

Drupal has the rather annoying habit of making certain usually complicated tasks very simple, but at the same time making particular simple tasks more complicated.

Drupal's benefits

One obvious benefits to using Drupal is the sheer amount of modules available for it. You can almost find at least two for any website task you might conceivably dream up... You may have to make sure they exist for your version however, and that they are maintained and bug free.

For our House website we ended up installing a number of Modules, some we used, some we replaced, some we got rid of all together. But in the end they definitely did save us time, especially where features or abilities were asked for late in the day - something that a bespoke-coded site would have struggled with.

Another benefit of using Drupal is that it has a tried and tested code-base (if you avoid Drupal 7 that is - at time of writing) which should mean that your site should be stable and bug free. I found that to be generally true of the core modules, but many of the well used extension modules that we looked in to did have a few bugs (some quite major). This is slightly counterbalanced by Drupal's status page which rather readily informs the site admin of what modules are out-of-date and have security updates. I actually found it quite impossible to keep this status page happy... nearly every other week there would be at least some security patch that would have to be added... but at least being informed is a good thing :)



Drupal Screenshot

The Drupal community has in-part developed it's own language, beware to those who have not mastered the dialect and expect a coherent answer ;)