WPF/E Technical Articles
"WPF/E" (Code Name) for Web Media Scenarios
 

Microsoft Corporation

December 2006

Applies to:
   "WPF/E" (code name) Community Technology Preview (CTP)

Summary: This white paper describes the benefits, features, and usage of the "WPF/E" (code name) Community Technology Preview (CTP) for delivery of rich audio and video experiences on the Web. (4 printed pages)

Contents

Introduction
Reaching Broader Audiences
Features
Example Media Scenarios with "WPF/E"
Developing "WPF/E" Media Experiences
Delivering Rich Media with "WPF/E" and Windows Media Technologies
Conclusion
More Information

Introduction

Microsoft is making broad investments in the user-experience (UX) capabilities of its platform and tools. As companies seek to differentiate their respective brands and deepen the connection with their customers, there are a number of new and existing scenarios that are enhanced by delivering rich and compelling user experiences. In addition to incorporating support for the Emmy® Award–winning Microsoft Windows Media technologies for cross-platform– and cross-browser–based playback, "WPF/E" provides a rich development framework for building a new wave of rich media applications that incorporate audio, video, animation, and graphics in a seamless way.

Note   In recognition of its contributions to streaming media, Microsoft was recently awarded a Technical and Engineering Emmy® Award from the National Academy of Television Arts and Sciences for Windows Media technologies. The award for Streaming Media Architecture & Components was announced by the National Academy of Television and will be formally delivered to winners at a ceremony held during the CES trade show, January 2007, in Las Vegas.

Reaching Broader Audiences

"WPF/E" (code name) provides designers and developers with a cross-platform solution for delivering richly interactive experiences for the Web and beyond. It is a key part of the next-generation Web platform from Microsoft, delivering visually stunning and interactive user experiences. It supports multiple operating systems (including Apple Macintosh OS X) and combines 2-D animation, video, and audio within a lightweight yet flexible browser plug-in (currently under 1 MB). The XML-based presentation (XAML) makes it easy to upgrade applications that are based on AJAX (Asynchronous JavaScript and XML) to take advantage of "WPF/E." This breaks rich Web-based applications out of the proprietary "black box" in which they exist today, by using XML (XAML) for presentation and AJAX for logic.

"WPF/E" Community Technology Preview (CTP) is a freely available download. For more information, visit the "WPF/E" Web page.

The December CTP package will expire on February 18, 2007. Upon expiration, an expiration notice will appear, and users will be required to upgrade by using the freely available download from Microsoft. Web developers will be able to offer the update programmatically, making the experience easy for their users.

Note   The December CTP is for evaluation and feedback purposes, and is not intended (or licensed) for live deployment.

Features

Features of the "WPF/E" CTP include:

  • Enhanced Web audio/video playback with industry-leading and Emmy® Award–winning Windows Media technologies, tapping into the existing ecosystem of tools, servers, and solutions, as well as new features for interactive video, overlays, presentation, and more.
  • Cross-platform, cross-browser presentation with a friction-free installer (the CTP plug-in is a simple browser plug-in). It is supported on Microsoft Windows Vista, Microsoft Windows XP, and Macintosh OS X 10.4.8 or later, for both PowerPC and Intel hardware, using a Universal binary. For browsers, "WPF/E" supports all versions of Microsoft Internet Explorer, Mozilla Firefox, and Safari.
  • Easy integration with client-based and server-based AJAX (Asynchronous JavaScript and XML) solutions, including ASP.NET AJAX, so that developers can use standards-based techniques to create Web-based experiences that are enhanced with "WPF/E" seamlessly. You can take existing standards/AJAX–based applications and enhance the presentation with richer graphics and media.
  • Broad tools support for designers, developers, and video professionals that tap into Web standards, and a breadth of Microsoft application platform features.
  • For designers, Expression Design (CTP) and Expression Blend (Beta) for creating inline XML markup (XAML)–based rich interfaces and media controls. Use Expression for design based on Web standards, using XHTML, XML, XSLT, and ASP.NET for building compelling, modern Web sites.
  • For video professionals, Expression Media, a professional digital-asset management and video-encoding solution optimized for publishing of "WPF/E"–enhanced video (available in 2007).
  • For developers, support based on Microsoft Visual Studio for Web standards development, including ASP.NET AJAX with full IntelliSense editing technology for client and server code.
  • Access to Microsoft's broad-platform ecosystem, including around-the-clock support, servers, solutions, technical resources, and community.

For more information about Microsoft Expression design software, visit the Microsoft Expression Web page.

Example Media Scenarios with "WPF/E"

