The user interface is a very important component of Digital Media devices, services and applications. The sleek user interface offered by Apple products is quoted as a key element for their success.
Recently user interfaces have evolved in two main directions: inclusion of more media types such as audio, video, 2D/3D graphics and rich media functionalities, and aggregating small dedicated applications called Widgets to create effective and user friendly interfaces. The “atomic” nature of widgets promises users homogeneous and unified experiences when they interact with their heterogeneous devices such as desktop computers, mobile devices, home appliances, TVs, STBs, tablets etc.
ISO/IEC 23007, also known as MPEG-U, defines a specification to exchange, control and communicate widgets with other entities. The standard is an extensions of the W3C specification for widgets packaging and configuration to support the following functionalities:
- Compatibility of the widget packaging format and configuration documents with the MPEG media types
- Transportability of widgets on any existing transport mechanisms (particularly MPEG file format and MPEG-2 TS)
- Applicability to domains other than Web (e.g. broadcast, mobile or home networking)
- Ability of a widget to communicate with other entities (including widgets) that are either remote or running in the same environment
- Ability to dynamically update the widget presentation or to display a widget in a dynamic and interactive simplified representation
- Mobility across devices while maintaining the state of the widget.
A definition of MPEG-U widget is “a self-contained computer code within a Rich Media User Interface endowed with extensive communication capabilities”.
Widgets can be processed by entities running on different devices, called Widget Managers, in charge of managing the life cycle of the widgets supporting communications with other entities locally or remotely deployed and enabling widget mobility across devices.
MPEG-U specifies normative interfaces between Widgets and Widget Managers, to allow Widgets from different service providers to run, communicate and be transferred within a unique framework.
The main elements of a Widget environment are:
|Manager||Tthe Widget “decoder” in charge of executing the Widget, communicating with Widgets or other entities|
|Manifest||An XML description containing all the information necessary for the Manager to process the Widget|
|Scene Description||A description of a multimedia presentation in terms of spatio-temporal layout, and interactions for use by the Widget|
|Presentation Engine||An entity processing the Scene Description to provide an animated and interactive behaviour for the Widget|
|Resource||A component of a Widget Manager or Presentation Engine required as a file or a stream to process and present the Widget|
|Package||The assembly of Manifest and associated Resources formatted for a particular transport (network or storage)|
|Context||A set of data needed to reproduce a state and preferences of a widget, e.g. after it is deactivated/reactivated, possibly by a different Manager|
|Representation||The Full or Simplified description of the widget appearance and behaviour, expressed in a Scene Description language|
The following walkthrough can be used to highlight the role of the elements defined above:
- The components of a Widget are available at a source
- A User interacting with a Device requests or, alternatively, the source pushes a particular instance of a Widget, whose components are: Manifest, Representation, Scene Description, Resources and Context
- The source packages the Widget for the specific transport
- The Widget is executed by the Manager and presented to the User
- The User interacts with the Widget triggering the delivery via streaming of Resources, their decoding and presentation using the Presentation Engine
- Interaction with User results in Context being updated
- The Widget may move to other Devices as a result of interaction with User and other Widgets
A graphical description of the MPEG-U components is provided by Fig. 1
Fig. 1 – A graphical description of the MPEG-U components