Download - Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism [email protected] [email protected] .

Transcript
Page 1: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Services for DevelopersSilverlight StreamingVirtual EarthLive MeshSascha P. CortiMicrosoft SwitzerlandDeveloper & Platform [email protected] http://blogs.msdn.com/swiss_dpe_team

Page 2: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Agenda

Silverlight Streaming

Virtual EarthVirtual Earth Control 6.2Virtual Earth Web Services 1.0

Live MeshProgramming the Live Mesh

Page 3: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Silverlight Streaming

Page 4: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Silverlight Streaming

http://silverlight.live.com

Provides developers a free, scalability-on-demand solution for Silverlight

Page 5: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Silverlight Streaming Facts

Up to 10GB Hosting per AccountUp to 105MB per Video FileMap account / application via WebDAV

https://silverlight.services.live.com/[user]/[app]/

Easily embed applications using IFRAME

<iframe src= "http://silverlight.services.live.com/invoke/[user]/[app]/iframe.html" scrolling="no" frameborder="0" style="width:800px; height:600px"></iframe>

Page 6: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

http://streaming.live.com

Silverlight Streaming

Blend

Encoder

RemoteSilverlight

Control & VideoEmbeddedin HTML

LocalSilverlight

Control loadsRemoteVideo

SilverlightApplicationEmbeddedin HTML as

<iframe>

Windows HTAApplication

SilverlightApplication

SilverlightVideo Asset

Page 7: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Silverlight Streaming

demo

Page 8: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual Earth

Page 9: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

What Is Virtual Earth?

Your Applica

tion

maps.live.com

Virtual Earth Platform (AJAX Control & Virtual Earth Web Services)

Map Tiles

Imagery Tiles

Elevation and 3D Models

Search(Yellow Pages)

Geo-coding

Collections

User Generated

TrafficData

Routing and

Directions

Data Services & Reporting

Page 10: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual Earth Architecture

Data Sources Processing Storage Access Delivery

VE AJAX Control

3D Control

Maps are verified, reprojected, and

tiled.

In addition to tiling, photogrammetry is used to determine

terrain elevation and build 3D models

Road data is rendered into maps,

then tiled.

Aerial Imagery+ Elevation data

3D Models

Road Maps

POI Data

Data Centers

Images captured via the UltraCam

Maps & images licensed from USGA,

Pictometry, NASA, GeoEye, etc.

Road data and Pointsof interest are

licensed from NavTeq

Page 11: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Introducing the UltraCamX

Made by Vexcel, acquired in May 2006216 Megapixel3 GB/Second 14 ProcessorsSwappable Storage limited only by room on the plane

Exclusive Source of Imagery for Creating 3D Building Models in Virtual Earth through Photogrammetry: Geometric properties of Buildings and Landscape can be determined from 2-D Photos.

Page 12: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Photogrammetry at Work

Page 13: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

The Virtual Earth Platform

AJAX ControlEmbedded in a web page, shows 2D maps

Managed 3D ControlActivated through the AJAX control

Virtual Earth Web ServicesSOAP Web Services that handle server-side requests

Map CruncherA tool from MS Research to add your maps to the VE experience

Page 14: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

MapCruncherDeveloped by Microsoft Research, now in Beta

Takes digitized maps (jpg, pdf, etc.) and reprojects them, turns them into map tiles that can be layered on top of the base imageryEasy to use: just find 3 or more similar points on the digitized map and the base imagery (the more the better) and MapCruncher does the rest.

Page 15: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual Earth Control 6.2

Page 16: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

The Virtual Earth AJAX ControlMap Control

Access to both 2D and 3D; road, aerial & bird’s eye imageryNavigation tools: zoom, navigation panel, mini-mapEvents & callbacks to respond to user control

ShapesPoints, Lines, PolygonsPlaced on Layers with custom pop-ups

FindGeocoding, Points of Interest/Yellow Pages listings

RoutingMultipoint routing, driving & walking directionsTraffic Integration

IntegrationVector data from: GeoRSS/KML, Live Search Maps collectionsRaster data from custom tile layers (MapCruncher)

Page 17: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Adding Virtual Earth To A Web Page<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<script type="text/javascript“ src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?

v=6.2"> </script>

  <script type="text/javascript">

var map = null;

function GetMap() {

map = new VEMap('myMap');

map.LoadMap();

}

</script>

</head>

<body onload="GetMap();">

<div id='myMap' style="position:relative; width:400px; height:400px;"></div>

</body>

