Making the TV Application Layer Open Source

Wednesday 27 March 2013, 06:01

Peter Lasko Peter Lasko Technical Product Manager

Tagged with:

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.

tal-1024.jpg


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.

image1-640.jpg

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.

git-hub-1024.jpg

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.

Tagged with:

Comments

Jump to comments pagination
 
 

Comments 5 of 16

 

This entry is now closed for comments

Share this page

More Posts

Previous
What’s on BBC Red Button 23-30 March

Saturday 23 March 2013, 06:00

Next
What’s on BBC Red Button 30 March – 6 April

Saturday 30 March 2013, 06:01

About this Blog

Staff from the BBC's online and technology teams talk about BBC Online, BBC iPlayer, BBC Red Button and the BBC's digital and mobile services. The blog is reactively moderated. Your host is Nick Reynolds.

Blog Updates

Stay updated with the latest posts from the blog.

Subscribe using:

What are feeds?

Links about BBC Online

BBC Internet blog Archive

owl-plain-112.jpg 2012 ι 2011 ι 2010 ι 2009 ι 2008 ι 2007

Tags for archived posts