Silverlight
Suwitcha Chandhorn, Microsoft MVP
MSDN Seminar - May 22, 2007
UX Opportunity Across Client Application Categories
Media
Web Desktop
& RIA
UX
OS Integration
Broadest Reach Richer UX
Simple Deployment Learnable
Media (A/V)
Higher Performance
High Contextualization
Easy to Develop/Maintain Usable
Client side execution
(eg: Office)
Richer
Lack of Performance / Capabilities
Enjoyable
Performance / Capabilities Deployment Complexity/Size
UX Limitations Consistent
Enterprise Ready More Complex Servicing
Browser Compatibility Complexity
(AJAX)
Responsive
Programming Model Not Cross Platform
Easy Deploy
Strengths
Weaknesses
Application Platforms / Competitive Offerings
JSP / PHP
ColdFusion Mac OS
Web Desktop
AJAX
Libraries Linux
Server Vista
“Apollo
LAMP
”
Cross Browser
& Platform
Microsoft
Media Others
& RIA
Flash & Quicktime
Flex & Others
So, What is Silverlight?
Silverlight is a cross platform, cross
browser .NET plug-in that enables
designers and developers to build rich
media experiences and RIAs for
browsers. The preview builds we released
currently support Firefox, Safari and IE
browsers on both the Mac and Windows.
Silverlight Installation Experience
Demo - Silverlight in Action
Silverlight 1.0 Beta Features
• Built-in codec support for playing VC-1 and WMV video, and
MP3 and WMA audio within a browser. It supports playing
high-quality video up to 720p (high definition).
• Silverlight supports the ability to progressively download and
play media content from any web-server. No special server
software is required.
• Silverlight also optionally supports built-in media streaming.
Silverlight 1.0 Beta Features
• Silverlight enables you to create rich UI and animations, and
blend vector graphics with HTML to create compelling content
experiences. JavaScript Programming Model is supported.
Easy to integrate with AJAX.
• Silverlight makes it easy to build rich video player interactive
experiences. Ability to “go full screen” and to resize running
video on the fly without requiring the video stream to be
stopped or restarted.
• Time-based animation in Silverlight ensures more precise
animation than Frame-based in Adobe Flash.
Silverlight 1.1 Alpha Features
• A built-in CLR engine that delivers a super high performance
execution environment for the browser, same core CLR engine
that we ship with the full .NET Framework today. It also means
you can now execute code within the browser that runs more
than 250x faster than interpreted JavaScript.
• Silverlight includes a rich framework library of built-in classes
that you can use to develop browser-based applications. This
framework library is a subset of the full .NET Framework class
library you use today, and enables you to easily re-use your
existing skills and knowledge. It includes support for
collections, generics, IO, threading, globalization, networking,
and LINQ.
Silverlight 1.1 Alpha Features
• Silverlight includes support for a WPF UI programming model.
The Silverlight 1.1 Alpha enables you to program your UI with
managed code/event handlers, and supports the ability to
define and use encapsulated UI controls (built with any
managed .NET language).
• Silverlight provides a managed HTML DOM API that enables
you to program the HTML of a browser using any
.NET language (this means you can now wire-up an event
handler to an HTML button using C# or VB). Silverlight
includes a JSON Serializer that supports automatic
marshalling of .NET Data Types to/from JavaScript.
Silverlight 1.1 Alpha Features
• Silverlight doesn't require ASP.NET to be used on the backend
web-server (meaning you could use Silverlight with with PHP
on Linux if you wanted to).
• However, some pretty nice features enables you to easily
integrate Silverlight on the client and ASP.NET on the
server together. Silverlight can use the standard ASP.NET
application services (membership, roles, profile, etc), and can
call either WCF or ASMX web-services hosted within
ASP.NET.
Dynamic Language Runtime Enabled
• Dynamic Language Runtime (DLR) adds a small set of services to the
CLR designed explicitly for dynamic language scenarios.
• Lightweight-code-generation features added in CLR 2.0 to create in-
memory IL that is then JIT'd into native code at runtime (without ever
having to save anything to disk). This can yield much better runtime
performance than interpreted code, and ensures that we can optionally
garbage collect it to avoid leaking.
• The DLR - and all of the dynamic languages built on top of it - can be
used in cross-platform Silverlight application in the browser, ASP.NET
2.0 applications on the server, and WPF/WinForms applications on the
desktop.
• Will ship with C#, VB, IronPython and IronRuby!
Web Media Challenges
Customer expectations of Web media experiences are increasing
• Expect DVD-like experiences blending video, animation, interactivity
• It should “just work” cross platform on Mac and Windows
• True full screen, captioning, HD aren‟t readily available
Production costs are increasing for interactive media
• Cost of delivery rising as viewers expect interactivity, animation
• Maintaining multiple development teams for internal/external is expensive
• Lack of consistency in tools, platforms between Desktop, Web, devices
Efficient Delivery, Revenue Generation are complex
• Having to support multiple video formats from archive to mobile is messy
• Advertising isn‟t fluid or organic like broadcast – it gets ignored!
• True cross platform content protection doesn‟t exist for those who want it
11/19/2006
13
Windows Media Client Surfaces
Windows
Windows Media Media
Xbox
360
Technology Player
Ecosystem
Media
Core IP / HD-DVD
Center
Technolog
y
Desktop
Applications
Servers IPTV Phones
Web
Browser
Encoders (Win & Mac) Consumer
Media
Electronics
Devices
Devices
Web Experiences / RIA
Services
VC-1
Emerging Open
Standard
VC-1
Other Media Clients
Rich Media Platform Comparison
Feature Silverlight .NET 3.0 Adobe Flash 9
Rich 2D animation/graphics w/ audio and video
Create
Industry standard video codec
Scalable video format from HD to mobile
Hardware-assisted editing and encoding solutions
XML (XAML) -Based Presentation layer for SEO
Choice of standards-based and high-performance
languages
E2E Server & Application Platform
Deliver
Media Server Licensing (Unlimited Bandwidth) $999/unlimited $999/unlimited $4500/150 users
Content Access Protection (DRM)
Client side playlists for ad-insertion
Robust Video Publishing Tools and 3rd Party Ecosystem
High-performance, multi-core enabled client
Scalable Full Screen video up to HD (720p)
Experience
Native support for device-based video
Offline, Document support
Client Size ~2MB ~40MB ~2MB
Supported Operating Systems Windows /Mac Windows Windows/Mac/Linux
11/19/2006
Unifying the Design / Development
Process
Designer Developer
Look, behavior, brand, Function, deployment, data,
and emotional connection security, operational integrity
Unifying the Design / Development Process
Designer Developer
Paper
JPG / TIFF C++
PSDXAML
PPT
C#
VB.NET
MOV / WMV
XHTML
CSS / XSLT
Non XML
Standards
„Dirty Code‟
ASP.NET
Mockups
Javascript
AJAX
Whether you are designing rich standards-based
websites, ultimate experiences on the desktop, or
managing digital assets and content, Expression
professional design tools give you the flexibility and
freedom to bring your vision to reality.
The professional
The professional The professional The professional
Asset
Web Interactive Graphic
Management
design tool design tool design tool
tool
Expression Studio Application Targets by Tool
XHTML / Web Desktop
ASP.NET .NET Languages
Javascript / XAML / WPF
AJAX Windows Media
CSS
Media
& RIA
Demo – Development Processes
Industry Support
Design Agencies Infrastructure & Tools Media Companies
Microsoft Confidential, DO NOT disclose until April 16th, 2007, 9am PST
Silverlight Overview
Compelling Cross-Platform User Experiences
• Immersive media experiences & RIA
• Seamless, fast installation for end users
• Consistent experiences on Mac / Windows
Flexible programming model with collaborative tools
• Integration with Web technologies
• Based on the .NET Framework
• Role specific tools for designers / developers
Efficient, lower cost delivery, and more capable media
• HD to Mobile w/ SMPTE VC-1
• Broad media ecosystem
• Tools for live and on-demand publishing
Resources
• My Silverlight Article at
http://www.blognone.com
• Community Resources in Thai
http://www.thaisharp.net
• Silverlight by Scott Guthrie
http://weblogs.asp.net/scottgu/archive/2007/05/07/silverlight.aspx
• Silverlight by TechCrunch
http://www.techcrunch.com/2007/04/30/silverlight-the-web-just-got-
richer/
• DLR by Jim Hugunin
http://blogs.msdn.com/hugunin/archive/2007/04/30/a-dynamic-
language-runtime-dlr.aspx