RE: HbbTV 2.0 Specification Announcement

Hello all,

Apologies that I have been quiet since joining - I've been trying to catch up on some of the background that has led the group to where it is now. I will try to write up some notes on the wiki summarising this, and other issues regarding HbbTV's "app-to-app" communication mechanism in advance of the Berlin F2F.

See inline comments below ...


> Hi Mark,
> 
> Broadcast Independent Applications are Internet delivered HTML Applications that have access to features specified in HbbTV spec but not related to any broadcast channel or other broadcast data. Broadcast Independent Applications are identified either by the URL of the HTML document (e.g. 
> http://www.example.com/whizzo-app.html ) or the URL of the AIT XML Document (e.g. http://www.example.com/whizzo-ait.xml

> ) as you mentioned in your example below. There are different ways to start a Broadcast independent Application (see section 6.2.2.6.1 of the HbbTV 2.0 Spec for more details). To launch from companion screen  the AIT XML must be sent in the Body . The elements <mhp:orgId> and <mhp:appId> are mandatory (Valid organization Ids are registered on dvbservices.com [1]). To launch the Application only the elements  <mhp:URLBase> and  <mhp:applicationLocation> are relevant. But the TV manufacture may Check first if <mhp:orgId> and <mhp:appId> are valid are not. If they are not valid, the Application may not be started. In our case in Presentation API, in addition to the presentationUrl, we need to know the values of mhp:orgId and mhp:appId in order to construct the AIT XML.  I hope this answers your question.

My understanding is slightly different. The TV's launch yes/no decision is based solely on the URL provided and a combination of having a list of pre-approved applications and asking for explicit user permission ... perhaps not that different from what some browser vendors might choose to implement.

The URL is encoded in the <mhp:URLBase> element (a child of the <mhp:applicationTransport> element) and in the <mhp:applicationLocation> element. In 14.6.2 of the HbbTV spec it states the following:

"""
In cases of pre-approval, at the time of approval, the <applicationTransport> and <applicationLocation> elements from the XML AIT shall be stored.

At the time launching is requested, the terminal shall determine if an application is pre-approved by comparing the complete <applicationTransport> element and of that part of the <applicationLocation> element excluding any query or fragment from the request to launch an application with the set of pre-approved values. If a match is found for both of these then the application shall be considered pre-approved regardless of mismatches in other values from the XML AIT.

If a requested application is not pre-approved then terminals that support explicit approval by the user to launch the application at the time the launch request is made shall ask the user for that explicit approval.
"""

This means that in practice, other elements such as the <mhg:appId> and <mhp:orgId> are ignored for the purposes of application launch. To a certain degree, the XML AIT can therefore be thought of as part of the messaging protocol for conveying the URL (but see caveat below).

> I don´t know why Launching Broadcast Independent Applications from Companion Screens using only the URL of the HTML document is no supported ☹.

I hope I've argued that in practice it is.

<mhp:appId> and <mhp:orgId> are, however, important for certain HbbTV specific actions that an application may wish to take. The following is an example Use case showing one way in which we (and other broadcasters) might wish to use this presentation API:

1. The User is browsing the broadcaster's website on a phone/tablet/PC giving information about a TV show being broadcast right now.
2. The User also sees a button is available to start viewing on the TV.
3. The User presses this button, causing an HTML app to be launched on the TV.
4. The HTML app on the TV uses HbbTV specific functionality to convert itself from a "broadcast independent" app to a "broadcast related" app and is therefore able to tune to the required live TV broadcast channel. 

For this to work, <mhp:appId> and <mhp:orgId> values (as well as the URL) must match the values carried in the broadcast signalling.


> Louay
> 
> [1]: 
> http://www.dvbservices.com/identifiers/mhp_organisation_id

> 





regards


Matt

-- 
| Matt Hammond
| Senior Research Engineer, BBC R&D, Centre House, London
| http://www.bbc.co.uk/rd/

Received on Wednesday, 8 April 2015 13:06:20 UTC