Since Amit Mital introduced Live Mesh last week, there have been a slew of posts & videos published about the Live Mesh platform. We thought we'd provide a round up from the various sources here.
The Live Mesh Community Tech Preview that was released last week offers a glimpse of what is possible for consumers, but the platform will offer exciting possibilities to developers in the near future as well.
Live Mesh is a “software-plus-services” platform that enables individuals and organizations to manage, access, and share files, data and applications from anywhere. Mike Zintel provides some details about the goals for the platform, which you can read about here.
Programming the Mesh
Jeremy Mazner explains in this blog post how the Live Mesh platform has been designed to be “comprehensive, simple, open.” Demonstrating these principles is Ori Amiga's new video, “Programming the Mesh.” The video includes several demos of feeds, ATOM, JSON, and FeedSync, as well as some nifty applications (such as a custom Facebook app that syncs Facebook photos with Live Mesh, and one with Mac support ).
The Live Mesh team released a Platform Quick Tour for Developers walkthrough, while Channel 10 has the Overview of Live Mesh Platform Experience.
Synchronizing with FeedSync
Among the key design goals is the ability to share data among devices and applications, while retaining ownership of the data for the customer. FeedSync will make this possible by providing an authenticated, bidirectional sync of data. Steven Lees, designer of the FeedSync protocol, and the Live Mesh team explain how the FeedSync synchronization works in this Channel 9 video.
Designing Live Mesh
Architect Abolade Gbadegesin describes the approach he took to designing Live Mesh in this video on Channel 9.
Happy viewing!
Update: Check out the Channel 9 Video with Ori Amiga on Programming the
Mesh
This isn’t my personal blog, so let me begin by introducing myself.
I’m Amit Mital, General Manager of a great team of people that has created some really interesting technology that I’m excited to tell you about – Live Mesh.
There’s been a bunch of buzz about “the mesh” since Ray Ozzie alluded to it at last month’s MIX Conference. As Ray said there, we’ve been exploring the concept of “the mesh” for a couple of years now.
We started by asking ourselves a series of questions about our own digital lifestyle experiences, and examining the role of the web in our lives. We examined many of the ways the web is becoming more central to us – both workstyle and lifestyle. We’re friending, twittering, digging, tagging and linking to stay in touch, share photos, be entertained, meet new people, express our opinions, learn, and the list goes on.
Devices are how we interact in this new “web connected” world and we use a variety of them, including PCs, laptops, media devices, phones, digital picture frames, game consoles, music players and the list grows at every CES. However, as we discover, adopt and use more of these digital devices, it becomes increasingly difficult to keep the people, information and applications we depend on in sync.
I don’t know about you, but I’ve got two work laptops, a home PC, a SmartPhone, a Media Center, and a growing list of new devices. Unfortunately, at least initially, every new device I add makes my life a little harder not easier. There have been countless times where I’ve been in a situation where “that file is on my work machine” or “that photo is on my SmartPhone” or “I can’t access it because I’m offline.”
It can be frustrating for users and don’t even get me started on how hard this new world is for developers.
We looked on the Horizon
So two years ago when we began our journey, we started from a there-has-to-be-a-better-way perspective and asked ourselves questions like, “How can we make this multi-device world easier for users and developers?” As we started thinking about this, we brainstormed some “what if?” scenarios.
What if we could provide:
- "Unified Device Management" - enabling your devices to report into a common service, for status, for health, or to report their location.
- "Unified Data Management"- or the transparent synchronization of files, folders, documents & media, the bi-directional synchronization of arbitrary feeds, of all kinds, across your devices and the web.
- "Unified Application Management" - for centralized web-based deployment of apps across the devices you own.
- "Centralized Management" - where you could configure and personalize your devices and remote control into them from just about anywhere.
As our team set out to explore these areas we realized we had a unique opportunity to use the magic of software and internet services to connect and bring devices together into your own personal “mesh” enabling them to work in concert with one another.
In order to deliver these capabilities, we had to tackle a series of complex problems and computer science challenges. We did, and today it’s my pleasure to share and announce the Live Mesh – Technology Preview.
This new software-plus-services platform enables PCs and other devices to “come alive” by making them aware of each other through the Internet. Our goal is to provide a “just works” experience by making it much easier to access the information, applications, people, and devices you care about.
Our design goals for Live Mesh are to have…
- …your devices work together
- …your data and applications available from anywhere
- …the people you need to connect with just a few clicks away for sharing and collaborating
- … the information you need to stay up-to-date and always be available
We’re achieving these design goals by combining the power of ‘cloud services,’ with the convenience and rich experience of your many devices.
The Platform is the Core
I’ve spent some time talking about the experiences we want to enable, but what really differentiates Live Mesh is that it’s a platform. That’s no surprise, I guess, since building platforms is part of Microsoft’s DNA, and our team is really comprised of a bunch of platform specialists.
We started with a vision of creating an open, comprehensive and accessible platform that enables developers to tackle increasingly complex problems no matter the device, connection or experience.
Our guiding principles were:
- Services Are the Core of the Platform – the Live Mesh platform exposes a number of core services including some Live Services that can all be accessed using the Live Mesh API; these include Storage (online and offline), Membership, Sync, Peer-to-Peer Communication and Newsfeed.
- Same API on Clients and in the Cloud – the programming model is the same for the cloud and all connected devices, which means a Live Mesh application works exactly the same regardless of whether it’s running in the cloud, in a browser, on a desktop, or on a mobile device.
- Open, Extendable Data Model – a basic data model is provided for the most common tasks needed for a Live Mesh application; developers can also customize and extend the data model in any fashion that is needed for a specific application.
- Flexible Application Model – developers can choose what application developer model best fits their needs.
Today the Technology Preview provides access to the foundational experience that exposes the core functionality and common gestures of the platform. In the near future, we’ll provide more details on the platform including access to an SDK. Nevertheless, today you can get some deeper details on the platform directly from Mike Zintel, Director of Service Infrastructure for Live Mesh. In addition, head over to Channel 9 where throughout this week we’ll be posting some great videos from the team, on topics like Architecture, Sync and Storage, and the Developer Platform.
Take a Quick Peek
I’ve spent some time discussing the why and what of Live Mesh. Now I’d like to give you a brief overview of how it works.
Several times I referenced how Live Mesh enables “your devices to work together.” But how? With Live Mesh, your experience starts by adding devices to your personal “device mesh” and making them aware so they work together. This is what "software-plus-services" is all about, devices, software and services working together, on your behalf.
Adding a device to your mesh is easy; after you sign up for the service using your Windows Live ID (I’ll tell you how later), you’ll be directed to your personal Live Mesh page to get started. Here you can add, manage and remove your devices.
After you add a device (or several) to your mesh, you’ll notice a few, small changes on the device, in particular, a new notifier icon in your Windows Taskbar.
When you hover over it, you’ll see a pop up, that includes a list of the devices, news feeds and folders in your mesh.
Now the fun begins. With a couple of mouse clicks, you can easily add an existing (or new) Windows folder to your mesh. As you add a folder to your mesh, it quickly replicates it to your other mesh devices. “Cool,” you might say, “but there are other products that do this, too.”
You’re right, but it gets more interesting. We’ve integrated Live Mesh into your Windows experience by including a “fly out” Mesh Bar next to Windows Explorer.
The Mesh Bar gives you additional information about the Live Mesh folder, such as user activities and notifications. So in addition to having your devices “work together,” you can also stay up to date with any changes.
So Live Mesh enables your devices to work together and allows you to add and sync files and folders across your mesh of devices. But the team didn’t stop there; we took it a step further by adding “social” elements.
With Live Mesh, it’s easy to share the contents of folders with others. For example, I can create a folder called “Vacation Pictures” and with a few mouse clicks easily share it with friends (and the devices in their mesh). When I do, Live Mesh keeps me up to date on what’s happening with that folder by notifying me of any changes (e.g. new files, removal of files, user comments, etc.). We call this News and it’s another way Live Mesh makes an otherwise ordinary folder “come alive” for users.
Let me quickly share with you two other things in Live Mesh: Live Desktop and Live Remote Desktop. While the two have similar names, each does something different, but both add amazing conveniences. Live Desktop enables you to easily access your mesh anytime, anywhere, using only a Web browser.
Live Remote Desktop builds on the capabilities of Windows Remote Desktop, giving you the ability to directly access and control other devices within your mesh. So, if you need to access and control your home PC, it’s no problem. With one click from any device in your mesh, you’re in control.
I’ve just briefly highlighted some early experiences the underlying Live Mesh platform provides. There’s plenty more. For a quick tour of the Live Mesh experience, visit www.mesh.com to view some screencasts or drop by http://on10.net to see a couple team members, Noah and George, talk more about the experience.
Getting "Into the Mesh"
Before you get started, I want to give you some other tips and information.
First, this is a limited Technology Preview and we’re seeking your feedback. There’s some pent-up demand, so we appreciate your patience and understanding as we scale the system. We’ll do our best to scale as quickly as possible, but we also want to make sure the system is reliable and responsive.
Second, initially the user interface will be English only and we are hosting the service from our United States data center; this may have impact on some users. We’re working on this, and will announce broader availability in the coming months.
Third, this Technology Preview initially supports Windows (Vista & XP) machines but our vision of your device mesh extends far beyond this. In the near future, we’ll add support for the Mac and mobile devices, and then we’ll build upon that foundation.
It’s been a fun and interesting journey for the team and we’re excited to hear what you think. I hope you take the opportunity to learn more by visiting www.mesh.com.
As I mentioned at the outset, Live Mesh has been developed by a great group of individuals who I have the privilege of managing. Many of them are excited to tell you about what they’ve been creating, so I invite you to visit the team blog at www.mesh.com/blog or stop by Channel 8, Channel 9 and Channel 10 to see a series of “deep dive” videos. Also, you might want to check out Jon Udell's interview of Ray Ozzie on Channel 9. Ray discusses his role as Chief Software Architect, and provides his perspectives on utility computing and Live Mesh.
We hope this marks the beginning of an ongoing dialog with you that spawns lots of new ideas and opportunities. We appreciate your interest in Live Mesh and look forward to “meshing it up” with you.
Amit
Update:
For more information, go to LiveMesh.com.
For more Live Mesh coverage:
The Virtual Earth team just released the latest update to the Virtual Earth map control. Of course, we’ve updated the
docs, and you can see it in action with our
interactive SDK.
What's new? Here are the highlights:
Enhanced 3D Models
The map detail for Las Vegas, NV; Phoenix, AZ; Dallas, TX; and Denver, CO features improvements in 3D model accuracy and resolution detail to reveal more buildings, small terrain features, building textures, and trees that enhance overall realism.
Printing Support
Printing support for maps is enhanced to print the driving route in relation to the map. Printing support is also expanded for cross-browser support of Internet Explorer® 6 and 7, Firefox 2 for PC, and Apple Safari 2 and 3 for Mac only.
Safari Support
New map controls include better support for Apple® Safari™ 2 and new support for Safari 3, enabling Mac® users to enjoy many of the features of Virtual Earth™ that are available on Internet Explorer®.
Bird’s Eye Hybrid
Customers can now select a new map style called Bird’s Eye Hybrid that adds street names to the bird’s eye maps to provide end users better visual context and orientation.
Bird’s Eye View in 3D
Users can easily toggle bird’s eye view on and off for a seamless end-user experience.
Localized Directions in Metropolis
Organizations can now provide users with localized driving or walking directions in 15 languages, including English, French, Spanish, German, Portuguese, and Italian, among others.
New Locales
The Virtual Earth™ dashboard, or navcontrol, is localized to support languages including English for U.S.-based speakers, Japanese, Italian, Spanish for U.S.-based speakers, as well as French for both France and Canada-based speakers.
New Walking Directions
New in this release, users in North America and the European Union can now find the most direct route to walk to their destination, ignoring one-way streets, medians, and other detours that pertain to motor vehicles.
Traffic-based Routing
Want to take the frontage road and avoid the highway at rush hour? Traffic-based routing lets users choose a route based on current traffic flows to get where they’re going faster.
New Reverse Geocoding
New in this release, users in the U.S. can now find the closest street address based only on latitude and longitude coordinates from a GPS or other geospatial device.
Version Compatibility
Version 6.1 is backwards compatible with version 6.0.
For more information about licensing and pricing, contact maplic@microsoft.com.
Hi everyone, Neelamadhaba Mahapatro (Neel) here – I run Microsoft’s online identity service (Windows Live ID). Consumer safety, security and privacy are our top priority. Earlier this week a comment was left on Angus Logan’s blog, it got me thinking, and I want to share what we are doing to create phishing resistant systems.
- We are absolutely aware of the dangers of phishing on the Internet.
- We understand the probability of attack goes up when the value of the asset that is being protected is higher than the strength of authentication protecting that asset - watch this video by Kim Cameron to see OpenID phished.
- We have put certain measures in place to counteract phishing attempts which are listed below.
Self Issued InfoCards
In August 2007 we announced beta support for self issued InfoCards with Windows Live ID (instead of username/password). The Windows Live ID team is working closely with the Windows CardSpace team to ensure we deliver the best solution for the 400 million+ people who use Windows Live ID monthly. Angus's commentor, davidacoder, also asked for the Windows Live ID service to become a Managed InfoCard provider - we have been evaluating this; however we have nothing to announce yet.
Additional Protection through Extended Validation Certificates
To further reduce the risk of phishing, we have implemented Extended Validation certificates to prove that the login.live.com site is trustworthy. I do however think more education for internet users is required to help drive the understanding of what it means when the address bar turns green (and what to do when it doesn’t). When authenticating in a web browser, Microsoft will only ask for your Windows Live ID credential pair on login.live.com – nowhere else! (See this related post).

