Application Development
Windows Media Center was designed as a programmable platform; other programs can tie into the Media Center UI using the WMC API, which is provided as a managed API. The functionality of Windows Media Center can be extended by three different types of applications:
- Windows Media Center Presentation Layer Applications
- These are managed applications written using the WMC API and packaged as CLI assemblies. Presentation Layer applications can have full access to both the .NET Framework as well as the Windows Media Center API, with the latter exposing a managed object model to access and manipulate the current states of the media management and playback, live television, video recording as well as the presentation capabilities of Windows Media Center. Presentation Layer applications are rendered using the bitmap-based Windows Media Center Presentation Layer, the user-input and presentation system of WMC. Presentation Layer includes support for animations, dynamic layout, keyboard/mouse as well remote navigation. Presentation Layer applications can be streamed over RDP to Windows Media Center Extenders; so Presentation Layer applications run on the extenders without any modification. Presentation Layer, however, exists only in the Windows Vista version of WMC.
- Presentation Layer applications are created using an XML based declarative markup language, known as Media Center Markup Language (MCML). MCML is used to define the user interface, with animation, text input, navigation, data binding, and local storage support available from the markup itself. If custom code or other functionality is required to implement a certain feature, CLI assemblies can be referred. Any CLI language can be used to write the code-behind assemblies that implement the required functionality. An MCML document defines the interface as a collection of
UI
elements, each exposing four attributes:Content
which defines what that UI element will display,Properties
to control the presentation aspects of the element,Locals
which enumerate the set of private state data for the element, andRules
which allow the attributes to be modified based on certain triggers. By modifying these attributes at runtime, either from markup or code behind classes, the interface is generated.
- Presentation Layer applications can either be locally installed, or downloaded from the web as necessary. However, in the latter case, the code is untrusted; only the .NET classes that are marked as safe for use by Internet-originating code can be used. Before an application can be used, it has to be registered with Windows Media Center. An application can either register itself as a top-level menu item, in any of the sub-menus (depending on the type of application), as an autoplay handler, into the Program Library (the menu category for all programs), or as a background application without a user interface running as long as a WMC session continues.
- XAML Browser Application
- WMC can also act as host for XAML Browser Applications (XBAPs), which are rendered in the WMC UI itself. XBAPs are rendered using the vector-based resolution-independent Windows Presentation Foundation component of .NET Framework 3.0. XAML Browser Applications have their UI written in XAML with code behind in any .NET language. XBAPs are also limited to Windows Vista. WMC provides limited support for streaming XBAPs to Windows Media Center Extenders. XBAPs have been declared deprecated in Windows Media Center SDK version 5.3.
- Hosted HTML Applications
- WMC can host Internet Explorer within its own UI (using WMC UI widgets) and can display web pages and web applications. This feature is supported in both Windows XP and Windows Vista. Web applications written specifically for being hosted in WMC can use a subset of the WMC API which is exposed via JavaScript. HTML applications are also not fully supported for streaming to extenders.
Read more about this topic: Windows Media Center
Famous quotes containing the words application and/or development:
“I conceive that the leading characteristic of the nineteenth century has been the rapid growth of the scientific spirit, the consequent application of scientific methods of investigation to all the problems with which the human mind is occupied, and the correlative rejection of traditional beliefs which have proved their incompetence to bear such investigation.”
—Thomas Henry Huxley (182595)
“They [women] can use their abilities to support each other, even as they develop more effective and appropriate ways of dealing with power.... Women do not need to diminish other women ... [they] need the power to advance their own development, but they do not need the power to limit the development of others.”
—Jean Baker Miller (20th century)