Advanced Content is written using the declarative XML language and the imperative ECMAScript language. Advanced Content applications are very similar in structure to AJAX applications on the web, using a combination of script and markup in an asynchronous execution model. A "page" is created using markup and it can be modified over time based on user input, the progression of the movie, and so on. A new "page" may be loaded as needed (e.g., when switching to a different part of the application) and the process starts again.4
Advanced Content includes an XML element grammar based on HTML for content such as images, buttons, text, etc.; An XML attribute grammar based on CSS and XSL to describe layout, color, font types, etc.; and an element and attribute grammar based on SMIL for timing, animation, eventing, and synchronization. Whilst it is possible to write complex, interactive pages using only the declarative XML dialect, any interactions with the player itself (e.g., to change audio language or jump to a new title) requires imperative code written in ECMAScript.
To support the ECMAScript code, Advanced Content defines a large number of objects, properties, and methods ("APIs") that are analogous to the DOM in a web browser; these APIs allow the script to query and control the player, animate the markup page, respond to user events, and connect to the internet to download new content such as trailers, cast & crew bios, or other information.
HDi (formerly iHD5) is Microsoft's implementation6 of the Advanced Content interactivity layer in HD DVD.7 It is used in the Xbox 360 HD DVD add-on as well as stand-alone HD DVD players.8
Applications written for HDi are written using the XML dialect and ECMAScript, the latter of which is processed by the JScript engine when running on Microsoft Windows platforms. The HDi runtime exposes the APIs defined by the Advanced Content standard. It provides only a single threaded programming model, though certain operations (such as network and persistent storage access) are executed as asynchronous operations.9
An HD DVD movie, including the interactive functionality, is presented as an Advanced Content application, which is executed and rendered by the HDi runtime. The advanced content application consists of the playlist files (.xpl), subtitles (.xas), markup files (.xmu) and scripts (.js) in addition to the actual video, in a defined directory structure. The HDi runtime parses the markup and the scripts to execute the action. The playback of the video, along with its integration with the rest of the navigation system, is initiated from and controlled by script code.
The HDi runtime is responsible for execution and final rendering of the movie playback and navigation application. The markup is parsed into a Document Object Model, which allows ECMAScript code to control and modify the UI layout during execution. By dynamically altering the layout of UI widgets is how animations and interactivity is achieved. The DOM and associated APIs is used to enable other scenarios such as pausing playback and replacing it with the navigation UI, or seeking to a certain area in the movie (used for either manual seek or seeking to bookmarks). For the rendering stack, it presents six planes (which are containers for graphics) that are layered in front of each other. The final image displayed is the composition of the images from the individual planes. The composition of the planes into the final image is handled by the HDi runtime. These rendering layers, from back to front, are:
Microsoft does not provide design tools for development of HDi applications, though third parties have made such tools available. Because the components used by Advanced Content (and HDi) - XML, XSL-FO, XPath, ECMAScript - are widely used, any development tool supporting these can be used to develop HDi applications. However, Microsoft has made an HDi simulator available as a free download, as a part of the HD DVD Interactivity Jumpstart Kit, to let users author and debug HDi content on computers running Windows XP, although this is not intended as a full authoring tool nor a playback device.
HDi is not inherently limited to being used on optical media; it can be used on media delivered or streamed over the Internet or any other network. In fact, on October 4, 2007, Toshiba and Microsoft announced the creation of the Advanced Interactivity Consortium (AIC) to "extend and promote interactive experiences beyond optical media to new platforms."10
The Advanced Interactivity Consortium (AIC) was to be an open forum designed to extend the Advanced Content interactive capabilities of HD DVD to new devices and delivery mechanisms. It was jointly announced by Toshiba and Microsoft on October 4, 200711 but never implemented. The companies included in the announcement included:
Some examples of Advanced Content on HD DVD are:
"Amir Majidimehr describes the genesis of HDi". Archived from the original on 2007-10-30. https://web.archive.org/web/20071030082556/http://hddvd.highdefdigest.com/feature_microsofthddvdinterview.html ↩
"Requirements Specification for HD DVD Video Application" (PDF). Retrieved 2007-10-03. http://www.dvdforum.org/images/Requirements%20Specification%20for%20HD%20DVD%20Video%20Application-July2005.pdf ↩
"Microsoft Announces Use of HDi Logo by Toshiba and Hollywood Studios". http://www.cdrinfo.com/Sections/News/Details.aspx?NewsId=21456 ↩
HD DVD scenarios from the DVD Forum http://www.dvdforum.org/images/Requirements%20Specification%20for%20HD%20DVD%20Video%20Application-July2005.pdf ↩
Engadget:iHD, HDi? Nope it's called Advanced Navigation http://www.engadgethd.com/2007/01/25/ihd-hdi-nope-its-called-advanced-navigation/ ↩
"Trademark press release". Microsoft. Archived from the original on 2008-01-01. Retrieved 2018-07-25. https://web.archive.org/web/20080101235524/http://www.microsoft.com/presspass/press/2007/Sep07/09-20HDiTrademarkPR.mspx ↩
"Microsoft Announces Use of HDi Logo by Toshiba and Hollywood Studios". Retrieved 2007-10-04. http://www.cdrinfo.com/Sections/News/Details.aspx?NewsId=21456 ↩
Peter Torr. "Maintaining Callback Semantics". Retrieved 2007-12-04. http://blogs.msdn.com/ptorr/archive/2007/10/24/maintaining-callback-semantics.aspx ↩
"Toshiba and Microsoft Announce Plans to Form Advanced Interactivity Consortium". Microsoft. Archived from the original on 2007-10-24. Retrieved 2018-07-22. https://web.archive.org/web/20071024153611/http://www.microsoft.com/presspass/press/2007/oct07/10-04MSToshibaAICPR.mspx ↩
"Toshiba and Microsoft Announce Plans to Form Advanced Interactivity Consortium". Microsoft. Archived from the original on 2007-10-24. https://web.archive.org/web/20071024153611/http://www.microsoft.com/presspass/press/2007/oct07/10-04MSToshibaAICPR.mspx ↩
""U-Control" Up Close: A Field Report". Archived from the original on 2007-10-27. https://web.archive.org/web/20071027172146/http://hddvd.highdefdigest.com/feature_ucontrolupclose.html ↩
"Unique features announced for Shrek on HD DVD". http://www.nxtbook.com/nxtbooks/questex/hom093007/index.php?startpage=32 ↩
"HD DVD to Launch Online Shopping Feature". NBC News. https://www.nbcnews.com/id/wbna21111423 ↩