20071204 Arc Ready Windows Live Platform

121
David Chou David Chou [email protected] [email protected] Architect Architect Windows Live Windows Live Platform Platform

description

 

Transcript of 20071204 Arc Ready Windows Live Platform

Page 1: 20071204 Arc Ready Windows Live Platform

David ChouDavid [email protected]@microsoft.com

ArchitectArchitect

Windows Live Windows Live PlatformPlatform

Page 2: 20071204 Arc Ready Windows Live Platform

“comScore refines web metrics system to more accurately reflect how Internet users spend their time online, and not just the number of web pages they view.”

comScore, Inc.

“Nielsen/NetRatings adds “total minutes” metric as best measure of Online engagement”

Nielsen/NetRatings “Are social computing themes like user-generated content and communication fundamentally changing the rules of business? We think they are—in a big way.”

Forrester Research

Personal

Transactional

Informational

Relevant

Interactive

Social

“People keep asking me what I think of it now that it's done. Hence my protest: The Web is not done!”

– Tim Berners-LeeFounder, World Wide Web

The Web Has Evolved

Page 3: 20071204 Arc Ready Windows Live Platform

1st PartySites

3rd PartySites

DeveloperPlatforms

Xbox LiveXbox Live

•Shorter time to market•Better reliability•Worldwide syndication

Web Services and APIs evolves 1st party web sites into rich, serious development platforms for next generation web applications.

Evolution

Benefits•More monetization options•Broader more compelling experiences•Support for multiple devices

The Web Has Evolved

Page 4: 20071204 Arc Ready Windows Live Platform

Web as a Platform

> Standards - XML, HTML, CSS, SOAP, REST, Atom, RSS, BitTorrent, HTTP, SMTP, FTP, SMS, VoIP, etc.

> Tools - LAMP, WISA, JavaScript, .NET, Java, Visual Studio, Eclipse, etc.

> Media - video streaming, podcasts, vcasts, electronic gaming, interactive TV, Microsoft IP TV, Microsoft Media Center

> Runtimes - hosting environment, servers, desktops, browsers, clients, mobile devices, Microsoft Xbox, Sony Playstation, Nintendo Wii, Adobe AIR, Microsoft Silverlight, etc.

> Networks - Internet, Wi-Fi, VPN, WAN, cellular, wireless LAN, DSL, FiOS, etc.

Page 5: 20071204 Arc Ready Windows Live Platform

Web as a Platform

> Utilities - Amazon EC2, programmableweb, etc.

> Data - Amazon S3, Google Base, Microsoft Astoria, etc.

> Storage - Google GDrive, Windows Live Skydrive, XDrive, DriveHQ, Box.net, Elephant Drive, etc.

> Messaging - Amazon SQS, Microsoft BizTalk Services, etc.

> Identity - Windows Live ID, Google Accounts, Yahoo! Accounts, OpenID, etc.

Page 6: 20071204 Arc Ready Windows Live Platform

Web as a Platform

> Personalization - My Yahoo!, iGoogle, Netvibes, Windows Live, bookmarks, favorites, etc.

> Transformation - Microsoft BizTalk Services

> Composition - Yahoo! Pipes, Google Mashup Editor, Microsoft BizTalk Services, etc.

> Orchestration - Microsoft BizTalk Services

> Privacy - TBD; in general, interoperable services to give users control over what parts of their online presences to share and what not to share

Page 7: 20071204 Arc Ready Windows Live Platform

Web as a Platform> Information - Google Analytics, Google Trends, MSN, Yahoo! News,

Yahoo! Finance, Upcoming, etc.

> Visualization - Google Maps, Virtual Earth, Yahoo! Maps, Google Gadgets, Windows Live Gadgets, Vista Sidebar Gadgets, mobile clients, etc.

> Commerce - Amazon, eBay, Paypal, Google Checkout, MSN Shopping, Microsoft Points, etc.

> Monetization - Google AdSense, Google AdWords, Microsoft AdCenter, pay-per-click, cost-per-action, impressions, etc.

> Accessibility - TellMe, Google Translate, Live Search Translator, services for the visually impaired like Google Accessible Search, plusmo, ZapText, etc.

Page 8: 20071204 Arc Ready Windows Live Platform

Web as a Platform> Search - Google Search, Yahoo! Search, Ask, Windows Live Search,

etc.

> Distribution - Facebook Platform, Microsoft Popfly, etc.

> Aggregation - Newsgator, Bloglines, Rojo, NetNewsWire, My Yahoo!, Windows Live, iGoogle, PageFlakes, etc.

> Syndication - Twitter, Jaiku, Pownce, Facebook Newsfeed, Feedburner, Technorati, etc.

> Portability - Gadgets, Widgets, Google OpenSocial, etc.

