Poll Focus for this session Development methodology for rich media and instream advertising from a Silverlight 2 POV This is a “How To” session Looking for feedback to help shape final product Highlight 3rd party perspective Project types References Resources & Packaging InitParams How To’s Creating “Polite” Ads Adding Cross-Domain Support Tracking Events Handling Click-Thrus Polite Download What is a “polite” ad? Guidelines: Two pieces: Polite & Incremental Render quickly (don’t “block” the page) Fast initial load time (small initial file size) Incremental elements downloaded later Options: Splash Screen (XAML/Javascript) Small Silverlight 2 app (XAP loads XAP) Splash Screen Create a lightweight XAML/Javascript (Silverlight 1) application as splash screen While splash screen is displayed it begins downloading the incremental Silverlight 2 application After incremental portion is downloaded, it replaces the polite portion of the application XAP Loads XAP Polite ad is downloaded quickly Polite ad can selectively download: A new fully functional creative Specific components as needed WMV, XAP, PNG, JPG, GIF, etc. Cross-Domain Support Ads are generally sourced and tracked at different domains from the page content Default = Access Denied A cross-domain policy file = Access Allowed Policy file resides in each domain to grant access Notes: If a basic Flash policy file exists, Silverlight will honor it Advanced policies can be defined in a Silverlightonly file: ClientAccessPolicy.xml Tracking Events Rich Event Model: Mouse interaction Container state (size, shape, etc.) Actions: Click-Thrus spawn a new web page when more information is requested by user Pings sent to ad tracking server to register activity In-Page InStream Publisher Support Professional Services EyeWonder Ad Solutions Ad Serving Custom Formats Partners IPTV In-Stream Media Players In-Stream Web Pre-Roll Pre-Roll: PreRoll Video Pt. 1 In-Stream: PreRoll MidRoll Post Roll Video Pt. 2 Consumer Interactivity Bug Ticker Ticker Bar PostRoll Concept Creation Working with the Agency and Brand, EW brings online ad experience to the process Design and Production Using AdWonder, EW helps you build your ads QA Comparing against publisher site specs, EW ensures ad compatibility Traffic Using the media plan, EW sends the ad and tags to the publish to run Reporting EW collects valuable interactivity data about how consumers engaged with the live ads Support for customers using Flash Ads today and helping them use Silverlight to build next-gen ads Demos: Flash Ad overlay on Silverlight Player Silverlight Ad overlay on Silverlight Player Silverlight 2 Application (windowless) Flash 8 Interactive Ad Javascript Interaction //ActionScript ExternalInterface.call(“pauseVideo”); //JavaScript function pauseVideo(){ mySilverlightHost.Content.myApp.PauseVideo(); } //C# [ScriptableMember()] public void PauseVideo(){ this.backgroundMediaElement.Pause(); } Silverlight 2 Application Player – Media Element Ad – Separate Silverlight Library WebClient for On-Demand retrieval of Ad webClient.OpenReadAsync(new Uri(“PS3.dll”)); private void wc_OpenReadCompleted( object sender, OpenReadCompletedEventArgs e){ AssemblyPart part = new AssemblyPart(); part.Load(e.Result); DisplayAdFromAssembly(); } private void DisplayAdFromAssembly(){ PS3Ad ad = new PS3Ad(); this.canvas.Children.Add(ad); } XAML Media Elements Images Polygons Storyboard Animations C# code behind Event Handlers Logic private void timer_Completed(object sender, EventArgs e) { this.menuHideStoryboard.Begin(); switch(this._video) { case PS3Video.Bluray: this.videoBGMedia.Source = new Uri(“video/BG_Bluray.wmv”); this.trailerMedia.Source = new Uri(“video/bluray.wmv”); break; case PS3Video.NBA: this.videoBGMedia.Source = new Uri(“video/BG_nba.wmv”); this.trailerMedia.Source = new Uri(“video/nba.wmv”); break; } } Description Delivered From File Type Pros Cons Client-side Playlists A playlist that is delivered from a Web (or streaming server) and resides on the client PC. Streaming Playlists A playlist that resides on a streaming media server. (Also known as Server-side playlists) Web Playlists A playlist that is requested from a Web server that returns a client side playlist (ASX) with obfuscated URLs. Streaming (WMS) or Web server (IIS) .ASX Simple to author and deploy. Windows Media Services (WMS) . WSX Hides the location of each media asset from the client. Seek/Skip can be disabled for ad scenarios. IIS7 Media Pack URLs for playlist items are exposed to the client. Ads can be skipped. Not yet supported in Silverlight 2. Lacks some advanced features of WMS streaming playlists. .ISX Hides the location of each media asset from the client. Seek/Skip can be disabled for ad scenarios. Support for Advertising Ability to “bake” overlaid elements into encoded video Example Elements: XAML Alpha channel video (Quicktime) Scripts & Markers MediaElement eventing model Media state changes Script events Integrating Media in Silverlight Applications Thursday @ 8:30 AM, San Palo 3501A Monetization 101 Thursday @ 10:15 AM, Delfino 4003 Overview of Microsoft Ad Formats Thursday @ 2:30 PM, Delfino 4003 Overview of Expression Encoder V2 Friday @ 8:30 AM, Delfino 4005 Future of Advertising Technology Friday @ 8:30 AM, Lando 4201 Silverlight 2 provides a comprehensive programming model for rich media and instream advertising scenarios. Ad format innovation is in your hands. Strong 3rd party support for Silverlight from rich media, ad serving and publishing partners. Now is the time to evolve your workflow. Eric Schmidt eschmidt@microsoft.com Dan Penn danpenn@microsoft.com Michael Scherotter mischero @microsoft.com Mark Kapczynski VP & GM InStream Solutions markkap@eyewonder.com 424-731-2528 www.eyewonder.com/instream www.eyewonder.com/is2 (demos) Jonathan Tabak Director, Product Development jtabak@panachetech.com www.panachetech.com © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.