<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Steven Lees</title><subtitle type="html">thoughts about the past, the present, and the future</subtitle><id>http://blogs.msdn.com/stevenlees/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/stevenlees/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2007-05-08T18:05:00Z</updated><entry><title>FeedSync and Live Mesh</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2008/04/22/feedsync-and-live-mesh.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2008/04/22/feedsync-and-live-mesh.aspx</id><published>2008-04-23T09:03:27Z</published><updated>2008-04-23T09:03:27Z</updated><content type="html">&lt;p&gt;Congratulations to the &lt;a title="Live Mesh" href="http://www.mesh.com"&gt;Live Mesh&lt;/a&gt; team, who announced their &lt;a title="Live Mesh Technology Preview" href="https://www.mesh.com/Welcome/LearnMore.aspx"&gt;Live Mesh Technology Preview&lt;/a&gt; release earlier this evening! Amit Mital gives a detailed overview in &lt;a title="Introduction to Live Mesh" href="http://dev.live.com/blogs/devlive/archive/2008/04/22/279.aspx"&gt;this post&lt;/a&gt; on &lt;a href="http://dev.live.com"&gt;http://dev.live.com&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;You can read all about it in the usual places...so why do I mention it here? &lt;a title="FeedSync" href="http://www.feedsync.org"&gt;FeedSync&lt;/a&gt; is one of the core parts of the Live Mesh platform. One of the key values of Live Mesh is that your data flows to all of your devices. And rather than being hidden away in a single service, any properly authenticated user has full bidirectional sync capability. As I discussed in the &lt;a title="Introduction to FeedSync" href="http://dev.live.com/feedsync/intro.aspx"&gt;Introduction to FeedSync&lt;/a&gt;, this really makes "your stuff yours".&lt;/p&gt; &lt;p&gt;To be clear, Live Mesh is a lot more than just FeedSync. Check out &lt;a href="http://blogs.msdn.com/livemesh/archive/2008/04/21/live-mesh-as-a-platform.aspx"&gt;Mike Zintel's post&lt;/a&gt; on the &lt;a title="Live Mesh team blog" href="http://blogs.msdn.com/livemesh/"&gt;Live Mesh blog&lt;/a&gt;, and the &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=399577"&gt;Channel 9 interview with Abolade Gbadegesin&lt;/a&gt; for a lot more technical background. And don't miss &lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=399578"&gt;Ray Ozzie's discussion with Jon Udell&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;There's also more to FeedSync than Live Mesh. It's great to see Live Mesh syncing with FeedSync; things will get even better when you can connect multiple services together through FeedSync. We'll have more information and code samples coming soon.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8418280" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author></entry><entry><title>FeedSync now covered by the Open Specification Promise</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/12/19/feedsync-now-covered-by-the-open-specification-promise.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/12/19/feedsync-now-covered-by-the-open-specification-promise.aspx</id><published>2007-12-19T23:00:13Z</published><updated>2007-12-19T23:00:13Z</updated><content type="html">&lt;p&gt;I've been talking to more people about &lt;a title="FeedSync site" href="http://feedsync.org/"&gt;FeedSync&lt;/a&gt; since I posted the &lt;a title="FeedSync Specification v1.0" href="http://feedsync.org/spec"&gt;v1 specification&lt;/a&gt; earlier this month. One common question people ask is about licensing terms for the spec, and what our thoughts are about FeedSync implementations.&lt;/p&gt; &lt;p&gt;We've always made it very clear that our goal is to have lots of independent implementations of FeedSync, and that we want to enable royalty-free use of the specification. The spec itself is released under a Creative Commons license; today we're also making the spec available under the &lt;a href="http://www.microsoft.com/interop/osp/default.mspx"&gt;Microsoft Open Specification Promise&lt;/a&gt;. The full details are in &lt;a href="http://blogs.msdn.com/feedsync/archive/2007/12/19/feedsync-and-the-osp.aspx"&gt;this post&lt;/a&gt; on the FeedSync news blog. The short version is that the OSP makes life very easy for implementers. By placing the FeedSync spec under the OSP we're saying even more clearly that developers have royalty free use of the spec, now and in the future.&lt;/p&gt; &lt;p&gt;If you're new to the Open Specification Promise, they have a great page with an FAQ that explains the program in detail: &lt;a href="http://www.microsoft.com/interop/osp/default.aspx"&gt;http://www.microsoft.com/interop/osp/default.aspx&lt;/a&gt;. The &lt;a href="http://www.microsoft.com/interop/osp/default.mspx#E5DAC"&gt;Feedback from Representatives of the Community&lt;/a&gt; link shows the response from several people in the open source community; it's been very positive. You can also take a look at our &lt;a title="FeedSync FAQ" href="http://feedsync.org/faq.aspx"&gt;FeedSync FAQ&lt;/a&gt; for some specific questions and answers about FeedSync and OSP.&lt;/p&gt; &lt;p&gt;It's great to have an existing program like OSP that is such a good fit for FeedSync, and I've really appreciated the support from the folks in the &lt;a href="http://www.microsoft.com/interop/default.aspx"&gt;Microsoft Interop&lt;/a&gt; group in bringing the FeedSync specification under the Open Specification Promise.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6809306" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author></entry><entry><title>FeedSync Design Principles</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/12/07/feedsync-design-principles.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/12/07/feedsync-design-principles.aspx</id><published>2007-12-08T02:32:57Z</published><updated>2007-12-08T02:32:57Z</updated><content type="html">&lt;p&gt;There's been a good discussion for the past couple of days on the &lt;a title="atom-syntax archive" href="http://www.imc.org/atom-syntax/mail-archive/"&gt;atom-syntax&lt;/a&gt; list about sync, mostly focused on tombstones.&lt;/p&gt; &lt;p&gt;It's useful to know that our primary design point for &lt;a title="FeedSync" href="http://feedsync.org/"&gt;FeedSync&lt;/a&gt;, as &lt;a href="http://www.imc.org/atom-syntax/mail-archive/msg20085.html"&gt;Joe Cheng&lt;/a&gt; points out, is around "mesh sync". That is, if you have a collection of resources that you can represent as a feed, FeedSync is designed to reliably synchronize that resource collection across any number of endpoints in any conceivable network topology. As the &lt;a title="FeedSync specification" href="http://feedsync.org/spec"&gt;spec&lt;/a&gt; says,&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;The extensions described in the FeedSync specification enable feed readers and publishers to generate and process incoming item changes in a manner that enables consistency to be achieved.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The "achieving consistency" part means that you can be sure that if you implement the spec correctly, all nodes in the mesh will converge on the same data.&lt;/p&gt; &lt;p&gt;Another main design point is that FeedSync is designed for synchronizing human-scale data. That is, things like contact information, calendar items, task lists, and so on. A couple of people have asked me whether you could implement something like &lt;a title="SubEthaEdit" href="http://www.subethaedit.net/"&gt;SubEthaEdit&lt;/a&gt; with FeedSync. You could...but there are sure to be sync methods that are better for that kind of task. On the other hand, if the result of your SubEthaEdit-ing session is a collection of documents that you want to synchronize across multiple machines, then FeedSync is a great way to accomplish that.&lt;/p&gt; &lt;p&gt;One of the cool things about FeedSync is that even though it is designed for two-way, multi-endpoint mesh sync, it is still a pretty Simple set of Extensions on top of Atom and RSS. That means that FeedSync is simple enough to be useful in much simpler scenarios, such as one-way publish-subscribe, or two-way client-server scenarios.&lt;/p&gt; &lt;p&gt;There were some comments (from &lt;a href="http://www.imc.org/atom-syntax/mail-archive/msg20054.html"&gt;James Holderness&lt;/a&gt; and &lt;a href="http://www.snellspace.com/wp/?p=819"&gt;James Snell&lt;/a&gt;, for example) that FeedSync is unnecessarily complex for a task like deleting blog spam from client aggregators. That might be the case; and I'm certainly an advocate of using the simplest solution that accomplishes the task. As I said above, FeedSync's primary design point is around broader scenarios than just blogs. But if you think about your blog as a collection of resources, and you want that resource synchronized across multiple endpoints, then FeedSync is worth a look.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6698076" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="FeedSync" scheme="http://blogs.msdn.com/stevenlees/archive/tags/FeedSync/default.aspx" /></entry><entry><title>FeedSync</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/12/04/feedsync.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/12/04/feedsync.aspx</id><published>2007-12-05T08:51:00Z</published><updated>2007-12-05T08:51:00Z</updated><content type="html">&lt;P&gt;Today we published the final v1 spec for Simple Sharing Extensions, under a new name, FeedSync. The new name is a little simpler than the old one (kind of ironic!) and it captures the intent pretty well.&lt;/P&gt;
&lt;P&gt;We also kicked off a new site today, &lt;A href="http://feedsync.org/"&gt;http://feedsync.org/&lt;/A&gt;, which explains what FeedSync is about. There is a tutorial walkthrough, and pointers to some sample code in JavaScript, VB, and C# for those who are interested.&lt;/P&gt;
&lt;P&gt;&lt;A class="" title="Sam Ruby" href="http://intertwingly.net/blog/" mce_href="http://intertwingly.net/blog/"&gt;Sam Ruby&lt;/A&gt; was kind enough to update the &lt;A class="" title="Feed Validator" href="http://feedvalidator.org/" mce_href="http://feedvalidator.org/"&gt;Feed Validator&lt;/A&gt; for the changes. Thanks Sam!&lt;/P&gt;
&lt;P&gt;The &lt;A class="" title=FeedSync href="http://feedsync.org/" mce_href="http://feedsync.org/"&gt;FeedSync&lt;/A&gt; site has pretty much everything you need to get going, but if you're looking for more, &lt;A class="" title="Send mail" href="http://blogs.msdn.com/stevenlees/contact.aspx" mce_href="http://blogs.msdn.com/stevenlees/contact.aspx"&gt;let us know what's missing&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Happy syncing!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6662638" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="FeedSync" scheme="http://blogs.msdn.com/stevenlees/archive/tags/FeedSync/default.aspx" /></entry><entry><title>About a &amp;quot;by&amp;quot;</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/12/02/about-a-by.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/12/02/about-a-by.aspx</id><published>2007-12-03T03:53:00Z</published><updated>2007-12-03T03:53:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;I was reviewing the spec comments that we received over the past few months on the SSE spec, and because there was a fair amount of feedback about the “by” attribute on sx:history, I’d like to explain where the spec ended up.&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;Just to refresh your memory:&amp;nbsp;every time an item or entry in a feed is changed, the&amp;nbsp;endpoint making the change&amp;nbsp;needs to add an sx:history element to call out the changes. The element has&amp;nbsp;three attributes: a&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;sequence&lt;/STRONG&gt;&lt;/EM&gt; attribute (the change number), a &lt;STRONG&gt;&lt;EM&gt;when&lt;/EM&gt;&lt;/STRONG&gt; attribute (date/time for the change), and a &lt;STRONG&gt;&lt;EM&gt;by&lt;/EM&gt;&lt;/STRONG&gt; attribute (the endpoint that made the change).&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;For purposes of sync, the by attribute has to uniquely identify the participating “endpoint”. You can think of by as the “endpoint ID.” The real world entity that the endpoint stands for could be one of several different things depending on your implementation: it could represent a user; or a user on a device; or a process for a user on a device; or something even more specific. One important consideration in picking which one of those things is an endpoint is that the by attribute determines the granularity of conflict detection. Any time an update is made by the same endpoint (the same “by”), that update subsumes all previous updates from that endpoint.&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;For a practical example, consider the case where I’m syncing data from my laptop to my phone. I change entry A on my laptop; then later (but before I’ve had a chance to sync) I change entry A on my phone. When I sync, one of two things happens. If the by attribute on both my laptop and my phone is identical, then one of those changes is discarded, because as far as the algorithm is concerned, they’re from the exact same endpoint. If the by attribute is different on the two devices, then both changes are preserved. At some point I’ll get to view both changes and choose which one I want to keep; no data is lost.&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;There were some suggestions that the by attribute should be required or recommended to be a URI. The reason that might be interesting is to somehow identify the (human) author of the change, or at least provide a pointer to the author. That’s definitely a useful thing to do. In the end, though, we felt that such a recommendation would make it harder for implementers to craft useful and unique endpoint IDs for their application.&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;Our recommendation&amp;nbsp;is to choose the by attribute based on your granularity of conflict detection. Use a different element such as atom:author in order to indicate the source of a change.&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;Thanks for the feedback (past and future), it’s much appreciated!&lt;BR&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6644117" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="Simple Sharing Extensions" scheme="http://blogs.msdn.com/stevenlees/archive/tags/Simple+Sharing+Extensions/default.aspx" /><category term="FeedSync" scheme="http://blogs.msdn.com/stevenlees/archive/tags/FeedSync/default.aspx" /></entry><entry><title>Simple Sharing Extensions in action!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/07/27/simple-sharing-extensions-in-action.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/07/27/simple-sharing-extensions-in-action.aspx</id><published>2007-07-28T02:18:00Z</published><updated>2007-07-28T02:18:00Z</updated><content type="html">&lt;P&gt;&lt;A class="" title="Jon Udell on Microsoft Humanitarian Systems and SSE" href="http://blog.jonudell.net/2007/07/12/a-conversation-with-ted-okada-about-the-work-of-microsoft-humanitarian-systems/" mce_href="http://blog.jonudell.net/2007/07/12/a-conversation-with-ted-okada-about-the-work-of-microsoft-humanitarian-systems/"&gt;Jon Udell&lt;/A&gt; has a recent post about the Microsoft Humanitarian Systems team and their use of SSE:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;...one of the latter involved the use of &lt;/EM&gt;&lt;A href="http://msdn2.microsoft.com/en-us/xml/bb190613.aspx" modo="false"&gt;&lt;FONT color=#b54141&gt;&lt;EM&gt;Simple Sharing Extensions (SSE)&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;EM&gt;, an extension of RSS, to synchronize location data between Google Earth and Microsoft Virtual Earth.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I wondered what broader role SSE might play, given that it extends a Groove-like data synchronization capability to a diverse set of applications. It turns out that Ted will be testing a prototype SSE adapter for Microsoft Access on a trip to Kabul next week:&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;From my perspective as a relief and development person for 20 years, you can’t overestimate the value of simple tools like good old Access. What if Access could relay messages and synchronize via SSE, so that you’ve got persistent statefulness and failover on highly intermittent and jittery networks? Suddenly Access becomes a much more lively player in the edge-based mesh. So now in Afghanistan we’ll actually be using this wonderful everyman’s tool, Access, enlivened with SSE adapters, to help out an NGO partner who’s told us that would really help them share data with the other stakeholders in the reconstruction project they’re working on.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Ted and Jon are referring to the prototype SSE adapter for Access that &lt;A class="" title="Ed Jezierski's blog" href="http://blogs.msdn.com/edjez/default.aspx" mce_href="http://blogs.msdn.com/edjez/default.aspx"&gt;Ed Jezierski&lt;/A&gt; and his team have built. We're working on adapters for to connect to other endpoints as well, such as Groove and SharePoint. As Ted points out, it will be great to enable all of these established tools to sync to any SSE endpoint.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4089669" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author></entry><entry><title>Simple Sharing Extensions spec updates</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/07/27/simple-sharing-extensions-spec-updates.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/07/27/simple-sharing-extensions-spec-updates.aspx</id><published>2007-07-28T01:50:00Z</published><updated>2007-07-28T01:50:00Z</updated><content type="html">&lt;P&gt;I've received some great feedback on the &lt;A class="" title="Simple Sharing Extensions spec" href="http://msdn2.microsoft.com/en-us/xml/bb510102.aspx" mce_href="http://msdn2.microsoft.com/en-us/xml/bb510102.aspx"&gt;Simple Sharing Extensions&lt;/A&gt; spec that I posted on MSDN last month. I'm working on updating the spec based on all of the comments, so I'm posting the proposed spec changes to the FEED-TECH list. I'll be rolling them out in a handful of emails; here is a &lt;A class="" title="SSE spec changes round 1" href="http://discussms.hosting.lsoft.com/scripts/wa-MSD.exe?A2=ind0707D&amp;amp;L=FEED-TECH&amp;amp;T=0&amp;amp;F=&amp;amp;S=&amp;amp;P=97" mce_href="http://discussms.hosting.lsoft.com/scripts/wa-MSD.exe?A2=ind0707D&amp;amp;L=FEED-TECH&amp;amp;T=0&amp;amp;F=&amp;amp;S=&amp;amp;P=97"&gt;link&lt;/A&gt; to the first one, and here is a &lt;A class="" title="FEED-TECH full archive" href="http://discussms.hosting.lsoft.com/scripts/wa-MSD.exe?A0=FEED-TECH" mce_href="http://discussms.hosting.lsoft.com/scripts/wa-MSD.exe?A0=FEED-TECH"&gt;link&lt;/A&gt; to the full list archive.&lt;/P&gt;
&lt;P&gt;Comments and feedback are definitely appreciated! The best way to respond is to join the list and post your comments there.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4089135" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="Simple Sharing Extensions" scheme="http://blogs.msdn.com/stevenlees/archive/tags/Simple+Sharing+Extensions/default.aspx" /></entry><entry><title>SSE implementation on CodePlex</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/07/03/sse-implementation-on-codeplex.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/07/03/sse-implementation-on-codeplex.aspx</id><published>2007-07-04T03:37:46Z</published><updated>2007-07-04T03:37:46Z</updated><content type="html">&lt;p&gt;&lt;a title="Daniel Cazzulino's blog" href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/06/26/28072.aspx"&gt;Daniel Cazzulino&lt;/a&gt; has posted an SSE implementation on CodePlex: the &lt;a title="SSE on CodePlex" href="http://www.codeplex.com/sse"&gt;Simple Sharing Extensions for .NET&lt;/a&gt; project. Cool! I'm looking forward to checking it out.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3678456" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="Simple Sharing Extensions" scheme="http://blogs.msdn.com/stevenlees/archive/tags/Simple+Sharing+Extensions/default.aspx" /></entry><entry><title>When to sync?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/06/12/when-to-sync.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/06/12/when-to-sync.aspx</id><published>2007-06-13T02:25:06Z</published><updated>2007-06-13T02:25:06Z</updated><content type="html">&lt;p&gt;Now that we've posted the updated &lt;a title="Simple Sharing Extensions spec" href="http://msdn2.microsoft.com/en-us/xml/bb510102.aspx"&gt;SSE spec&lt;/a&gt; to &lt;a href="http://msdn2.microsoft.com/en-us/xml/bb190611.aspx"&gt;MSDN&lt;/a&gt;, one of the next things on my list is to discuss how SSE works. Before jumping in to examples, though, I wanted to address a more fundamental question: when does it make sense to use SSE?&lt;/p&gt; &lt;p&gt;In my last post, I paraphrased the overview section of the spec which describes the scope of SSE. Here's what the &lt;a title="Simple Sharing Extensions spec" href="http://msdn2.microsoft.com/en-us/xml/bb510102.aspx"&gt;spec&lt;/a&gt; says:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;The scope of Simple Sharing Extensions (SSE) is to define the minimum extensions necessary to enable loosely-cooperating applications to use XML-based container formats such as Atom and RSS 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.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;When you are thinking about practical uses for SSE, one of the most important parts of the description above is the word &lt;em&gt;bi-directional&lt;/em&gt;. SSE is going to be most interesting scenarios where you have multiple writers to the same underlying data store.&lt;/p&gt; &lt;p&gt;Let's work with a real world example. &lt;a title="The New York Times" href="http://nytimes.com/"&gt;The New York Times&lt;/a&gt; has a desktop reader for their content called &lt;a title="Times Reader" href="http://select.nytimes.com/gst/timesreader.html"&gt;Times Reader&lt;/a&gt;. The reader caches the last seven days of news content on your computer so that you can access it even when you're offline. Should they change their application so that they are using SSE to sync that news content between your device and their server?&lt;/p&gt; &lt;p&gt;Probably not. The NYT is the authoritative publisher for their news content; even if you wanted to update it, I'm guessing they wouldn't want you to. You might think, though, that&amp;nbsp;it would still be useful to produce an SSE-enabled feed to help the Times Reader cache the news content on your local machine, even if it's a read-only cache. It certainly wouldn't hurt anything to produce an SSE feed in this case, but all you really need to reliably cache the content is a unique ID for each content item, and SSE requires a bit more metadata that the reader application probably wouldn't end up using.&lt;/p&gt; &lt;p&gt;There is an interesting use case for SSE in the Reader application, though. The Times Reader includes the &lt;a href="http://firstlook.nytimes.com/?p=37"&gt;crossword puzzle&lt;/a&gt;. The "data store" in this case is the one where your crossword puzzle solution is stored. Wouldn't it be sweet if you could start working on the puzzle in the morning from home, then pick it up again at work and add a few more answers, then work on it during the afternoon commute from your smartphone (I'll assume you're not driving...), and have your answers automagically sync to all of those devices? You can if they're all syncing the data through SSE. You could do this through a browser-based service, too, but that typically requires you to be connected to the server whenever you want to work on the crossword puzzle.&lt;/p&gt; &lt;p&gt;Unlike the news content publishing case, there are multiple writers in the crossword puzzle scenario...but so far they all happen to be your own devices (home computer, work computer, and phone). Where SSE is most useful is when there are multiple &lt;em&gt;people&lt;/em&gt; as well as multiple devices writing to the same data store. Imagine that your niece on the East coast happens to really like crosswords, and wants to work on the same puzzle with you. SSE tells the reader application what to do in order to merge the two sets of puzzle answers (aka data items) together.&lt;/p&gt; &lt;p&gt;That's just one example; SSE is certainly useful for other kinds of information beyond crossword puzzle answers. In Ray Ozzie's &lt;a href="http://rayozzie.spaces.live.com/blog/cns!FB3017FBB9B2E142!175.entry"&gt;original blog post introducing SSE&lt;/a&gt;, he envisioned using SSE for calendar and contact information. SSE is also interesting in other configurations, such as server-to-server, as well as the peer-to-peer configuration described in this post.&lt;/p&gt; &lt;p&gt;More on those later...&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3258501" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="Simple Sharing Extensions" scheme="http://blogs.msdn.com/stevenlees/archive/tags/Simple+Sharing+Extensions/default.aspx" /></entry><entry><title>Windows Live Writer: fun with spellchecking</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/06/12/windows-live-writer-fun-with-spellchecking.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/06/12/windows-live-writer-fun-with-spellchecking.aspx</id><published>2007-06-13T02:24:00Z</published><updated>2007-06-13T02:24:00Z</updated><content type="html">&lt;p&gt;I've been writing up a posting on when to use SSE, and I discovered that &lt;a href="http://get.live.com/betas/writer_betas"&gt;Windows Live Writer&lt;/a&gt; checks your posts for spelling as you're writing. You get those familiar red squiggly lines that you're used to from Microsoft Word.&lt;/p&gt; &lt;p&gt;I guess I haven't been using computers long enough to get over the amusement when the spell checker doesn't recognize some bit of jargon that I'm using. In this case, it wasn't happy that I wrote "automagically", and suggested quite a few alternatives:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/stevenlees/WindowsLiveWriter/WindowsLiveWriterfunwithspellchecking_E66F/automagically.png" atomicselection="true"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 0px 0px 100px; border-left: 0px; border-bottom: 0px" height="395" alt="automagically" src="http://blogs.msdn.com/blogfiles/stevenlees/WindowsLiveWriter/WindowsLiveWriterfunwithspellchecking_E66F/automagically_thumb.png" width="331" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Still a great feature--I'll take the occasional entertainment value as a bonus.&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3258488" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author></entry><entry><title>Spec update for Simple Sharing Extensions</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/06/11/spec-update-for-simple-sharing-extensions.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/06/11/spec-update-for-simple-sharing-extensions.aspx</id><published>2007-06-12T02:04:00Z</published><updated>2007-06-12T02:04:00Z</updated><content type="html">&lt;P&gt;It's been a while in the works, but I'm happy to announce that we've update the specification for &lt;A class="" title="Simple Sharing Extensions for Atom and RSS" href="http://msdn2.microsoft.com/en-us/xml/bb510102.aspx" mce_href="http://msdn2.microsoft.com/en-us/xml/bb510102.aspx"&gt;Simple Sharing Extensions&lt;/A&gt;. There are some pretty significant changes to this edition, including:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;We added an SSE binding to the Atom feed format.&lt;/LI&gt;
&lt;LI&gt;We made several changes to the sync algorithm to improve accuracy and efficiency&lt;/LI&gt;
&lt;LI&gt;We reorganized the spec to improve readability&lt;/LI&gt;
&lt;LI&gt;We removed the OPML binding from the v1 edition of the spec.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I've also updated the &lt;A class="" title="Simple Sharing Extensions FAQ" href="http://msdn2.microsoft.com/en-us/xml/bb190616.aspx" mce_href="http://msdn2.microsoft.com/en-us/xml/bb190616.aspx"&gt;FAQ&lt;/A&gt; doc to go with the current spec. There are HTML/Javascript based &lt;A class="" title="SSE Tutorials" href="http://www.microsoft.com/downloads/details.aspx?familyid=53bb2bf8-71cc-433c-baac-367a5600a217&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=53bb2bf8-71cc-433c-baac-367a5600a217&amp;amp;displaylang=en"&gt;tutorials&lt;/A&gt; for both Atom and RSS as well.&lt;/P&gt;
&lt;P&gt;For those who are new to the spec, the scope of Simple Sharing Extensions (SSE) is to define the minimum extensions necessary for loosely-coupled applications to use XML-based container formats like Atom and RSS feeds as a way to synchronize a set of items across a distributed mesh of endpoints. In slightly more plain English, that means that you can have a set of applications and services that are all sharing the same underlying data in a loosely coupled way.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3237755" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="Simple Sharing Extensions" scheme="http://blogs.msdn.com/stevenlees/archive/tags/Simple+Sharing+Extensions/default.aspx" /></entry><entry><title>Silverlight Streaming</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/stevenlees/archive/2007/05/08/silverlight-streaming.aspx" /><id>http://blogs.msdn.com/stevenlees/archive/2007/05/08/silverlight-streaming.aspx</id><published>2007-05-09T04:05:00Z</published><updated>2007-05-09T04:05:00Z</updated><content type="html">&lt;P&gt;One of the big announcements at MIX this year was Silverlight Streaming, which you can find at &lt;A href="http://silverlight.live.com/" mce_href="http://silverlight.live.com/"&gt;http://silverlight.live.com/&lt;/A&gt;. I haven't tried it yet, but it looks pretty cool. The terms of use are listed at the bottom of the page--basically, while the service is in pre-release mode you can host up to 4Gb of content for no charge.&lt;/P&gt;
&lt;P&gt;If you want to try it out, you'll want to check out the developer page on &lt;A href="http://dev.live.com/silverlight/" mce_href="http://dev.live.com/silverlight/"&gt;http://dev.live.com/silverlight/&lt;/A&gt;. Since the service hosts Silverlight applications, you'll need to build at least a simple one of those. There are some good quickstarts to get you up and running here: &lt;A href="http://silverlight.net/quickstarts/" mce_href="http://silverlight.net/quickstarts/"&gt;http://silverlight.net/quickstarts/&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2491801" width="1" height="1"&gt;</content><author><name>StevenLees</name><uri>http://blogs.msdn.com/members/StevenLees.aspx</uri></author><category term="Silverlight Streaming" scheme="http://blogs.msdn.com/stevenlees/archive/tags/Silverlight+Streaming/default.aspx" /></entry></feed>