What else have you got?
With identity and security you can’t do enough, therefore we continue to invest in other methods for protecting consumers. Another technique we use for both phishing resistance and usability is the Windows Live Sign-in Assistant. The sign-in assistant stores credentials in the Windows Credential Manager and shares them between login.live.com and Windows Live client applications (e.g. Messenger).
We also use roaming user tiles, which show the user’s avatar on login.live.com. If the picture doesn’t match your identity you should look at the title bar to see if you are in fact on login.live.com.
User Experience and User Education
We’re constantly looking for ways to balance end-user security/privacy and user experience. If the barrier to entry is too high or the user experience is poor, the users will revolt. If it is too insecure the system becomes an easy target. A balance needs to be struck.
Microsoft is proactively engaging with organizations that put consumers at risk by asking for their secret credentials to access Windows Live services by either screen-scraping or using unsupported/undocumented APIs - It is critical that the web industry help change the way consumers treat their secret credentials by ceasing to ask for username/passwords except on the one site that issued them. Using Windows CardSpace is definitely a move forward from usernames & passwords but adoption will be the critical factor here.
Summary
Opening our services & identities so they can be used at sites like flickr is another way we can respond to the needs of our users. Our work on overcoming phishing is complementary to this openness – let’s not pit one area of progress against another.
Hey folks, John Richards here, Director of Windows Live Platform.
Today Microsoft is announcing some significant developments to the Windows Live platform that demonstrate Microsoft’s commitment to data portability and giving users a choice of how to use and control their information.
Building on MIX08
Earlier this month at MIX08, the Windows Live platform team announced a number of new and improved APIs and tools to help the developer community continue to push the envelope and deliver innovative customer experiences. We outlined the priorities for the Windows Live platform, including our intent to simplify data portability while keeping users, and their data, safe and secure. We announced the beta release of the Windows Live Contacts API, which web developers can use in production to enable their customers to transfer and share their Windows Live Contacts in a safe and secure way. Simply stated, our efforts aim to put users at the center of their online experience.
Today I’m pleased to announce that Microsoft has partnered with some of the world’s top social networks on contact data portability. Starting today, we will be working with Facebook, Bebo, Hi5, Tagged and LinkedIn to exchange functionally-similar Contacts APIs, allowing us to create a safe, secure two-way street for users to move their relationships between our respective services. Along with these collaborations, Microsoft is introducing a new website at www.invite2messenger.net that people can visit to invite their friends from our partner social networks to join their Windows Live Messenger contact list.
Our commitment to data portability
To tackle the issue of contact data portability it is important to reconcile the larger issue of data ownership. Who owns the data, like email addresses in a Windows Live Hotmail address book? We firmly believe that we are simply stewards of customers’ data and that customers should be able to choose how they control and share their data. We think customers should be able to share their data in the most safe and secure way possible, but historically this openness has been achieved largely through a mechanism called “screen-scraping,” which unduly puts customers at risk for phishing attacks, identity fraud, and spam. Now with the Windows Live Contacts API, we have provided an alternative to “screen-scraping” that is equally open but unequivocally safer and more secure for customers.
Strong Partners
The collaborations with Facebook, Bebo, Hi5, LinkedIn and Tagged will make it easier, safer, and more secure for people to have access to their contacts and relationships from more places on the web. These networks will be adopting the Windows Live Contacts API instead of “screen-scraping.” Starting today, you can visit www.facebook.com and www.bebo.com to find your friends using the Windows Live Contacts API. Hi5, Tagged and LinkedIn will be live in the coming months.
With these collaborations and the new website at www.invite2messenger.net that lets people invite their social network friends to join their Windows Live Messenger contact list, we’ve essentially now created a two-way street for people to share their information.
In completing this two-way street, both Windows Live and our partners have paid special attention to relationship context and privacy management in order to create the best possible user experience. We understand that just because people have a friend relationship with a contact on one social network, that doesn’t necessarily mean that they want that same relationship on another network. To preserve the context of the relationship, we are requiring that relationships be re-established in each experience with permission from the friend or contact, rather than automatically storing the data.
We encourage you to visit www.invite2messenger.net to see these ideas in action, and to invite your Facebook, Bebo, Hi5, LinkedIn and Tagged friends to join you on the world’s largest instant messaging network, Windows Live Messenger.
More to Do
For quite some time now, Microsoft has been making investments in the pursuit of data portability to put users at the center of their online experience, while at the same time being thoughtful about balancing user security and privacy with the experience. Today’s announcement is another step in that direction. Our involvement in dataportability.org is a natural development of this as well. We look forward to continuing to engage in the dialogue on data portability to the benefit of the Internet, its users, and developers.
---
NOTE: It may take a couple of hours for the site to become available due to DNS propagation.
Posted by George Moore, General Manager, Live Platform Services
In the AtomPub protocol alignment section of last week’s blog
posting by Dave Treadwell, he foreshadowed a “few more
surprises in this area to be announced at MIX”. I wanted to take this
time to more fully paint the picture of our work behind the scenes over
the last few months in the context of the announcements at MIX08.
For the first time ever we have a unified protocol and
developer tooling story across most of our major storage products from
Microsoft:
The unified on-the-wire format is Atom,
with the unified protocol being AtomPub
across all of the above storage products and services. For on-premises
access to SQL Server, placing an AtomPub interface on top of your data
+ business logic is ideal so that you can easily expose that end point
to everybody that wants to consume it, whether they are inside or
outside your corporate network.
Layered on top of these protocol standards are a set of URI
namespace conventions to address
scalar values and feed-of-feed hierarchy navigation which also work
uniformly across the above storage products and services, regardless of
the top level DNS address of the underlying service:
| Description |
Example URI (taken from Live Photos): |
| Top-level
container |
/Folders |
| Address
single entry by ID |
/Folders(123) |
| Traverse
a link |
/Folders(123)/Photos
|
| Addressing
can nest as appropriate |
/Folders(123)/Photos(456)/ImageStreams
|
| Access
primary value |
/Folders(123)/Photos(456)/$value
|
| Presentation
control |
$orderby,
$filter, $top, $skip, $expand |
| Service
metadata |
/$metadata
|
Reserved keywords in the URI conventions start with $
and are used by the higher-level developer tools and libraries to
assist the developer by providing stronger typechecks at design and
compile time. The last item in the table above – $metadata
– is the key to allow autodiscovery of higher level service-specific
constructs by any developer tool against any of the Microsoft service
endpoints. More on that below.
While it is certainly feasible to interact with any of these
services by simply performing HTTP GET, PUT, POST and DELETE operations
against any of these URI constructs, the real value comes from the
ability to utilize any of the existing Atom and AtomPub libraries on
the web to assist with higher level programming. Microsoft supplies an
AtomPub lib via the .NET
WCF Syndication for exactly this purpose. In the following
code example, we show how using such a library can greatly reduce the
amount of coding required to open and parse an authenticated Atom feed
for Live Spaces Photos:
// Open an authenticated Spaces Photo Atom feed, parse the top-level
// list of "feeds" (photo albums), and display that in a listbox.
void LoadFolders()
{
WebClient c = new WebClient();
c.Headers["Authorization"]="DelegatedToken dt=\"" + DelToken + "\"";
using (Stream s = c.OpenRead(string.Format(Svc, CID) + "/Folders"))
{
// WCF Syndication can directly parse Atom feeds:
var feed = SyndicationFeed.Load(XmlReader.Create(s));
foreach (SyndicationItem item in feed.Items)
{
DropDownList1.Items.Add(item.Title.Text);
}
}
}
However the most efficient programming comes from the highest
levels of abstraction provided by ADO .NET Data Services
(aka “Project Astoria”) which provide LINQ
statements for .NET against any of the above on-premises or cloud-based
storage endpoints. The code example below works identically to the WCF
library example above, but since Astoria can autogenerate specific
types for the various constructs in the Live Spaces Photo feed, the
equivalent code that a developer must write is quite a bit smaller:
void LoadFolders()
{
// Strongly-typed photo-specific constructs are autogenerated by the
// Astoria tools by directly parsing the $metadata area of the
// Photos service
SpacesPhotosService svc = new SpacesPhotoService(Svc, CID, DelToken);
Foreach (Folder f in svc.Folders)
{
DropDownList1.Items.Add(f.Name);
}
}
And finally, layered on top of all these formats, protocols,
and tools is a unified synchronization framework based upon the FeedSync
extensions to the AtomPub protocol. The FeedSync specification is
available under the Creative
Commons Attribution License and the Microsoft
Open Specification Promise. Also revealed at MIX is the Microsoft
Sync Framework which provides an extensible model for
online/offline synchronization and replication of any data source
across any device on any network topology. Completing the sync picture
is “Astoria Offline” which utilizes the Sync Framework to provide
direct synchronization against any ADO.NET provider, including the
storage services described at the beginning of this post.
It is hard to overestimate the value and utility of having a
robust synchronized “mesh” of devices and feeds. As Ray Ozzie described
during his MIX08
keynote:
Just imagine the convenience of unified
data management, the transparent synchronization of files, folders,
documents, and media. The bi-directional synchronization of arbitrary
feeds of all kinds across your devices and the Web, a kind of universal
file synch.
To summarize, the complete storage and developer tools stack
revealed at MIX08 looks like this (described top to bottom). You are
free to utilize this stack at any level of abstraction – there are no
requirements to use all layers, and you are free to substitute your own
developer tools against any layer:
| Area |
Product, Library or Protocol |
| 4:
Synchronization infrastructure: |
"Astoria Offline" |
|
Microsoft
Sync Framework |
| Feedsync AtomPub
extensions |
| 3:
Developer tools: |
ADO.NET Data Services |
|
.NET
WCF Syndication libraries |
| AtomPub URI namespace
conventions |
| 2:
Protocols: |
AtomPub |
| Atom |
| 1: Underlying Products and Services: |
On premises: SQL Server |
| Structured Cloud Storage: SQL
Server Data Services |
| Live services: Spaces
Photos and Application
Data Storage |
While all of the above code is available for initial use, this stack is not complete – there is more to come at even higher levels of abstraction. I’ll leave you with an additional
foreshadowed reference to future announcements in this space, again
quoting from Ray Ozzie’s MIX08 keynote:
Before you know it, you in this audience
are going to have the option of being the first to try out an early
technology preview of this simple but incredibly useful new software
and service. As this product emerges just over the horizon, I think
you'll find it to be quite intriguing and key in delivering upon a
compelling vision of a personal device mesh and of connected devices.
For more information on any of the items in this post, please
watch the following MIX08 presentations:
-- George Moore
Last week David Treadwell announced a slew of new technologies for the Windows Live Platform, including a few “coming next week” items--which are now available. Today, we posted the documentation for Silverlight Streaming Beta, the Application Based Storage API Community Tech Preview (CTP), the ATOM-based Photos API (CTP), and an update to the Visual Studio Tools for Windows Live. Please take a look and take the APIs out for a spin.
Also, you may have noticed (unless you are reading this in your feed reader) that the Windows Live Dev site has been refreshed, with improved site-wide navigation, a new look and feel, and what we think is, generally, a better organization to the site. What do you think? Let us know at: devlivFB at no spam Microsoft dot com.
Thanks.
Hey folks,
Dave Treadwell here. For those who don’t know me, I run the Live Platform
Services team here at Microsoft. Before coming over to the services world, I spent
many years working on .NET, and I feel really fortunate to be working on a part
of what I feel will be the next great round of developer platform infrastructure
for the industry: platforms to make it easy to create awesome services-based applications.
I wanted to guest post today to let everyone know we’ve got some cool new applications
and APIs we’re unveiling at MIX08. The Windows Live platform team has been working
hard to expand our services for developers, so they can create rich new experiences
for users. I’ll be covering:
- New services & existing services progress
- Standardization of frameworks & protocols
- New pre-release services/tools for experimentation and feedback
- Windows Live Quick Applications (demo web sites) updates
New services & progressing existing services
Windows Live Messenger Library (new to beta) – “Develop your own IM experience”
We are opening up the Windows Live Messenger network for third-party web sites
to reach the 300 million+ Windows Live Messenger users. The library is a
JavaScript client API, so the user experience is primarily defined by
the third party. When a third party integrates the Windows Live Messenger Library
into their site they can define the look & feel to create their own IM experience.
Unlike the existing third party wrappers for the MSN Protocol (the underlying protocol
for Windows Live Messenger) the Windows Live Messenger Library securely authenticates
users, therefore their Windows Live ID credentials are safe.
iBloks have
implemented the Windows Live Messenger library so consumers are able to share interactive
experiences with their buddies – see it here. You can also check out the Tafiti application (open source code available here) for a great example
of how to implement this API.
Contacts API (progressed to Beta) – “Bring your friends”
Our goal is to help developers keep users at the center of their experience by letting
them control their data and contact portability, while keeping their personal information
private. A big step forward in that effort is today’s release to beta of Windows Live Contacts API. Web developers can use this API
in production to enable their customers to transfer and share their contacts lists
in a secure, trustworthy way (i.e., no more screen scraping)—a great step
on the road toward data portability. (For more on Microsoft’s view on data portability,
check out Inder Sethi’s video.) By creating an optimized mode for invitations, it
allows users to share only the minimum amount of information required to invite
friends to a site, this includes firstname / lastname / preferred email address.
The Contacts API uses the new Windows Live ID Delegated Authentication framework;
you can find out more here.
Silverlight Streaming (progressed to beta) – “Use our infrastructure to deliver
great experiences”
Silverlight™ Streaming by Windows
Live is the companion service to Silverlight. We are increasing the free hosting and
storage limit to 10 GB and can now stream HQ content at 1400Kbps (see a sample here). During the SLS alpha we saw most scenarios
were media driven (i.e. video/audio) – to make it easier for content producers to
get their media in front of their users, we have introduced a Video Management scenario
which allows media to be uploaded in many formats (Flash, DIVX, MPEG-4, QuickTime,
H.264, H.263, WMV1, WMV2, MPEG-1, MPEG-2) and we will transcode the content into
a Silverlight™ compatible WMV/VC-1 format. For developers we have introduced a new
WebDAV API for Silverlight Streaming which allows for file by file management and
Web Folders support - for more information
go here.
The updated service and documentation will be available next week.

