Digital Marketing & Communications

We've seen 1s and 0s you wouldn't believe

Work hard, bake hard

📥  Team

The Great British Bake Off is popular in our team, probably because our team is composed of humans. So, of course, we have enforced fun to go with it.

We call it the 'sweepbake' or 'sweepsbake' (opinions are divided on the extra s).

The rules are simple:

  • everyone in the office randomly draws a Bake Off contestant
  • when your contestant is eliminated, you must bring in baked goods, ideally homemade

The result is an onslaught of delicious carbohydrates that lasts for about three months.

Here are some of the treats we enjoyed this year:

Rhian's cheese straws

Rhian's cheese straws

Phil's cupcakes

Phil's cupcakes

Miao's cookies

Miao's cookies

Sean's apple pies

Sean's apple pies

Iris's lemon snickerdoodles

My lemon snickerdoodles

Fortunately, the campus has excellent gym facilities and some lovely running trails to balance all this out.

What I've learned in my first few weeks as a developer

📥  Development, Team

A little over two weeks ago, I started a new job in the Digital team as a Junior Developer.

While this job is new to me, the team isn't – I first joined in January 2014 as a Content Producer. But I'd been thinking about a possible move to development for a while, and found myself taking every opportunity to nose around our codebase and ask questions about how things worked. This escalated to building stuff in my free time (like a Rails app that makes it easier for our office to plan our massive orders for Schwartz Bros burgers). After a slightly scary interview, I was lucky to get the best of both worlds: moving my career in a new direction while staying with the team I've loved being part of for the last few years.

My new mission: build cool stuff that makes our users' lives easier. And while I've only just started, I've already learned a lot.

Turns out I am OK at this

Since this is my first job in development, I was a little nervous that it would take me a while to get up to speed and become a useful member of the team.

Fortunately, Phil and Tom apparently didn't share my nerves and had already drawn up a healthy to-do list for me to tackle. I was excited to be shipping code within my first week.

After getting through three relatively small stories, I moved on to my first bigger feature: making it possible for users to choose the order in which Team Profile list their members. As with all our team's work, this is now being reviewed by another developer and I'm looking forward to the feedback.

Content and development skills do overlap

The day-to-day of content and development might look pretty different. But our team shares a single set of Digital Principles, and those principles work for content, design and development alike.

Many of the things that were important when I was a Content Producer are still important as a Junior Developer, from working in an Agile way to taking the time to properly document processes and decisions. And striking the right balance of being clear and concise is valuable for writing both content and code.

Having experienced the challenges of content production and transition for myself, I also hope that will help me bring some unique insights to our development work.

Looking like a cool hacker

I've spent more time in the command line this fortnight than I probably have in my life. There's a lot to remember, but I'm already starting to see how it can speed up my workflow.

I've also started using the text editor Vim, which comes with Unix and is accessed through the command line. Vim looks arcane and terrifying. But it's actually not that difficult to get to grips with and has already saved me time.

Looking cool is still a perk.

Shipping useful things feels great

The first piece of work I shipped was a pretty small change to the list of all items in the Content Publisher. Previously, Person Profiles were just listed by the role holder name. I amended this to include the person's name as well.

This was a small tweak, but it solved a problem our users had been struggling with for a while – picking one Senior Lecturer out of a list of dozens is frustrating if you have to check each one individually.

Pushing to production to a round of applause felt really good. Knowing that it's something users have been looking forward to made it feel even better.

Development is fun

Okay, I already knew this from doing it in my free time. But it turns out it's fun professionally too. (Whew!)

Getting stuck on a problem can be frustrating, but the thrill of "it works!" when I finally hit the solution has yet to get old.

I'm also fortunate that everyone else is happy to answer questions, offer advice and help me out when I get stuck. Making things on my own was fun, but I prefer being part of the team. And I'm looking forward to continuing to learn.

Also, we're hiring right now – find out more about working in the Digital team.


Digital team sprint notes 4 - 17 October

📥  Sprint notes

We're looking to hire two Ruby on Rails developers, so read a bit more about the team and come join us!