Page 9: 20071204 Arc Ready Windows Live Platform

Web as a Platform> User Content - Blogger, WordPress, LiveJournals, Wikipedia, CrowdRules,

Flickr, Youtube. Epinions, Urban Dictionary, Trip Advisor, eHarmony, etc.

> Communities - MySpace, Facebook, Orkut, hi5, Bebo, Windows Live Spaces, Friendster, LinkedIn, World of Warcraft, Xbox Live, Second Life, etc.

> Folksonomies - del.icio.us, Digg, reddit, Simpy, Furl, Netvouz, etc.

> Collaborative Filtering - Amazon, half.ebay.com, NetFlix, StumbleUpon, etc.

> Mashups - Microsoft Popfly, JackBe, etc.

Page 10: 20071204 Arc Ready Windows Live Platform

Web as a Platform

Page 11: 20071204 Arc Ready Windows Live Platform
Page 12: 20071204 Arc Ready Windows Live Platform
Page 13: 20071204 Arc Ready Windows Live Platform

ServicesServices

Streaming

(Folder)

Microsoft Services Platform

Page 14: 20071204 Arc Ready Windows Live Platform

465M Unique Users 42 Markets42 Markets21 Languages21 Languages

2.5B Queries/Month 5B Docs, 400M Images5B Docs, 400M Images

280M Active Accounts 7.5B Messages/Day7.5B Messages/Day10M Video Conversations/Day10M Video Conversations/Day

70M+ Spaces120M Unique Users

1.5B Page Views/Month1.5B Page Views/Month150K Spaces Created/Month150K Spaces Created/Month

280M Accounts WW CoverageWW Coverage

85+ Mobile Carriers32 Markets

Multi-channelMulti-channelDevice-independentDevice-independent

Page 15: 20071204 Arc Ready Windows Live Platform

1981 1992 1995 2007 → 2000

Ad

op

tion

Page 16: 20071204 Arc Ready Windows Live Platform

Flexible Monetization Options

Tools Microsoft Services Platform

Rich Media

Experiences

Store & Share Find & Locate

Identity & Authentication

Silverlight

Streaming

LiveSpaces

Virtual Earth

LiveI DLive

Contacts

Search

Communicate & Stay Connected

Alerts

PopFly

Expression

Visual Studio

Terms of UseSimple & Consistent

Training & Support Service Level Agreements Flexible Monetization Offerings

SharePoint Designer

IM & Presenc

e

PlatformPlatform

Commerce

AgentsServ

ice A

PIs

& C

on

trols

Expo

Calendar

Page 17: 20071204 Arc Ready Windows Live Platform

Microsoft Live Labs

Photosynth

Page 18: 20071204 Arc Ready Windows Live Platform
Page 19: 20071204 Arc Ready Windows Live Platform

Cost

Usage

Free UsageFree UsageExplicit Explicit

Exchange of Exchange of ValueValue

1MUUs/M Threshold

Page 20: 20071204 Arc Ready Windows Live Platform

Tota

l Aud

ienc

e (U

Us)

# of web sites

Extended Terms / SLAs / Paid Support Available For Extended Terms / SLAs / Paid Support Available For EveryoneEveryone

Commercial & Non-commercial UseCommercial & Non-commercial Use

Free UsageFree UsageExplicit Explicit

Exchange of Exchange of ValueValue

1MUUs/M Threshold

Page 21: 20071204 Arc Ready Windows Live Platform

Services begin free (including commercial usage) Most services free under 1 million unique users (UU) / year Search up to 750,000 queries / month Virtual Earth up to 3 million tiles / month Silverlight Streaming up to 4GB with unlimited streaming

and users

Cost is introduced with volume Most services will charge $0.25 per UU/year when 1 million

UU/year threshold is reached Services will have advertising revenue sharing alternative

options

Services exposed through Live-branded controls

Latest details available at http://dev.live.com/terms

Page 22: 20071204 Arc Ready Windows Live Platform
Page 23: 20071204 Arc Ready Windows Live Platform
Page 24: 20071204 Arc Ready Windows Live Platform
Page 25: 20071204 Arc Ready Windows Live Platform
Page 26: 20071204 Arc Ready Windows Live Platform
Page 27: 20071204 Arc Ready Windows Live Platform
Page 28: 20071204 Arc Ready Windows Live Platform
Page 29: 20071204 Arc Ready Windows Live Platform
Page 30: 20071204 Arc Ready Windows Live Platform
Page 31: 20071204 Arc Ready Windows Live Platform

Familiar, useful, “sticky” services that are “building blocks” for creating vibrant communities and driving deeper engagement with your users

Comprehensive Scalable Predictable Economical

Page 32: 20071204 Arc Ready Windows Live Platform

Examples Value-Add Services Centralized

