an ordinary blog — andr3.net

rss feed

my lifestream rss feed

are you tired of this? then return to latest posts

Bidirectional Feeds for cooperating apps, by Microsoft

Simple Sharing ExtensionsThis is yesterday's news – or the day before yesterday – but i had to mention it. Microsoft is at it again! But this time it's bringing something useful onto the table and even releasing it under a proper license.

If you have been paying attention to the web you already know what RSS feeds are and how they work – if you haven't, drop me a line, i'll be glad to let you into the party. Now Microsoft has developed an extension to the RSS and OPML formats called Simple Sharing Extensions (SSE). Its purpose is to enable the sharing of information in both ways, which will enable the construction of cooperating applications on top of this spec.

From the specification:


1.3 Usage Model

Imagine two loosely-coupled endpoints, A and B, that wish to share and co-edit a set of independent items in an RSS feed. The two endpoints can use RSS+SSE to replicate the set. The process would look like this:


  • Endpoint A maintains an item set. Endpoint A publishes the set as a feed conforming to the RSS+SSE format. Let's call this feed-A.
  • Endpoint B also maintains an item set. Endpoint B subscribes to feed-A and incorporates the items into its own set.
  • Endpoint B publishes its own set (including items it got from A) as a feed conforming to RSS+SSE. Let's call this feed-B.
  • Endpoint A subscribes to feed-B and incorporates items from endpoint B into its own set. In effect, endpoints A and B mutually publish/subscribe to each other's feeds.
  • When endpoint A adds or changes an item, that update is reflected in feed-A and endpoint B receives the change when it reads the feed.
  • Similarly, when endpoint B adds or changes an item, the update is published in feed-B and endpoint A receives the change.


The extensions described in the Simple Sharing Extensions enable feed readers and publishers to generate and process incoming item changes in a manner that enables consistency to be achieved. In order to accomplish this, SSE introduces concepts such as per-item change history (to manage item versions and update conflicts) and tombstones (to propagate deletions, and un-deletions).


A lot of people have been writing about this, including Michael Arrington at crunchnotes, Fred Oliveira over at webreakstuff and a lot of other people. DrDel has even elaborated an interesting list of possible applications of this new format.

It's nice to see that the people in Redmond is starting to get Creative Commons, and even though there's a lot of hate and scepticism about Microsoft out there, i believe that this time they did the right thing. They have embraced RSS – they have an RSS team and everything – and built something valuable on top of it. Let's see how the community embrace this and if new companies will start blooming out of this like Arrington predicts.

I like the concepts of per-item change history and the tombstones. I remember that the RSS3 first-draft included per-item history, but not tombstones. Maybe they should work it into the next draft?

Comments

↑ top