a declarative approach to broadcast tv - w3
TRANSCRIPT
![Page 1: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/1.jpg)
Connected Labs
A Declarative Approach to BroadCast TV
Jean-Charles VerdiéSenior Director Connected Technologies
MStar Semiconductor, Inc.
![Page 2: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/2.jpg)
Connected LabsConnected Labs
Identifying value
![Page 3: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/3.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
![Page 4: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/4.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects
![Page 5: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/5.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects
![Page 6: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/6.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects
• Presentation engine become procedural-driven
![Page 7: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/7.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects
• Presentation engine become procedural-driven ... To handle a declarative list of channels
![Page 8: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/8.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects
• Presentation engine become procedural-driven ... To handle a declarative list of channels
![Page 9: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/9.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects
• Presentation engine become procedural-driven ... To handle a declarative list of channels
• More programmatic effort to achieve on the web application side
![Page 10: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/10.jpg)
Connected LabsConnected Labs
Identifying value
• More and more web-based technologies for UI and OTT
• Most if not all assume web browser seats on top of a full fledged middleware and interact with javascript bindings and specific objects
• Presentation engine become procedural-driven ... To handle a declarative list of channels
• More programmatic effort to achieve on the web application side• Increase communication & binding constraints between JavaScript
object / plugin and middleware
![Page 11: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/11.jpg)
Connected Labs
We won’t talk about
![Page 12: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/12.jpg)
Connected Labs
We won’t talk about
• How to trigger a tune or scan from web apps
![Page 13: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/13.jpg)
Connected Labs
We won’t talk about
• How to trigger a tune or scan from web apps
• OIPF (and others) address this
![Page 14: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/14.jpg)
Connected Labs
We won’t talk about
• How to trigger a tune or scan from web apps
• OIPF (and others) address this
• How to handle TV control (hue, brightness, ...)
![Page 15: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/15.jpg)
Connected Labs
We won’t talk about
• How to trigger a tune or scan from web apps
• OIPF (and others) address this
• How to handle TV control (hue, brightness, ...)
• How to handle DRM, CA, CI+,...
![Page 16: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/16.jpg)
Connected Labs
We’ll talk about
![Page 17: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/17.jpg)
Connected Labs
We’ll talk about
• How Channel list is handled by the industry right now
![Page 18: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/18.jpg)
Connected Labs
We’ll talk about
• How Channel list is handled by the industry right now
• Javascript interaction with some database which has been populated by the middleware
![Page 19: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/19.jpg)
Connected Labs
We’ll talk about
• How Channel list is handled by the industry right now
• Javascript interaction with some database which has been populated by the middleware
• Updates & Controls are quite a mess, require some event handling on both sides
![Page 20: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/20.jpg)
Connected Labs
We’ll talk about
• How Channel list is handled by the industry right now
• Javascript interaction with some database which has been populated by the middleware
• Updates & Controls are quite a mess, require some event handling on both sides
• Wait...
![Page 21: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/21.jpg)
Connected Labs
We’ll talk about
• How Channel list is handled by the industry right now
• Javascript interaction with some database which has been populated by the middleware
• Updates & Controls are quite a mess, require some event handling on both sides
• Wait...
• Isn’t XML aimed to store such information?
![Page 22: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/22.jpg)
Connected Labs
Our proposal
![Page 23: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/23.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing
![Page 24: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/24.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content
![Page 25: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/25.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather
than just exposing a database-backed object with Javascript API binding
![Page 26: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/26.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather
than just exposing a database-backed object with Javascript API binding
• Allow DOM-Level interaction with these objects, such as:
![Page 27: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/27.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather
than just exposing a database-backed object with Javascript API binding
• Allow DOM-Level interaction with these objects, such as:• Next/previous program
![Page 28: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/28.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather
than just exposing a database-backed object with Javascript API binding
• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management
![Page 29: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/29.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather
than just exposing a database-backed object with Javascript API binding
• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management• EPG access
![Page 30: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/30.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather
than just exposing a database-backed object with Javascript API binding
• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management• EPG access
![Page 31: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/31.jpg)
Connected Labs
Our proposal
• Decouple data storage and access from its construction and processing• Introduce the XML «channel» content• How to operate DVB-triplet (or equivalent) and interact with it rather
than just exposing a database-backed object with Javascript API binding
• Allow DOM-Level interaction with these objects, such as:• Next/previous program• favorite management• EPG access
• Create an obvious and ubiquitous way to integrate data from heterogeneous sources such as DVB, ATSC, IP & others, handling all of them under the same paradigm.
![Page 32: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/32.jpg)
Connected Labs
What it could look like
![Page 33: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/33.jpg)
Connected Labs
Name spaces declaration
Engine parsers should understand that type of page as an informational page for tv
<?xml version="1.0"?><webtv xmlns='http://www.w3.org/2011/webtv' xmlns:dvb='http://www.w3.org/2011/webtvdvb' xmlns:iptv='http://www.w3.org/2011/webtviptv'>
</webtv>
![Page 34: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/34.jpg)
Connected Labs
An hard-coded example of channels*
<html xmlns='http://www.w3.org/2011/webtv' xmlns:dvb='http://www.w3.org/2011/webtvdvb' xmlns:iptv='http://www.w3.org/2011/webtviptv'><body> <webtv> <dvb:channel id='chann1'> <name>ABC</name> <dvb:source>onid,pid,sid</dvb:source> <dvb:ait> <application>http://wwww.appToLaunch.com </application> <state>signalled</state> </dvb:ait> </dvb:channel>
<iptv:virtualChannel id='chann2'>
<name>ZDF</name> <iptv:channel id=‘chann2hd’> <iptv:source>http://www.zdf.com/streamingSD/video.m3u</iptv:source> </iptv:channel>
<iptv:channel id=‘chann2sd’> <iptv:source>http://www.zdf.com/streamingSD/video.m3u</iptv:source> </iptv:channel> </iptv:virtualChannel>
</webtv>
</body></html>
* don’t do that
![Page 35: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/35.jpg)
Connected Labs
An hard-coded example of channels*
* don’t do that
<dvb:channel id='chann1'> <name>ABC</name> <dvb:source>onid,pid,sid</dvb:source> <dvb:ait> <application>http://wwww.appToLaunch.com </application> <state>signalled</state> </dvb:ait> </dvb:channel>
<iptv:virtualChannel id='chann2'>
<name>ZDF</name> <iptv:channel id=‘chann2hd’> <iptv:source>http://.../streamingSD/video.m3u</iptv:source> </iptv:channel>
<iptv:channel id=‘chann2sd’> <iptv:source>http://.../streamingSD/video.m3u</iptv:source> </iptv:channel> </iptv:virtualChannel>
![Page 36: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/36.jpg)
Connected Labs
WebTV Object
![Page 37: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/37.jpg)
Connected Labs
WebTV Object
• Of course, in real life, WebTV object is not hard coded
![Page 38: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/38.jpg)
Connected Labs
WebTV Object
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
![Page 39: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/39.jpg)
Connected Labs
WebTV Object
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
![Page 40: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/40.jpg)
Connected Labs
WebTV Object
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
![Page 41: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/41.jpg)
Connected Labs
WebTV Object
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
• Control & integration is just about manipulation of a DOM object
![Page 42: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/42.jpg)
Connected Labs
WebTV Object
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
• Control & integration is just about manipulation of a DOM object
• JSON for deeper control
![Page 43: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/43.jpg)
Connected Labs
WebTV Object
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
• Control & integration is just about manipulation of a DOM object
• JSON for deeper control
• And smart people will extend it where they see fit
![Page 44: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/44.jpg)
Connected Labs
How to play
<html xmlns='http://www.w3.org/2011/webtv' xmlns:dvb='http://www.w3.org/2011/webtvdvb' xmlns:iptv='http://www.w3.org/2011/webtviptv'>
<body> <div class="video"> <video>
<source="#WebTVObject" type="video/x-webtv"><div class="panel"></div>
</video></div>
</body></html>
![Page 45: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/45.jpg)
Connected Labs
Example of a LCN/Virtual Channel
<video><source="#WebTVObject" type="video/x-webtv">
<track kind="broadcast_hd" src="chann1HD"> <track kind="broadcast_sd" src="chann1SD"> <track kind="subtitles" src="chann1subtitle">
<div class="panel"></div>
</video>
![Page 46: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/46.jpg)
Connected Labs
Video object
Attribute Description in our specific case
*channelTuning onid, pid, sid triplet or equivalent
*aitTable AIT Table information (DVB specific)
*EPGInformationObject In case an EPG data has been linked with the dvb:channel object, or with an higher level, it will also be made available to the panel class for display & processing purpose
*eitObject Object including informations retrieved from the eit (DVB specific)
![Page 47: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/47.jpg)
Connected Labs
Attribute Description in our specific case
readyState yes or no
seeking N/A if channel is viewed live (it could be used in PVR mode, still to be determined)
currentTime
startTime N/A (PVR)
duration
paused N/A (PVR)
Video object
![Page 48: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/48.jpg)
Connected Labs
Attribute Description in our specific casedefaultPlaybackRate N/A (PVR)playbackRate N/A (PVR)TimeRange playedTimeRange seekableended N/A
Video object
![Page 49: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/49.jpg)
Connected Labs
Attribute Description in our specific caseautoplay trueloop N/Aplay N/A (PVR)pause N/A (PVR)controls enhanced panel with specific channel managements
controls (program +/-, …)volumemuted
Video object
![Page 50: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/50.jpg)
Connected Labs
Conclusion
![Page 51: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/51.jpg)
Connected Labs
Conclusion
• Of course, in real life, WebTV object is not hard coded
![Page 52: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/52.jpg)
Connected Labs
Conclusion
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
![Page 53: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/53.jpg)
Connected Labs
Conclusion
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
![Page 54: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/54.jpg)
Connected Labs
Conclusion
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
![Page 55: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/55.jpg)
Connected Labs
Conclusion
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
• Control & integration is just about manipulation of a DOM object
![Page 56: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/56.jpg)
Connected Labs
Conclusion
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
• Control & integration is just about manipulation of a DOM object
• JSON for deeper control
![Page 57: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/57.jpg)
Connected Labs
Conclusion
• Of course, in real life, WebTV object is not hard coded
• It will require tight integration with Middleware to populate it
• Integration with native tuner & scan API (out of scope here)
• Can be extended to handle other content type (MHP, MHEG5, ATSC, ISDB, ...)
• Control & integration is just about manipulation of a DOM object
• JSON for deeper control
• And smart people will extend it where they see fit
![Page 58: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/58.jpg)
Connected Labs
![Page 59: A Declarative Approach to BroadCast TV - W3](https://reader031.vdocuments.us/reader031/viewer/2022020703/61fb32a22e268c58cd5b50c6/html5/thumbnails/59.jpg)
Connected Labs
Thank you