Process Services Collaboration

Services

Examples Hosted Mail Hosted Data Hosted

Applications

Examples Authentication

Services Messaging

Services Data Services

Page 33: 20071204 Arc Ready Windows Live Platform

StreamingStreaming

ServicesServices

PlatformPlatform

Page 34: 20071204 Arc Ready Windows Live Platform

A series of APIs that enable 3rd party applications to leverage the network, assets, and services of Windows Live

Client-side controls are provided for some services Contacts, Photos, Virtual Earth, etc.

Access methods vary by API HTTP, HTML, SMTP, WebDAV, REST, RSS, XML-RPC, SOAP

Service Description Access Methods

Live ID Authentication HTTP, SOAP

Search Web, image, ad and other searches HTTP, SOAP

Expo Online marketplace HTTP

Virtual Earth Mapping and geographical services SOAP

Silverlight Streaming

Application and media hosting REST, HTML

Messenger Real-time communication HTML, BuddyScript

Spaces Accessing Spaces blogs and feeds HTTP, SMTP, RSS, XML-RPC

Photos Accessing photos from Spaces WebDAV

Contacts Importing contact data REST

Alerts User notification SOAP

Page 35: 20071204 Arc Ready Windows Live Platform
Page 36: 20071204 Arc Ready Windows Live Platform
Page 37: 20071204 Arc Ready Windows Live Platform

Terms of Use (TOU) Free up to 3 million map tiles/month More than 3 million requires additional

agreement

Page 38: 20071204 Arc Ready Windows Live Platform

The Tools Developers Need Geo-coding Routing Bird’s Eye Satellite & Aerial Imagery Maps and Imagery Data-binding Non- Authenticated Access

The Service Enterprise Expects SLA Support Reporting

Rich Data Sources 17 petabytes today (and growing) 26 terabytes update / month

Virtual Earth platform

Enterprise Tools and Support

Data Management

Spatial Services

Visualization

Page 39: 20071204 Arc Ready Windows Live Platform

Virtual Earth Control Incredibly robust control for

mapping and mashups Built-in zooming, panning, etc 3D available with ActiveX

install Supports GeoRSS

Ideal for building overlays with hover windows

Page 40: 20071204 Arc Ready Windows Live Platform
Page 41: 20071204 Arc Ready Windows Live Platform
Page 42: 20071204 Arc Ready Windows Live Platform

The final composition of the data occurs on the client machine

Fundamentally different than traditional CGI, ASP or JSP models

Decentralizes server architecture, offloading capex, opex, bandwidth, power and heat to the end-user’s machine

Multiple Listing Data

John L. Scott

Mapping Data

Virtual Earth

John L. Scott Case StudyIntegrated Virtual Earth in just three weeks30% increase in property viewings on websiteHigher efficiencies for agents; lower capex and opex

Page 43: 20071204 Arc Ready Windows Live Platform
Page 44: 20071204 Arc Ready Windows Live Platform

Windows Live ID provides digital identity for all Microsoft online services, and single sign-on (SSO) to other services Windows Live, MSN, Office Live, Xbox Live, Microsoft.com, etc. Multiple devices: PC, Xbox, mobile phone, TV Multiple credential types: password, 2 factor auth, etc.

Industry Leading Platform 480 million users 1+ billion authentications per day 99.95% availability Hundreds of relying sites & services

Multiple Implementation Options Client SDK Web SDK Relying Party Suite (RPS) SDK

Page 45: 20071204 Arc Ready Windows Live Platform

Client SDK Easy integration through managed

APIs Single sign on for Windows Live

Services Pop up dialog with familiar

Windows Live ID UI Enables user access to locally

cached credentials Getting started

Register for and download the SDK Supported Languages

Any .NET language

Page 46: 20071204 Arc Ready Windows Live Platform

Server SDK Easy integration with Live ID in under 1 hr Single sign on for Windows Live controls Getting started

Get an app ID & secret key, c&p script code, push the app live

Security User consents through sign in Auth token is encrypted & signed Information card support

Supported platforms We will support Linux et al. Sample code in ASP.NET, Perl, Python, PHP,

Java, Ruby

Page 47: 20071204 Arc Ready Windows Live Platform

Web SDK Breadth integration Web

scenario Easy to set up and configure No account approval No compliance review

Each account receives a unique ID for each user upon login Cannot share data behind the scenes

Provides single sign-on with other Live services

Page 48: 20071204 Arc Ready Windows Live Platform

Relying Party Suite (RPS) SDK Depth integration Web scenario

Full branding of login.live.com screen Uses common Live ID CID of user Requires significant development and configuration

Access to SDK requires Microsoft approval Production deployment requires Microsoft

compliance review

Page 49: 20071204 Arc Ready Windows Live Platform

