The TV Application Layer (TAL) is an open source library for building applications for Connected TV devices.
We have now created a mailbox where you can contact us with any questions related to TAL or the future of this project. We hope to share some details of the replacement to TAL soon.
Today we are announcing the deprecation of TAL. This will allow us to concentrate on future work, which we hope to share details of soon.
We apologise that we were not active in keeping the TAL community up to date with the status of the project. Going forward, we will provide regular updates on the future of TAL.
As part of the deprecation, pull requests will be disabled and outstanding issues will be closed. TAL will not be actively maintained.
We will answer any questions found in the issues backlog as best we can. There will soon be a email address you can use to contact us. This page will be updated when this becomes available. For further information please check out the repository.
TAL was developed internally within the BBC as a way of vastly simplifying TV application development whilst increasing the reach of BBC TV applications such as iPlayer. Today all of the BBC’s HTML-based TV applications are built using TAL.
There are a number of reasons we’ve decided to share TAL as an open source project:
There are hundreds of different devices in the marketplace and they all use slightly different technologies to achieve the same result. The purpose of TAL is to allow you to write an application once, and be confident that it can be deployed to all HTML-based TV devices.
iPlayer, Red Button+, BBC News, and BBC Sport are four high profile TV applications built on TAL. Click on the images for larger versions:
TAL is hosted on Github. This is the actual version of TAL we use within the BBC, not some limited, cut-down portion of the library. This is an actively developed project looked after by a team in Salford. We welcome any contributors. We’ve adopted the popular Fork and Pull Model – please fork our repo and send us a pull request when you are ready to contribute back.
Take a look here for more details on how to contribute.
All our documentation is hosted by GitHub on these pages. The main sections are as follows:
We also have a sample application that you can use as a guide to help you build your own applications.
If you spot anything wrong or missing in the documentation, contact us, or why not send us a pull request with the corrected content (checkout the gh-pages branch).
You will need to be comfortable with the following technologies:
Our experience of writing TV Applications has shown us that while most Connected TV devices contain a web browser built upon something fairly familiar like WebKit or Opera, there are still some pretty big variations in the way that devices do the following:
TAL works to abstract these things. The bulk of your development can be done on a desktop browser that is built on the same origins as the TV browsers. It does not mean there would not be things that work differently once you run your application on TV devices, but it does mean that you can focus on building the features you want in your app rather than worrying about TVs too much.
Our own experience has been that even when we build our TV applications on TAL, applications perform differently across devices. Some of the differences are due to the device specification, others due to the variances in the browser.
Running your application on a TV can be challenging and differs from manufacturer to manufacturer. The best way to test your applications on the big screen is to contact manufacturers directly and arrange to get access via a widget in their TV App store or through developer menus.