Christopher Dowson | Studio
Case Study: Web development, Retired projects
Trōv’s original site had been adapted from a Wordpress theme and suffered (as many unoptimised Wordpress Sites do) from slow access times, heavy page load and code bloat. This particular theme, when you got under the hood, had such delightful idiosyncrasies as using completely different CSS grid systems in different areas of the site, and loading in about 27 different scripts to accomplish a few shared tasks.
I was also to be provided with amended layouts for some sections - I was purely front-end development for this project and so would be working from supplied designs.
The first step was to move away from Wordpress and bring all content over to ExpressionEngine. The majority of what needed to be achieved could be sorted with EECMS (to use its nickname) out-of-the-box, and what extra functionality was required was easily achieved with the use of a couple of modules.
One of the key differences between EECMS and Wordpress as platforms, is that ExpressionEngine asks you what you would like to install when you set it up - meaning you can disable any parts you don't need in the first instance. Wordpress installs everything during set up and requires you to start disabling and working around the functionality you don't need - adding unnecessary time overheads to a project and cancelling out any real benefit which may come from the software being free.
After receiving the new mockups and a thorough list of requirements on Trello, I set about taking the existing Wordpress theme apart to make sure there wasn't anything which hadn't been accounted for, functionality-wise. I also agreed on a grid/column framework to use with Series Eight as it had to be something their own devs could pick up and use further down the line. In this instance, my own proprietary framework wasn't suitable - I know how to use it, but then I wrote it so I really should do. And then I got cracking.
The build itself was quite straightforward, and a lot of the functionality of the original site which had relied heavily on plugins and widgets (as is Wordpress' wont) was easily replicated in straightforward HTML and jQuery and so would require no more maintenance than any other part of the site - there was no danger that an upgrade to ExpressionEngine in the future would break large amounts of the site (common in Wordpress installations).
The area with the most attention paid to it was the blog. This had received a full overhaul and a lot of time was spent removing formatting and inline styles from images and links within the blog entries themselves. This was easy to achieve with a bit of regular expression find-and-replace wizardry and some direct editing of the database itself. Thankfully, a lot of the prep time was spent on the site architecture (this isn't my first Wordpress move) which ensured that when everything was moved, site assets were referenced in exactly the right places.
I really can't stress enough how important it is to plan your site hierarchy. Everything matters.
One added bonus that the thorough planning revealed, which no one had considered until I came on board, was how certain parts of the site could be targeted to the various geographic regions Trōv covers.
As Trōv used Cloudflare as their DNS provider, I was able to utilise Cloudflare's advanced geolocation service to pinpoint the country of the current user and serve content based on that area. This meant in the simplest instance that spellings of certain words could be switched to American English for US regions, but it also allowed more advanced UX elements, such as preselecting the user's country in dropdown lists (saving a long and arduous scroll down to United States/United Kingdom!) but also giving them the option of overriding that choice. This was something the original site couldn't offer.
It also allowed the country code to automatically be selected for their SMS alert function - this was vital as the SMS provider had very strict requirements for international number formatting.
Series Eight approached me because of my ExpressionEngine experience and familiarity with moving Wordpress installations across.
They trusted that I could take the existing site, pull it apart and reconstruct it into something faster, leaner and - more importantly - responsive without them needing to hold my hand or provide me with visuals for every step of the process.
I was given design freedom to interpret the design for mobile as I saw fit, making decisions which would benefit the project as any barriers to completion became apparent.