1) User Requests Web Page2) Website returns Sign In link3) User clicks Sign In4) Windows Live™ ID Sign In Page is returned5) User enters Credentials

6) User is authenticated by Windows Live™ ID7) User is redirected to your site8) Your application displays protected or personalized content.

Authentication Process

3rd PartyServer

Windows LiveID AuthenticationServer

Page 50: 20071204 Arc Ready Windows Live Platform

Add Sign In button to site

User clicks ‘Sign In’ and requested to enter Windows Live™ ID Credentials on login.live.com

User is Redirected to your site with encrypted unique user ID.

Register your site at Microsoft Services Manager by providing the URL and a Secret Key for encryption

3)

1)

4)

2)

Capture & store user profile items in your database.

5)

How Web Auth Works

Page 51: 20071204 Arc Ready Windows Live Platform
Page 52: 20071204 Arc Ready Windows Live Platform

Terms of Use Controls

Free unlimited usage

APIs Free up to 1 million unique users per month More than 1 million unique users:

Ad revenue sharing, or $0.25/unique user per year

More services to be added under these terms

Page 53: 20071204 Arc Ready Windows Live Platform

Single shared internet-scale address book

MessengerMessenger263 million users263 million users

HotmailHotmail280 million 280 million accountsaccounts

SpacesSpaces93 million Spaces93 million Spaces

Windows Live Windows Live ContactsContacts

Office LiveOffice Live

XBOX LiveXBOX Live

Your AppsYour Apps

500 million address books30 billion contact associations1 address book per Windows Live ID

Page 54: 20071204 Arc Ready Windows Live Platform
Page 55: 20071204 Arc Ready Windows Live Platform

Contacts Control Provides programmatic access to a user’s

contact list Client-side browser JavaScript object Can be used by any website in just 10

lines of JavaScript Enables people to use their existing

Windows Live contact information within 3rd party websites

Authentication managed by the control "Black box" data transfer between control

and web page Users have full control over their personal

data

Page 56: 20071204 Arc Ready Windows Live Platform

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:devlive="http://dev.live.com"><body> <script type="text/javascript" src="http://controls.services.live.com/scripts/base/v0.3/live.js"></script> <script type="text/javascript" src="http://controls.services.live.com/scripts/base/v0.3/controls.js"></script> <script type="text/javascript"> function signIn() { } function signOut() { } function showError(message) { } function receiveData(contactData) { alert(contactData[0].Email); } </script>

<devlive:contactscontrol id="ContactsControl" devlive:view="tileList" devlive:market="en" devlive:onSignIn="signIn" devlive:onSignOut="signOut" devlive:onError="showError" devlive:onData="receiveData" devlive:dataDesired="name,email" devlive:channelEndpointURL="channel.htm" /></body></html>

Contacts Control

Page 57: 20071204 Arc Ready Windows Live Platform

Contacts API REST-based: HTTP GET, PUT, POST and DELETE Returns XML Requires Authorization Header

GET http://cumulus.services.live.com/handle/LiveContacts/itemUri HTTP/1.1

Authorization: DomainAuthentication at="XYZ"

http://cumulus.services.live.com/[email protected]/LiveContacts/Contacts/Contact(a4b69d14-e3eb-11db-9706-00e08161165f)/Emails/Email(22)/Address

Page 58: 20071204 Arc Ready Windows Live Platform

Authentication – Client Controls

Redirect user to Windows Live ID login page and manage authentication

Single sign-in across all controls in the same browser session Browser client to Windows Live Service

Windows Live ID Web Authentication Rich client to Windows Live Service

