session 2 - silverlight streaming, and windows live search
DESCRIPTION
Developing on the Windows Live Platform Windows Live defines a set of services and components that can be used in your web applications, whether or not you use Microsoft's server platform. In this event we'll show how to use some of those services in your own applications. Agenda: 1. The Platform for the Web In this session we look at a selection of Windows Live services and build them into an application. We'll look at the Windows Live Contacts API - really useful for social networking functionality but also a great example of what's possible using the Windows Live Data service. We'll build maps into an application using the Virtual Earth map control. We'll let our users browse their photos using the Windows Live Spaces Photos control, and we'll enable authentication in our app using Windows Live ID. 2. Silverlight Streaming, and Windows Live Search Silverlight Streaming by Windows Live is an innovative service that allows you to host your Silverlight applications, including rich media content, for delivery to various client platforms. In this session we'll show you how to build a simple Silverlight application, encode some media content, and host it all with Windows Live. We'll extend the sample application to show you how you can leverage the Windows Live Search functionality too. For more details and the original slidedeck, visit http://www.microsoft.com/uk/msdn/events/new/Detail.aspx?id=111TRANSCRIPT
Developing on the Windows Live Platform
Mike OrmondDeveloper & Platform GroupMicrosoft [email protected]://mikeo.co.uk
Agenda
Live Search Microsoft Silverlight Streamingby Windows Live
Microsoft Silverlight is a cross-browser, cross-platform implementation of .NET for building and delivering the next generation of media experiences & rich interactive applications for the Web.
Timeline & Packaging
TimelineV1.0 Released September 2007, V1.1 in Alpha (timing and some functionality TBD)Moonlight – timing TBD (Novell)
PackagingBrowser plug-in, little dependency on other s/w
Silverlight V1.0 and V1.1
SilverlightV1.1
SilverlightV1.0
V1.1 will add .NET to V1.0CoreCLRIndependent subset of the .NET Framework
A richer web with Silverlight
Silverlight StreamingProvides developers a free, scalability-on-demand solution for Silverlight
http://silverlight.live.comhttp://silverlight.live.com• Free, 4GB hosting and streaming• You build the application, we deliver the scale• High quality, differentiated, controllable user
experience• Complete API Programmability
Using Silverlight Streaming
What can it host?Silverlight applicationsContent (video) for use in Silverlight apps
InvokingDefault (requires JavaScript)
– Special version of Silverlight.js– Parameters move to manifest
Iframe (no JavaScript)– URL syntax
Packaging Content for SLS
Single zip file archive(Video files restricted to 22MB)
Add application manifest (manifest.xml)List of JavaScript files to load in orderSet parameters (like Silverlight.createObject())
Add startup code to local page
Packaging Content for Silverlight Streaming
Expression Encoder
Generates VC-1 (WMV) contentOptimised for SilverlightAdd leaders / trailers / watermarks / chapters / captions etc
Output*.wmv fileComplete Silverlight media player appPublish to Silverlight Streaming (plugin preview)
Command line interface
Video & Expression Encoder
Silverlight Streaming API
URLhttps://silverlight.services.live.com/accountId/fileSetName
CredentialsHTTP basic authentication (HTTPS required)
– Username = Account ID– Password = Account Key
File SetGroup of files representing a Silverlight applicationContained in a single zip archiveInclude a manifest (manifest.xml)
Silverlight Streaming API Operations
PUT / POSTAdds a file setRequest body must be a file set (zip file)
DELETEDeletes a file set
GETRetrieves information specified by the URLEg list of file sets, list of files in file set etc
Silverlight Streaming API
Contoso Bicycle ClubVirtual EarthSpacesSilverlight Streaming (geo-sync'd)Expo
Adventure Works ResortsLive ID associated with ASP.NET ProfilesUser Generated Video Content
Accepting file uploads (via a form post)Dropping uploads into MSMQ QueueEncoding using Expression EncoderUploading to Silverlight StreamingPlaying videos from Silverlight Streaming
Map Point Web ServiceContacts ControlSpaces Photo ControlWindows Live AlertsVirtual Earth
Contoso UniversityContacts API (Windows Live Data)Virtual EarthSpacesSilverlight Streaming Expo
Windows Live Quick Apps (Beta)http://dev.live.com/quickapps
Free source code to build social networking sites
Considerations
Cross domain issuesDifferent domains = restricted accessUse initialisation parameters (initParams)
<iframe> HostingHTML hosted / non-hosted structure differsAccess to HTML DOM
initParams
Live Search
Adding Search On Your Site
Live Search BoxFastSimpleNo code
Live Search Web ServiceFlexiblePowerfulUnlocks Capabilities
Live Search Box
BasicSearch either web or specific site
AdvancedWeb search plus optional
– Site Search (multiple sites)– Search Macro
Customisation Options
Live Search Box
Live Search Web Service
SOAP APIhttp://soap.search.msn.com/webservices.asmx?wsdl
Get application IDhttp://search.msn.com/developer
Add Web Reference…and play
Offset
Total
Source
Result []Results
SourceResponse[] Responses
...
ResultFields
Source
String CultureInfo
String AppID
SourceRequest[] Requests
String Query
SearchRequest
MSNSearchService.Search(SearchRequest)
SearchResponse
The Live Search API
The Live Search API
Additional Resources
Main Hubhttp://dev.live.com
SilverlightMain Silverlight Site
– http://www.silverlight.net Silverlight Streaming Site
– http://silverlight.live.com Silverlight Streaming SDK
– http://msdn2.microsoft.com/en-us/library/bb851621.aspx Live Search
Live Search Service Home– http://dev.live.com/livesearch
Live Search Interactive SDK– http://dev.live.com/livesearch/sdk
MSDN in the UK
Visit http://msdn.co.uk NewsletterEventsNugget VideosBlogs
© 2007 Microsoft Ltd. 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.