</html>

Page 18: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual Earth Control

demo

Page 19: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual EarthWeb Services 1.0

Brand

New!

Page 20: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual Earth Web Services 1.0

Imagery ServiceStatic Maps and TilesImage Metadata

Search ServiceWhite/Yellow Pages & CollectionsOne box and structured

Geocode ServiceGeocode & Reverse Geocoding

Route ServiceMulti-point routingMajor Routes (one-click directions)

Common Service (asmx)Authentication and Tokens

Page 21: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Static Maps

The new Virtual Earth Web Services offers static map images for road and aerial maps.

ImageryServiceClient imageryService = new ImageryServiceClient();MapUriRequest mapuriReq = new MapUriRequest{ Credentials = new Credentials { Token = token }, Center = new Location { Latitude = 47.64122, Longitude = -122.107848 }, Options = new MapUriOptions { ZoomLevel = 5, Style = MapStyle.AerialWithLabels, ImageType = ImageType.Gif, ImageSize = new SizeOfint { Height = 400, Width = 400 }, }};MapUriResponse mapuriRep = imageryService.GetMapUri(mapuriReq);

Page 22: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Routing

The full power of the Microsoft Virtual Earth Routing Engine, exposed through SOAP-based web services, expands the potential for powerful location-based mobile applications or by letting server-side code work with routing data before it is sent to the user.RouteServiceClient routingService = new RouteServiceClient();

Waypoint[] points = new Waypoint[2];points[0] = new Waypoint { Location = new Location { Latitude = 47.741278,

Longitude = -121.107844 } };points[1] = new Waypoint { Location = new Location { Latitude = 47.068869,

Longitude = -117.364317 } };RouteRequest routeReq = new RouteRequest { Credentials = new Credentials { Token = token }, Waypoints = points};RouteResponse routeResp = routingService.CalculateRoute(routeReq);

Page 23: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual Earth Web Service

demo

Page 24: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Virtual Earth Resources

SDK’s, examples, blogs and more http://dev.live.com/virtualearthSamples in this session, plus BONUS content http://blogs.msdn.com/virtualearth

Questions onLicensing: [email protected]: [email protected]

Page 25: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Mesh

Page 26: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

PEOPLEDATA

DEVICES

APPLICATIONS

Why a Mesh?

Page 27: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Azure™ Services Platform

Azure Services Platform

Page 28: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Services

… are a set of building blocks for handling user data and application resources which can connect your application to hundreds of millions of users.

Live Services

Storage Search & GeospatialIdentity Directory

Devices Applications Synchronization

Mesh Services

User

Comms & Presence

Page 29: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Mesh Corner Stones

Foundation: Cloud at the coreIdentity: People, devices, and applicationsData: Universal representationDevices: Topology and managementSync: Bring data closer to users and appsSharing: Distribute data among usersState: Complete awarenessComms: Seamless connections

Page 30: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Mesh Device Ring

Platforms in Preview: Windows XP Windows Vista Mac OS X Windows Mobile 6

Page 31: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Mesh Device Scenarios

creator

creator

consumer

processorconsumer

rich end-point

Page 32: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Mesh

demo

Page 33: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Programming theLive Mesh

Page 34: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

What Can You Do?

Access user data Access informationon user devices

Access user’ssocial graph

Sync user’s data Access

user’s profile

Provide access control to user’s data

Share user’s data

Provide newson actions

Manageapplications

Page 35: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Framework Resource Model

Devices

Media Resources

Data Entry

Members Mappings Data Feeds News Subscription

Applications

News Notification Queue

Mesh Objects

Scripts ProfilesMesh Contacts

Live Operating

Environment

Data Entry

Page 36: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Application Types

Bring exciting new devices into the Mesh, integrate with core infrastructure and experience.

World of Devices

Seamlessly integrate social applications across invites, news feeds, local devices experiences, and more.

Social and Community

Sites

Service-enable client applications, make them Mesh-aware, enable multi-user sharing-based experiences.

Client-to-the Web

Take your web application and content to the client, enable a rich and seamless offline experience.

Web-to-the Client

Page 37: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

Live Services are Open!

Talking to Live Services is easyWe speak HTTP

.NET, PHP, Java,Python, Ruby, AIR, Flash, Silverlight, etc. all speak HTTP

Talk to client the same way you talk to cloud

Page 38: Sascha P. Corti Microsoft Switzerland Developer & Platform Evangelism sascha.corti@microsoft.com sascha.corti@microsoft.com .

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