I try and avoid discussing things on Twitter given that forming a coherent argument in 140 characters or less is almost impossible, however I was engaged in a short discussion today with @TJRLZ who couldn’t understand why this site is based on WordPress when my company develops custom content management systems as one of our services.
Then going on to suggest I should be using Perch (our mini-CMS product) instead.
It’s a reasonable point, why do I not use our in-house PHP framework or Perch here? One reason is that this blog is very old and predates by several years both of these things. However when – as has happened recently – a client comes to me with a proposal for a heavily blog based site, I often suggest WordPress over our in-house solutions because it’s an excellent tool if you need a site based around a blog, or where the blog is the main feature.
As a web development company we have tools we like to work with. We developed our own PHP framework because we were unhappy with the options available to us, and we can develop sites very rapidly with that as it is customized heavily towards the type of work we tend to do – very large, content rich sites with requirements for additional applications built in. The idea for Perch initially came from a very different in-house need – to have something we could use for very small sites that sometimes turned up. It ultimately turned into a product in its own right. Perch grew out of the realization that not every site needed a big CMS installation.
Sometimes projects come to us that are not a great fit for either of these tools. Sometimes the client is really pushing to use our framework – because they have used it before. However, as the experts we would be absolutely wrong to recommend the client used something for the project that wasn’t ideally suited for it. Even if it was the tool that we are happiest using. As professional web developers and consultants we have a whole toolbox full of tools, we don’t just reach for our favourite hammer.
The Law of the Instrument can be seen in every web discussion forum, on sites such as Forrst and on Twitter. Ask for a CMS, blog or framework recommendation and you’ll see people immediately leap in to declare their hammer the best, without any knowledge of the requirements at hand – sometimes even when the requirements really rule out that tool from the outset. As sellers of a CMS product ourselves we sometimes benefit from this – however we’re the first to jump in and point out if our software isn’t the best fit, as we don’t want an unhappy customer who bought the wrong tool for the job.
If you are developing websites, make sure you have more than a hammer in your toolbox. Take a look at what else is available, try it out on your own projects, and be sure that you are not forcing everything into the same shape due to only ever working with one tool. If you develop products then you should absolutely be eating your own dogfood and using those products – but only if they are appropriate for the task in hand.