Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland - Richtistrasse 3 - 8304 Wallisellen Email: stefano.malle@microsoft.comstefano.malle@microsoft.com.

Post on 24-Dec-2015

218 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

Transcript

Windows Live Platform

(Part 1)

Stefano MallèEvangelism Lead - Developer and Platform EvangelismMicrosoft Switzerland - Richtistrasse 3 - 8304 WallisellenEmail: stefano.malle@microsoft.comBlog: Technology Talk, DPE Team BlogCo-ordinates: XING, LinkedIn

2

“in the sky”

Online(Services)

Enterprise Devices

Desktop(Software)

Megatrends: Converging Worlds

Services extend Software with allways up-to-date information (on premise)Services allow unified experience across desktops and devices

Microsoft Bets Big on Services

Services

Services

Streaming

(Folder)

Microsoft Services Platform

Mail & Contacts

IM & AlertsIdentity Video & RIA Find Locate Store & Share

Consumer

Srv/Infra

LIVE ID(w CardSpace)

1B+ Auth/Day

LIVE MAIL(mail.live.com / hotmail)

WL Mail (Outlook)

Mail: 280M Accounts Contacts: 500M Addr Books, 30B Contact

Associations

WEB MESSENGER (webmessenger.msn.com)

WL Messenger, Mobile IM, (OC)7,5B mess/day

Smarterchild: 20M+ UU, 5B queries since

11/05

LIVE SEARCH(search.live.com)

WL Toolbar

2,5B queries/m

LIVE SEARCH MAPS (maps.live.com)

17 petabytes data26 TB updt/month

LIVE SPACE (home, blogs, photos, events, lists,…)SKYDRIVE

WL Writer, WL Gallery

93M Spaces, 120M UU/m, 150k spaces

created/month

Expression Media Encoder

login.live.comCustom Domain

WLID application page

, WL Admin Center

Hosted: Mail, Contacts,Calendar

WL Messanger Web Settings

Silverlight Streaming Live Search Virtual Earth,MapPoint

Skydrive,Live Spaces

Skydrive.live.vom

(IM Infra)

Silverlight Streaming Admin SiteWL Admin Center

WL ID clientWL ID Web

IDLoginView*, IDLoginStatus*

Contacts [REST]

Contacts Control*

IM JS Lib, Live Agents,

Activity SDK Online, The Windows Live Alerts SDK

WL Alerts [SOAP], WL Presence[JSON],Alerts for RSS Feeds

WL Messenger IM Control

SilverightSteramingMdia

*

Live Search [SOAP]

Search Box AJAX Control

MapPoint [Web Srvs]

Virtual Earth Map Control

Live ID

Photos API [WebDAV], Spaces

[RSS Feeds] (profiles, friends, updates, blogs, photos, lists,…)

, MetaWeblog,

Social Networking,Event

Space Photo Control

SL Streaming [REST]

SLContacts Alerts, Messenger Photos, SpacesLive Search VE1, VE2, MapPoint

Photos API Interactive SDK

, WL Spaces SDK, WL Writer SDK

Contacts API Interactive SDK

VE Interactive, MapPoint Web Service SDK

Search Interactive SDKSL Streaming SDK

* Windows Live Tools December 2007 CTP & dev.live.com/tools

More WL: Calendar, Gallery, OneCare, Expo, @net, @edu, @gov, @mobile, live data,…

onlineClt.

ValueSrv.

Adm.

SDK

APICtrl.

Developm

entFeb08

7

“in the sky”

LOCATION-BASED SERVICESEnhance your site with live services

Virtual Earth

"Location-based” in a Nutshell

What

Location-based services for consumers (maps.live.com)

Platform to develop location-based solutions

Why

Access to 15 petabytes of mapping data and imagery (Satellite, Aerial, Bird‘s Eye View)

Supports 3D environment, geo-coding, and routing, overlays,…

16+ million local points of interest (Live Search)

http://dev.live.com/virtualearth/sdk/

It's easy to integrate in your site

How

MapPoint™ SOAP API

Virtual Earth JavaScript Map Control

Peripheral Tooling (Map Cruncher)

More info

Virtual Earth vs. MapPoint

Virtual Earth

JavaScript Map Control

• Requests Made From Client

• Geocoding

• Mapping

• Driving Directions

• Aerial/Satellite Photography

• Line/Polygon Drawing

• GeoRSS/Collections Integration

• Matching Geographic Coverage + Japan!

• Immersive 3D Environment

MapPoint Services

SOAP API

• Batch Geocoding, Reverse Geocoding

• Algorithmic Searches

• Proximity Searching (FindNearby)

• Corridor Searching (FindNearRoute)

• Polygonal Searching (FindInPoly)

• Static Map Images (for E-mailing Maps)

• Mobile Maps (30+ Map Styles in all)

• Point of Interest (Yellow Page) Listings

• Server-based Control Over Applications

• Preferred Routing

Terms of Services* (Virtual Earth)

Free API Access• Pricing

– Free

• Benefits– Same API as licensed version

• Restrictions– Non-commercial apps– No reverse engineering– 50,000 geocodes per 24 hours– dev.live.com/terms

Licensed• Pricing

– Per User, Per Transaction or Unlimited

– Waterfall Schedule– 1, 2, 3 or 4 year commitment

• Benefits– SLA, Support, Betas,

Communications, TAP, Advanced Features and more.

• Restrictions– Limited

* For a complete and binding description refer please to http://dev.live.com/terms/default.aspx

DEMO

Virtual Earth(Immersive 3D Environment)

{ }3D, 3D tour

DEMO

Virtual Earth(Aerial/Satellite Photography)

{ }Photosynthetizing VE

DEMO

Virtual Earth{ }“Hello…”

DEMO

Virtual Earth{ }Map, Pins, & Routes

GeoRSS

GeoRSS

SOMELINQ

“MAGIC”

“Divagation”

LINQ “magic”{ }

20

LINQ to XML

provides an in-memory XML programming interface that leverages LINQ, the .NET Language-Integrated Query Framework. uses the latest .NET Framework language capabilities and is comparable to an updated, redesigned Document Object Model (DOM) XML programming interface.The LINQ family of technologies provides a consistent query experience for

objects (LINQ), relational databases (LINQ to SQL), XML (LINQ to XML),…

21

GPS

XM

L<?xml version="1.0" encoding="utf-8" standalone="no"?><TrainingCenterDatabase xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd">... <Activities> <Activity Sport="Running"> <Id>2008-02-23T13:42:11Z</Id> <Lap StartTime="2008-02-23T13:42:11Z"> <TotalTimeSeconds>1725.5900000</TotalTimeSeconds> <DistanceMeters>1677.0235596</DistanceMeters> <MaximumSpeed>1.6112189</MaximumSpeed> <Calories>102</Calories> <Intensity>Active</Intensity> <TriggerMethod>Manual</TriggerMethod> <Track> <Trackpoint> <Time>2008-02-23T13:42:19Z</Time> <Position> <LatitudeDegrees>47.3400755</LatitudeDegrees> <LongitudeDegrees>8.7295491</LongitudeDegrees> </Position> <AltitudeMeters>491.8516846</AltitudeMeters> <DistanceMeters>4.3972735</DistanceMeters> <SensorState>Absent</SensorState> </Trackpoint> <Trackpoint> <Time>2008-02-23T13:42:28Z</Time> <Position> <LatitudeDegrees>47.3400674</LatitudeDegrees> <LongitudeDegrees>8.7294985</LongitudeDegrees> </Position> <AltitudeMeters>494.2550049</AltitudeMeters> <DistanceMeters>8.2982550</DistanceMeters> <SensorState>Absent</SensorState> </Trackpoint>

...

22

Load

ing

GPS

dat

a XNamespace aw = "http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2";XDocument positionFromGPS = XDocument.Load(sportFile);

IEnumerable<activityTrackPoint> sportInfo =from activities in positionFromGPS.Descendants(aw + "Activity")from laps in activities.Descendants(aw + "Lap")from trackpoints in laps.Descendants(aw + "Trackpoint")from position in trackpoints.Elements(aw + "Position")orderby buildDateTime(trackpoints.Element(aw + "Time").Value) ascendingselect new activityTrackPoint{

Sport = (string)activities.Attribute("Sport"),StartTime = activities.Element(aw + "Id").Value,LapStartTime = (string)laps.Attribute("StartTime"),LapTotalTime = laps.Element(aw + "TotalTimeSeconds").Value,LapDistance = laps.Element(aw + "DistanceMeters").Value,LapMaximumSpeed = laps.Element(aw + "MaximumSpeed").Value,PointTime = trackpoints.Element(aw + "Time").Value,PointTimeDT = buildDateTime(trackpoints.Element(aw + "Time").Value),PointLatitude = position.Element(aw + "LatitudeDegrees").Value,PointLongitude = position.Element(aw + "LongitudeDegrees").Value,PointDistance = trackpoints.Element(aw + "DistanceMeters").Value,PointAltitude = trackpoints.Element(aw + "AltitudeMeters").Value

}; ...

23Load

ing

Pict

ure

Info

rmati

on

IEnumerable<imageDetails> imageInfo =from img in System.IO.Directory.GetFiles(imageDirectory)let _dateTaken = imageDateTaken(img)let _dateTakenDT = buildDateTime(_dateTaken).AddHours(-1) //GTMlet _point = sportInfo.Where(x => x.PointTimeDT < _dateTakenDT).Last()select new imageDetails{

DateTaken = _dateTaken,DateTakenDT = _dateTakenDT,Path = img,Longitude = _point.PointLongitude,Latitude = _point.PointLatitude

}; ...

DEMO

Virtual Earth{ }GeoRSS

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

ADMIN CENTEROutsource your messaging infrastructure

Admin Center

Admin Center in a Nutshell

What

Free messaging infrastructure for @yourDomainmail, contacts, calendar, IM, live id, live spaces,…

Custom Domain, Live @net, Live @edu, Community Builder

Why

Proven infrastructure, with top availability, scalability, and features (spam filters, eg)

How

Admin your domain at http://domains.live.com

Admin Center SDK

Terms of Services*

FREE! 500 accounts

Additional accounts can be requesteddepending on the conditions can also be free

More info

* For a complete and binding description refer please to http://dev.live.com/terms/default.aspx

Customer Reference

partyguide.ch{ }

30

partyguide.ch

Partyguide core business is to provide pictures of the latest events 1'000 photographers

picture section publicly available

Public & member area#350‘000 registered users

grows by 1'000 users per month

WAWE 1 (now!)Co-branded (@pgmail.ch) email with Community Builder to all Partyguide members

Myfriends with Live contacts -> co-branded eMail / Live Messenger

Myalerts with Windows Live Alerts -> Live Messenger

Windows Live ID Login

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

top related