A brief insight into the complexities of creating a new capability at the BBC

The BBC is committed to creating a truly personalised experience for everyone. We believe that a more personal BBC helps us build a deeper connection with our audiences, and helps us to extract more value from online. We have so much to offer across our products and services and one of our challenges is to help our audience discover the content we have.

We have a number of approaches to achieve this but alongside automated personalisation like smarter recommendations, we want to enable our audience to tell us what they want to see more of. So, we’re exploring the idea of enabling audiences to follow topics, a new capability that could work as a service for all of our teams and products.

This consistent and collaborative approach is not only more efficient, but would allow users’ preferences to follow them wherever on the BBC they are. This blog posting will try to convey the complexities around creating this new follow capability.


The BBC creates thousands of different content items on a daily basis, ready to be consumed by people in the UK and all around the world. But how might we improve the discoverability of that content? How might we offer new content to those who are interested in it?

The BBC Home team started working on the idea of ‘topics’ in summer of 2019. Working with colleagues from around the BBC, we have developed the technology to present a Pan-BBC topic to the audience.

Very early on in the work on topics it was recognised that there was an opportunity to harness the power of topics by allowing the audience to choose which topics they personally find interesting so we can personalise their experience of the BBC and notify them when relevant content is available. Examples of this already exist with the BBC such as the My Sport functionality in the BBC Sport app; subscribing to podcasts in BBC Sounds and adding a programme to your favourites in BBC iPlayer. The prior implementations have been undertaken in a product-specific fashion, but we are building ’follow’ in a unified way, aiming for a seamless audience and technical approach across all products. Behind the scenes, the mechanism for all these types of ‘following’ is common. How might we create an experience which harnesses all these ‘follow’ events to aid in content discovery by putting new and relevant content to our audiences quickly and efficiently?


For further background, check out Matthew Clark’s blog post here.

Platform Consistency

All new developments will occur within the BBC’s existing web technology platform unless it is not technically possible. WebCore utilises a mono-repository and because all the teams can access everyone’s code, it becomes much easier to be consistent across all our teams’ work. The graphical components are all stored in a central repository and are available to all teams to utilise and integrate into their own developments.


All existing solution building blocks need to be taken into account and reused where applicable. If anything new is developed, it must be straightforward for other teams to utilise or develop further to meet their own needs.


Collaboration with other teams is key to this project’s success. This work is being carried out within a complex organisation and as such, numerous teams and colleagues will be stakeholders in it. Openness and a readiness to collaborate will pay dividends later.

The Key Considerations and Complexities:

What concepts should the audience be able to follow?

  • We have chosen to do this, initially, at the topic level. For example, audience members will be able to follow their favourite musical artists, news correspondents or even locations. As topics are representations of the concepts that the BBC is creating content on, this feels like a more natural fit given that new content will keep being added to inform audiences on. While standalone content items can be revised (often with minor or major edits) after publication or when the story develops, this feels like too granular a level for a user to specifically follow, making a save or read later function more appropriate. To ‘Follow’ an article, for example, is more of a ‘read later’ function.

We need to understand how a ‘follow’ button should operate and how it changes state based on the current context it’s displayed within.

  • We need to consider if the audience member is already following a topic or not, if we need to offer the ability to unfollow that topic or not.
The Follow UI needs to cater for a number of rules, along with translations and communicating with data services
The Follow UI needs to cater for a number of rules, along with translations and communicating with data services — John McGhee and Anthony Cook, BBC UX+D
  • We also need to consider preferences we’ve already been given for other follow-like implementations and if it’s appropriate or not to use that data.
  • It might also be applicable to present a follow count to indicate how popular a particular topic might be.
  • We will also make the button mechanism available to our app ecosystem to keep the mechanism consistent across all our platforms.
Exploring how the visual emphasis of Follow UI works alongside other calls to action
Exploring how the visual emphasis of Follow UI works alongside other calls to action — John McGhee and Anthony Cook, BBC UX+D

We need to build the logical components in such a way that they will operate in the same way regardless of where the follow button is presented.

  • For example, if the follow button is offered on a Pan-BBC topics page like Manchester or Mark D’Arcy we must ensure the behaviour is consistent and intuitive.
  • How will it work within accessibility guidelines?
  • How will it work for our apps?

Legal constraints and how this will operate within the law.

  • Considering GDPR and previous preferences provided to us by our audience members, can this new capability function within the law and if not, what must we do to ensure we are legally compliant and transparent to our audience?

