Simple Sharing Extensions
Encyclopedia
FeedSync for Atom and RSS, previously Simple Sharing Extensions, are extensions to RSS
RSS (file format)
RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format...

 and Atom feed formats designed to enable the synchronization of information by using a variety of data sources. Initially developed by Ray Ozzie
Ray Ozzie
Raymond "Ray" Ozzie is an American software industry entrepreneur who held the positions of Chief Technical Officer and Chief Software Architect at Microsoft between 2005 and 2010...

, Chief Software Architect at Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

, it is now maintained by Jack Ozzie, George Moromisato, Matt Augustine, Paresh Suthar and Steven Lees. Dave Winer
Dave Winer
Dave Winer is an American software developer, entrepreneur and writer in New York City. Winer is noted for his contributions to outliners, scripting, content management, and web services, as well as blogging and podcasting...

, the designer of the UserLand Software
UserLand Software
UserLand Software is a US software company founded by Dave Winer in 1988. UserLand sells Web content management and blogging software packages and services.-Company History:Dave Winer founded the company in 1988 after leaving Symantec in the spring of 1988...

 RSS specification variants, has given input for the specifications.

The current version of FeedSync for Atom and RSS specification is 1.02 can be found here.
FeedSync for Atom and RSS is licensed under the Creative Commons
Creative Commons
Creative Commons is a non-profit organization headquartered in Mountain View, California, United States devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons...

 Attribution-ShareAlike License (version 2.5) and the Microsoft Open Specification Promise
Microsoft Open Specification Promise
The Microsoft Open Specification Promise , is a promise by Microsoft, published in September 2006, to not assert legal rights over certain Microsoft patents on implementations of an included list of technologies....

.

The scope of FeedSync for Atom and RSS is to define the minimum extensions necessary to enable loosely-cooperating applications to use Atom and RSS feeds as the basis for item sharing – that is, the bi-directional, asynchronous synchronization of new and changed items amongst two or more cross-subscribed feeds.

Note that while much of FeedSync is currently defined in terms of Atom and RSS feeds, at its core what FeedSync strictly requires is:
  • A flat collection of items to be synchronized
  • A set of per-item sync metadata that is maintained at all endpoints
  • A set of algorithms followed by all endpoints to create, update, merge, and conflict resolve all items


This means that FeedSync can be implemented by almost any programming language have its metadata represented in many structured data formats.

RSS Feed Example




To Do List
A list of items to do
http://example.com/partial.xml
until="2005-05-23T18:30:02Z" >

title="To Do List (Jacks Copy)" />


Buy groceries
Get milk, eggs, butter and bread








Atom Feed Example


xmlns:sx="http://feedsync.org/2007/feedsync">
To Do List
A list of items to do


Ray Ozzie

2005-05-21T11:43:33Z
urn:uuid:60a76c80-d399-11d9-b93C-0003939e0aaa
until="2005-05-23T18:30:02Z" >

title="To Do List (Jacks Copy)" />


Buy groceries
Get milk, eggs, butter and bread
urn:uuid:60a76c80-d399-11d9-b93C-0003939e0aa0

Ray Ozzie

2005-05-21T11:43:33Z







POX Item Example



Buy groceries
Get milk and eggs




JSON Item Example


{
"title" : "Buy groceries",
"description": "Get milk and eggs",
"sync":
{
"id": "item_1_myapp_2005-05-21T11:43:33Z",
"updates": "1",
"history": [
{
"sequence": "1",
"when": "2005-05-21T09:43:33Z",
"by": "REO1750"
}
]
}
}

Examples of Real World Use

There are several examples of "real world" use of FeedSync feeds to synchronize data between applications.

FeedSync Service

This prototype developer service is an implementation of HTTP based FeedSync endpoint. Applications can use HTTP GET and POST commands to synchronize feeds, where the latter performs the FeedSync merge operation on the feed hosted by the FeedSync Service.

Strong Angel III

FeedSync feeds were used extensively at the Strong Angel III exercise in August 2006 as a lightweight middleware to link applications from Microsoft, Google, ESRI and others on desktops and mobile devices.

ROME project

The comprehensive Java RSS project, ROME, contains an implementation of the FeedSync specification.

Mesh4x

Mesh4x, an open-source set of libraries, tools, applications and services for mesh-based applications, uses FeedSync as the versioning standard, and implements a Feedsync-inspired packet-based protocol to synchronize data over SMS text messages. http://mesh4x.org.

Specifications


Code


Articles

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK