The Moving Picture Experts Group

Widgets

Standard: 
Part number: 
1
Activity status: 
Open
Technologies: 

MPEG Rich Media User Interface

 

MPEG doc#: N10978
Date: October 2009
Authors: Cyril Concolato (TELECOM ParisTech), Giovanni Cordara (TI Lab.), Kyungmo Park (Samsung Electronics Co., Ltd.)

    

1          Introduction

User interface represents a crucial feature for many consumer devices and services. User interfaces have recently evolved to support more media types including audio, video, 2D or 3D graphics and rich media functionalities. User interfaces are also evolving towards flexible and composite collections of small dedicated applications retrieved from different sources and aggregated into an effective and user friendly interface. Such applications are generally called Widgets. A widget is a self-contained living entity, with an interactive and dynamic visualization.

Additionally, more and more devices are capable of displaying rich media user interfaces from desktop computers, to mobile devices, to home appliances, including TV and IPTV-STB. In this heterogeneous environment, users expect a homogeneous, unified experience when interacting with their devices. This expectation of homogeneity covers four different exploitation domains: home network, broadcast, Web and mobile domains.

Starting from this assumption, ISO/IEC 23007, also known as MPEG-U, defines a specification for the exchange, the control and the communication of widgets with other entities. MPEG-U seeks to enable operators and manufacturers to consistently deliver a rich user experience across CE and mobile devices, and beyond.

This standard builds upon the W3C specification for widgets packaging and configuration. It extends it in several directions, described hereafter, to address a general purpose technology, exploitable in different application domains.

2          Background

In the commonly accepted meaning, a widget is a portable application that can be installed and executed within a separate environment without requiring additional compilation: widget are standalone applications (Software Widgets), executed in a runtime environment installed on the client device, or embedded in a Web page (Web Widget). Many widget technologies currently exist, both standard (e.g. W3C Widgets 1.0, Open Mobile Terminal Platform / BONDI, Open Ajax Alliance / Gadget Task Force, CEA-2014A / Web4CE) and proprietary (e.g. Yahoo! Widgets, Google Gadgets, Microsoft Gadgets, Opera Widgets, Apple Dashboard). Most of them rely on Web technologies such as HTML, CSS and JS or equivalent.

Trying to avoid excessive market fragmentation, and trying to exploit existing valuable standard technologies, the MPEG-U standard has been built as an extension of the W3C Widget standard (WPC) [1].

3          Differentiating factors with respect to existing Widget technologies

According to the vision given in the introduction, the MPEG-U standard intends to provide a general purpose technology exploitable in different application domains. For accomplishing this goal, innovative functionalities and related requirements have been identified to drive the standardization work, and are currently supported by MPEG-U. Such functionalities distinguish MPEG-U standard from existing Widgets technology, enabling its usage in heterogeneous scenarios, namely broadcast, mobile, home network and web domains: example of use cases that can benefit from the adoption of such functionalities are reported in the Context and Objectives document [2].

The key features supported by MPEG-U are the following:

  • Communication: interoperable communications between a widget and other entities, these entities being remote (e.g. UPnP/DLNA services [3]) or local services, or other widgets. This feature in particular is deemed extremely valuable since, through the usage of standardized interfaces, communication between services provided by different service providers, and exploitation of particular capabilities of the runtime environment (for example sending/receiving UPnP messages to communicate with other devices in a home network) are enabled.
  • Context Management: This feature allows widgets mobility across devices while maintaining the state and preferences of the widget. The possibility to save, restore, and transfer preferences within context information also allows personalization of the widget on different devices enabling a unified and homogeneous use of widgets.
  • Aggregation:  possibility to create sophisticated widgets that reuse and aggregate existing components, a component being another widget providing basic functionalities.
  • Flexibility: support for multiple media coding standards and multiple scene description languages (e.g. 2D or 3D content, MPEG-4 BIFS or MPEG-4 LASeR).
  • Transportability: support for carriage on any existing transport mechanisms, in particular those defined by MPEG (e.g. ISO base media file format and the MPEG-2 Transport Stream).

4          Widget architecture and technology

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.

The objective of MPEG-U standardization is to provide 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 overall architecture is depicted in Figure 1.

Figure 1 — Architecture of the MPEG-U standard.

On client devices, the Widget Manager, provides the following functionalities:

  • Processing widget packages;
  • Managing the life cycle of widgets;
  • Managing the communication between widgets and external entities;
  • And managing context information for widgets.

The presentation of a scene description of a widget is demanded to a presentation engine, an external entity interfaced with the Widget Manager running on the client device, able to parse and interpret the scene description language. Transport and coding functionalities are also handled by the Widget Manager, exploiting the networking modules and codecs existing on the client device.

According to the standard definition, a widget shall be made of:

  • A manifest, i.e. an XML description which serves as an entry point for the widget and provides metadata about the widget (e.g. author name, short title, …),  the format and the URL of the scene descriptions for the declarative representation of the UI,  description of the communication capabilities of the widget;
  • optional context information to be used for restoration on a same or different widget manager;
  • the main representation of widget, i.e. a set of resources (e.g. scene description data, images, text content, …), allowing a full featured presentation of the widget;
  • An iconic representation of the Widget.

In terms of packaging format, a MPEG-U widget can be delivered unpackaged, where the manifest and associated resources are delivered separately; or packaged. The packaged delivery may be used to avoid multiple connections to servers or for distribution convenience reasons. Widgets may be delivered using the packaged format defined by WPC or using a specific ISOFF-based packaged format. The ISOFF-based package is specified for widgets designed around central media resources and enables the playback of these media resources in widget-unaware clients.

MPEG-U is composed of two parts. Part 1 of the standard addresses the normative aspects of the MPEG-U Widgets. In particular, it specifies widget packaging formats, aspects for widget communications with external entities and for widget mobility. Part 2 of the standard addresses reference software and conformance aspects.

MPEG-U related documents are public, and can be downloaded from http://www.chiariglione.org/mpeg/working_documents.htm#MPEG-U.

References

[1] “Context and Objectives of Rich Media UI Framework v2.0”, http://www.chiariglione.org/mpeg/working_documents.htm#MPEG-U/

[2] “Widgets 1.0: Packaging and Configuration”, http://www.w3.org/TR/widgets/

[3] "Universal Plug and Play (UPnP)", http://www.upnp.org/resources/upnpresources.zip