In 2010, Vote for Policies created a service which quickly gained popularity, so much so that it had some unexpected problems with scalability; in particular, it wasn't ready for the traffic spikes when it was mentioned in the media. Additionally, the application was not optimised for mobile devices, which led to a high drop off rate.
We were asked to create a new, reliable service that was accessible on mobile, simple to use and capable of handling huge traffic spikes in the run up to the general election.
We smashed the 2010 election figure of 280k completed surveys with a whopping 910k this time around. 150k of these were in the last 24 hours and the site peaked at 6500 concurrent users. Over 50% of all visits to the site were on mobile devices and the drop off rate was 25% less than in 2010.
The site also proved to be extremely popular with big name celebrities; it was blogged about by Richard Branson, tweeted by Caitlin Moran and mentioned by Paloma Faith at her gig. Big names in the media also ran articles on the service including The BBC, The Guardian and The Observer. You can see the full list of media coverage here.
According to the national poll conducted by TNS, users were 35% more likely to vote as a result of using the Vote for Policies survey.
“The main challenge was to ensure the design did not imply any political allegiances. Because of the neutrality of the product we chose a muted colour palette, which in turn ensured that our design didn’t distract end users from the main goal of completing the survey.
Given the limited opportunity to use individual colours, we opted to lift the design by including the colours from every party in a subtle keyline across the application.”
“Something we learned from the 2010 version of VFP was that the site had to deal with large traffic spikes if mentioned by someone in the public eye and during the last few days of the election campaign. We architected the new version from several perspectives; firstly, our PHP application was optimised for performance, using nginx fastcgi_cache as a whole page cache on each of our application servers, secondly, our data storage policy, whilst utilising MySQL as the underlying database, made significant use of Redis as a result cache throughout.
When it came to storing data in MySQL, we developed a non-blocking system by pushing queries onto worker servers via a messaging system (RabbitMQ). The final piece in the jigsaw was the use of horizontal scaling, using Amazon’s elastic load balancing (ELB) service to automatically add and remove servers when required.”
“At the heart of the Vote for Policies project was the need to reach as many people as possible; a mantra that’s at the core of progressive enhancement which we employ in all of our frontend builds.
The application was developed mobile-first, ensuring a best possible experience on the medium which we anticipated most usage, with particular attention made to reducing http requests where possible, as well as reducing asset size.
The consistancy of the design and speed of development was facilitated by the use of a pattern library powered by the Fabricator NPM package.
The base experience was enhanced with AngularJS to ensure as much could be done in a rich client without unnecessary round trips to the server. With accessibility being the core component in developing a successful web experience, consideration was made to each piece of the UI to ensure they were semantically marked up and where required, ARIA roles added to aid assistive technologies.”
Concurrent users 6500
Drop off rate 25%
UVD have done a fantastic job. Their ideas and expertise have delivered an excellent user experience across mobile and desktop, with the scalability necessary to handle the huge spikes in traffic that we receive as the election approaches. They're a great team, dedicated to their craft and a pleasure to work with.
Get in touch if you’d like our help
Whether you’re a startup or established business, we can help you to innovate, compete and grow. The first step is easy: contact us.