TV and the Web
Creation of a hybrid world
Conferência Web W3C Brasil
27 September 2014
Francois Daoust, W3C
fd@w3.org , @tidoust
Hi, I'm Francois Daoust, working for W3C. I am French.
First, I must apologize. Air France is on strike and canceled my flight to Sao Paulo. I am deeply sorry. This should not have happened. I was to be with you right now. More importantly, I was supposed to visit the museum of Football in Sao Paulo over the week-end!
Anyway, I am here (or should have been here) to talk about the convergence between two formerly separate worlds: the Web and TV. I see that the agenda for the conference is full of technical slots, around Angular.js, Web Components and other stuff.
Also, yesterday, I suppose Doug insisted on how cool W3C is and how fantastic and easy it is for anyone to contribute to W3C.
I thought I would try a different approach to tell something that looks more like a bed time story.
Key message
Creating an easy-to-use
Hybrid Web and TV platform is...
complex, but it's worth it!
That may not be a good idea after all. Slides are voluntarily laconic and since I'm not physically here, I'm a bit afraid that you might fall asleep. So if I lose you during the talk, or if the connection turns out to be problematic, the key message here is that it is of course fantastic and easy to contribute to W3C and that is all the more extraordinary than it is actually quite hard to build the Web platform in practice when you have some many features to incorporate and so many worlds to account for.
This is a complex world. What looks simple in theory may not be in practice. This is particularly true in the context of Web and TV.
Outline
Part 0 - W3C
Part 1 - Good ol' TV
Part 2 - Meanwhile, on the Web
Part 3 - Welcome, Hybrid world!
Conclusion
Although it is meant to be a story telling, I will follow a somewhat logical, possibly boring, structure, looking at the TV world first, then at the Web, then at something that I hope will be just the Web eventually but that looks more like an hybrid platform for the time being.
Part 0
W3C
Any need to present W3C? I suppose the organizers and Doug already insisted on that.
The World Wide Web Consortium
Web Standards
HTML, CSS, XML, SVG, PNG, XSLT, WCAG, RDF, WebRTC, JavaScript APIs, etc.
Consortium
~400 members, from industry and research
World-wide
Offices in many countries, including Brazil, China, India, Morocco, South Africa, ...
One Web!
Founded and directed by Tim Berners-Lee
Global participation
32,000 people subscribed to mailing lists,
1,500+ participants in 60+ Groups
Tim Berners-Lee
inventor of the Web
Part 1
Good ol' TV
Our story starts with TV. Note that, as all good stories, this will will omit a number of valuable details. I will also take some liberty with facts. These approximations should not undermine the message.
An old new technology
1950
Analog TV launches in Brazil
"Old TV screen " by tomislav medak
Licensed under CC BY 2.0
TV is old. Things started way before 1950, but the Second World War delayed the deployment of TV. In Brazil, TV started in 1950. We're talking about analog TV here. Launching TV means a lot of energy and money got spend on infrastructure (antennas). This has been a public thing, basically all over the world. Soon, governments introduced a tax per household or per TV set to cover the expenses and pay for the creation of broadcast content. It's very important to realize the central place of governments in the deployment of TV.
Analog TV systems
Analog television encoding systems by nation
"PAL-NTSC-SECAM " by Akomor1 - Own work ;
derived from File:BlankMap-World6.svg .
Licensed under Public domain via Wikimedia Commons .
What is also interesting is that there were a few different systems introduced throughout the world. In some areas, two systems (PAL/SECAM) could even be used in parallel. There was no agreement at the planet level to use one and only system. This should not be too surprising.
Regulated at the national level
Governments write laws and distribute broadcasting licenses
"Old map of Brazil (1787) " by Douglas
Licensed under CC BY 2.0
Actually, what surprises me is that there only three main systems used. As already stated, TV deployments were handled on a country per country basis by local governments. Since TV involved a network of antennas and a restricted number of channels, meaning a restricted number of broadcasters, all things are regulated at the national level. There are laws that describe how TV is to work in Brazil, as they are laws that describe how TV is to work in France.
This is very important to bear in mind.
Rough definition of analog TV
Broadcast signal
Several channels
One audio/video signal per channel
If we zoom out and look at analog TV from very far above, this is a rough definition of what analog TV is (well, was).
That's from a technical perspective. From a user experience perspective, TV creates a fairly unique experience that has yet to be matched: it allows someone (a broadcaster) to touch all people in a country simultaneously with audio/video. Live events watched by everyone at the precise same time!
Again very roughly, the best the Web can do so far is to reach all people on a given social network, say Twitter, with 140 characters.
Improving the user experience
>1970
Closed captioning
Electronic Program Guides (EPG)
Teletext
TV has been a success, perhaps not for day 1 (I wasn't there, I'm afraid), but everyone around has a TV set, or used to have one if you contemplate how young people stopped using TV in some parts of the world, but we'll get back to it later on.
The TV industry has been working on improving the user experience for years. Typically, they have started to broadcast metadata embedded with the audio/video signal: captions, program guides.
Teletext
Teletext, the simple Web
"Telextext still alive " by Pedro Belleza
Licensed under CC BY 2.0
I was joking the other day with a set-top box manufacturer in Germany that I had always thought that Teletext (or equivalent systems) had been invented to teach users where they could find the "Exit" button on their TV remote. You press the wrong key, Teletext appears, and it's like "Whaaatt? How do you I get away from here?".
He replied that Teletext is actually still in use in some areas and serves its purpose extraordinarily well: it is highly focused on content and very simple to navigate between the pages (any link is 3 digits). I guess that should teach us a lesson, here: content and user experience are key to the success of any system, fancy visual effects not so much. You can find many similar examples in video games (if you're not too young, that is): Tetris, Lemmings, the first version of Worms were all bad looking games.
Digital broadcasting systems
Digital broadcasting systems by nation
"Digital broadcast standards " by EnEdC
self-made from Image:BlankMap-World6.svg
and listings at the relevant Wikipedia articles.
Licensed under Public domain via Wikimedia Commons .
Again, it's interesting to see that different systems were used. DVB in Europe, ATSC in Northern America, ISDB in Japan, derived in ISDB-T in Latin America, and DTMB in China.
As before, it is not surprising that different systems exist, since transition to digital TV is also a national (or regional) thing with different timelines. The differences or choices are often explained by history and laws. For instance, I asked a Brazilian expert recently why Brazil preferred to base its system on a Japanese technology called ISDB-T instead of e.g. DVB, and the main reason seems to fit at the physical layer where, if I understood things correctly which I probably didn't, it is possible in ISDB to multiplex different broadcast signals (one for TV sets, one for mobile devices) within the same packet whereas it is not possible in DVB-T. And the reason why it isn't possible in DVB-T is that countries that developed it did not need it because licenses to broadcast content for TV sets and for mobile devices are different and cannot be done together by law (again, that's a rough approximation). It turns out that DVB-T version 2 supports that multiplexing pretty well.
The TV world, in short
Highly regulated
Lots of infrastructure
Somewhat closed world
Somewhat fragmented world
So let's take a step back and see where we are. What I tried to describe here is an old world with a lot of public infrastructure and a lot of regulations at the national level. Technical specifications are typically produced behind closed doors. There's some lobbying involved. The TV industry used to be a closed world.
Part 2
Meanwhile, on the Web
Let's leave TV and move on to the Web
A young technology
1989
The Web is somewhat young. It is only 25 this year. It was invented in 1989, really started to take shape around 1995 and took over the world end of 1990s. It came into existence at least 40 years after TV!
Client/Server architecture
HTTP all along, no broadcast!
"404 - Not Found " by Tomomi
Licensed under CC BY 2.0
The Web is based on HTTP requests and answers. We're talking about Client/Server connections.
No broadcast signal. At best, the Web fakes broadcast with streaming.
A platform for documents... initially!
A Web of static pages
"Document " designed by Matt Saling from the Noun Project
Licensed under CC BY 3.0
If you take a look at the definition of the Web in the Architecture of the World Wide Web, another good read for bedtime, the Web is defined as an information space in which the items of interest are identified by global identifiers called Uniform Resource Identifiers. While there is nothing that restricts what the "items of interest" could be in practice, the Web was all about static documents and links between them to start with.
Now THE app platform
Things have changed over the years, in particular with activities around HTML5 (core spec, and APIs). The Web platform should is now an app platform. It's even more than that, actually, it is THE app platform.
Even when targeting native platforms, developers often rely on Web technologies first and wrap the resulting app in a native app.
Key points
World wide
On each and every device
Interoperable
Open Royalty Free standards
Fast moving
The Web is world wide. It does not have any frontier. It is available anywhere, anytime and on any device.
It should be noted that the Web is an imperfect platform. First, it's incomplete, there are many ongoing works, for instance on Service Workers, or WebRTC that are not yet finished. Second, it is in essence a human platform (even though the Superman-like HTML5 logo might suggest otherwise), made by humans from all over the world for humans all over the world. It is not a bug. It's a feature.
There is something utopic in the world, and that is what makes our job fantastic at W3C. We're being paid to make parts of that utopy come true.
One key aspect of Web standards that is often of no interest to developers but very important for business is that Web standards come with a royalty free license. This is extremely important. It is also very important to bear in mind when considering the Web against the TV world.
Audio/Video
Videos are now first-class citizens on the Web
Copyright 2008, Blender Foundation / www.bigbuckbunny.org
Licensed under CC BY 3.0
Now I'm more interested in the Web as a "TV platform" here. It turns out that one of the key features of HTML5 is that audio and video have now become first-class citizens on the Web. No more plugin required. This took time and is still being adjusted, but it's there. It changes everything. On top of being able to add all sorts of overlays on top of video elements that are no longer a "black box", it is pretty useful because it enables video content providers to actually provide content on the Web.
A streaming platform
Live TV content available on the Web
"Cloud Video " designed by David Waschbüsch from the Noun Project
Licensed under CC BY 3.0
This is already happening in practice. For instance, Netflix streams content on the Web and if you use recent browser versions (surprisingly, this means IE11 here because of DRM support), you will have a 100% HTML5 experience.
Traditional broadcasters have also joined the group. Most French TV channels have a Web site where you can watch the channel live directly from your browser. This allows them to sell additional services such as video on demand.
Platform of choice for ITV platforms
The Web... what else?
"Check Box " designed by Rémy Médard from the Noun Project
Licensed under CC BY 3.0
We left TV at the digital age, but it has now moved forward to embrace more interactive use cases.
ITV stands for Interactive TV and that is what current smart TV systems are all about.
It would now seem natural to use Web technologies to construct such an interactive platform.
Surely, if you created a new one, you would use Web technologies, right?
Now, even if the Web has become THE app platform, remember that it was not the case a few years back in time. First so-called smart TV systems were tried long before that happened in particular.
Main ITV platforms
MHP
MHEG5
OCAP
Ginga
HbbTV
HybridCast
Let's have a look at the main ITV platforms that are deployed in the world today. There are a few ones around. Note they have all been tailored for a specific transmission system.
Main ITV platforms
based on Web technologies
MHP
MHEG5
OCAP
Ginga
HbbTV
HybridCast
The same list restricted to platforms that are based on Web technologies does not look so good.
MHP is basically the first platform to have been specified and it was around 2000. At the time, Web applications were not a reality, XMLHttpRequest only started to exist at all. It's no surprise that the platform was rather based on Java. It seems the platform was extremely well designed. From a technical perspective, it did things correctly. It could have taken Europe and the rest of the world. Unfortunately a pool of companies that had patents decided to unite and knock on the doors of broadcasters that were using MHP. Broadcasters started to be more frivolous about MHP, and stopped deploying or using it. When IPR holders decided to let go of their patents after all, it was already too late, other works had started, typically HbbTV in Europe.
It's not the first time that a similar situation happened in the history of the Web. The same thing happened to gopher, an early alternative to the Web. The threat of a licensing fee tends to scare people away.
It's a bit sad perhaps that the Web wins in these stories just because the licensing situation is clearer, and not because the platform is better, but that's life.
In Brazil, Ginga is used. To some extent, it is partially based on Web technologies. It's XML, with markup.
Towards a common ITV platform
MPEG2-TS used to transport audio, video, data
Core of MHP (GEM) reused in other platforms
Dependence on transmission system is not a hard one
While there are different platforms available, it's interesting to realize that they have many things in common. In particular, they basically all transport audio, video, and data streams using MPEG2-TS. They all re-use common parts of the MHP platform, and the dependence on the underlying transmission system is more due to the fact that there had to be one than a really technical issue.
So perhaps we could dream of a common ITV platform that would be used across the world. And of course, that platform would be based on Web technologies!
Part 3
Welcome, Hybrid world!
Are you still with me?
This is where we mix things together and create a hybrid world.
Why a global ITV platform?
What are we trying to achieve?
First things first, I talked about existing ITV platforms, I talked about the Web, I talked about how the ITV platforms could be based on Web technologies but we did not address the key question, which is: why would we do that?
User experience!
(and $$$)
Well, we know the answer already. It's all about content, the user experience and the most direct outcome of that, meaning money and business. Actors of the TV industry are part of a race to improve the user experience and create ever more immersive ways of engaging the user. Smart TV is to be opposed to dumb TV where the user takes no active part in the show.
Demo (Hybridcast)
Demo of Hybridcast by NHK
I cannot show you the video demo here. Here's a picture taken out of it. It shows a live football match. The TV remote is the user tablet with a rich user interface. Player statistics are shown on top of the broadcast video on the TV screen. It's easy to imagine the user choosing between different overlays on his tablet and actually sending them to the TV using some Jedi gesture. The names of the players could be displayed on top of each player as well.
The user could perhaps select another camera angle to follow the match, perhaps on its tablet.
The key points of this scenario are the use of different devices at the same time with the possibility to migrate content between these devices easily. This is only really doable provided that both devices support the same set of technologies.
That's not addressed by the video, but we could also dream of a system that replaces one of the players with the user's avatar in real time. Look, now, you're Neymar!
It's all on the Web
TV usage will often start from the Web
Let's take a look at it from another angle. I apologize for the drawings, that's the best I can do, I'm afraid. Read the script from left to right and from top to bottom.
Our dear user Doug is sitting at his desk, working. On his Twitter feed, someone says: "Hey, I'm watching Real Humans, that's absolutely fantastic" and shares a link to the page on the TV channel Web site that describes that series. Doug follows the link. The Web site offers to watch the first episode, so Doug clicks on play. He likes what he sees so sends the video to its TV and resumes watching from there. Later on, Doug comes back to the TV channel Web site and notices that the second episode is currently on air. Again, he starts to watch and switches to TV.
The last row describes something similar to the NHK demo, so I'll skip that.
The important thing here is that the TV experience in this case starts from the Web, not from the TV set. The user does not even care whether the content that the TV will eventually play comes from the broadband channel (meaning his Internet connection) or from the broadcast channel (meaning his TV connection).
Contents of an ITV platform spec
App signaling & lifecycle in broadcast stream
Broadcast control and channel identification
Mapping streams to HTML Media Elements
Profiles to support (e.g. MPEG DASH)
Extension APIs (e.g. Second Screen Framework)
Let's take a deeper look at the actual contents of an ITV platform specification.
Couldn't it be just the Web?
a.k.a
What is missing from the Web
as we know it to support TV?
Of course, viewed from a Web angle, the question is: couldn't that global ITV platform be just the Web?
Well, why not, let's see what is missing to support all TV scenarios.
From now on, imagine your Web browser is your TV set. You can enter the URL of a broadcast channel in your browser and video starts to play. Or you access a Web site that can control the broadcast signal.
What do we need?
Closing the gap
TV Tuner API
Media Resources In-band tracks
Media Source Extensions and EME
Second Screen Presentation API
Service Workers
Let's start with the relatively easy part. You have opened a Web site that should control the TV tuner. There needs to be some API. There also needs to be some way to map incoming metadata streams to HTML Media elements. You're likely going to need content protection as well, and support for adaptive streaming.
For more advanced scenarios, you want to have multi-screen support.
Oh, and it would be nice if broadcast applications could be signaled directly in the broadcast signal and could be started offline.
Well, this is more or less all on-going.
There is one weird question to answer: how do you define the browsing context for a video?
If you type the URL of a video directly in your browser, it will render the video. Where is that specified? Nowhere.
In practice, all Web browsers create a default DOM tree with a simple structure and play the video within that browsing context.
This may need to be specified.
Closing the gap - browsing context for videos?
The Presentation API will let one open a Web page on a second screen:
var session = window.requestSession("http://example.org/foo.html");
session.postMessage('foo');
What happens when the URL is that of a video?
var session = window.requestSession("http://example.org/video.mp4");
session.postMessage('???');
That question gets raised even if you don't want to create a hybrid world for TV. For instance, the Second Screen Presentation API will in theory let you open some Web content in second screen and communicate with that content through "postMessage" and the like. What happens if the URL you open is that or a video? What does it mean to communicate with a video? You'd rather communicate with the video player instead. This has to be specified.
Closing the gap - other open questions
Application signaling?
Supported profiles?
There are a couple of open questions for which I do not have a good answer. Application signaling means sending an application in the broadcast signal. It does not mean a lot from a Web perspectice, but it would probably mean highlighting the URL of a Web app to launch.
W3C has tried to avoid any kind of profiling so far. Profiles usually don't play well with the One Web philosophy. Should we make an exception?
Closing the gap - tough issues
Synchronization across devices
Latency when streaming live signal over broadband
On top of open questions, there are a couple of tough issues for which I do not have an answer at all. Most advanced scenarios involve some kind of synchronization e.g. between videos playing on different devices. This is very hard to achieve. We could perhaps expose a clock that is automatically synchronized across devices to Web apps. To be seen.
There's a companion issue. Streaming a live signal such as football game over the Internet introduces a non negligible delay. One needs to prepare packets to be sent in advance for adaptive streaming. And the content needs to be pushed to CDNs first. This takes up to a minute and cannot easily go down to the milliseconds level.
Moving to the hybrid Web
“Two households, both alike in dignity...”
Prologue from Romeo and Juliet, by Shakespeare
Developers can help
Develop apps for the hybrid Web!
Point out missing technical gaps!
Contribute ideas!