Graduating Soon?

bham

We love hiring graduates!

We hire a lot and we’re getting pretty good at training them…

Over 50% of our company joined us straight out of Uni. Last year we have had 7 graduates join us in Development, Test and Project Management. Some of the developers we hired as graduates 10 years ago are still with us , including two of the computer scientists we first met at Bristol University, who are now Sitecore MVPs (an award given to only 0.53% of the Sitecore certified ecosystem).

Our graduate recruitment is under way and we are keen to see applications from budding software developers who would like to work in Bristol.

We’ll be at https://www.siliconmilkroundabout.com/ on the 8th May, come and say hello to me (and some of the team) to find out more.

If you can’t make it, feel free to drop me a line for an initial conversation about the roles on 0117 932 7700 or alternatively send a copy of your CV to: Ed.bootle@trueclarity.co.uk

Commerce and Digital Content Event

Feels like the year has just started but we’re over a month in and we’ve already held our first event.

The event was a great success, it was oversubscribed and we had a great list of brands speaking and attending. For those who missed out, or those who asked for the slides you can grab them below:

Econsultancy – The digital retailer, trends, opportunities and challenges

Fenwick – Avoiding creating content for vanity’s sake

Quill – Using e-commerce content to power growth

JLL – Food in fashion, a newsjacking case study

Now to get planning the next one 🙂

January 28th event – Commerce and Digital Content, Trends, successes and what to avoid

Ciprian Muresan - THE UNBELONGING

We invite you to hear from our panel of digital marketing experts on whether editorial content really is all it’s cracked up to be in driving web traffic and sales. Come and join in the discussion on their experiences across a variety of sectors including retail, fashion, travel, media and leisure.

Running Order: 

  • 13:00-14:00: Arrivals, lunch and drinks
  • 14:00-14:10: Welcome note
  • 14:10-14:30: Econsultancy, “The Digital Retailer: Trends, Opportunities and Challenges”
  • 14:30-14:50: Fenwick, “Avoiding creating content for vanity’s sake”
  • 14:50-15:10: Quill, “Using ecommerce content to power growth”
  • 15:10-15:30: JLL, “Food in Fashion” A newsjacking case study
  • 15:30-15:50: Panel Q&A, “Where should you be putting your efforts?”
  • 16:00-onwards: Networking and drinks

Who should come?

The event is aimed at sharing experiences across sectors from people who are responsible for driving their online sales and strategy. Heads of/Managers of – Digital, E-commerce, IT and Marketing will get the first pick of tickets.

Register now: http://tccommerceandcontent.eventbrite.co.uk

We hope to see you there!

Going digital to save Taylor & Francis 150 hours a week

“Our e-copyright system was a relatively simple idea that required some fairly complicated problem-solving to make a reality. We worked side-by-side with True Clarity throughout the process to make sure the product we ended up with didn’t limit our flexibility. We appreciated the willingness of True Clarity to have people doing the development work available to us throughout the process. ”

Edward A. Cilurso Vice President – Production

Taylor & Francis Group are one of the world’s leading publishers, releasing over 2,100 journals and 4,000 books annually, with a backlist in excess of 60,000 specialist titles.

What was needed

Taylor and Francis (T&F) have to handle around 250,000 copyright agreements annually in order to publish articles on their site. Getting these agreed involved a lengthy process of emailing out forms, toing and froing through lots of amends and relying on scanning, faxing and emails to log author’s approvals electronically. The business case was crying out for moving this process online, in order to eliminate the pain for authors and staff, save time and keep up with the competition’s online offering.

How we tackled it

Prototypes and early delivery

We kicked off with a discovery phase, involving a few workshops and sessions to completely map out the process, then put together some flow charts to illustrate how we would automate the copyright process. At this stage we carried out some proto-types to validate the approaches, flesh out the unknowns and start delivering to T&F as early as possible in the project. Beyond the author approval on-site, we also needed to map out the integration points with internal legacy sites, such as the production and content management system, and map out some complex workflows to keep the site as self-sufficient as possible.

Designed for Flexibility

