Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland -...
-
Upload
scott-russell -
Category
Documents
-
view
219 -
download
4
Transcript of Stefano Mallè Evangelism Lead - Developer and Platform Evangelism Microsoft Switzerland -...
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
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{ }“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
Customer References
Via Virtual Earth{ }
© 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.