The following list includes examples of the some of the types of experiences that can be enhanced by using "WPF/E" for cross-platform, cross-browser delivery:

  • Web media player with custom-branded look and feel, custom controls (play/pause), overlays for ratings, suggested clips, album-art presentation, and dynamic banner-ad rotation, organically integrated into existing Web experiences
  • Interactive product presentations and galleries with video and/or audio elements reaching targeted audiences
  • Web-based video-editing solutions (end-user or line-of-business) that are flexible enough to support a broad range of client operating systems and browser types
  • Cross-platform casual and interactive games that integrate audio and video directly into game play or cut scenes for storyline development
  • E-learning and corporate-training solutions designed to provide an inviting, rich presentation of integrated video flexible enough to integrate with existing solutions
  • This is just a small sample of the scenarios that are enabled by using "WPF/E." In most cases, you can enhance existing applications that use AJAX, JavaScript or JScript, and HTML with "WPF/E" inline.

Developing "WPF/E" Media Experiences

Microsoft recommends the Windows Presentation Foundation (WPF), part of Microsoft .NET Framework 3.0, for building rich, immersive applications and experiences that can take full advantage of the Windows platform, including user interface, media, offline communication, and document support. However, if you want broad-reach interactive media content and browser-based experiences, use "WPF/E" instead. Developers can easily transfer their skills from designing an experience in WPF, building Web applications and AJAX techniques, to designing "WPF/E" applications.

AJAX is a fundamental technology that works in conjunction with "WPF/E" and ASP.NET. "WPF/E" can talk to any AJAX application, on both the client side and the server side. In addition, you can use ASP.NET AJAX to control "WPF/E"–based visualization of data or delivery of rich experiences. Examples might include mapping applications, or video playback with rich presentation.

Developers and designers will also experience increased productivity and collaboration through inline XML markup (XAML), Visual Studio, and Microsoft Expression Designer tools. XAML is the foundation of WPF in .NET Framework 3.0 and "WPF/E." Microsoft Expression Studio provides features for designing both WPF and "WPF/E" applications. You can use Expression Design, which is the designer tool to create vector-based graphic elements, for creating the visual elements. You can program the design with code by using either Expression Blend, which is the designer tool to design WPF and "WPF/E," or Visual Studio.

When authoring "WPF/E" for different platforms, the development experience is very similar. XAML is used with a programming model to make the design interactive. When embedding into a Web page, different platforms might require different yet common considerations to include "WPF/E" in the experience. For instance, Internet Explorer and Firefox have different plug-in models. The integration of the component with the hosting platform is platform-specific, but as a component the "WPF/E" application is a cross-platform entity.

"WPF/E" also offers an improved programming model, including:

  • Enhanced user-interface capabilities.
  • Improved performance.
  • Better development and debugging capabilities.
  • Support for the .NET Framework coding and execution on the server with ASP.NET and, in the future, also on the client (as en enhanced programming model for the browser).

For the final release, ASP.NET AJAX and "WPF/E" will be fully supported by Microsoft, with the benefits of around-the-clock technical support and the breadth of support of the Microsoft development community.

"WPF/E" works with any server, just like AJAX, to make Web pages feel more responsive by exchanging small amounts of data with the server behind the scenes. Thus, the entire Web page does not have to be reloaded each time the user makes a change. This is meant to increase interactivity, speed, and usability of the Web page.

Delivering Rich Media with "WPF/E" and Windows Media Technologies

"WPF/E" adds video and audio capabilities to AJAX-style Web applications. Video and audio content can be progressively downloaded and played back from any Web server platform. However, in the final release of "WPF/E," when Microsoft Windows Server–based distribution is used, you can take advantage of Windows Media Services with Fast Streaming (instant playback) and Fast Reconnect technologies, lower distribution costs (because streaming users only download what they watch), and the ability to tap into the full Windows Server ecosystem of platform components and solutions.

The "WPF/E" Web client is a separate component and works independent of any media player. This "WPF/E" component addresses the need for cross-platform, browser-based, rich media scenarios that contain integrated audio and video. The CTP release supports Windows Media Audio and Video 9, and some common profiles of the SMPTE-standard VC-1 codec. Support for MP3 audio and additional formats might be available for the final release, based on customer feedback.

High-Definition (HD) video quality is within the range of playback capabilities. However, as with other platforms, it will be dependent upon CPU capabilities. In order to provide a consistent experience across a broad range of hardware, "WPF/E" uses only the main CPU for rendering of audio and video in this release. For high-definition, 3-D–accelerated video playback, .NET Framework 3.0 (WPF) and/or Windows Media Player are recommended solutions.

Conclusion

Microsoft recognizes the importance of digital media as a part of its technology platform offering. As with other core platform investments, digital media has matured to the point of being an integrated part of the larger Microsoft ecosystem, from operating systems to devices. Windows Media continues to be the brand and technology for the Microsoft audio and video platform. As with other Microsoft offerings, such as Xbox game systems, Windows Media Center, and .NET Framework 3.0, "WPF/E" will take advantage of Windows Media platform features where customers report a significant business need.

More Information