BBCi Labs Blog

BBCi Labs is no longer updated. Please visit our new blog, Press Red, for the latest from the BBC's Red Button team.

Under the bonnet: The Two Stream Quiz

  • Rob Hardy
  • 15 Jul 08, 6:01 PM

On 26th June we jointly won the 'Best Use of Interactive TV' at the New Media Age Effectiveness awards, with our colleagues in BBC Vision Multiplatform Studios; the award was for an interactive service called 'How Green Are You?' Here's the blurb: 'The Vision team produced a visually stunning quiz based on the BBC Two Series "It's Not Easy Being Green". The application allowed viewers to interact by scoring themselves on their environmental attitudes. Through seamless video switching, positive or negative feedback was given before presenting the viewer with their own individual "green audit" scores.'

In order to see this content you need to have both Javascript enabled and Flash installed. Visit BBC Webwise for full instructions

This is a good time to go under the bonnet for this show. In TV Platforms, we've built a collection of authoring tools (or products), one of which we call the Two Stream Quiz. This product has been used for many shows, such as How Green Are You, Spooks, Child of our Time, and Doctor Who: Attack of the Graske.

The proposition consists of two broadcast video streams combined with an application running in your set-top-box. By careful editing of the videos and synchronisation of the application UI, the idea is to give the viewer the illusion of a seamless personalised TV stream. (It's not meant to be obvious it's implemented using two streams, although astute viewers will probably figure that out themselves.) It's akin to a broadcast version of laser disk games pioneered in the early 80s, with DVDi disks being the modern equivalent.

We've been evolving the product in an iterative manner since 2002. Initially a bespoke application, the graphics, timings and question data are now fully configurable by the production team with little engineering involvement. Version 5 was built for a show called 'Making Slough Happy', which added question-specific application graphics and audio switching as well as video switching. This version was later used by Doctor Who.

If you'd like to see a real-life Two Stream Quiz, then take a peek at the Attack of the Graske game on the Doctor Who site. This Flash implementation is independent of ours, however it nicely illustrates the concept, and the video source is the same as the version broadcast a couple of years ago.


The video production is handled by the production team. For stream switching events, the platform latencies need to be thought about at production time, as the different platforms and set-top-boxes handle stream switching differently. The video also needs to be prepared in such a way to leave room for application graphics, which are applied by the set-top-box at transmission. Due to alignment issues between the video and application graphics, the video is produced in 4:3.

On-screen application graphics are produced by our design team. As normal, individual graphics are created for every platform, as the formats and set-top-box capabilities are different.

We use a commercial authoring tool to generate the event data and playlist. A video timeline is used to pinpoint the event timings. The tool also provides a UI used to feed in the application data used for scoring and thresholds for stream switching.

We've built two set-top-box applications, one for each platform the Two Stream Quiz supports. They are implemented in C and MHEG, both as state machines. The application chiefly handles
1) Remote control presses from the viewer
2) Synchronisation events from the broadcast carousel

The synchronisation events instruct the application when a question is playing, when to do a stream switch, when to put up the score, etc. We're now at version 5 of the Two Stream Quiz - there are many different types of questions (e.g. one-stream questions, dummy questions) and video stream switches. Some switches are based on the answers to individual questions; others are based on aggregate scores over several questions. We found that state machines were the best way to handle the complexity of this and to attempt to retain the code readability.

The synchronisation events must be prepared at production-time so that they can be played out tightly in sync with the video. The middleware of our C application (OpenTV) requires compiled resource files. The latency would be too great if these were compiled at transmission, so these are published and compiled en masse as the last step of production.


A playout UI, which we've named the Sync Controller, is used by the playout director to start the application event playlist at the same time as the broadcast videos. A critical component of the playout is the SyncEngine, a multi-threaded Java application. This runs though the event play list, an XML file, and issues HTTP requests to other components of the playout chain which then inject the pre-compiled event data into the broadcast carousels. The SyncEngine includes adjustments for platform latencies.

What have we learnt from this?

Our video playout and application event playout are essentially independent, but happen to be at the same time. This generally works, but does not deal with regional variances in latency. Tighter integration between the video and application playout would resolve this. Features in the UK Profile 1.06 would also improve synchronisation between the video and application on supporting set-top boxes.

As we added new features, the testing and production effort grew. The features we added were determined by how much build time we had available; it's fair to say the testing and production implications of the new functionality weren't considered. Version 5 of the Quiz offered the richest viewer experience and the most flexibility for the designers, however due to the complexity use fell back to Version 4 after a few outings. Version 5 added audio switching which was particularly tricky to test. The production steps could also be simplified if we were to make use of the edit decision list (EDL). I suspect there's also some scope here from learning about how subtitling and DVD games are produced.

From a non-technical perspective, the Two Stream Quiz nicely illustrates what can be achieved when technology and content are combined in such a way to create a novel service, which we're very proud of.

List of shows
2002 - Pyramid - first concept, bespoke application, Life of Mammals, Walking with Cavemen
2003 - Death in Rome - Two Stream Quiz v1
2004 - Crisis Command (never aired) - Two Stream Quiz v2, Personality Test - Two Stream Quiz v3
2005 - Dick n Dom, How To Sleep Better, Child of our Time, Discovering Ancient Egypt, Short Change, Spooks Training - Two Stream Quiz v4, Spooks Mission, Killer Dinosaurs, Are You Younger Than You Think - our first - and only - live two stream quiz, Top of the Pops, Making Slough Happy - Two Stream Quiz v5, Doctor Who (Attack of the Graske)
2006/7/8 - Smile, How To Remember, Not Easy Being Green, Space Pirates, ChuckleVision


The BBC is not responsible for the content of external internet sites