by Rob Dolin via Windows Live for Developers on 8/26/2010 1:15:33 AM
Did you know that Microsoft’s Windows Live has been actively embracing the emerging Activity Streams open standard?
About a month ago, I traveled to Portland, Oregon, USA to participate in a “Federated Social Web Summit” organized the day before OSCON by Evan Prodromou and the team from Status.net. We spent the morning with each participant demo’ing their project or protocol for about five minutes. Below is my attempt to re-format my presentation as a blog entry.
---
My name is Rob Dolin and I’m a Program Manager on the Windows Live Social team. I’m also a co-author of the Activity Streams in Atom spec. You can find me on identi.ca as @RobDolin (and a few other places.) In the next few minutes, I’ll try to briefly explain:
Windows Live includes a set of web services, PC apps, and mobile apps:
If you only do one thing to get a sense of how Windows Live integrates activities, I recommend downloading the WLE Beta and running Messenger.
The activity stream from Windows Live (sometimes referred to as “Messenger social updates”) is integrated throughout Windows Live services and apps.
Windows Live Messenger has a new (default) full window view that dedicates more than 2/3 of the screen to the Windows Live activity stream:
The new Hotmail homepage also includes a large area dedicated to the Windows Live activity stream:
The Windows Live activity steam is not just displayed in Windows Live branded properties, but it’s integrated into Outlook, MSN, and the forthcoming Windows Phone 7:
If you install the Outlook Social Connector for Windows Live Messenger, you’ll be able to see recent social activities of your contacts when you email with them:
As you can see above, the Windows Live activities stream doesn’t just include activities from Windows Live, in Douglas’s case above, it includes photos he shared on Flickr. Users can bring activities they have done from across the web into the Windows Live activities stream. I’ll explain more below about how you can enable your users to share activities from your service or app into Windows Live.
There’s also a new social module on the MSN homepage. On the USA homepage of MSN, this is in the right column:
The upcoming Windows Phone 7 has a new “People” view that is powered by Windows Live Activity Streams:
On every one of the hundreds of millions of Windows Live users’s profile pages, there is a link to an Activity Streams (Atom) feed of that user’s publicly shared activities. You can easily get to this from your web browser by clicking the orange RSS/Atom icon:
This will take you to a feed of the user’s publicly shared activities on Windows Live. Try it on your own Windows Live profile: http://profile.live.com/.
You can view this in a web browser or your favorite RSS reader. And if you view the source of this feed, you’ll notice that it includes the <activity:verb> and <activity:object> elements of Activity Streams in Atom:
In addition to this link on profile pages to public Windows Live activities, developers can also read non-public activities (if a user gives permission) through the new “Messenger Connect” API’s. I’ll talk more about these below and you can learn more about these at http://dev.live.com/.
Since December 2008, users have been able to bring their social activities from dozens of services across the web into Windows Live. This has included services you likely know well like Facebook, YouTube, MySpace, Pandora, Hulu, and WordPress:
And this includes services from all around the world like AlloCine, Arto, Azbuz, Biip.no, Bilddagboken, Blingee, and more:
All of these integrations are powered by open standards including RSS 2.0, Atom 1.0, MediaRSS, Activity Streams in Atom, and at base, XML. In the next few paragraphs, I’ll briefly explain how you can add your project or service to write activities to the Windows Live activity stream so that they show-up in Messenger, Hotmail, MSN, Outlook, and Windows Phone.
There are three ways to enable your users to bring their activities from your project or service into Windows Live:
The easiest way to write an activity to Windows Live is to have a user click a “badge” link. For example, try clicking this link: http://profile.live.com/badge/?url=http://status.net/2010/06/28/federated-social-web-summit-2010-announced. This takes you to a page (below) where you can add your own user message and confirm that you want to share that particular URL. As a developer, you can replace the “url” QueryString parameter with whatever URL your user has indicated he or she wants to share.
The http://profile.live.com/badge/ page will pre-populate a page title, description, and screenshot image for you from the page, OR you can pass these in as QueryString params to specifically populate them. You can also pass a return URL as a QueryString param so the user gets redirected back to your site after they share the link.
More details on the “badge” are at: http://msdn.microsoft.com/en-us/windowslive/ff796213.aspx including sample code you can quickly cut and paste into your own website:
If your service has RSS, Atom, MediaRSS, or Activity Streams (in Atom) feeds, you can enable your users to tell Windows Live to poll their activity stream feed from your service. To set-up your service, you get an Application ID and fill-out a relatively simple form at: http://manage.dev.live.com/
As shown below, this will ask you for some basic info like your Home page URL, Sign-up URL, Support URL, and of course, Feed type:
You’ll also tell Windows Live how to compose a URL to retrieve your feed. For example below, Windows Live asks users to enter a “User name” and then uses the “replacement patterns” you specify:
Windows Live gives you a variety of choices for “User input label” and has these values translated into over 40 languages so you don’t need to know how to ask a Hungarian user for their email address.
After you’ve set-up Windows Live to know how to poll your service’s feed, you can direct users to the page where they can add your service: http://profile.live.com/services/add.aspx?AppID={YourAppID}&ru=http://www.YourService.com/return. You can even pass a “ru” QueryString parameter to specify the “return URL” for Windows Live to direct users to after they have connected Windows Live to your service. To get started, go to http://manage.dev.live.com/.
For each user who connects your service, Windows Live will start polling relatively frequently (every 30-60 minutes) and then start polling less frequently for less active users on your service.
If your service already has RSS, Atom, or Activity Streams feeds, this is likely the easiest way to help your users bring their content into Windows Live. To get the nicest looking results (i.e. photos treated as photos, etc.) you might just need to add a few <activity:…> elements as described in the “Choosing your Activity Type(s)” section below.
Finally, your service can also write activities to Windows Live via our “Messenger Connect” set of API’s. You’ll set-up your connection to Windows Live and similarly point your user to an add.aspx page passing-in your AppID. The user will consent to have you write activities on their behalf (and possibly do other things like read and write SkyDrive photos or Messenger contacts ) and the user will be returned to your site (or client application) along with a token you can use to make calls on the user’s behalf.
To push write activities to Windows Live, you’ll make HTTP POST’s where the body of your request is in the Activity Streams in Atom format. The below screenshot from the online documentation describes how this gets rendered:
While there are potentially hundreds of <activity:verb> + <activity:object> combinations from Activity Streams, Windows Live supports a large portion of the most common combinations:
More details on publishing activities to Windows Live via API can be found at: http://msdn.microsoft.com/library/ff748785.aspx.
(This section was added at the suggestion of my colleague, @AngusLogan)
Whether you’re writing via feed or writing via API, if you choose a specific pairing of <activity:verb> and <activity:object-type>, users will potentially see your activity looking differently. For example:
A “Post” of a “Status Update” is displayed in Messenger as:
A “Post” of a “Photo” or a “Post” of multiple “Photo” objects in a target “Album” looks like:
A “Post” of a “Bookmark” looks like:
And a “Post” of a “Blog-entry”:
There are about a dozen more variations and you can see examples of what all of these look like on the web and what the XML for these looks like at: http://msdn.microsoft.com/en-us/library/ff748785.aspx.
I hope that you found this blog entry both useful and informative. To learn more:
Leveraging Activity Streams, you can read activities from Windows Live into your app or service; and write activities from your app or service to Windows Live so your users and their friends will see them in Messenger, Hotmail, MSN, Outlook, Windows Phone, and more.
Thanks very much for reading and for your interest in Messenger Connect—
--Rob Dolin Program Manager, Windows Live team
P.S. If you enjoyed this blog entry and would like to see more blog entries along similar topics, please leave a comment explaining what you’d like to learn more about.
Original Post: Windows Live and Activity Streams
The content of the postings is owned by the respective author. AzureFeeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on AzureFeeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.