Standardization of frameworks and protocols
We have made progress on standardization of frameworks and protocols to provide
a more consistent, predictable experience for developers and consumers.
Windows Live ID Delegated Authentication--“Safely & securely enable data portability”
Today the Windows Live ID
team released the
Delegated Authentication SDK v1.0, which provides a platform-neutral way
for web applications to access users' information from Windows Live services while
the user remains in firm control of their own data.
Based on customer feedback, we have enhanced the delegation framework that was announced
at MIX07. The enhancement will now become the standard for Windows Live users to safely
& securely grant permission for third-party web sites to access their information
(i.e. no need to share Live ID credential pairs). For more information on Delegated
Authentication, check out today’s
Windows Live ID blog post.
Like the Windows Live
ID Web Authentication SDK, we have samples available in ASP.NET / Java /
PHP / Python / Perl / Ruby.

The specific enhancements are:
- When a user grants permission they can select the length of time a web site is allowed
to access their data. (putting the user in control of their data)
- The underlying technology is more similar to Kerberos where a delegation token is
only valid for 12 hours and a refresh token must be used (this reduces token fatigue).
Atom Publishing Protocol (AtomPub) as the future direction
Microsoft is making a large investment in unifying our developer platform protocols
for services on the open, standards-based Atom format (RFC 4287) and the Atom Publishing Protocol (RFC 5023). At MIX we are enabling several new Live services
with AtomPub endpoints which enable any HTTP-aware application to easily consume
Atom feeds of photos and for unstructured application storage (see below for more
details). Or you can use any Atom-aware public tools or libraries, such as
.NET WCF Syndication to read or write these cloud service-based feeds.
In addition, these same protocols and the same services are now ADO.NET Data Services (formerly known as “ Project Astoria”)
compatible. This means we now support
LINQ queries from .NET code directly against our service endpoints, leveraging
a large amount of existing knowledge and tooling shared with on-premise SQL deployments.
The intent for these early, experimental releases are to gather valuable feedback
from the community around our idiomatic and freely licensed extensions to AtomPub
which deal with important service scenarios, such as URL formats, nested directories,
image streams, and service metadata. You can read more about this on the
Project Astoria team blog.
There will also be a few more surprises in this area announced at MIX. Stay tuned.
Try them out and give us your
feedback!
Pre-release services for experimentation & feedback
Developer Tools – Windows Live Tools for Microsoft Visual Studio (CTP Refresh) “Drag and Drop
Live Services into your apps”
The February CTP refresh of the Windows
Live Tools will provide rich developer support for the Windows Live Messenger
IM Control. You can easily integrate Windows Live services into your ASP.NET applications
by dragging and dropping these ASP.NET server controls onto the canvas.
The updated tools and documentation will be available next week.
The community has been busy creating .NET wrappers for Windows Live services, LiveNet
is a community development by some developers in the UK – check it out here.
Application Based Storage
Application Based storage is an experimental API which allows application developers
to store a small amount of state/configuration data in the Windows Live data centers
on behalf of a user. This API has an AtomPub service end point so developers will
be able to call this using ADO.NET data services or other AtomPub compatible tools.
The real value kicks in here if an application was to have hundreds of thousands
of users as the client bandwidth and storage are offloaded to Windows Live infrastructure.
The service and documentation will be available next week.
Windows Live Photo API (CTP Refresh with AtomPub end point)
The
Windows Live Photo API allows users to securely grant permission (via Delegated
Authentication) for a third party web site to create/read/update/delete on their
photos store in Windows Live. The Photo API refresh has several things which make it easier
and faster for third parties to implement.
- Third party web sites can now link/refer to images directly from the web browser
so they no longer need to proxy images, and effectively save on image bandwidth
bills.
- A new AtomPub end point which makes it even easier to integrate.
The service and documentation will be available next week.
Quick App Updates
Windows Live Quick Applications
provide customizable out-of-the box solutions for specific Web scenarios. Each Quick
App is built on Windows Live services and is offered as a source code download for you to use today. You can use these
apps as a starting point for your own development, and they will give you a great
idea of the sorts of things that you can accomplish on top of the Windows Live infrastructure.
Visit Planner / Contoso Hotel (new Quick App)
Contoso Hotel
drives customer affinity using Windows Live Services. Microsoft Silverlight, Virtual Earth, and
Windows Live Messenger create an engaging experience that keeps
customers coming back (Try
it | download the code
here | watch the video ).