How will this operate within the overall ecosystem of the BBC Online estate?

  • The BBC Online estate is complex and ever shifting. We must ensure we abide by open standards and reuse existing services to ensure a good fit today and for the future. Also, we must collaborate with teams internally to ensure our internal stakeholders are fully aware of our progress.

How will we ensure we don’t create echo chambers for audiences?

  • We need to carefully consider how we present followed content, so that it is presented coherently alongside both recommendations and related content.
  • Followed content will be shown next to editorially curated selection, therefore, we will also need to consider how we deduplicate and prioritise content.

How do we maintain adequate levels of data to be functional and keep that minimal dataset secure?

  • We have a very robust data security process to satisfy. At every design step, security of the data is a key requirement.

What data do we need to record to adequately record a Follow action?

  • This data must then be easily parsed and follow our own internal standards and schemas.
  • This data format must be compatible with the User Activity Service — our centralised location for storing user activity data — and be registered with it.

Where is the result of following one or more topics displayed? i.e. how are followed topics surfaced?

  • This is a key question for any product team. The Homepage team will have different needs than for example, the Sport team. But, the underlying system must be able to cope with this in as an efficient manner as possible.
  • A key consideration is how much should we develop for each delivery? We could work for a long period and deliver in a more big-bang approach, or does it make more sense to develop in small iterations accepting a changing interface and functionality to our audience?

How will this level of personalisation work within the WebCore stack’s caching strategies?

  • This is less of a concern for our team as we’ll be using the outcome rather than heavily contributing to it. However, it is of great importance and so we will keep in close touch with the team working on it to ensure no assumptions are made about what is needed.

Do we have the technical capability to process a potentially complex set of follow activities?

  • Our BBC Home Data Capabilities Team is developing specific technology based on AWS ElasticSearch for this very purpose.
  • This system will capture metadata about our content from various internal sources to allow us to query that metadata in novel ways to find the content we need on a per user basis.

How will the resulting follow actions be surfaced?

The Follow Product and User Experience team have broken down the approach into four separate phases:

  1. Audience members will be able to see what topics they’re currently following, follow new ones and choose to unfollow others from a topic index page or the BBC homepage.
  2. Our audience members will be able to see the topics they have followed across the News and Sport websites and apps. This will come with the new ability to manage what they have followed across the BBC.
  3. Also, our audience will get the ability to follow a topic from the content level i.e. from within an article.
  4. Follow will become a unified approach across the BBC online estate helping breakdown any barriers between content and aiding discovery for all audience members.

One outlet for follow is in alerts and notifications. There is a team working hard on understanding how best to achieve this whilst offering the most value to our audience. It’s a complex area so we’re keeping close on that work to ensure we’re ready for it.


It is early days for ‘follow’, but the ground work is already in place for it to be a great success. The BBC topics product is maturing and is already powering the majority of the Sport website and app. It also powers the BBC homepages and we’re currently working closely with the News team to help them bring the BBC News topics up to date and into the WebCore world.

We’ve detailed our key principles and considerations around the follow action and how we plan to implement it. It’s a challenging area to work within but all the building blocks are sliding into place, and we’re starting to look at how and when we can roll out the first phase. Following a topic is something people understand, as they’re used to doing it on social media. We’re working hard on bringing this functionality to our audiences as soon as we can make sure it meets the level of quality our audience expects from the BBC. We aim to bring together all our content to all our audiences in such a way that the traditional silos of content are blurred to the point of invisibility.

I hope you’ve enjoyed this article. Follow the Medium Design and Engineering channel to find out more about the work we’re doing in this space.




Building the best BBC products, platforms and services for audiences in the UK and around the world

Recommended from Medium

Mount file-storage to an App Service (Slot) on Linux-based environments in Azure

Azure Portal: Configuration

Experts Weigh In on 2018 DevOps Trends

OkHttp’s Gzip Compression

How to write your first program in Bash

Slow In Translation, v1

Predicting Personality Traits from Content Using IBM Watson

Your Journey To Consensus (Part 1)

Part 3: Solution for distributed coordination & distribution.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dave Lee

Dave Lee

Senior Architect, BBC Home

More from Medium

DM Software Pathfinder project update #4

DM Software Pathfinder project update number 4, covering 16 March to 11 April 2022

#BuildingTeams #Blog2 | Vision for your team

Deliberate Reteaming: 2022