Can request a token using the WS-TRUST SOAP point (https://dev.login.live.com/wstlogin.srf)

Windows Live Client SDK (Windows clients)

Page 59: 20071204 Arc Ready Windows Live Platform

Authentication – Server Web server to Windows Live Service

Delegated access Server accesses a user’s data on their behalf User may not even be online (e.g. Address book sync) Very early “alpha” release Referred to as “Windows Live Data” in the doco PGUX = Permission Granting User Experience

Page 60: 20071204 Arc Ready Windows Live Platform
Page 61: 20071204 Arc Ready Windows Live Platform

Terms of Use (TOU) Includes use of Search Control and SOAP API Free up to 750k queries/month More than 750k requires additional

agreement

Page 62: 20071204 Arc Ready Windows Live Platform

Client-side Controls Add a search box to your

site in HTML Benefits

Doesn’t require server-side development

Doesn’t impact server performance

Drawbacks Don’t [easily] get insight

into visitor searches

Server-side Services SOAP API for searching:

Ads, Images, InlineAnswers, News, PhoneBook, QueryLocation, Spelling, Web, WordBreaker

Free access with up to 25,000 queries per day per IP address Commercial usage terms

available

Page 63: 20071204 Arc Ready Windows Live Platform

<form method="get" action="http://search.live.com/results.aspx"> <input type="hidden" name="cp" value="437" /> <input type="hidden" name="FORM" value="FREESS" /> <table bgcolor="#FFFFFF"> <tr> <td> <a href="http://search.live.com/"> <img src="http://search.live.com/s/affillogoLive.gif"

border="0" alt="Live Search"/> </a> </td> <td> <input type="text" name="q" size="30" /> <input type="submit" value="Search Site" /> <input type="hidden" name="q1" value="site:yoursite.com"/> </td> </tr> </table></form>

Basic Search Control

Page 64: 20071204 Arc Ready Windows Live Platform

Advanced Search Control

Page 65: 20071204 Arc Ready Windows Live Platform

Advanced Search Control

Page 66: 20071204 Arc Ready Windows Live Platform

<meta name="Search.WLSearchBox" content="1.1, en-US" /><div id="WLSearchBoxDiv"><table cellpadding="0" cellspacing="0" style="width: 322px"><tr id="WLSearchBoxPlaceholder"><td style="width: 100%; border:solid 2px #4B7B9F;border-right-style: none;"><input id="WLSearchBoxInput" type="text" value="&#x4c;&#x6f;&#x61;&#x64;&#x69;&#x6e;&#x67;&#x2e;&#x2e;&#x2e;" disabled="disabled" style="padding:0;background-image: url(http://search.live.com/s/siteowner/searchbox_background.png);background-position: right;background-repeat: no-repeat;height: 16px; width: 100%; border:none 0 Transparent" /></td><td style="border:solid 2px #4B7B9F;"><input id="WLSearchBoxButton" type="image" src="http://search.live.com/s/siteowner/searchbutton_normal.png" align="absBottom" style="padding:0;border-style: none" /></td></tr></table>

<script type="text/javascript" charset="utf-8">var WLSearchBoxConfiguration= {

"global":{ "serverDNS":"search.live.com","market":"en-US"},

"appearance":{ "autoHideTopControl":false,"width":600,"height":400,"theme":"Blue"},

"scopes":[{ "type":"web",

"caption":"&#x4d;&#x69;&#x63;&#x72;&#x6f;&#x73;&#x6f;&#x66;&#x74;","searchParam":"site:www.microsoft.com"},

{ "type":"web","caption":"&#x57;&#x65;&#x62;","searchParam":""}]}

</script><script type="text/javascript" charset="utf-8" src="http://search.live.com/bootstrap.js?

market=en-US&ServId=SearchBox&ServId=SearchBoxWeb&Callback=WLSearchBoxScriptReady"></script></div>

Embedding Advanced Search Control

Page 67: 20071204 Arc Ready Windows Live Platform

MSNSearchService service = new MSNSearchService();SearchRequest request = new SearchRequest();

// You can search multiple sources at once and ask for any of the fields.// We search Web only here and ask for just the title and URL of the result.request.Requests = new SourceRequest[1];request.Requests[0] = new SourceRequest();request.Requests[0].Source = SourceType.Web;request.Requests[0].ResultFields = ResultFieldMask.Title | ResultFieldMask.Url;

request.CultureInfo = "en-US";request.Query = "QUERY TEXT";request.AppID = "APP_ID"; // Get from http://search.msn.com/developer

foreach (Result result in service.Search(request).Responses[0].Results){ // Process search result...}

Sample Search API Code

Page 68: 20071204 Arc Ready Windows Live Platform
Page 69: 20071204 Arc Ready Windows Live Platform

93 million spaces created, and growing

120 million unique users per month 51 markets, 25 languages Integration hub of Messenger,

Hotmail, Search and Gallery

Overview

Page 70: 20071204 Arc Ready Windows Live Platform

Provides easy to use "photo picker" functionality

Client-side browser JavaScript object

Authentication managed by the control

"Black box" data transfer between control and web page

Spaces Photo Control

Page 71: 20071204 Arc Ready Windows Live Platform

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:devlive="http://dev.live.com"><body> <script type="text/javascript" src="http://controls.services.live.com/scripts/base/v0.3/live.js" /> <script type="text/javascript" src="http://controls.services.live.com/scripts/base/v0.3/controls.js" /> <script type="text/javascript"> function signIn() { } function signOut() { } function showError(message) { } function receiveData(photoData) { alert(photoData[0].fileExpiringURL); } </script>

<devlive:spacescontrol id="SpacesControl" devlive:privacyStatementURL="http://g.msn.com/2privacy/enus" devlive:market="en" devlive:dataDesired="fileExpiringURL,fileAccessControlledURL" devlive:onSignin="signIn" devlive:onSignout="signOut" devlive:onError="showError" devlive:onData="receiveData" devlive:channelEndpointURL="channel.htm" /></body></html>

Spaces Photo Control

Page 72: 20071204 Arc Ready Windows Live Platform

Profile Friends Updated Spaces Blog

All Entries, Category Specific Entries, Comments

Photos All Albums, Individual Albums, Comments

Lists All Lists, Specific List

Spaces RSS Feeds

Page 73: 20071204 Arc Ready Windows Live Platform

Top Level (all blog entries, albums, and lists) http://<alias>.spaces.live.com/feed.rss http://spaces.live.com/viewrss.aspx?cid=<CID>

Minimal Feed (lists available feeds) http://<alias>.spaces.live.com/minimal/feed.rss

Blog Feeds http://<alias>.spaces.live.com/blog/feed.rss (all entries) http://<alias>.spaces.live.com/category/<CategoryID>/feed.rss (category feed) http://<alias>.spaces.live.com/blog/<BlogEntryID>/feed.rss (comments feed)

Photo Feeds http://<alias>.spaces.live.com/photos/feed.rss (all albums feed) http://<alias>.spaces.live.com/photos/cns!<AlbumID>/feed.rss (album feed) http://<alias>.spaces.live.com/photos/<PhotoID>/feed.rss (comments feed)

Profile Feed (lists published user data, such as display and contact info) http://<alias>.spaces.live.com/profile/feed.rss

Friends Feed (lists published friends) http://<alias>.spaces.live.com/friends/feed.rss

List Feeds (lists published lists) http://<alias>.spaces.live.com/lists/cns!<ListID>/feed.rss http://<alias>.spaces.live.com/Music/cns!<ListID>/feed.rss

Spaces RSS Feeds

Page 74: 20071204 Arc Ready Windows Live Platform

HTTP URL entry points

http://alias.spaces.live.com/api.aspx?wx_action=addModule&wx_url=moduleUrl

http://spaces.live.com/BlogIt.aspx?Title=myTitle&SourceUrl=url&description=myDescription

MetaWeblog APIStandard XML-RPC protocol for creating and managing blog entries

Spaces API

Page 75: 20071204 Arc Ready Windows Live Platform

URL Sends user to Spaces site to perform tasks BlogIt API

http://spaces.live.com/BlogIt.aspx?Title=<BlogTitle>& SourceURL=<URL>&description=<Description>

Social Networking APIs Invite Friend

http://spaces.live.com/api.aspx?wx_action=/friends.aspx& name=<DisplayName>&cid=<CID>

Add Friend View Friend View Pending Requests

MetaWeblog Requires Email Publishing to be enabled on Space

Spaces Blog API

Page 76: 20071204 Arc Ready Windows Live Platform
Page 77: 20071204 Arc Ready Windows Live Platform

Presence Web IM

Double blind anonymity

Page 78: 20071204 Arc Ready Windows Live Platform

The IM Control allows a Windows Live Messenger user to show their presence and accept messages from anonymous users

The IM Control can be embedded on blogs or other pages; the Presence API (JSON) can query presence

User can publish presence & receive messages.

Can be embedded on blogs or other pages (Iframe) or Image

Instant Messenger Control

Page 79: 20071204 Arc Ready Windows Live Platform

Same opt in process as Messenger IM Control. JSON API (raises a callback) Could be queried server-side

Presence API

Page 80: 20071204 Arc Ready Windows Live Platform

Automated contacts in Messenger Easily connect to your

customers, 24x7 From simple text to

rich activities

Driving traffic to your assets Extends your reach beyond

traditional properties Spreads virally

Messenger Bots

Page 81: 20071204 Arc Ready Windows Live Platform

Rich applications shared between users within Messenger Natural extensions of the IM conversation Rich multi-user AJAX-based mashups

Driving traffic to your assets and enabling new scenarios A new way to display content New support and commerce scenarios Deeper user

engagement

Available through Placement in Messenger Launched from

any web site SDK available on

dev.live.com

Messenger Activities API

Page 82: 20071204 Arc Ready Windows Live Platform

IM Control Demo

Page 83: 20071204 Arc Ready Windows Live Platform

Demo – Grant permissions (IE)

Page 84: 20071204 Arc Ready Windows Live Platform

InteractiveExamples

Code Toggling

CodeTo Copy

Demo – IM Control Setup

Page 85: 20071204 Arc Ready Windows Live Platform

Copy and paste the code from settings screen

Go to your blog Blog dashboard Global Settings Title, Description &

News Paste in News section Note: minimum of

300px width

Demo – Embedding IM Control

Page 86: 20071204 Arc Ready Windows Live Platform

Demo – Using the IM Control

Page 87: 20071204 Arc Ready Windows Live Platform

Demo – Select Anonymous or Authenticated

Page 88: 20071204 Arc Ready Windows Live Platform

Demo – Set Display Name

Page 89: 20071204 Arc Ready Windows Live Platform

HIP is designed to stop SPIM (Spam over IM)

Still required for authenticated users as auth can be programmatically attained

Investigating removing for authenticated users

Demo – Required HIP/Captcha

Page 90: 20071204 Arc Ready Windows Live Platform

Demo – Send Message

Page 91: 20071204 Arc Ready Windows Live Platform

Demo – Message Submission

Page 92: 20071204 Arc Ready Windows Live Platform

Demo – Establish Conversation

Page 93: 20071204 Arc Ready Windows Live Platform

Demo – Message Exchange

Page 94: 20071204 Arc Ready Windows Live Platform

Demo – Message Exchange

Page 95: 20071204 Arc Ready Windows Live Platform

Event handling Display Pictures Emoticons Dynamic Display

Pictures Pretty Name Personal Messages Backgrounds

Voice Clips MSN Activities

Ability to invite Accept invitation Transfer

information between the agent and the user

Page driving

Advanced Integration Options

Page 96: 20071204 Arc Ready Windows Live Platform
Page 97: 20071204 Arc Ready Windows Live Platform

always-on conversational representatives

interacted with via Windows Live Messenger network

Agents answer 10-20M+ queries per day

Overview Request access via

http://dev.live.com/agents/pilot.aspx

Use BuddyScript to develop discussion guides

Support for SOAP, file data, and other data sources

Examples: [email protected] [email protected] [email protected]

[email protected]

Page 98: 20071204 Arc Ready Windows Live Platform

Platform Natural Language Engine Conversational System User Profile Storage integrated

with NL and Conversational engines

Messenger network faceless client supporting latest large range of features

Development Suite SDK Visual Studio Integration soon to be

available to public Test server

Deployment Scalable Deployment Architecture

(MSFT) Full Web Management Suite Both on IM or through web

interface

Overview

Page 99: 20071204 Arc Ready Windows Live Platform

Launched Nov. 2005: 5 billion queries 20 million+ unique messenger users

Never promoted or advertised anywhere Viral growth (entirely word of mouth)

[email protected]

SmarterChild Case Study

Page 100: 20071204 Arc Ready Windows Live Platform

BuddyScript: language to easily write powerful agents

Full integration with Visual Studio Template for rapid development Colorization / IntelliSense Object browser / Go to definition Conversation and Comprehension windows for

quick testing and debugging Code analysis tools

Developing an Agent

Page 101: 20071204 Arc Ready Windows Live Platform

Both on IM or through web interface Platform can run on:

Local machine for private testing and development Windows Live datacenter for production and

iterative development Scalable Deployment Architecture Full Web Management Suite

Deploying an Agent

Page 102: 20071204 Arc Ready Windows Live Platform
Page 103: 20071204 Arc Ready Windows Live Platform

Multi channel alerting framework. Email Toast in Messenger (SMS) – North America only

3 modes of access: RSS feed – 1 minute setup Zero development Multi Category input SOAP SDK

Overview

Page 104: 20071204 Arc Ready Windows Live Platform

Browser

3rd Party

Server

Alerts Server

1. User asks to sign up for Alert on 3rd party site

2. Site asks Alerts for URL to register user for Alerts using a site-unique username

3. Alerts provides URL for user to configure Alerts delivery options

4. Site provides configuration URL to user

5. User visits Alerts site to select delivery options

6. User is returned to URL provided by 3rd party site

Sample Alert Signup Process

Page 105: 20071204 Arc Ready Windows Live Platform

Browser

3rd Party

Server

Alerts Server

1. Message invoked by user or other source

2. Site calls SOAP API with message details

3. Alerts delivers messages to user-specified endpoints

Sample Alert Delivery Process

Page 106: 20071204 Arc Ready Windows Live Platform

Streaming

Page 107: 20071204 Arc Ready Windows Live Platform

Online service for hosting Silverlight applications Applications served from Microsoft servers

Great scalability and availability Limitations

4GB total storage (to be removed eventually) Videos cannot exceed 10 minutes in runtime or ~20MB Peak outbound rate is 700 Kbps (if streaming media)

No limitation on media quality or encoding

Overview

Page 108: 20071204 Arc Ready Windows Live Platform

4 GB free storage 22 MB max per video (approx. 10

minutes at 300 kbps) Pre-release

Free unlimited streaming up to DVD quality (700 kbps)

Post-release Free up to 1 million minutes / month

Page 109: 20071204 Arc Ready Windows Live Platform

Administration Create an account at http://silverlight.live.com to

get an account ID and secret key Content preparation

Uploads are in ZIP format Using admin browser interface Using REST API

End users Require the Silverlight runtime Everything else is HTML/JavaScript

Setup

Page 110: 20071204 Arc Ready Windows Live Platform
Page 111: 20071204 Arc Ready Windows Live Platform

A set of control add-ins to make incorporating Windows Live services into your Web application easier with Visual Studio 2008 and Visual Web Developer Express 2008

The four controls included in CTP release are: Contacts Control IDLogin Control IDLoginView Control SilverlightStreamingMedia Control

Windows Live Tools for Visual Studio 2008

Page 112: 20071204 Arc Ready Windows Live Platform

Messenger & Hotmail share contacts backend JavaScript Widget Multiple modes

Display presence of buddy & initiate conversation in Messenger client.

Allow users to securely transfer contacts to a website

Contacts Control

Sample ASP.NET code:<live:Contacts ID="Contacts1" runat="server" ChannelEndpointURL="~/channel.htm" DataDesired="name,email" Height="500px" PrivacyStatementURL="~/privacyPolicy.htm" View="TileList" Width="250px" />

Page 113: 20071204 Arc Ready Windows Live Platform

Returns pair-wise unique id, no PII Zero server-side installation requirements Samples in 6 languages: .NET / Java / Perl / Python / PHP / Ruby Can add on top of existing ASP.NET Membership implementations Links Live ID unique identifier to ASP.NET user profile IDLoginView

Extends the ASP.NET LoginView control Multiple views in different authentication states Sample ASP.NET code:

<live:IDLogin ID="IDLogin1" runat="server" ApplicationIDConfigKey="wll_appid" ApplicationSecretConfigKey="wll_secret" />

IDLogin Provides wrapper for Live ID authentication URL/Iframe

Live ID Controls

Page 114: 20071204 Arc Ready Windows Live Platform

Makes it easy to add Silverlight applications to your Web App. Provides selection of stored applications. Creates instantiation code

Extension to the ASP.NET Futures Media Control. Sample ASP.NET code:

<live:SilverlightStreamingMedia ID="SilverlightStreamingMedia1" runat="server" Height="240px" MediaUrl="streaming:/22777999/VideoLibrary/Assets/Bear.wmv" Width="320px" MediaSource="SilverlightStreaming"> </live:SilverlightStreamingMedia>

Silverlight Streaming Media Control

Page 115: 20071204 Arc Ready Windows Live Platform

Gadgets are:• Mini apps that provide a portal into

web services and engage customers• Simple for users to install and use • Can run in multiple places or “hosts”

Gadgets run on a lightweight developer platform

• Easy to develop using basic web design technology

• Low barrier to deploy based on tiered security model

• “Write once, run anywhere”

Web

Client

Page 116: 20071204 Arc Ready Windows Live Platform

State and Local GovState and Local Gov Membership OrgsMembership Orgs EducationEducation

Scen

ari

oS

cen

ari

oC

ap

ab

ilit

ies

Cap

ab

ilit

ies

• Rich Media Experiences• Sharing & Storage• Communicate & Stay

Connected• Find & Locate

• Rich Media Experiences

• Sharing & Storage• Communicate & Stay

Connected• Find & Locate

Connects membership organizations with the content, information and communities they care about

• Rich Media Experiences• Sharing & Storage• Communicate & Stay

Connected• Find & Locate

Community government keeping residents up to date on civic developments, community events and local news

University sponsored site for students and staff to connect with the university events and social organizations

Page 117: 20071204 Arc Ready Windows Live Platform

• Rich Media Experiences• Sharing & Storage• Communicate & Stay

Connected• Find & Locate

• Rich Media Experiences• Sharing & Storage• Communicate & Stay

Connected• Find & Locate

• Rich Media Experiences• Sharing & Storage• Communicate & Stay

Connected• Find & Locate

Scen

ari

oS

cen

ari

oC

ap

ab

ilit

ies

Cap

ab

ilit

ies

Services firm engaging with new customers to answer questions about its product and services as well as follow up appointments

Travel and hospitality firm connecting with travelers and the travelers community to enrich pre and post trip experiences

Retail site interacting with customers to creating community connections for easier and better acquisition and retention

HospitalityHospitality RetailRetail Customer Customer interactioninteraction

Page 118: 20071204 Arc Ready Windows Live Platform

Live Expo

Live Alerts

Live Data (Contacts API)

SilverlightStreaming

Live ID

Live Spaces

Live Events

Live Search

Virtual Earth

Page 119: 20071204 Arc Ready Windows Live Platform
Page 120: 20071204 Arc Ready Windows Live Platform

Questions? Feedback?Please fill out your evaluations

> SoCal Architect Communityhttp://socalmsft.comhttp://blogs.msdn.com/socalarchitect (team blog)http://davidcchou.com (my blog)

Page 121: 20071204 Arc Ready Windows Live Platform

© 2007 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.