Tafiti Search Visualization (updated with the Windows Live Messenger Library)
Tafiti Search Visualization
uses the
Windows Live Messenger Library, Microsoft Silverlight and the Live Search API to provide a compelling search experience
for users and allow them to share that experience with their friends (Try it |
download the code | watch the video).

---
Developers can continue to bet their business on us with confidence. Our priorities
are simplifying data portability while keeping users safe and continuing to deliver
innovative APIs and tools to help the developer community continue to push the
envelope. You can expect to hear more from us in the coming months.
I’m looking forward to talking to many of you in person at MIX next week and you should expect to hear a lot more from
Windows Live platform in the
weeks ahead.
Best Regards
David Treadwell, Corporate VP of Windows Live Platform Services
I’m pretty excited about the news that Microsoft is joining
Dataportability.org. A lot of the work we’ve been doing at dev.live.com over the
last year has focused on opening up data stored in Windows Live in secure and
user-friendly ways. The Windows Live Contacts control and API, for example,
allows users to share their Windows Live Contacts with other sites. We’re
working on more APIs that allow users to move their data around the Web—and we
can’t wait to see how this new effort can help.
Here’s the official announcement:
“Today Microsoft is announcing that it has joined DataPortability.org, a
group committed to advancing the conversation about the portability, security
and privacy of individuals’ information online. There are important security
and privacy issues to solve as the internet evolves, and we are committed to
being an integral part of the industry conversation on behalf of our users.
The decision to join DataPortability.org is an outgrowth of a deeper theme
that technology and the internet should be deployed to help people be at the
center of their online worlds, a theme that has begun to permeate our products
and services over the past few years. We believe the logical evolution of the
internet is to enable the removal of barriers to provide integrated, seamless
experiences, but to do so in a manner that ensures that users retain full
control over the security and privacy of their information.
Windows Live is focused on providing tools and a platform to enable these
types of seamless experiences. Windows Live has more than 420 million active
Live IDs that work across our services and across partner sites. Through each
Windows Live advancement we’re making technical investments to ensure users’
information is available to them in the places they want, even across the
networks they use every day. Windows Live Writer, Mail, Photo Gallery and
Spaces, for example, allow users to get access and publish to the places they
want, even outside Microsoft’s network. And the Windows Live Platform and Terms
of Use offer a set of APIs and controls that allow for the growth of an
ecosystem based on the premise of user control and portability.
Microsoft feels strongly that getting the right balance for data portability,
security and privacy is critical for the industry, and doing it well requires
the participation of all the major web services. We are no stranger to these
types of broad industry dialogues, and the one that is taking shape at
DataPortability.org will be very effective in furthering users’
interests.”
Tafiti, which means "do research" in Swahili, is a search visualization site that brings a new user experience to researching (searching and storing results). Tafiti uses both Microsoft Silverlight and Live Search to explore the intersection of richer experiences on the Web and the increasing specialization of search.
Today we are releasing the Tafiti Search Visualization source code to CodePlex, which means any developer can download, modify, and resell the code (see MS-PL License for all the details).
Tour the demo site (see the original)
Download the Tafiti code (read deployment guide).
Read more on Angus Logan's blog.
Note: Windows Live Quick Applications are a set of working applications developers can download and use as reference implementations or starter kits for the Windows Live Platform.
The fine folks over at the LiveSide.net are working on a .NET wrapper for Windows Live Services. According to Scott, they will be adding support for a number of services, but have started with the Live Photos API. Head over to Scott's post for much more info, including a code sample. Also, this is an opensource project, so you can check out the source code on CodePlex.
Nice work, guys.
Today we published the final v1 spec for Simple Sharing Extensions, under a new name, FeedSync. Want to find out more? Go here. There is a tutorial walkthrough, and pointers to some sample code in JavaScript, VB, and C# for those who are interested.
The creation of FeedSync was catalyzed by the observation that RSS and Atom feeds were exploding on the web, and that by harnessing their inherent simplicity we might enable the creation of a “decentralized data bus” among the world’s web sites. Just like RSS and Atom, FeedSync feeds can be synchronized to any device or platform.
Previously known as Simple Sharing Extensions, FeedSync was originally designed by Ray Ozzie in 2005 and has been developed by Microsoft with input from the Web community. The initial specification, FeedSync for Atom and RSS, describes how to synchronize data through Atom and RSS feeds.
Last month, we told you about the Presence API and IM control. Today, we've published developer documentation for both of these services. Included in the documentation is support for colorization of the control and support for social networking sites to easily allow their users to add presence information to personal pages/blogs/etc.
As usual, the docs are on MSDN:
Angus also has more on his blog.
The Windows Live Tools team is currently testing the November 2007 CTP Release with the just announced Microsoft Visual Studio 2008 final release. At this point, we only have one known issue (see below). We will be doing more testing this week and will publish any additional known issues at http://dev.live.com/tools/.
Known Issue: When using the current Windows Live Tools release with the Visual Studio 2008 final release, you will need to make changes to the web.config file for any project built using the “ASP.NET Windows Live Web Site” template. Please be sure to update the version of the System.Data.DataSetExtensions assembly in web.config file to 3.5.0.0.
We're pleased to announce the release of the Windows Live Spaces Photo API (Alpha) and the Spaces Photo API Interactive SDK. The Photos API allows Web sites to view and update Windows Live Spaces photo albums using the WebDAV protocol. Sites can:
- Upload or download photos.
- Create, edit, or delete photo albums.
- Request a list of a user's albums, photos, or comments.
- Edit or delete content for an existing entry.
- Query the content in an existing entry.
Try the Photos API Interactive SDK: Execute requests against your Spaces photos and get the sample code behind that request.
Read the Photos API docs.