The site was designed to present the author with a set of questions, which dynamically change based on their response. The outcome is then used to generate a personalised version of the copyright agreement for the author to agree and submit. Key to this project was to ensure migrating the process online didn’t take away the flexibility of the manual process, so we worked with T&F to create a sophisticated back end allowing T&F to define the routing of questions and answers used to generate the copyright agreements. We also created a number of customisable email templates sent out for different statuses, including reminders for authors who may not have completed an agreement after X amount of time.

The Value

Copyright agreements turned around much faster

T&F sent out 193 author publishing agreements upon launch. 118 were approved within a week, with the vast majority clicking standard options, requiring no further intervention from T&F and minimal enquiries. The approval of 118 licenses would have averaged a longer turnaround, with inspection of each form, using the old process.

Saving staff time on menial tasks

T&F are able to compile detailed weekly reports from the author approval system based on the current status of manuscripts, licenses assigned per country and APAs completed by day. T&F have calculated from the initial launch stats that the new system will save them up to 150 man hours per week – the equivalent of four full-time staff members.

Graduating in 2016?

We love hiring graduates!

We hire a lot and we’re getting pretty good at training them…

Over 50% of our company joined us straight out of Uni. This year we have had 7 graduates join us in Development, Test and Project Management. Some of the developers we hired as graduates 10 years ago are still with us , including two of the computer scientists we first met at Bristol University, who are now Sitecore MVPs (an award given to only 0.53% of the Sitecore certified ecosystem).

So why do we love grads?

What’s not to love – They are intelligent, motivated, on message with the latest trends and they are able to soak up the information and training we provide them with. We take a mentoring approach to graduate development. Working with more experienced guys on live projects they are given real world problems to solve in a supportive environment. What better way to learn your craft.

We are kicking off our Graduate recruitment for 2016 now with the following events:

  • Bristol University, ‘Engineering and IT careers fair’ – October 21st.
  • Birmingham University, ‘Software, system and emerging technology careers event’ – October 22nd.
  • Silicon Milkroundabout – Sunday 15th November (not just for grads – but we met some great graduates there at the last event).

Come and say hello to me (and some of the team). If you can’t make any of these events feel free to drop me a line for an initial conversation about the roles on 0117 932 7700 or alternatively send a copy of your CV to: Ed.bootle@trueclarity.co.uk

More events to follow……

Building Personalised Experiences with Sitecore

The Conservative Party is the current party of government in the United Kingdom, having won a majority of seats at the General Election in May. As part of their election efforts, we used Sitecore to build a personalised map that helped undecided voters understand how the party’s policies had helped secure a brighter future for people across the country. By entering their postcode, users could see exactly what that meant in their area.

We integrated various electorate information systems APIs to render the map information based on the content in Sitecore. The Conservative Party managed all of this content in Sitecore and placeholders were used to pull in the relevant numeric stats and personalised data. True Clarity knew that Conservatives.com would be one of the first places undecided voters would go to find out about the Party’s policies in the days leading up to the election – and on polling day itself. Therefore, it was imperative that the site focused on helping people understand not just what those policies were but what they meant for them, their family and their area. This is a great example of how Sitecore can be used to enable personalised experiences for customers.

https://www.conservatives.com/yourarea
Map of Data for True Clarity’s London Office

View your own personalised area map here.

Winning the Digital Election with Conservatives.com

“True Clarity’s impressive team helped us – again – to deliver a website of the highest possible standard. Thanks to their input, Conservatives.com played a key part in helping undecided voters understand exactly how our plan would secure a brighter future for Britain while also empowering supporters to help the campaign in a number of ways. True Clarity’s commitment to responsive design meant that the site worked seamlessly across all devices, and their hard work in the months leading up to polling day meant the site was both stable and secure in those crucial final days.”

Craig Elder, Digital Director, The Conservative Party

What was needed

5 years is a long time in politics. In 2010, we helped the Conservatives build what was widely recognised as the best of the UK political parties’ websites but for 2015 we needed to adapt to a changing digital landscape.

In particular, the huge shift towards consumption via mobile devices meant we’d have to approach the election with a “mobile first” mentality, and work to deliver simple user journeys that worked as well on a phone as they did a desktop.

