Introduction

Background

There is an increasing number of content and service providers worldwide that are deploying interactive video services based on web technologies. In order to achieve that, many organizations and companies have created profiles of web technologies suitable for use in a specific market and/or region. These profiles are supersets, subsets or both of several W3C specifications. Often these documents have been written without a direct involvement of relevant W3C working groups. Furthermore not always these different groups were aware of each other, leading to different profiles in different regions and markets. In some cases also extensions to web standards have been designed, leading to multiple incompatible solutions addressing the same use case.

The goal of this document is to reduce fragmentation and eliminate the needs for extensions, by providing a common meta-profile that allows external organizations to align with W3C and with each other. While is not possible to provide a profile that cover all needs of different organizations and stakeholders, this meta-profile tries to keep at a minimum the variables involved in defining new profiles, providing a common reference framework that different organization can reuse.

Design Goals

This sections list the goals that have driven the work on this document.

Avoid obsolesce

In the past decades, many attempts have been made to create profiles suitable for use in a specific market and/or region, particularly in the TV space, by external organizations. These groups have created documents which are supersets, subsets or both of several W3C specifications. Often, these external documents become obsolete when the W3C improves the related specifications since the W3C has little or no knowledge of these external documents. By working on a common TV profile within W3C it becomes easier to closely align external organizations with W3C and with each other and allows the W3C to move this profile forward on a regular basis to avoid obsolescence.

Improve interoperability

Use of web technologies in different markets and regions to create interactive TV services is increasing. TV services are not relegated anymore to TV sets and STBs but can be presented on a wide range of devices. Different organizations and companies have have defined their own profiles of web technologies that can be used in a given ecosystem to author content. These profiles are supersets, subsets or both of several W3C specifications. The proliferation of such profiles is making challenging to write content that works well across devices. By working on a common TV profile within W3C it becomes easier to closely align ongoing efforts of web based TV services in order to avoid fragmentation.

Coordinate deployments

The range of technologies available to web applications developers is theoretically wide. In practice, content developers have to fight with different levels of support of different specifications by different devices. This is inevitable since each implementer necessarily need to make a choice on what to implement and when. While in some ecosystems is fine to leave to each implementer to choose his own roadmap, in other ecosystems there is a need for coordination in order to harmonize the development cycle of the different stakeholders and provide a good user experience.

Provide a complete application environment

Many W3C specifications leave intentionally undefined some components that are essential to build a full application environment for interactive TV services. For example, the [[HTML5]] specification rely on "relevant specifications" to define rules for processing and rendering data coming from a media stream via an in-band track. Other examples of "variables" that are not specified in [[HTML5]] are supported video codecs or image formats. The same apply to other W3C specifications. Furthermore to provide a complete application environment, different specifications needs to be combined into one product, increasing the number of options and hence the level of fragmentation. This document aims to combine together relevant specification to provide a complete environment that can be used by different organizations as an application environment for their interactive TV services.

Do not reinvent the wheel

Some groups defined or discussed extensions to existing web technologies in order to cover use cases relevant for such groups. Sometime different groups have designed multiple incompatible extensions to cover the same use case. Other times what at a first look was identified as a gap in the web platform is resulted in actually being already supported reusing existing specifications. Since many use cases are common among different regions and organizations, by making the result of such analysis available in one document the risk that different groups defines new technologies to cover areas that are already well covered by existing specification (hence causing fragmentation) is reduced.

A tunable meta-profile

A profile document is generally beneficial for the industry because it provides a common environment that all different stakeholders can rely on with the ultimate goal of providing the best possible user experience. In doing this, several things need to be considered that sometimes go beyond technical standard activities and are rather close to business model of stakeholders. Furthermore, there are many different devices capable of presenting interactive TV services with different hardware capabilities that may also vary over time. Therefore is impossible to find a profile that suites all business models and devices. It is still beneficial though to identify and define all common parts in a meta profile that can be tuned as needed by other organizations, trying to keep the differences at a minimum.

Audience

...

Scope

The scope of this document is limited to:

The scope of this document is not to describe an entire operating system. In particular, hardware and software configuration that user would be expected to have on their devices are out of scope.

The scope of this document is not to describe a unique end-to-end delivery system. In particular, mandating a specific end-to-end network configuration (including network protocols, video codecs, video streaming technologies and so on) is out of scope for this document. Nonetheless this document may describe how some specific technologies may be combined together in order to provide a functional TV service.

Terminology

Definitions

For the purposes of the present document, the following definitions apply:

System Overview

This section gives and overview of the typical architecture of an interactive TV services delivery system. The level of detail of this section is general and abstract: there is no attempt to provide an in-depth technical explanation of each component and of the interaction between them. Also in practice some logical components may be combined into one, and some components may be missing in some deployments and/or regions.

The main goal of this profile is to simplify and harmonize the production and delivery of TV Services to web enabled devices. For the purposes of this document a TV service is a commercial video service that may include elements of interactivity and that provides a coherent user experience. TV services are usually divided into two main groups: scheduled or linear services are the ones that have to be consumed by the user at the particular point in time when they are offered (e.g. a broadcast TV channel); on-demand services are the ones that can be consumed by the user at any point in time (e.g. web video portals).

In order to consume them, users need a device that is able to present TV services. Traditionally TV services have been consumed via TV sets or STBs connected to a display. Nowadays users have a wide range of devices (e.g. PC, laptops,smartphones, tablets) available both in their home and outside and expect to be able to access to TV services from any device.

TV services can be delivered to users via a variety of means. The most common means is via a uni-directional TV broadcast network. Different standards have been defined for such purpose, such as DVB, ATSC, ISDB. TV services may also be delivered via bi-directional IP connections, mainly via the Internet. An emerging scenario is represented by content streamed directly between devices connected via the home network. The term home network refers to the networking infrastructure that facilitates communications between devices within the home. This will typically (but not always) be connected to the Internet.

