we write about the things we build and the things we consume
bbc codex: visualising the bbc's programme archive
While I love all the things we do for our clients, a few months back we made something that I think is particularly special. It’s called BBC Codex.
The BBC came to us with an idea. What they asked for was a visualisation of the availability of BBC archive programmes. They knew that with our Atlas API we could help.
This wasn’t just to be any visualisation though. This had to be an interactive, always up to date tool for BBC staff to track what content was available and where. Codex is built to support as many types of availability as required, but we started with two: "BBC On Demand" (public service on bbc.co.uk) and "Commercial Physical" (as a physical product, such as BluRay or DVD).
For this we had to make sure we had two things in Atlas:
- A fully complete and always up to date set of the BBC Programmes data
- The BBC’s Commercial Availability data, which we added as "products" to Atlas
Then we built Codex.
how it works
Codex tracks schedules in Atlas. It requests full historic schedules for all of the main tv and radio channels, calculates availability statistics for the programmes broadcast in a given period and then stores this at multiple resolutions for display. We also calculate everything including and excluding repeats.
creating a complete picture from incomplete data
One of the requirements the BBC had was to show the percentage of available programmes in a given time period. Sounds simple, but there’s a problem: the BBC programmes data only knows about available archive programmes, it does not have information for the majority of programmes that are not currently available.
This means that it’s not possible to directly calculate the percentage of total available programmes in a given time period, so along with the BBC we came up with an alternative.
While we do not know the total number of programmes in any given day deep in the archive, from knowledge of the on air times for each channel over their history we can work out the total airtime for a channel in any given period. We can then calculate the percentage of available airtime from the total broadcast duration of the available programmes in a period. Problem solved.
different resolutions
Codex goes all the way from a view of everything the BBC has broadcast since 1942 to a view of what’s on iPlayer this week and next. Everything is available at multiple resolutions: decades, years, months and weeks.
Navigation between different time resolutions and periods is made simple with controls available for moving between them at any point. All dates are also clickable, so it’s easy to drill down into a period that looks interesting.
The iPlayer catchup window, series catchup and content on Radio 4 that is made permanently available can all easily be seen at month level:
drilling right down to the programmes
Just supplying the high level numbers would make Codex a fantastic tool for the BBC, but it goes even further than that. Codex can also at any point display the list of programmes available in the currently selected time period.
This is split by availability type and the lists link to through to the programme on BBC Programmes. Here are the programmes available as BBC On Demand that were first broadcast in 1972:
And those available for purchase as a physical product:
This works the same for both archive and current content, so for example, it’s also possible to see the programmes broadcast so far this month that are already available to buy in the shops:
data, that’s what this is about
Codex was a really fun project to work on and a real team effort here at MetaBroadcast. It shows the real power of data, the secrets locked up in the data you already have.
Metadata is what we do. Codex is a great example of the business insight that can provide. Much like our analysis of what audiences love about the olympics, that we wrote about yesterday.







