Bespoke Web Development or Open Source CMS
As the cyber world is changing so rapidly with a wide variety of options available to choose from, it is sometimes a dilemma to decide which option to choose for building a website. Should we choose a completely bespoke website or a website built on a popular open source content management system?
In some cases, if the website is very simple, it’s possible you don’t even need to use any of these and opt for a static web page instead. But in terms of site maintenance, search engine visibility and user interactions; this is never a good option. It does completely depend on the project, and no two sites are the same, but here are a few pros and cons of both approaches.
Bespoke Web Application Development
If the website is completely unique and there are certain bespoke features which are completely unique to the site, it is always better to go for bespoke website development. The web application may need to use some unique features to enable certain functions on the website, some of which may not be possible using an open source CMS system.
Advantages of Bespoke Web Applications
- Custom features: The main idea of a bespoke web application is so that we can easily implement unique features specific to the business. These include specific functionalities in the back end administration area and features in the user facing front end of the website.
- Clean code: Developers can keep both the back end and front end code clean and robust. Only the necessary code to implement the required feature is enough. As the developers have full control of the HTML output, the page rendered is clean and loads faster on browsers.
- Secure: Bespoke web applications are more secure and reduce the chances of an attack. As the features developed are done so for a specific small group of clients, it is less open for vulnerabilities.
- Future additions: If the base of the application is solid, then implementing custom features in the future isn’t too difficult. Also if the system requirements are well analysed, developers can even cater for future additions well in advance, whilst building the base.
- User friendliness: The system users get a better user experience, especially when using the back end features as they are tailor made for the client. The developers can organise the system so that the user of the system will get a clean and clear interface to manage or use the website.
Disadvantages of Bespoke Web Applications
- Cheaper long term, but more expensive initially: Normally custom developments cost more as it takes more time to build the basics of the application. If using an open source CMS, there are lots of readymade features already built-in to the system. But on a bespoke build, most of the time these features have to be developed. This means more time and cost. Any additions to the original specification may cost more.
- Trusting your agency: As a custom built web application depends purely on the developer or agency building it, the client has to trust the agency. This is one of the most influencing factors. As the system is built by a specific team, the source code of the application is their property. That means external parties are not able to get access to the source code in case if there is a need.
Please note though, that even if you opt for a bespoke system, we can still use open source platforms to develop the web application. This again depends on the choice of our language. For example for PHP development, open source frameworks like Laravel, Zend Framework, CakePHP, CodeIgniter, Symfony, Joomla Framework are available.
Open Source Content Management Systems
There is no need to list the variety of selection available for open source CMS systems (there are far too many!) However, keep in mind that you need to select a suitable and comfortable one based on your specific project requirements. Remember, one CMS system may be suitable for certain needs; however it may not suit other requirements.
Certain CMS systems may take longer in terms of building some specific functionalities, but then again may be faster with other aspects. Some of the market leading open source CMS systems are Joomla!, WordPress, Magento, Drupal, Expression Engine and Umbraco
Advantages of Open Source CMS
- Extensive set of pre-built features: Open source CMS systems have a wide range of features pre-built within the system out of the box. Once installed, the system is ready to use. Developers need not worry about the basic features of the system, from article editors, media managers etc. to front-end template frameworks. This means we can jump straight into developing the main features of the project.
- Extensions or plugins or add-ons: The availability of ready to use plugins is another important factor to consider when selecting a CMS. Most of the open source CMS systems have a library of free and paid extensions available. This means that for building a complex feature; it may be a matter of finding an appropriate plugin and tweaking it as per the design requirements. Some examples of plugins are to show social media feeds, calendar, media gallery, slideshow etc.
- Documentation and support: As open source projects are heavily supported by the community, the support available for the users of the CMS is huge. This includes support from support sites or forums, well documented source code etc.
- Easy installation and maintenance: Most CMS systems are very easy to install and maintain. WordPress is very famous for its 5 minute installation! Most of the time it would be a matter of setting up the database and proceed with the installation wizard. As all the major open source projects are well maintained, new versions with lots of improvements are released regularly. That means we can update the CMS system with few clicks.
- Not dependant on a specific developer or agency: As a client, the main concern when selecting an agency or a developer is about the future of the project. Using an open source system means, the project is not heavily dependent on the agency or developer who built the site. This is an advantage compared to a bespoke build. As long as the developers followed the coding styles suggested by the platform, moving to another developer is not a problem. Also within the agency, another developer could easily take over a project.
- Less cost: As the main part of the framework is available out of the box, building the project will be cost effective compared to a bespoke build. Also by utilising the available add-ons to enhance the features, development time could be considerably reduced.
- Extendibility: Not all the features are available from the system itself. But here is the beauty of extending the functionalities using the guidelines provided. We can extend the CMS to build any additional features. Again this could be used on other projects and even published to the community through the plugin libraries, so other developers could make use of it as well.
- Access to source code: As the code is open source, developers may access the source code to see how certain features are implemented as well as learning new coding techniques.
Disadvantages of Open Source CMS
- Less secure: As the source code is publically available, CMS systems are less secure compared to bespoke systems. Hackers may be looking for loop-holes to get into the system, as there will be a huge number of websites using these systems, compared to bespoke systems. So it is keen to keep the CMS systems up-to-date with the latest version.
- Not fully capable of implementing the features requested by the client: Sometimes there may be client requests, which are not easily implemented within the CMS platform’s restrictions, without spending more time (compared to a bespoke system) However, we can combat this by identifying any stumbling blocks early on in the process, and making sure the site is future proofed before build.
After considering these points, you will realise that there is no right or wrong way of selecting which platform to choose when building a web system. This should be purely based on the individual project requirements. But keep in mind factors such as cost, time, future needs, security, maintainability and usability should be taken into consideration when choosing the appropriate platform. It shouldn’t solely come down to initial costs, as this isn’t always indicative of how much the project will cost in the long run!