Come learn how advertisers, vendors, and publishers are using Microsoft Silverlight to create amazing rich media and monetize in-stream video ads. This session covers popular topics including packaging content for ad servers, Silverlight and Flash co-existence, using Microsoft Expression Encoder to create innovative in-stream experiences, time- vs. frame-based tracking, and more.
Presentation on how to chat with PDF using ChatGPT code interpreter
Silverlight and Advertising
1.
2. 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 for feedback to help shape final product
Highlight 3rd party perspective
5. How To’s
Creating “Polite” Ads
Adding Cross-Domain Support
Tracking Events
Handling Click-Thrus
6. 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)
7. 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
8. 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.
9. 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 Silverlight-
only file:
ClientAccessPolicy.xml
10. 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
11.
12. In-Page
In-
Publisher
Stream
Support
EyeWonder
Ad
Professional
Services
Solutions Partners
Ad Custom
Serving Formats
13. IPTV
In-Stream Media Players
In-Stream Web
Pre-Roll
14. Pre-Roll:
Mid- Post -
Pre-
Video Pt. 1 Video Pt. 2
Roll Roll
Roll
In-Stream:
Consumer
Interactivity
Bug
Pre- Post-
Bar
Roll Roll
Ticker
Ticker
15. 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
16. 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
19. Silverlight 2 Application
Player – Media Element
Ad – Separate Silverlight Library
WebClient for On-Demand retrieval of Ad
20. 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);
}
21. XAML
Media Elements
Images
Polygons
Storyboard Animations
C# code behind
Event Handlers
Logic
22. 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;
}
}
23. Client-side Playlists Streaming Playlists Web Playlists
Description A playlist that is A playlist that resides A playlist that is
delivered from a Web on a streaming media requested from a Web
(or streaming server) server. (Also known as server that returns a
and resides on the Server-side playlists) client side playlist (ASX)
client PC. with obfuscated URLs.
Delivered From Streaming (WMS) or Windows Media IIS7 Media Pack
Web server (IIS) Services (WMS)
File Type .ASX . WSX .ISX
Pros Simple to author and Hides the location of Hides the location of
deploy. each media asset from each media asset from
the client. Seek/Skip the client. Seek/Skip
can be disabled for ad can be disabled for ad
scenarios. scenarios.
Cons URLs for playlist items Not yet supported in Lacks some advanced
are exposed to the Silverlight 2. features of WMS
client. Ads can be streaming playlists.
skipped.
24. 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
25.
26.
27. 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
28. 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.
29. Eric Schmidt
eschmidt@microsoft.com
Dan Penn
danpenn@microsoft.com
Michael Scherotter
mischero @microsoft.com
Jonathan Tabak
Mark Kapczynski
Director, Product
VP & GM InStream Solutions
Development
markkap@eyewonder.com
jtabak@panachetech.com
424-731-2528
www.panachetech.com
www.eyewonder.com/instream
www.eyewonder.com/is2 (demos)