What we shipped

  • Team profiles now get republished when an associated Person Profile is published
  • List of users in the Content Publisher is now ordered alphabetically by display name
  • Superscript is now enabled in Markdown
  • List of content items includes role holder names for Person Profiles
  • Better item spacing on landing pages
  • Publishers can now search for content items in the Content Publisher
  • List of existing content items is paginated
  • 34 pieces of content maintenance
  • Lots of Student Recruitment content making good progress through the content transition board

What we're going to ship

  • Improve layout consistency by updating the vertical rhythm and typographic scale
  • Improve the legibility of long pages by updating the sizing for all our headings
  • Content that appears in the sidebar on large screens will no longer butt up against the edge of the sreen on small screens
  • When a publisher updates a content item which doesn't belong to their organisation it will no longer change which organisation owns it
  • Allow publishers to choose the ordering of people listed in Team Profiles
  • Change our titling of "Team members" on Team Profile pages to be more generic
  • Add new Team Profile subtypes
  • Provide a sitemap.xml file to make sure that all our pages are indexed by Google and site search


The brief history of the content transition board

📥  Beta, Communication, Tools

We recently returned to a content sprint that was started a year ago. Digging up the old Trello board made us feel a bit nostalgic and quite pleased with ourselves - we’d come a long way since then.

When we began the content transition project we didn’t really have a clear idea how to organise the process. Our first attempt at a transition Trello board reflects that.


Our first iteration of the transition Trello board.

The idea was to build it around the top level stages in the process. Each card represented a stage in the process such as content analysis or completing a specific set of training.

Comparing that board to what we have now made us chuckle.


The transition Trello board in its current form.

So what’s happened in between those two versions of the board?

We realised we need to build the boards around actual content

In the next iteration, we had cards for each new content type and copied into a checklist everything identified as that content type from the inventory spreadsheets.


We trialled posting all the content from the inventories onto cards based on content type.

We would make an individual card for each item on the checklist and tick it off the list when that had been done to track progress.

For a reason none of us can remember, we put those cards in a column called “Epics”. Obviously, they are not epic user stories and this caused confusion - in amongst ourselves as well as with the publishers we were working with.

We quickly realised it was very difficult to avoid duplication or prioritise content.

We realised we need some actual epics to organise content in a meaningful way

The next iteration was already a big improvement. We organised the content into cards so that each covered, more or less, an epic user story.

We then pasted the relevant content from the inventories into the checklist again but this time used the full URL so it was easy to check the content without having to copy and paste and type in the domain manually.

Why on earth we weren’t doing this from the start, none of us can tell you. Sometimes even the most obvious things escape you when you’re immersed in a process.


Categorising content based on user stories worked better.

We realised we needed to take a step back from transitioning individual pieces of content

Although we were trying to structure to-be-migrated content around user stories, we quickly ran into problems again.

Working through heaps of content as a team at a fast pace meant we ended up working on user stories that were very similar. As a result, we created duplicate content without realising it.

It was time to take a step back. We went back to the principles and started from user needs. This time, we were careful to keep existing content out of sight at the user story planning sessions. This helped us stay focused on what the content should be rather than what it had been.

Having individual old pages on a checklist must have, subconsciously, made us think we need to transition each page as an individual page. So we stopped that, and started including them on the card as a reference instead.

We also improved our housekeeping discipline around individual cards. Each card now needs to have:

  • a user story
  • links to all the relevant existing content
  • links to draft in the new Content Publisher (backend) and preview
  • someone identified as the content subject expert

Each card has to have enough information for anyone of us to be able to pick it up.

We have also tweaked the stages each card goes through. “Doing, review, done” has morphed into “Substantive edit, 1st review, more edits, fact-checking, final proof and ready for live”.

The process takes a long time but we have made peace with it for now. If we’ve learned anything in the process of transitioning content so far, it’s that you can’t rush good content.

There’s still room for improvement - there always is - but for now, this is working for us.


Slaves to the dragon

📥  Communication, Team

We’re currently recruiting for three new people: a Content Producer and two Developers. This got me thinking about what I most enjoy about the team I work with and the work we do.

Being the newbie

I’m a relatively new member of the team. I started in January this year on a six-month maternity cover contract. If your maths skills are as good as mine you’ll notice that I’ve now been here for ten months. That’s because my contract was extended, which is great as I get to spend more time working with this team on the major project we call Transition.

