Court Farm Holidays is a family-run business in Marhamchurch near Bude. As the business has been in the family for generations, they have made the whole holiday experience a Cornish home away from home. Their self-catering cottages are fully equipped with everything you need, and on-site facilities run from an indoor heated swimming pool, tennis court, games room and morning animal feeding to spa treatments.
Working alongside a fellow designer, I was tasked with developing the new makeover website and bringing it to life. This is perfect for me, as I like to develop as well as design websites from scratch. But as this was her client, she produced the designs and then passed them over to me for building and implementation. So, for this project, I didn’t need to worry about the design stage, which allowed me to focus more on the development.
It is always a pleasure working with her, as her style of design is completely different to my approach to websites. My style is to design and build something that hasn’t been seen or developed before, whereas her approach is more clean, corporate and easy on the eyes. Both styles are very approachable.
Before undertaking a website, I always look at the design and segment it into structural building blocks – header, navigation, content and footer. Most ‘website designers’, on the other hand, don’t even start with the design phase. Instead they go straight to Google and search for WordPress templates. While this can be good for certain situations, like getting a quick presence online or for people who like to mess around with layouts on a daily basis, the end result will not lead to a good experience for clients or end users (which is something I have witnessed on other people’s websites). Anyone can download a template and set up a website; while this might be attractive, the result is your website looking similar to another one, not making you stand out from the crowd. The performance of the website is affected as well, as a downloaded template is catering for all sorts of different scenarios and situations. This means more code has to be processed and downloaded.
When the structural building blocks have been established, I then drill them down into medium-level blocks. For example, the header on Court Farm can be divided into two columns, one for the logo and a second for the quick book online and contact buttons. I then repeat this process for each of the structure’s building blocks.
The next stage is to start building the structure blocks using HTML and then to populate the data into these blocks using PHP. As a software developer, using PHP is a relatively simple process for me. Using WordPress’s PHP functions, I set WordPress up so that the owners at Court Farm can easily populate the website – adding a new cottage or new blog articles without having to worry about messing up the layout.
Finally, after the structure and the data have been processed into the correct blocks, I then work on the interactions. For most websites, I use CSS3, and jQuery in JavaScript. If I can, I try to use CSS3 as much as possible, as the performance can be far greater than jQuery’s, especially on mobile devices and tablets. However, certain interactions, such as animating SVG elements, can be far more controllable using JavaScript and jQuery than CSS3. So it really depends on what sort of interactions I am trying to develop. At this point, some developers might suggest using ready-made plugins or scripts to achieve the interactions. And while this is somewhat true, they also come with a lot more code, as they have been developed to offer all sorts of different interactions, not just the one I am trying to achieve. It also means it’s a lot harder to make changes if the client requests certain features, as you would need to read and understand all of that code. If the code is bespoke, all the code that exists, exists solely for the interaction. This subsequently helps the website’s performance, as perhaps only half as much has to be downloaded.
As I have quite enjoyed writing this blog article, I hope to continue writing regular articles on 3D visualisation, design and software development.