Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland -...

30
Windows Live Platform (Part 1) Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland - Richtistrasse 3 - 8304 Wallisellen Email: [email protected] Blog: Technology Talk , DPE Team Blog Co-ordinates: XING , LinkedIn

Transcript of Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland -...

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

Windows Live Platform

(Part 1)

Stefano MallèEvangelism Lead - Developer and Platform EvangelismMicrosoft Switzerland - Richtistrasse 3 - 8304 WallisellenEmail: [email protected]: Technology Talk, DPE Team BlogCo-ordinates: XING, LinkedIn

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

2

“in the sky”

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

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

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

Microsoft Bets Big on Services

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

Services

Services

Streaming

(Folder)

Microsoft Services Platform

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

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

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

7

“in the sky”

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

LOCATION-BASED SERVICESEnhance your site with live services

Virtual Earth

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

"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

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

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

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

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

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

DEMO

Virtual Earth(Immersive 3D Environment)

{ }3D, 3D tour

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

DEMO

Virtual Earth(Aerial/Satellite Photography)

{ }Photosynthetizing VE

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

DEMO

Virtual Earth{ }“Hello…”

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

DEMO

Virtual Earth{ }Map, Pins, & Routes

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

GeoRSS

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

GeoRSS

SOMELINQ

“MAGIC”

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

“Divagation”

LINQ “magic”{ }

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

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),…

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

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>

...

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

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

}; ...

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

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

}; ...

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

DEMO

Virtual Earth{ }GeoRSS

Page 25: Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland - Richtistrasse 3 - 8304 Wallisellen Email: stefano.malle@microsoft.comstefano.malle@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.

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

ADMIN CENTEROutsource your messaging infrastructure

Admin Center

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

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

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

Customer Reference

partyguide.ch{ }

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

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

Page 30: Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland - Richtistrasse 3 - 8304 Wallisellen Email: stefano.malle@microsoft.comstefano.malle@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.