This might sound like I’m spinning some sickly, sycophantic yarn, possibly in the hope of another contract extension, but I really do think it’s worth explaining how this team works because it’s not like anywhere I’ve been before.

My background is in book publishing, where I did digital marketing for a few too many years. I then spent a while developing my editorial skills through freelance work and as the web editor for a magazine site in Bristol. You don’t need my full CV, but it’s worth noting that I haven’t come through the ranks of academic content production to get here. Very few of the Content team have.

The team that sits together, ships together

Because I haven’t worked at a university before I've had a lot to learn — so many acronyms, so little time. But the exciting thing has been learning from everyone — the Content team, the developers, and the UX designers. We sit in the same room, which is a first for me, and as a team, we constantly share what we know. There are daily stand-up meetings and fortnightly Show & Tell presentations. We even have dedicated time slots for developing our skills, personally and as a team.

We work in our own interpretation of Agile, which I hadn't done before, but I picked it up really quickly with everyone's help. Working this way keeps us focused and on target as a unit.

We’re all about shipping, so much so that we have a flippin’ dragon that roars every time we make something live. There’s a real sense of team achievement when we ship an improvement for the user. We work hard to get things done, but when it’s 5 o’clock, we go home and we come back fresh the next day.

Best team ever!
(too much?)

As I mentioned, we all come from different backgrounds, so the office is full of interesting people, all of whom are endlessly friendly and ready to chat. I felt instantly welcome when I started and was immediately invited to join a load of Slack channels about comic books, video games, parenting, running, house hunting…

Everyone here is passionate about something, from cooking to travel to films to D&D; we all have something to talk about, something we love beyond our jobs. Being able to share these passions with our colleagues gives us the energy we need to produce great work. We’re here all day, but we don’t have to leave ourselves at home.

This extends to the dress code - of which there is none to speak - although I haven’t really put that to the test yet. Maybe next week I’ll wear my Spider-Man costume and see if anyone minds.

A blue plastic dragon


One Hour Upgrade part 5

📥  One Hour Upgrade

A photo of Phil prioritising the One Hour Upgrade improvements with post-it notes

Prioritising the One Hour Upgrade improvements.

The idea behind One Hour Upgrade is for each member of the Digital team to spend 60 minutes working on their own initiative to make our digital processes, infrastructure or products better.

Using the lessons learned from our previous upgrades, we spent 30 minutes on Thursday making suggestions and prioritising them by voting for our favourites. On Friday, everyone picked up items either by themselves or in teams and focused on delivery. After 59 minutes, the countdown kicked in.

Things we did

  • shipped a new 404 page (we had to add some Google Analytics tracking later)
  • brought the Travel Advice transition Trello board up to date and shipped one of the two remaining pages
  • built a new Trello board for managing blog posts with an improved process and guidelines for publishing them
  • designed a form for submitting new requests to our support helpdesk
  • built a prototype video extolling the many and varied virtues of working with us (spoiler: cake)

Things we learned

  • we have a whole lot of ideas for improving almost every aspect of what we do (36 submissions during planning, 18 of which got votes during prioritisation)
  • separating planning from the upgrade hour works nicely
  • technical improvements are hard to get shipped in the time - these should always be paired
  • we love doing this and are going to make One Hour Upgrade a regular thing that happens on the first Friday of every month

Digital team sprint notes 6 September - 3 October

📥  Sprint notes

What we delivered in the last two sprints

  • Admins can create and publish Collections
  • Collections are now listed at
  • The layout of our static lists matches the layout of our dynamic filtered lists
  • Publishers can restrict access to Publication attachments
  • Admins can now add up to 8 labels to a content item, up from 5
  • We created a prototype of a visual regression testing platform (we used this guide)
  • Tore down the alpha projects we've created over the last few years
  • Made our Collection and Landing Page templates share some markup and styles to make them easier to maintain
  • Delivered 79 items of content maintenance

We were also joined by Sean Moran-Richards as our new Digital Supporter and Iris Faraway as our new Junior Developer, welcome aboard!

