31
Silverlight & Advertising Eric Schmidt Senior Evangelism Manager Microsoft Corporation Dan Penn Principal Program Manager Microsoft Corporation

Poll Focus for this session Development methodology for rich media and in- stream advertising from a Silverlight 2 POV This is a “How To” session Looking

Embed Size (px)

Citation preview

Silverlight & AdvertisingEric SchmidtSenior Evangelism ManagerMicrosoft Corporation

Dan PennPrincipal Program ManagerMicrosoft Corporation

Agenda

PollFocus for this session

Development methodology for rich media and in-stream advertising from a Silverlight 2 POVThis is a “How To” session Looking for feedback to help shape final product

Highlight 3rd party perspective

Ad Template

demo

Basic Visual Studio & Silverlight Concepts

Project typesReferencesResources & PackagingInitParams

Creating Silverlight AdsHow To’s

Creating “Polite” AdsAdding Cross-Domain SupportTracking EventsHandling Click-Thrus

How ToPolite Download

What is a “polite” ad?Guidelines:

Two pieces: Polite & IncrementalRender 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)

Polite DownloadSplash Screen

Create a lightweight XAML/Javascript (Silverlight 1) application as splash screenWhile splash screen is displayed it begins downloading the incremental Silverlight 2 applicationAfter incremental portion is downloaded, it replaces the polite portion of the application

Polite DownloadXAP Loads XAP

Polite ad is downloaded quicklyPolite ad can selectively download:

A new fully functional creativeSpecific components as needed

WMV, XAP, PNG, JPG, GIF, etc.

How ToCross-Domain Support

Ads are generally sourced and tracked at different domains from the page contentDefault = Access DeniedA cross-domain policy file = Access AllowedPolicy file resides in each domain to grant accessNotes:

If a basic Flash policy file exists, Silverlight will honor itAdvanced policies can be defined in a Silverlight-only file:

ClientAccessPolicy.xml

How ToTracking Events

Rich Event Model:Mouse interactionContainer state (size, shape, etc.)

Actions:Click-Thrus spawn a new web page when more information is requested by userPings sent to ad tracking server to register activity

Silverlight Overlays

Mark KapczynskiVP & GM InStream Solutions

demo

EyeWonder Interactive Digital Advertising

EyeWonderAd

Solutions

In-Page

In-Stream

Partners

Custom Format

s

Ad Serving

Professional

Services

Publisher Support

In-Stream Advertising Roadmap

Pre-Roll

In-Stream Web

In-Stream Media Players

IPTV

In-Stream Advertising

Pre-Roll Post-Roll

Pre-

RollVideo Pt. 1

Mid-

RollVideo Pt. 2

Post -

Roll

Consumer Interactivity

Pre-Roll:

In-Stream:

Ticker TickerBar

Bug

EyeWonder Ad Workflow

Concept CreationWorking with the Agency and Brand, EW brings online ad experience to the process

Design and ProductionUsing AdWonder, EW helps you build your ads

QAComparing against publisher site specs, EW ensures ad compatibility

TrafficUsing the media plan, EW sends the ad and tags to the publish to run

ReportingEW collects valuable interactivity data about how consumers engaged with the live ads

EyeWonder @ MIX

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 Player - Flash Ad

Silverlight 2 Application (windowless)Flash 8 Interactive AdJavascript Interaction

Passing a call from Flash to Silverlight

//ActionScriptExternalInterface.call(“pauseVideo”);

//JavaScriptfunction pauseVideo(){

mySilverlightHost.Content.myApp.PauseVideo();}

//C#[ScriptableMember()]public void PauseVideo(){

this.backgroundMediaElement.Pause();}

Silverlight Player and Ad

Silverlight 2 ApplicationPlayer – Media ElementAd – Separate Silverlight LibraryWebClient for On-Demand retrieval of Ad

Silverlight On-Demand Content

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);

}

PS3 Interactive Ad

XAMLMedia ElementsImagesPolygonsStoryboard Animations

C# code behindEvent HandlersLogic

Interactive Video Selection

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;

}}

PlaylistsClient-side Playlists Streaming Playlists Web Playlists

Description A playlist that is delivered from a Web (or streaming server) and resides on the client PC.

A playlist that resides on a streaming media server. (Also known as Server-side playlists)

A playlist that is requested from a Web server that returns a client side playlist (ASX) with obfuscated URLs.

Delivered From Streaming (WMS) or Web server (IIS)

Windows Media Services (WMS)

IIS7 Media Pack

File Type .ASX . WSX .ISXPros Simple to author and

deploy.Hides the location of each media asset from the client. Seek/Skip can be disabled for ad scenarios.

Hides the location of each media asset from the client. Seek/Skip can be disabled for ad scenarios.

Cons 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.

Expression EncoderSupport for Advertising

Ability to “bake” overlaid elements into encoded videoExample Elements:

XAMLAlpha channel video (Quicktime)

Scripts & MarkersMediaElement eventing model

Media state changesScript events

Panache Ad Builder

Jonathan TabakDirector of Product DevelopmentPanache

demo

Timeline Animation TrackingMichael ScherotterDeveloper EvangelistMicrosoft

demo

Related Sessions

Integrating Media in Silverlight Applications

Thursday @ 8:30 AM, San Palo 3501AMonetization 101

Thursday @ 10:15 AM, Delfino 4003Overview of Microsoft Ad Formats

Thursday @ 2:30 PM, Delfino 4003Overview of Expression Encoder V2

Friday @ 8:30 AM, Delfino 4005Future of Advertising Technology

Friday @ 8:30 AM, Lando 4201

Takeaways

Silverlight 2 provides a comprehensive programming model for rich media and in-stream 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.

Contacts

Mark KapczynskiVP & GM InStream [email protected]

www.eyewonder.com/instreamwww.eyewonder.com/is2 (demos)

Jonathan TabakDirector, Product [email protected]

Eric [email protected]

Dan [email protected]

Michael Scherottermischero @microsoft.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.