In world of modern web frameworks, advanced programming languages and an emphasises on usability and engaging functionality, we seem hung up on the concept of building everything on top of open source CMS’. The reality is though that they often constrain our innovation and provide clients with hacked together, mismatched sites that are neither still generic enough to be portable nor bespoke enough to be fit for purpose. I think it’s time we changed our approach.
Open. Source. CMS. I hate those words. OK, fine, that’s not quite true as, after all, this blog is built upon an open source CMS so I can’t really hate them all that much. In fact, I’m just being downright hyperbolic as indeed they serve their purpose and have their well-earned place in the industry, standing tall as a a testament to the power of collaborative passion over commercial prowess and, if anything, I take my hat off to them for sticking it to the man (he knows who he is) and showing that when a gaggle of geeks get together, cool stuff can occur. The problem is though that they are not always the best thing for building web sites with and shouldn’t be blindly reached for as a matter of practice as, quite often, they just aren’t the right tool for the job.
What clients think they’re getting
More often than not the criteria for using an open source CMS is stipulated by the client during a tendering or selection process. Now, as lovely as client are, they really have no place dictating what type of web platform we use because, after all, we are the experts in these matters and are being paid to find the solution that best fulfils their goals and suits their needs. Sure, it can be tough to resist the urge to please when responding to a tender or what not and immediately buckle and offer to build a site in open source CMS X/Y/Z just to make the client happy but we must appreciate that often they are making a lot of unjustified assumptions that probably aren’t correct.
Logically we can deduce that by telling web agencies that they want their site built upon an open source CMS, clients are assuming they are getting something that is highly portable (i.e. easy to move to new developers), scalable (i.e. cost efficient and easy to enhance in the future), efficient to develop with (i.e. cheaper and quicker for the agencies), and gives them access to hundreds of fully complete and operational plug-ins (just like on the Apple app store, y’know). In essence, what a client thinks they are getting is a platform that will be significantly quicker to develop on, both now and in the future, safer because they could get any developer off the street to work on it, and overall a lot more cost effective because it’s got an army of free, third party developers working on it day and night as opposed to only the development team of a single digital agency.
The truth, however, is that it almost never works out this way.
Unfortunately open source CMS’, often heaped with blind praise, rarely actually solve the exact needs of any complex web site
The cold hard truth
Utilising an open source CMS is often completely understandable and acceptable yet cracks start to appear when the situation calls for something a little more unique, more innovative and more bespoke. Unfortunately open source CMS’, often heaped with blind praise, rarely actually solve the exact needs of any complex web site. Instead, what they end up doing is providing a canvas for development that is neither well thought out nor practical, often quite buggy, hack prone, and difficult to extend in any clever and sensible manner. Just because a CMS has had hundreds of people contributing to it doesn’t mean that the code base is actually any good or friendly to work with. In fact, it can often be the exact opposite.
But what about the plug-ins I hear you cry. Yes, I know there are an abundance of third part plug-ins available for open source CMS’ and sure, it’s a very attractive option to say the least. The problem though is that the concept of third party plug-ins tends to lead to a very lazy mindset on behalf of the developer, making it far too easy to ‘solve’ a client’s needs by finding some random plug-in and announcing that it’s the only solution available, take it or leave it. Likewise, it’s a mindset that leads to saying no to the client a lot which, while not always a bad thing, is a darn shame when it ends up severely comprising the quality and feature set of the final product.
And portability? When was the last time you actually saw any web site get transfered from one agency to another and not get completely redesigned and rebuilt in the process? The answer: never. Besides, hack away at any open source CMS enough to customise it and it inevitably ends up being a royal nightmare to maintain, proving that there is no such thing as – sorry to say – perfect portability.
Perhaps the biggest sin of all though is that clients can end up with sites that are simply customised, not created, pieced together from an archaic, poorly thought out code base that isn’t actually suitable for their needs. At the end of the day, the goal should always be to make fantastic, usable web solutions not just repeatedly churn out customised open source platforms because it’s the easiest thing to do.
To create a site that is truly unique, engaging and valuable you need to have the flexibility to create bespoke solutions and interactions
Bring the framework not the CMS
Perhaps a better and more forward thinking approach is to take a look at utilising a good underlying framework that can negate the advantages that open source enthusiasts often recite whilst providing the flexibility required to make truly unique and highly targeted, customised functionality. Ruby on Rails, for instance although there are plenty of others, is a powerful framework for rapid development doing so in a predictable manner thus allowing for the portability, scalability and efficiency that is often sought with an out-the-box open source solution. Plus it’s potential is limitless, granting full control of functionality development to the developers themselves, freeing them from the shackles of badly made plug-ins and poorly written open source CMS platforms.
The point is to find tools that allow you, the developer, to build and create things faster in a more elegant and logical manner, giving the freedom to create any solution imaginable without compromise, rather than being back into a corner, constrained by the restrictions of a particular open source CMS.
Give them a site worth their money
Ultimately clients deserve good products that are worth their money and unfortunately open source CMS’ aren’t always the solution. Don’t get me wrong, they’re perfectly good for the right project but for any enterprise level or sophisticated system they often fall flat on their face. If someone is forking out tens of thousands for a custom web site, they shouldn’t need to be told that something can’t be accomplished because the functionality doesn’t exist by default in an open source CMS. Likewise, the process of creating the site itself should be about more than just cherry picking poorly built plug-ins and hacking together some templates. To create a site that is truly unique, engaging and valuable you need to have the flexibility to create bespoke solutions and interactions, something that’s far more achievable when leveraging a powerful and flexible framework and augmented by a pool of in-house built components.