In the next sprint we will deliver these things

  • Publishers will be able to search the editing backend for the content they want to edit
  • The list of content presented to publishers will be paginated
  • Person Profiles listed to publishers will include the person's name as well as role
  • When a Person Profile title is changed, any relevant Team Profiles will be updated and republished automatically
  • The layout of a pinned item on a Collection will improve
  • The sizing of our headings in content items will improve, on all screen sizes
  • We'll improve how people use Team Profiles to represent different types of team

We'll also be starting the next of the sprints on our Student Recruitment transition - one of the most visible areas of!



Visual regression testing

📥  Communication, Design, Style, content and design, Tools

Our new site consists of 15 different layout templates. Each one of these is further broken down into numerous different design patterns for consistently displaying content. The rules that govern the presentation of these patterns (or elements, if you are familiar with atomic design) are generated from a combination of the Zurb Foundation framework and our own 'Origins' framework - all in all over 2000 rules spanning almost 6500 lines of css.

With this level of complexity it is extremely hard work to track the effect of any changes, almost certainly there is an unexpected knock-on effect of changing, re-specifying, or removing a rule.

Up until now, we have relied on our in-depth knowledge of the site to know where we expect changes to appear, and we use Browserstack to quickly check a representative sample set of our layout templates.

However, this requires a fair whack of time to run, and also needs a person to sit and look at each snapshot that's generated. And they need to know what to look for.

None of that is optimal, we needed a way to automate this process. Enter visual regression testing.

We followed this online guide by Kevin Lamping for setting up a prototype for a visual regression testing framework for Origins and the site templates.

Our prototype is in a repository here: (you will need a University of Bath login to view this). It contains a README with instructions on how to get it up and running.

Essentially, what it does is use some clever existing technology (WebDriverIO, WebDriverCSS, graphicsMagick, Selenium standalone and Node) to make a brower load a specific page, take a screenshot of a defined element, and then compare it to a baseline image. If there is any visual changes, it will then create a 'diff' file showing the change - and also alert us by throwing an error.

Snapshot of the website header

First we create a baseline image.

Snapshot of an updated website header

Then, when a change happens, another image is generated and compared against the first.

A diff file of changes to the header

If there are any visual changes, a third file is generated showing these changes.

Currently we are manually running these tests, but ultimately we will integrate into our continuous delivery framework so that the test run automatically whenever a new build of the css is pushed to our staging server.

Pretty neat.


Rio Olympics and Brazil takeover of Worldwide and its performance

📥  Blogs, Digital strategy, International

In May 2016, we launched the very first edition of Worldwide – the South Africa takeover. A few months later, we launched its second edition to focus on the Rio Olympics and Brazil.

The goal of this takeover was to highlight our Olympic hopefuls and showcase how the University is working with Brazilian partners to tackle environmental issues, understand the country's corporate governance reform, and strengthen links with industry.

We worked with all faculties and two research centres across the University and produced five Olympics stories, six research case studies and three student case studies.

Overall performance

During the period 5 August to 21 September 2016, the Worldwide Collection page gained 1,550 pageviews. The data shows:

  • 80.7% of total page views came from outside the UK
  • 4.8% of total page views came from Brazil
  • 44.2% of traffic explored additional content
  • over half (63.2%) of the page views came from the University homepage and internal staff homepage

Social referral traffic

We also carried out a 26-day period of promoting the Worldwide Collection page and curated stories on the University’s social media channels – Facebook, Twitter, LinkedIn and Google+. Our goal was to understand how well the Worldwide Collection page performed when it was shared across different social media channels using different tactics.

One of the lessons we learnt from the previous takeover was that targeting regions is less effective than targeting users’ industries or interests. As a result, we sent out each post twice, once to all followers, and the other time targeting specific industries or user interests of the followers. We then compared both methods to see which one brought more referral traffic.

We’ve discovered that:

  • messages not targeting any specific audience groups referred about four times more traffic than messages targeting specific users
  • the average session duration for all social media referrals was 2 minutes and 12 seconds, suggesting that users are likely to have read the full story
  • targeted posts on LinkedIn led to better user engagement with the content, compared to other social media channels
  • the content items that received most social media referrals were the Olympic athlete stories and student case studies
  • the most-consumed content items from social media referral were research stories

