This is Project Baird.

Locating MHEG and HTML applications related to programmes

  1. Construct a TVDNS or RadioDNS domain name for the current service

  2. Query DNS for the xrd application

  3. Download the manifest XRD and locate the feed related to the current service

  4. Download the feed for the current service

  5. Locate the atom:entry related to the current programme, using atom:link elements specifying rel="alternate" with an href attribute containing the current programme’s crid:// URI or some platform-specific URI (e.g., a dvb:// URL).

  6. Examine the atom:link elements within the entry for those which specify rel="related" (or equivalent, depending upon Atom’s parsing rules)

  7. Filter those atom:link elements matching the above by their type (based upon those content types supported by the device) and le:media (if present). The value of the type attribute should be one of the following:

    • text/html — HTML application
    • application/xhtml+xml — HTML application, XHTML serialisation
    • application/mheg — Compiled MHEG application (see note 6 below)
  8. Order the resulting set by preference based upon the available information (type, media query) and attempt to download the preferred match and its immediate dependencies.

  9. Present the application to the user.


  1. Broadcaster prerequisites:
    • TVDNS domains for the services it broadcasts are configured and registered with the TVDNS administrative body or hierarchical parent (e.g., platform operator), as appropriate
    • SRV and TXT records for the feed manifest have been published
    • Properly-populated feed manifest and service feeds are available
  2. See for a description of element, attribute and link relation extensions
  3. See the device profiles for information on anticipated content type support on different devices
  4. See Atom Link Extensions for information on the le:media attribute.
  5. Media queries are defined by the Atom Link Extensions specification to match those specified by CSS3
  6. The MIME type application/mheg should be augmented with a profile parameter, indicating the MHEG profile in use (e.g., application/mheg;profile="uk1.06". A list of known profile identifiers will be detailed separately.