Main content

How we built BBC Shuffle

Andrew Nicolaou


Tagged with:

BBC Shuffle is an experiment from BBC Research & Development to help you find something from BBC iPlayer to watch right now. It learns your tastes by noticing how long you watch one programme before clicking on to the next, turning your viewing into a bespoke channel. 

Try it now on BBC Taster then read on to find out more about how we built Shuffle, the technologies it uses and the results of our research.

The idea

Consumers are increasingly being offered more personalised services, with recommendations of items we might like being found in our previous behaviours. Offering more personalised services for our audiences is an important area for the BBC.

One of our research questions in R&D is to ask if it's possible to offer the benefits of personalisation while maintaining privacy.

As part of the Vista-TV collaborative project, a small team (Libby Miller, Dan Nuttall, Anthony Onumonu, Chris Newell) created a very quick prototype called "Infinite Trailers". This web application played clips of TV programmes that you could skip or favourite. These actions would be used to find clips that better matched your tastes ultimately ending up with a list of items to watch later.

We liked this idea, but it was difficult to make it public due to the technical infrastructure required to automatically create clips of programmes and ensure that we respected the BBC iPlayer availability window. Because we couldn't make it public, it was difficult to test with our audiences.

We decided to refine Infinite Trailers so that we could test the experience with you, the audience. We wanted the experience to be more like channel surfing than picking from a list that you are quite often presented with. We wanted a tool that knows nothing else about you: nothing about your friends, past behaviour, who you are with, nothing at all.

We called this “BBC Shuffle”. It plays BBC iPlayer programmes continuously, tailoring its suggestions to you depending on how you use it. The simplest interaction is doing nothing and watching the entire programme. Or, you can click 'next' to watch something else.

The BBC Shuffle interface

How it works

BBC Shuffle is a static web application that runs in your web browser using HTML, CSS and JavaScript. Where possible we use existing technologies as the diagram below shows. There are three main components: the recommender, the media player and the web application itself.

All the components in BBC Shuffle and how they fit together

The recommendation engine suggests things you might like based on a set of like and dislikes. We used our open-source client-side recommender engine. It's privacy-protecting because the recommendations are downloaded to your web browser and your likes and dislikes are never sent back to the BBC. The recommender comes in two parts - the engine and the model. The engine when given a set of likes and dislikes returns an ordered list of suggested programmes. The model which is generated from the aggregate viewing data of millions of people from BBC iPlayer in a way similar to Amazon's "people who bought this, also bought that" recommendation system. A new model is generated every hour.

Once we know what we want to play, we use the BBC's Standard Media Player (SMP), which is common across the BBC website for playing back video. The SMP can play via Flash or HTML5 but because we want to put our own user interface on top of the video, we use Flash. This means that Shuffle won't work on many mobile devices.

The main application creates the very minimal user interface and mediates between the recommender and media player. It's responsible for loading the recommender engine, keeping a list of the user's likes and dislikes and for plugging those into the media player at the right time. It also provides some analytics especially for this trial, so we can see how many people find something they'd like to watch and how many "skips" it takes to get there.

The application is also responsible for choosing something for the user to watch first. Since initially we know nothing about the user, we've settled on a random programme from the 60 most popular programmes available. This gives a good balance between programmes that aren't too niche but that aren't always the most popular, to avoid the possibility of always getting the same start programme every day.

The application has been built to be flexible enough for us to plug-in different recommender models or to see the effect of remembering people's choices between visits to Shuffle or not. If you're interested in that, you can read more about the results of user trials we conducted on the R&D blog.

Future work

We're using Shuffle to gather information about how people engage with a more televisual video experience for navigating recommendations. We'll use this data to inform future prototypes and to share with colleagues in the rest of the BBC.

The user interface is purposefully minimal to let the programmes shine through and to simplify the experience. Some of the feedback from user trials has been to have a "back" button to allow the user to go to a programme they've seen but discarded. Alternatively, we've also considered a "maybe" pile where programmes can be saved for reviewing later. But they'd obviously come at a cost of the simplicity of the current user interface.

If you'd like to experience BBC Shuffle then head over to BBC Taster, try BBC Shuffle and leave us your feedback.

Tagged with:

More Posts