Main content

Making the TV Application Layer Open Source

Peter Lasko

Executive Product Manager

I’m Pete Lasko and I am a technical product manager in the BBC’s Future Media TV and Mobile Platforms department.

Last September Roux Joubert blogged about some of the challenges we face in building BBC Connected TV applications and the actions we took.

Today I would like to tell you how the BBC is making it easier to build connected TV applications and how we are sharing this information on open source to benefit the rest of the industry.

Building for Connected TV is complicated

The TV Application Layer originated from our ambition to run BBC iPlayer, News and Sport applications for Connected TVs on as many different devices as possible.

There are hundreds of different devices in the marketplace and they all use slightly different technology to achieve the same result.

Having figured out how to build an application on a specific device we want to use this knowledge to build additional applications for that device.

Our answer to this challenge is the TV Application Layer (TAL). By abstracting the differences between devices and creating a number of TV-specific graphical building blocks (like carousels, data grids and lists), we provide a platform upon which we can build our applications.

About the TV Application Layer

The purpose of the TV Application Layer is to allow you to write an application once and for this to then work on all HTML based Connected TV Devices.

Comprising of a number of JavaScript libraries, The TV Application Layer operates across a wide range of different Connected TVs, IPTVs, games consoles, set top boxes and Blu-ray devices in the market.

The common feature of these devices is that they all get used via your TV, still the best place for consuming video content.

As each new application faced a similar set of device specific challenges, such as media playback, animation or networking, we set about making the TV Application Layer a standalone product that could support our entire Connected TV product needs both now and in the future.

Because the abstraction code is modularised into the specific areas that vary between devices, we effectively have a selection of options that we can configure for each device.

This allows us to add new devices to our applications simply by recognising the device’s browser and applying a specific configuration appropriate to that device, without modifying the application’s code.

Therefore we can deploy our applications on devices that might have different key features such as video playback, animation, persistent storage and remote control key codes, by creating a new configuration file.

The TV Application Layer also provides some TV-specific graphical widgets for use in new application development. For example: the menu carousel used in iPlayer.

We find that the TV Application Layer allows us to concentrate on building the features our audience want rather than addressing device specific differences that we have already solved before.

Making the TV Application Layer Open Source

We are pleased to announce that the BBC is sharing the TV Application Layer with the wider industry.. The code and documentation are available via the open source repository GitHub.

This is not just a copy of our code. This is the live, latest code that we use to build and continually develop our Connected TV applications.

Why share it?

You may be wondering why the BBC is sharing the TV Application Layer.

  • Firstly, Open Source code allows other parties to contribute suggestions to the TV Application Layer. This makes the product better for everyone who uses it, it allows our applications to work on more devices and therefore reach more of our audience.
  • Sharing the TV Application Layer should make building applications on TV easier for others, helping to drive the uptake of this nascent technology. The BBC has a history of doing this and we are always looking at new ways to reach our audience.
  • The BBC is keen to encourage the connected TV market. As the BBC licence fee has funded this work, we can create more value for money by sharing this work with others in the industry, for the benefit of our audiences.
  • We hope that this stimulus helps get more offline people ‘connected’, contributing towards the BBC’s Media Literacy campaign as well as the government’s Digital Britain initiative.
  • Finally, the BBC is always looking at ways in which it can partner with the wider industry. This is a great way to allow application developers to create applications for a large range of Connected TV Devices. Equally it helps device manufacturers increase the number of applications for their devices.

A practical solution

We have found that creating and using the TV Application Layer has allowed us to better spend our time improving our existing applications and building new ones like the Connected Red Button that Matt Coulson blogged about previously.

We hope that by making the TV Application Layer available via open source you too can benefit and that we'll all see more high quality applications on TVs. Find out more on the TV Application Layer website.

It would be great to hear your feedback and comments.

Peter Lasko is a technical product manager, BBC Future Media TV and Mobile Platforms.

More Posts