We also had to focus on delivering a tightly-focused website that gave two key audiences what they needed: helping undecided voters understand exactly what the Conservatives’ long-term economic plan meant for them, while also giving Conservative supporters the tools they needed to get more involved in the campaign.

And of course, we had to achieve all of this while ensuring the site could cope under the huge amount of traffic we could expect during the busy election period (and on polling day itself).

How we tackled it

A responsive site for a mobile-first audience

Working with the Conservatives’ in-house design team, we created site templates that worked responsively across all devices – be it phone, tablet, laptop or desktop. This had to be achieved without compromising site editors’ ability to quickly add, edit and remove copy, content and widgets as required.

Giving undecided voters the information they need

Just as it was in 2010, we knew that Conservatives.com would be one of the first places undecided voters would go to find out about the Party’s policies in the days leading up to the election.

Therefore it was imperative that the site focused on helping people understand not just what those policies were – but what they meant for them, their family and their area. We worked with the Conservatives to produce a series of interactive pages throughout the site that allowed users – upon answering questions on location, salary and so on – to find out exactly how the Conservatives’ plan would help them.

We took this approach as far as making the 404 page on the site an interactive “find out what our plan means for you” page to ensure even users who couldn’t find what they were looking for could learn what the Conservatives’ long-term economic plan meant for them and their family.

Making it easy for supporters to support

Of course, one of the other key audiences for a political party’s website is its supporters, and it was important that Conservatives.com gave them the tools they’d need to make the campaign a success. We worked closely with the Conservatives’ team to optimise three key user journeys – membership, donations and volunteering – to ensure supporters could complete these actions as quickly and easily as possible. This was a huge success, with the donation page in particular seeing a huge leap in conversion rate, leading to the Party raising more money in small online donations than at any previous election. In addition, the new Volunteer page played a huge part in helping to assemble the ‘Team2015’ volunteer army which played a key part in winning the election.

Finally, we worked with Dynamic Signal to put gamification at the heart of a new ‘Share the Facts’ section of the website, which rewarded Conservative supporters every time they shared campaign images and videos on their own social networks – significantly increasing participation and reach for each piece of content.

The Value

Conservatives.com played an important part in the Party’s overall election efforts, which saw them win 331 seats and an overall majority – confounding the predictions of pollsters and commentators alike.

The Party raised more money in small online donations than ever before, and also assembled a 100,000+ strong ‘Team2015’ volunteer army thanks to people signing up via the website.

‘Share the Facts’ was hugely successful, helping Conservatives supporters reach an additional 3 million people every week – over and above the direct reach of the Conservatives’ existing digital channels – by empowering people to quickly and easily share campaign content.

And perhaps most importantly, the site performed seamlessly on polling day (just as it had in 2010), meaning voters in key constituencies all around the country were able to get the information they needed.

http://www.conservatives.com

Using Cloudflare as a CDN – a review

Recently one of our clients was experiencing an increase in site downtime. During our investigation of the outage incidents we discovered that the site was increasingly becoming a victim of DOS (denial of service) attacks.

From the data we looked at it appeared the ‘hacker’ would trawl the site, honing in on pages which had the longest response times and then repeatedly hit those pages with requests using up resources on the site and eventually causing the CPU on the database to max out and the site to go down.

Our client hosts with Rackspace who offer a security solution so we asked them for pricing.  They suggested that their managed service would be rather expensive  for our needs and recommended we take a look at Cloudflare.

Cloudflare offers a low cost (entry level plans are free) Content Delivery Network which enables you to save bandwidth and reduce requests to your server by caching some content. In addition (and this was the feature we were most interested in), Cloudflare offers built in security protection to guard against DOS attacks.

Both the caching and security settings are highly configurable through an easy to use interface, help documentation is clear and well written and support is good (support tickets are prioritised according to the plan you’re on – support for clients on paid plans get priority over those on free plans which seems fair).

Cloudflare is amazingly simple and low risk to implement. The most simple way is to simply delegate the top level domain DNS e.g. example.com to Cloudflare who take over the management of your Zone file. You can then choose which of your zone file entries you want to send through Cloudflare and which you don’t. You can set Cloudflare up ready to go with all services in ‘pause’ mode which means when your DNS does initially point to them they don’t do anything other than relay requests.

