A question that commonly comes up is: “Should we build from the ground up, or customise an existing system?” and the answer is always “well, that depends…”.
Kiwi ingenuity often means we think we can do it better – so let’s build what we want. Experience tells us that someone’s already solved that problem so let’s see if we can find something already made.
Why reinvent the wheel?
Yeah, nah, I’m a Kiwi so I like building stuff – better than anything else available…
However, there’s a place for custom build and a place for using off-the-shelf systems.
Let’s start with the differences:
Content Management System (CMS) like WordPress
Using a CMS gives you all the features you need to get a site up and running quickly. The evolution of WordPress, released in 2003, has meant you can quickly deploy a powerful system that handles all the necessary aspects of a website without any custom coding. Back in the day it was only really a blogging platform but it’s grown up since then and now it’s got excellent support for managing a variety of content.
With Plugins you can extend the functionality further to handle specialist jobs, some of the plugins we use:
- Increase security
- Automate offsite backups
- Improve Search Engine Optimisation (SEO)
- Reduce SPAM
- Integrate with CRMs (Customer Relationship Management)
- Manage image galleries
Plugins aren’t a magic bullet – there are lots of plugins available that are poorly coded that can create security risks; some plugins are poorly maintained and won’t work with future WordPress upgrades making your site vulnerable. Too many plugins can slow down your website (Users, and Google, like your site to be fast).
Creating custom plugins is a great way to add simple functionality to your WordPress site. We’ve created plugins to create special page types with custom panels, simplify marketing and create ‘shortcodes’ to reduce repetitive tasks.
The pros and cons of a CMS
|Quick to deploy||Requires in depth knowledge and experience to extend|
|Cost effective||Future updates of WordPress can create issues with customisation|
|Vast range of plugins available to do simple custom tasks||“bloated” code (you can’t just use a piece of a CMS, you get the whole system).|
|No coding skills required to set up the CMS||Too much documentation (for WordPress) means lots of noise in searches|
|Great documentation (for WordPress)||More difficult to change later on|
|Community Support when you get stuck|
In the real world there comes a point in a project when the speed and cost benefits, gained by extending a CMS, are surpassed by the time and investment to make changes to the code. The CMS is great to quickly build and prove a concept but when you’re building a custom business process online eventually you’ll probably need to rebuild.
Frameworks like Zend Framework
For custom build projects you can build on frameworks to speed up basic chores. Frameworks come with lots of prebuilt functionality that you assemble, then extend, to do the job that you want to do. Someone has already figured out how to validate an email address so why build your own validator?
By taking away the tedious tasks – ok, sometimes it’s tedious to get someone else’s code working – we can focus on making the user experience and the business process work the way we’ve imagined. Because we’re building on tested code we’re less prone to errors than building from the ground up.
The pros and cons of a Framework
|Full customisation is easier and less painful||More investment required|
|More flexibility as the project evolves||Patchy documentation (for Zend Framework)|
|Community Support when you get stuck||Difficult to pick up someone else’s project and extend it|
|Easier to change and extend in the future||Some Frameworks have too much baggage|
|Easier to integrate with other apps|
|Less baggage than a CMS|
As soon as you want to customise anything – CMS or Framework – we create a wireframe/sitemap and a clickable mock-up to fully document the process. Making changes to a mock-up is easy; making changes to code mid project is painful and expensive.
Best of both worlds
You can have your cake and eat it too… with our Onboarding Apps we’ve built a custom system – using Zend Framework – and integrated it into our existing WordPress site. This gives us all the benefits of WordPress CMS for the main site; and we get the power of custom build for our Apps (which at the time of writing are still evolving).
So, if you’re still unsure which to choose feel free to post a question below or contact me directly.