The costly perils of the wrong technologies

Mike Hook on Monday, 1st June, 2009

Photo by hiro008, http://www.flickr.com/photos/deepblue66/

Why should you care about web technologies?

The majority of our clients do not really care what web technologies we use – unless they are technical themselves – and indeed, why should they? We are the technical experts, that’s why they engage us.  Naturally, the most important thing for them is that their website is usable, reliable and enables them to hit (or, even better, exceed) their targets.

Modern websites can be complex beasts, often talking to several other IT systems. Committing to inappropriate technologies usually means an expensive rebuild much sooner than expected, so it’s more vital than ever that the underlying technology is appropriate for the job.

We have recently started working with a number of clients who have asked us to maintain websites that were built elsewhere. Unfortunately however, on more than one occasion, after looking under the hood, we’ve revealed that the technology used to build their site will make it very hard to extend website functionality in future years, without major further investment. As you can imagine, clients find this immensely frustrating as they have entrusted their supplier with the choice of technology.

This is why we go out of our way to ensure our clients understand the pros and cons of the available technologies. We don’t expect them to become development gurus, but it’s important that they are made aware of their options, otherwise the financial impact on their business can be huge.

Cubeworks’ choice of technology – ASP.NET MVC

In April 2009, Microsoft released a new framework for building websites, ASP.NET MVC. This new framework is a fundamental shift in the way a website’s technical architecture is put together and it offers developers and clients alike some great benefits compared to older technologies.

At Cubeworks we have been developing websites using ASP.NET MVC for over a year already, and we are passionate that choosing this technology will be a great investment for years to come.

So I will attempt to explain how ASP.NET MVC differs from existing technologies and why it is so good for your business:

The key difference: everything has its place

A popular saying onboard ship is ‘A place for everything and everything in its place’. To extend the metaphor further, we can think of the internet as the ocean and our website as the ship trying to navigate through this ocean. A ship will have everything stowed away tidily to enable the crew to be responsive to changes in environment. In the same way, MVC encourages developers to keep each of their website components separate to ensure they can be responsive to changes in requirements.

The MVC framework separates code into three main components: the model, the view and the controller. The view contains the “look and feel” (aka the presentation) – the stuff that people see in their web browser. The model holds the business rules of the website and talks to the database. The last component of MVC, the controller, coordinates communication between the view and the model.

The three major benefits of MVC

This clear separation of the different areas of the code offers three major business benefits:

1. Improved maintainability

Firstly, websites based on MVC are easier to maintain and extend. So if you want to make substantial changes to your website in the next 5 years or so, you will not have to reinvest in a completely new platform.  This minimises ongoing maintenance costs and also minimises the introduction of bugs, which improves long-term quality.

2. More efficient implementation

A common concern from clients is that they don’t want to invest any more budget than is necessary in the initial development of a site, purely with the aim of saving on long-term costs. Who can blame them really, particularly in the current economic downturn. The MVC framework helps resolve this issue as it is lightweight and efficient to implement. So clients get the long term maintenance benefits without additional upfront cost.

3. Better testability and quality

Another benefit of the separation of the various parts of the code is that it makes it far easier to run automated tests (known as “unit tests”). At Cubeworks we have an automated testing server so that every time we “build” a new version of one of our clients’ websites based on MVC, we can stop what we’re doing and fix any errors right away. This has the benefit of minimising the introduction of bugs and improving quality. This is particularly important post-launch, where there tends to be a higher frequency of minor releases.

Conclusion – MVC helps “future-proof” your website

MVC looks like it’s here to stay. An investment in these technologies now should give you a platform for the next 5 years – maybe even longer than that – we certainly hope so! This is in contrast to the overhaul that our clients have tended to undergo in the past, with website rebuilds every 2-3 years on average.

We have adopted the ASP.NET MVC framework to be used on the majority of new Cubeworks projects and our clients are already experiencing the benefits I;ve mentioned. It keeps us at the forefront of emerging web technologies and enables us to offer clients the best possible technical solutions to their business needs.

MVC – your alternatives to Microsoft technologies

At Cubeworks, we like to be straight-talking and honest. So while I’m a big fan of Microsoft’s ASP.NET, in the spirit of openness, it’s worth pointing out that MVC is not unique to Microsoft.

The principles were first documented way back in 1979 and MVC frameworks are supported by all the major web development platforms. PureMVC is a popular open source framework which was originally developed for Actionscript 3. It has since been ported to many other platforms, including PHP, Java and Python.

A comprehensive list of MVC framework implementations is available on the Wikipedia Model-view-controller page.

Bookmark and Share

Post a comment