To provide a level of interactivity, TV services may be associated to or delivered as applications.

Application model

For the purposes of this document the term application refers to a collection of documents and associated resources that are authored using a set of languages commonly referred to as "web technologies" or "web standards". In order to be able to run applications, devices implement an interactive user agent commonly referred to as browser. The set of languages supported by browsers conforming to this profile are listed in .

Launching applications

Packaged applications

While applications are commonly hosted on a Web Servers and the associated resources fetched by the browser when required, sometimes a single download and installation on a device is desirable. In order to enable this, devices MUST support the packaging format defined by the [[!WIDGETS]] specification. Widgets are typically downloaded and installed on a client machine or device and can run as stand-alone applications, but they can also be embedded into Web pages and run in a browser.

Application Environment

This section lists which languages are supported by browsers conforming to this profile and that can be used to author applications. Browsers may support more languages than the ones listed in this section.

HTML

HTML is the markup language used to describe documents on the web. This profile rely on the 5th revision of HTML, also known as HTML5.

The [[!HTML5]] specification defines conformance requirements for user agents and documents. Applications and authoring tools MUST comply with conformance requirements for documents unless differently specified in this document. Browsers MUST comply with conformance requirements for user agents unless differently specified in this document; in particular browsers MUST support the HTML syntax and the XHTML syntax for HTML documents as defined in [[!HTML5]].

Do we need support for both syntaxes or can we go just for the HTML syntax?

HTML5 (by design) does not provide mechanisms for media-specific customization of presentation although several mechanisms to hook into languages and technologies that allow such customization are provided. Languages that are expected to be supported by browsers in connection with HTML5 are listed in the following sections.

Scripting

Scripts are small programs that can be embedded into applications. While defining features that rely on scripting, HTML5 do not mandate support for scripting for all user agents. Furthermore scripting is defined using a syntax that in most cases is independent from the underlying scripting language. For such reasons, this profile add the following additional requirements:

CSS

The list below needs review

Support for CSS as a whole is not required by HTML5, even though some features are defined in terms of specific CSS requirements. The following sections list modules and parameters that browsers conforming to this specification have to support.

CSS Properties

Browsers MUST support [[!CSS21]].

CSS AT-rules

CSS3 Basic Box Model

CSS3 Basic User Interface

CSS3 Text Module

CSS3 Multi-column Layout

CSSOM View

CSS Device Adaptation (viewport)

CSS 'view-mode' Media Feature

Industry specifications may define additional mapping between CSS view modes and "system" view modes defined by such specifications

CSS Selectors

CSS3 Fonts

Are all features in CSS3 fonts stable enough to be implemented?
Browser MUST support [[!CSS3-FONTS]]. The [[!CSS3-FONTS]] module describes how font properties are specified and how font resources are loaded dynamically.

CSS3 Media Queries

The [[!CSS3-MEDIAQUERIES]] module extend the functionality of media types by allowing more precise labeling of style sheets. A conforming browser MUST support media queries as defined in [[!CSS3-MEDIAQUERIES]].
Maybe we want to list supported attributes anyway, in case more features are added to the spec after the profile is released.

CSS3 Backgrounds and Borders

This may need multiple subprofiles based on terminal capability
[[!CSS3-BG]]

CSS3 2D Transform

This may need multiple subprofiles based on terminal capability
[[!CSS3-2D-TRANSFORMS]]

CSS3 3D Transform

This may need multiple subprofiles based on terminal capability
[[!CSS3-3D-TRANSFORMS]]

CSS3 Transitions

This may need multiple subprofiles based on terminal capability

XML HTTP Request

Document Object Model (DOM)

Should be enough to rely on HTML5 here, i.e. on this section http://dev.w3.org/html5/spec/Overview.html#dependencies

Input Methods

Determine available input methods

I think we may want to be able to differentiate at least between these 3 set ups:

  • keyboard and mouse
  • touch screen
  • TV Remote
On the other end there are also mixed solutions. So another possible classification for input is:
  • Pointer based:
    • accurate pointing (mouse, trackball, stylus touch)
    • rough pointing (finger touch, wii)
    • no pointing
  • Key based:
    • full keyboard (desktop, laptop, blackberry)
    • limited keyboard (TV remote, nintendo ds, feature phones)
    • no keyboard

Some proprietary methods for some input methods exist, e.g. -moz-touch-enabled But there seem to be no universal method to determine input capabilities. Need to discuss this with relevant WGs (CSS, WebApps, WebEvents)

Traditional Remote Controls

Need to check the progress of DOM events in this area. See http://www.w3.org/TR/DOM-Level-3-Events/#remote-control

Touch screens

[[!TOUCH-EVENTS]]

Mouse and Keyboard

Other input devices

Content Developers Guidelines

Formats and Protocols

The aim of this section is to collect in one document the result of the discussion going on in different groups, like the HNTF or the MPTF of the web&tv IG. Therefore it should describe things like: and describe how these functionalities can be accessed by an application/user. If new specs needs to be written (as currently being discussed in different places) we need to decide if such specs should be part of this document or external documents referenced by this one (I prefer the second option). Note that ins some cases you have multiple protocols for the same functionalities, but we could still describe a unique way to expose such multiple protocols to the application/user.

Exposing Transport Metadata to Applications

Discovery and Communication with Home Network Services

Testing

Relevant test material can be found here:

Testing Infrastructure

Performances

Acknowledgements

Thanks to ... for their contributions to this document

Thanks to participants of the following groups for their feedbacks: Web and TV Interest Group