If you (or your IT department) aren’t happy to delegate the entire DNS for your domain (maybe you have internal systems running on that domain) then it is possible to get a CNAME record setup by Cloudflare for a sub domain e.g. http://www.example.com. This is the route we needed to go down for our client and this option does require you to be on a paid for plan (we went for Business at $200 per website per month).

The steps we followed for implementing Cloudflare were as follows:

1) Setup Cloudflare account and add card details for paid for plan
2) Requested CNAME record from Cloudflare support (we got this in 24 hours)
3) Given a TXT record from Cloudflare to add to the DNS for our example.com domain to allow them to take control
4) When that was done, Cloudflare gave us a CNAME record for the DNS record
5) Client reduced the TTL on the domain
6) We setup all the configuration of the http://www.example.com domain in Cloudflare but set it to ‘pause’
7) Client added the CNAME record to the DNS and once we’d waiting for the TTL to expire we did a tracert to see that we were actually pointing at Cloudflare
8) We then did the cool bit which was pressing the ‘unpause’ button and sending users through the CDN

We gave the site a smoke test and everything seemed to be working as expected. During the day we then proceed to ‘tune’ Cloudflare by gradually turning on the various options that allow you to cache static content (Cloudflare provide a handy list of file extensions it sees as ‘static’ files and you can use page rules to bypass these or to cache more file types).

Each time we made a change we checked the site and made sure everything looked OK before making the next change. We also checked that real traffic wasn’t being blocked by looking at Google Analytics to ensure there wasn’t a sudden drop in activity and asking Rackspace to ensure that all Cloudflare IP addresses (again there’s a useful list) were whitelisted.

At the end of the first couple of days of using Cloudflare we had enough data to see that it was making a difference. It had saved lots of requests (almost 50% of all requests were coming from Cloudflare cache) and had blocked over 100 threats (with the security setting on ‘low’).

dashboard2

dashboard1

The website ‘felt’ much, much faster from a user perspective although our external monitoring wasn’t reflecting this which somewhat confused us. This must be something Cloudflare get asked about on a regular basis and they give a very clear response to this at http://blog.cloudflare.com/ttfb-time-to-first-byte-considered-meaningles/.

So the site was faster, we were blocking some hacking attempts, we were saving bandwidth all looked good. However we looked at IIS logs and could see that we were still getting some bad http requests (PROFIND, COOK, OPTIONS requests for non-existent URLs) and attempts to do some XSS and SQL injection. Our site/code was rejecting these requests as our IIS filters and security settings meant the hackers weren’t getting anywhere but we ideally didn’t want these requests hitting our server at all and wanted Cloudflare to catch and block them.

We then took advantage of the Cloudflare WAF (Web Application Firewall) and this is now blocking most of the ‘dodgy’ looking requests we’ve seen in our IIS logs. We’ve raised a support ticket with Cloudflare support about the few remaining dodgy requests and they’ve responded very promptly to say they will add a WAF rule to block those. If they come through on that promise we’ll be very happy.

wafrules

All in all, Cloudflare appears to deliver on it’s promises, is incredibly easy to setup and configure and support seems good.  There are lots of options we’ve not explored yet such as using their API to automatically clear the cache on a publish from Sitecore which would enable us to cache more than static content.  For a relatively low cost it certainly seems to offer a good alternative to Akamai.

easyJet – Sitecore Site of the Year

We picked up two awards for our work on easyJet yesterday, best in category (travel and hospitality) and overall Sitecore Site of the Year!

sitecore2012awardseasyjet3sitecore2012awardseasyjet7

Peter Duffy, marketing director, easyJet, commented on being awarded Sitecore Site of the Year, “The Sitecore platform has delivered against our objectives driving greater agility, operational efficiency and enabling increased personalization across easyjet.com.”

sitecore2012awardseasyjet2 sitecore2012awardseasyjet