How we can do better in future

We learn as we go.

For this edition, the data proves that although we received more traffic from non-targeted messaging from social media, targeting clearly-defined users with valuable, relevant and consistent content resulted in better user engagement. This is definitely one of the lessons we should take forward when creating and sharing content with our users in future.

There are always things we can learn and improve throughout the process. For the next edition, we will look at how we produce the content, including identifying stories, interviewing, storytelling, and quality control.


New induction pages improve user experience

📥  Beta, International, Social media, Style, content and design

We’re working with colleagues across the University to make things better for our students online and to make it easier for staff to support students.

It’s been just over a month since we launched three new induction collections to help our new students settle into life at university: one for undergraduate students, one for taught postgraduate students and one for postgraduate research students. It is the first time we have created a specific area on the site for postgraduate research student induction.

Although it's still early days, we decided to look at the performance of the new pages we created for induction and compare it with the old content for the same period from last year.

A single source of truth

Our legacy content is often duplicated across various sections of the site. With so many variations of the same information, it's difficult to keep track of updates. There is often no single source of truth, which can lead to confusing user journeys.

Collections are pages of curated content from across different sections of the University website about a specific subject.

Our induction collections allow editors to feature specific information mapped against the student user journey, making sure that information is timely and relevant for the stage of the journey they are at.

It also means we can reuse relevant content rather than duplicate it, thanks to our new ‘labels’ functionality.

By transitioning our induction content, we have been able to retire 277 pages while creating only 89 new pages.

In addition to the content we’ve created, we’re using labels to pull in existing information from other sections of the site, like Accommodation and Student Services. At the moment, we have 146 pages labelled with ‘induction’.

Better user experience

All content we write is now based on users’ needs. We also make sure it’s written in plain English with an active voice.

This makes the content easier to find, and when users find it, they are able to complete their tasks more quickly.

Higher user engagement

We looked at pages where there was an equivalent page in last year’s induction content so that we could make comparisons on performance.

We chose:

Registering with the University

We found that 85.9% of users who landed on this page took the call to action, which was to actually register using our service page.

From the service page, we saw a 85.5% drop off. Although this is a large percentage, this is actually an expected behaviour at that particular stage of the user journey. This is because students were looking at the information before registration officially opened. The performance data suggests that we still have work to do to improve the student experience.

During the time period we checked, 8,283 users visited the new guide to register. Last year, the corresponding page had 4,600 users over the same period.

The higher number suggests that returning students are finding and using the page too.

In both years, Google was the biggest referrer to the registration page. This year, 41.5% visits came from Google – last year, this was 37.6%. This data supports our our previous findings that most users find the relevant content through search engines, not by using in-site navigation.

Moving into campus accommodation for the first time

The new page had a significantly lower bounce rate (50.2%) than the old one (69.3%), suggesting that people find the content more relevant.

Last year, 86% users dropped off after visiting the equivalent page. This year, 48.5% of the users who visited the new page continued onto other content which we had mapped as the next steps of their journey. This is an improvement on last year, but we clearly have more work to do to improve this journey.

Book a place on our coach collection service from Heathrow Airport

This year, we took a slightly different approach with the page for booking airport collection.

We created a simple, plain English video, translated it in Chinese and posted it on Sina Weibo. It had 3,200 views and as a result we have had more visitors to the page and more engagement with the content than ever before.

The new page had 1,109 unique visitors this year, which is 11 times more visits than the equivalent page got last year. That’s a huge increase for a single piece of content and confirms that we are creating content that better meets our users’ needs.

It’s also worth noting that over one-third of the users who visited the page went onto the next steps we had planned for them as part of the journey. We are now thinking more about user journeys than ever before, so we're able to make better connections between pieces of content and actions that need to be taken.

On the right track

Anecdotal evidence from colleagues so far tells us that there are already fewer misdirected enquiries about registration and accommodation. The new design of the website clearly shows contact details and people are finding it easier to reach the right service to get the help or information they need.

We’re happy to have seen an improvement in performance for this year’s induction information, but we haven’t finished yet. We’ll keep monitoring how the new content performs over the next couple of months to see how we can improve newly-arriving students’ experience as they continue to go through their induction journey.