Making the TV Application Layer Open Source

Senior 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.


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.

Tagged with:

Comments

This entry is now closed for comments.

  • Comment number 16. Posted by Eponymous Cowherd

    on 3 Apr 2013 08:28

    @11

    The problem with the Android iPlayer is political and isn't a reflection of the competence of the developers. They have been forced down the Adobe route by the various rights holders and production companies who insist on its use.

    They have done a decent job with the sow's ear they have been told to use, but it will never make a silk purse.

    Having said that, their quality control and testing appear to be lamentable. The Feb release was a disaster, and it took them over 4 weeks to fix it. Possibly the developers are fed up with trying to bang the Adobe square peg into the Android round hole. I know I would be. Being forced to work on something that will only ever draw criticism is soul destroying.

    • This entry is now closed for comments. Number of positive ratings for comment 16: 0
    • This entry is now closed for comments. Number of negative ratings for comment 16: 0
    Loading…
  • Comment number 15. Posted by Stretch

    on 2 Apr 2013 21:58

    But you guys can't even make an Android app. How do you think you can tell people how to do anything like this?

    And oooooh you've reinvented widgets gz to you

    • This entry is now closed for comments. Number of positive ratings for comment 15: 0
    • This entry is now closed for comments. Number of negative ratings for comment 15: 0
    Loading…
  • Comment number 14. Posted by Tero Lehto

    on 2 Apr 2013 08:48

    Interesting article and a promising initiative for consumers too.

    But how about the Hbb TV standard, wouldn't it solve the same problem? Has BBC also looked into that?

    • This entry is now closed for comments. Number of positive ratings for comment 14: 0
    • This entry is now closed for comments. Number of negative ratings for comment 14: 0
    Loading…
  • Comment number 13. Posted by James R Grinter

    on 30 Mar 2013 18:55

    The reason this is really interesting/useful, is because the Connected TV services are still low in number due to the development effort required to support the various different manufacturers.

    So here we have some tools that *could* help get 4oD, iTVPlayer, et al onto all those platforms by only having to implement their back-end parts once.

    Will the BBC FMTV team accept pull requests for extra device profiles, and for other suitable improvements? And will the BBC iPlayer team deploy those on its own servers?

    • This entry is now closed for comments. Number of positive ratings for comment 13: 0
    • This entry is now closed for comments. Number of negative ratings for comment 13: 0
    Loading…
  • Comment number 12. Posted by Alex Cockell

    on 30 Mar 2013 13:39

    Further to my questions - might the Beeb eventually extend this TVAPI model to phones/tablets/computers?

    Anything to widen the reach... would be pretty cool to see BBC content delivered to the user's choice of media player through plugins... take it back to "BBC media can be played in these container formats by a compatible media player"...

    "Come one, come all, on devices old and new, lightweight and heavyweight, weedy or hefty CPU/GPU..."
    Also means that you wouldn't then be jettisoning old device support (as Motorola Mac users found to their cost a while back, and I did with my N900)...

    I know it's mostly the media lawyers - they take a bit of effort to haul along.. we'll help.

    • This entry is now closed for comments. Number of positive ratings for comment 12: 0
    • This entry is now closed for comments. Number of negative ratings for comment 12: 0
    Loading…
  • Comment number 11. Posted by Alex Cockell

    on 30 Mar 2013 13:24

    I'd like to ask - could an open-source dev or dev community eventually do an XBMC and write a plugin freely and easily in future? Open the content-delivery client-side playback stack and away you go?

    I'm not a dev or a lawyer, but looked and it seems as though Apache 2 is silimar to GPL3 in that this stuff can be compiled to other architectures independently? So another gamechanging device could see an iPlayer client on it by independent hands?

    • This entry is now closed for comments. Number of positive ratings for comment 11: 0
    • This entry is now closed for comments. Number of negative ratings for comment 11: 0
    Loading…
  • Comment number 10. Posted by Alex Cockell

    on 30 Mar 2013 12:58

    One baby step... @johndrinkwater and @epon - I concur with Epon's comments in #9, also consider the Win8 app that was taken down.

    Gradually open up the whole client-side playback stack, and we can get all the expertise that had to work unofficially, even though it was all done in good faith.

    Plugins for GStreamer, community players etc... for stuff like Raspberry Pis? Kit running Gentoo etc?

    But the TVAPI stack is a start - will this be extended to other solutions?
    Able to get the other broadcasters on board as well?

    Taken a while, though. Would be cool if devs can eventually write new clients without having to approach the Beeb for clearance (but that'll come in time).

    • This entry is now closed for comments. Number of positive ratings for comment 10: 0
    • This entry is now closed for comments. Number of negative ratings for comment 10: 0
    Loading…
  • Comment number 9. Posted by Eponymous Cowherd

    on 30 Mar 2013 08:16

    Regarding standardisation.

    While it is laudable that the BBC have open-sourced the application layer, this is largely a pointless exercise unless they do something similar with the content delivery layer.

    You only have to look at the botched Android iPlayer to see where doggedly sticking to a closed and proprietary delivery mechanism (Flash/Air) gets you.

    • This entry is now closed for comments. Number of positive ratings for comment 9: 0
    • This entry is now closed for comments. Number of negative ratings for comment 9: 0
    Loading…
  • Comment number 8. Posted by Pete Lasko

    on 28 Mar 2013 13:45

    Thank you for the comments, we felt it was really important to make sure that the documentation was as thorough as possible to help people make best use of it.

    @johndrinkwater @Alex - You both make interesting comments that sum up the reality of our goal for connected TV apps really well. We want to encourage standardisation in the long term, but in the short term we want to reach as many people/devices as possible.

  • Comment number 7. Posted by Sue_Aitch

    on 28 Mar 2013 09:32

    "The BBC is keen to encourage the connected TV market." Certainly Daniel Danker was enthusiastic. However those with not -connected-TVs ought to be confident that the services they receive freely, for instance BBC Red Button Digital Text, is the very best service it can be since Sky Text, the only alternative source of print news and sport on DTT is not as detailed nor has the loca and regional services RBDT offers.

    By the by, the page number carousel on DTT RBDT needs a bit of work on both its not-connected and connected version.

    • This entry is now closed for comments. Number of positive ratings for comment 7: 0
    • This entry is now closed for comments. Number of negative ratings for comment 7: 0
    Loading…
More comments

More Posts

Previous

Next