Laust Sondergaard, chairman, Sitecore UK, commented on the overall awards event, “This year’s Sitecore Site of the Year UK awards has been our biggest and best.  The volume and the quality of the entries we received were exceptional, with our customers and agency partners using Sitecore’s software at the heart of their digital marketing strategies.  easyJet is a worthy winner, using Sitecore to enhance the customer experience and to drive site conversions and sales.  I am also extremely encouraged to see the impact Sitecore has on the business and how this builds customer value.”

http://www.sitecore.net/about/press-and-media/press-releases/2012/11/sitecore-site-of-the-year-uk-2012.aspx

Minifying Your JS and CSS with Cassette

I’ve recently investigated Minifying CSS and JavaScript for a client. Minifying compiles your CSS and JavaScript to a smaller optimised version; increasing a sites performance for its users. Ideally we wanted to place all JavaScript into a single file, a single request to the server.

We needed to find a solution that would be easy to use so developers at the client’s remote site would know how to use the solution once code was handed over.

At TrueClarity we use .NET for our solutions therefore we wanted a tool that would fit directly into the .NET framework neatly and intuitively. So after investigating various Minifying tools I decided to give Cassette a try an Asset bundling solution that neatly plugs into your projects in Visual Studio. Cassette comes with various functions one of them being Minification.

Cassette requires NuGet to be installed so the Cassette.Aspnet package can be downloaded and installed into your project. Once installed you will notice a new “.cs” file in your solution, this is where you add your configurations for Cassette. The installation will make alterations to your projects Web.Config to add the Cassette namespace to your project and http handlers.

Cassette uses ‘Bundles’ each bundle will resolve as a single file, html, css or js. This is where new bundles are added & removed.

bundles.Add<StylesheetBundle>("/Styles");

bundles.Add<ScriptBundle>("/Scripts");

Cassette will locate all of the Styles and Scripts within the given directories recursively and generate a single file.

Ordering is important
To ensure the generated CSS and JavaScript files work correctly I needed to inform Cassette of the ordering for the generated files. This can be accomplished through a bundle.txt located within the given directory in the Configuration file. Within the bundle.txt you will need to write the filenames for the required JS/CSS in the order required.

For instance your bundle.txt files will need to be located in:

~/Styles/bundle.txt
~/Scripts/bundle.txt

Referencing the generated files in Markup
To then inject the Javascript/CSS into your documents <head> or before </body> you will need to replace the current static reference in your mark-up with C# code which injects your new JavaScript/CSS.

JavaScript

<%Bundles.Reference("/Mobile/Scripts"); %> 
<%: Bundles.RenderScripts() %>

CSS

<% Bundles.Reference("/Mobile/Styles/stylesheets"); %>
<%: Bundles.RenderStylesheets() %>

The reference needs to be the same string specified in CassetteConfiguration.cs.

Build
When the project is built the JS/CSS is generated and accessible through the cassette http handler. For each build/change to CSS/JS cassette generates a random string for CSS and JS references. So this ensures all users are given the new changes without their cache being cleared locally. A cool feature!

Viewing Source
When you view source on your site you will now notice CSS in the head being referenced like so:

<link href="/cassette.axd/stylesheet/kKTh3QhojEGH-OUCjweN5PBrzOw=/Mobile/Styles/stylesheets" rel="stylesheet" type="text/css" />

You will also notice the new JS reference at the bottom of the page as a single reference which contains a concatenation of all the previous JavaScript files:

<link href="/cassette.axd/stylesheet/kKTh3QhojEGH-OUCjweN5PBrzOw=/Mobile/Styles/stylesheets" rel="stylesheet" type="text/css" />

When the web.config debug=”false” the output of cassette will be as above, but when its set to “true” cassette will output each js/css file independently without being minified so that you can debug through your code!

The Result
The following table shows the before and after comparison of the projects CSS and JavaScript.

The compiling was able to reduce the file size from 74KB to 14KB!

Cassette uses Microsoft’s Ajaxmin.dll a compiler for .NET. Cassette is an intuitive way of getting your project to consolidate your assets into single files; Potentially Cassette can support other compilers such as Yahoo’s YUICompressor or Google’s Closure compiler. Both are jar files so would need some tinkering through .bat files to perfect the automation.