<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Integrating rssCloud and PubSubHubBub</title>
	<atom:link href="http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/</link>
	<description>Shut up and eat your vegetables!</description>
	<lastBuildDate>Mon, 28 Dec 2009 15:40:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: World&#8217;s Largest Paid Blogging Platform Goes Real-Time</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-24</link>
		<dc:creator>World&#8217;s Largest Paid Blogging Platform Goes Real-Time</dc:creator>
		<pubDate>Mon, 14 Sep 2009 19:08:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-24</guid>
		<description>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</description>
		<content:encoded><![CDATA[<p>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: World&#8217;s Largest Paid Blogging Platform Goes Real-Time &#124; Newsfed - Aggregate local and tech stories with related videos and tweets!</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-23</link>
		<dc:creator>World&#8217;s Largest Paid Blogging Platform Goes Real-Time &#124; Newsfed - Aggregate local and tech stories with related videos and tweets!</dc:creator>
		<pubDate>Mon, 14 Sep 2009 19:05:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-23</guid>
		<description>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</description>
		<content:encoded><![CDATA[<p>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: World's Largest Paid Blogging Platform Goes Real-Time - RoboXpress</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-22</link>
		<dc:creator>World's Largest Paid Blogging Platform Goes Real-Time - RoboXpress</dc:creator>
		<pubDate>Mon, 14 Sep 2009 19:04:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-22</guid>
		<description>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</description>
		<content:encoded><![CDATA[<p>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: World&#8217;s Largest Paid Blogging Platform Goes Real-Time &#124; Spin Valley Post</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-21</link>
		<dc:creator>World&#8217;s Largest Paid Blogging Platform Goes Real-Time &#124; Spin Valley Post</dc:creator>
		<pubDate>Mon, 14 Sep 2009 18:33:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-21</guid>
		<description>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</description>
		<content:encoded><![CDATA[<p>[...] are a big win for the real-time web. Developer Chuck Shotton has written about the prospects of making the two protocols interoperable. &#8220;I know this sounds dorky,&#8221; RSSCloud lead developer Dave Winer said last night on [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Mastracci</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-18</link>
		<dc:creator>Matt Mastracci</dc:creator>
		<pubDate>Fri, 11 Sep 2009 01:13:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-18</guid>
		<description>I disagree that about the driving force for the standard going forward.  Since rssCloud has some pretty glaring holes in its API that prevent it from being used in virtual hosted and other virtualize datacenters, it just won&#039;t be adopted by feed readers.  

Nick Lothian pointed out an interesting point today.  Not only does the IP address endpoint requirement break virtualized datacenters like AppEngine that router in/out HTTP traffic differently, it also *entirely* breaks for vhosted HTTP sites.  Many sites are not accessible over HTTP/1.0 and require a specific Host: header.  rssCloud makes no accommodation for this, locking those sites entirely out of the ecosystem.

Since there&#039;s no way to guarantee that every feed reader will support rssCloud, it makes more sense as a hub admin or a publisher to start with PSHB which at least has a chance of being implemented on every host.</description>
		<content:encoded><![CDATA[<p>I disagree that about the driving force for the standard going forward.  Since rssCloud has some pretty glaring holes in its API that prevent it from being used in virtual hosted and other virtualize datacenters, it just won&#8217;t be adopted by feed readers.  </p>
<p>Nick Lothian pointed out an interesting point today.  Not only does the IP address endpoint requirement break virtualized datacenters like AppEngine that router in/out HTTP traffic differently, it also *entirely* breaks for vhosted HTTP sites.  Many sites are not accessible over HTTP/1.0 and require a specific Host: header.  rssCloud makes no accommodation for this, locking those sites entirely out of the ecosystem.</p>
<p>Since there&#8217;s no way to guarantee that every feed reader will support rssCloud, it makes more sense as a hub admin or a publisher to start with PSHB which at least has a chance of being implemented on every host.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cshotton</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-17</link>
		<dc:creator>cshotton</dc:creator>
		<pubDate>Thu, 10 Sep 2009 11:43:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-17</guid>
		<description>I think the protocol issues are important to address, perhaps as part of the &quot;normalization&quot; effort. Today&#039;s TechCrunch &quot;review&quot;, while obviously biased, does lay out a couple of issues that could quickly be addressed to overcome any perceived difference.  http://www.techcrunch.com/2009/09/09/rsscloud-vs-pubsubhubbub-why-the-fat-pings-win/

I think it&#039;s likely that the ultimate measure of these two solutions is going to come from the breadth of support at the hub level. This is the piece of technology that neither publishers nor subscribers are going to create themselves, at least not in any production-quality form that scales. So it&#039;s important to think about how implementors of hubs are going to view the APIs and the hub-specific implementation requirements.</description>
		<content:encoded><![CDATA[<p>I think the protocol issues are important to address, perhaps as part of the &#8220;normalization&#8221; effort. Today&#8217;s TechCrunch &#8220;review&#8221;, while obviously biased, does lay out a couple of issues that could quickly be addressed to overcome any perceived difference.  <a href="http://www.techcrunch.com/2009/09/09/rsscloud-vs-pubsubhubbub-why-the-fat-pings-win/" rel="nofollow">http://www.techcrunch.com/2009/09/09/rsscloud-vs-pubsubhubbub-why-the-fat-pings-win/</a></p>
<p>I think it&#8217;s likely that the ultimate measure of these two solutions is going to come from the breadth of support at the hub level. This is the piece of technology that neither publishers nor subscribers are going to create themselves, at least not in any production-quality form that scales. So it&#8217;s important to think about how implementors of hubs are going to view the APIs and the hub-specific implementation requirements.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Mastracci</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-15</link>
		<dc:creator>Matt Mastracci</dc:creator>
		<pubDate>Thu, 10 Sep 2009 00:27:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-15</guid>
		<description>One additional point that I didn&#039;t see reflected in the document:

rssCloud needs some API work to bring it up to par with PSHB&#039;s subscription API.  It&#039;s missing any sort of validation of subscription requests: any URL that returns 200 OK is considered successful. This lets you do fun stuff like subscribing an rssCloud hub to another rssCloud hub&#039;s subscription address (repeat ad nauseam). Dave Winer&#039;s own rssCloud endpoint failed to validate that the rssCloud parameters were provided in the body of the POST, allowing someone to subscribe another hub to it as an endpoint.

Pubsubhubbub uses a verification key to ensure that the endpoint is actually the one that requested the subscription.  Not having this sort of verification in rssCloud is opening up the system for an exploit, one of which I submitted to the author of WP rssCloud already (fixed in 0.3)!  

Additionally, rssCloud requires that your endpoint match your IP address which is not always possible in many hosted web environments. This limitation also prevents you from subscribing other parties on your behalf, which is useful in the desktop feed aggregator case. I&#039;ve already used this to build a PSHB-&gt;XMPP gateway (available here http://pubsubhubbub-xmpp.appspot.com/) that would enable it on the desktop.</description>
		<content:encoded><![CDATA[<p>One additional point that I didn&#8217;t see reflected in the document:</p>
<p>rssCloud needs some API work to bring it up to par with PSHB&#8217;s subscription API.  It&#8217;s missing any sort of validation of subscription requests: any URL that returns 200 OK is considered successful. This lets you do fun stuff like subscribing an rssCloud hub to another rssCloud hub&#8217;s subscription address (repeat ad nauseam). Dave Winer&#8217;s own rssCloud endpoint failed to validate that the rssCloud parameters were provided in the body of the POST, allowing someone to subscribe another hub to it as an endpoint.</p>
<p>Pubsubhubbub uses a verification key to ensure that the endpoint is actually the one that requested the subscription.  Not having this sort of verification in rssCloud is opening up the system for an exploit, one of which I submitted to the author of WP rssCloud already (fixed in 0.3)!  </p>
<p>Additionally, rssCloud requires that your endpoint match your IP address which is not always possible in many hosted web environments. This limitation also prevents you from subscribing other parties on your behalf, which is useful in the desktop feed aggregator case. I&#8217;ve already used this to build a PSHB-&gt;XMPP gateway (available here <a href="http://pubsubhubbub-xmpp.appspot.com/)" rel="nofollow">http://pubsubhubbub-xmpp.appspot.com/)</a> that would enable it on the desktop.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Mastracci</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-14</link>
		<dc:creator>Matt Mastracci</dc:creator>
		<pubDate>Thu, 10 Sep 2009 00:14:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-14</guid>
		<description>Awesome, this is a useful resource to have available.

Note that PSHB isn&#039;t concerned with &quot;new&quot; data, but rather changes in the document overall. If a post is modified, the updated content is included in the notification ping. This means that it can be used to deliver updates from a liveblog post to subscribers in real-time, for instance.

Pubsubhubbub notifications to the hub, as well as from the hub to the subscriber would happen under an identical set of circumstances as with rssCloud.  It&#039;s not even a superset or subset of rssCloud&#039;s notifications: they will always happen in tandem.

The big advantage for PSHB is that it does the grunt work of detecting any feed change so that every subscriber isn&#039;t required to fetch the full feed and perform the operation that the hub would be performing on its behalf.  If there&#039;s a use case that isn&#039;t covered by PSHB, there&#039;s nothing stopping the subscriber from hitting the feed specified in the notification update and performing its own checks every time (effectively falling back to the same semantics as rssCloud).

From what I can tell, PSHB is somewhat influenced by Atom&#039;s structure, in that it assumes there are a stable set of IDs for it to base the feed diff on.  I&#039;ve peered into the source and they have a significant number of testcases to deal with RSS, which is notoriously unreliable when it comes to permanent identifiers.  The PSHB protocol works fine using any type of RSS, however - it just delivers a subset of the RSS document, in RSS format during every change.

FWIW, the notifications in PSHB are basically just HTTP POSTed versions of the feeds that it subscribes to, with all the unchanged feed items stripped out.  There&#039;s no magic format here: unchanged content is simply removed.</description>
		<content:encoded><![CDATA[<p>Awesome, this is a useful resource to have available.</p>
<p>Note that PSHB isn&#8217;t concerned with &#8220;new&#8221; data, but rather changes in the document overall. If a post is modified, the updated content is included in the notification ping. This means that it can be used to deliver updates from a liveblog post to subscribers in real-time, for instance.</p>
<p>Pubsubhubbub notifications to the hub, as well as from the hub to the subscriber would happen under an identical set of circumstances as with rssCloud.  It&#8217;s not even a superset or subset of rssCloud&#8217;s notifications: they will always happen in tandem.</p>
<p>The big advantage for PSHB is that it does the grunt work of detecting any feed change so that every subscriber isn&#8217;t required to fetch the full feed and perform the operation that the hub would be performing on its behalf.  If there&#8217;s a use case that isn&#8217;t covered by PSHB, there&#8217;s nothing stopping the subscriber from hitting the feed specified in the notification update and performing its own checks every time (effectively falling back to the same semantics as rssCloud).</p>
<p>From what I can tell, PSHB is somewhat influenced by Atom&#8217;s structure, in that it assumes there are a stable set of IDs for it to base the feed diff on.  I&#8217;ve peered into the source and they have a significant number of testcases to deal with RSS, which is notoriously unreliable when it comes to permanent identifiers.  The PSHB protocol works fine using any type of RSS, however &#8211; it just delivers a subset of the RSS document, in RSS format during every change.</p>
<p>FWIW, the notifications in PSHB are basically just HTTP POSTed versions of the feeds that it subscribes to, with all the unchanged feed items stripped out.  There&#8217;s no magic format here: unchanged content is simply removed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cshotton</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-13</link>
		<dc:creator>cshotton</dc:creator>
		<pubDate>Wed, 09 Sep 2009 22:40:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-13</guid>
		<description>Good points. I&#039;ll fix the doc. The &quot;update-only&quot; mode would be a good addition for PSHB. It really does restrict some of the options otherwise available to subscribers by taking on the job of attempting to deliver only &quot;new&quot; content within the hub. 

I&#039;m curious how much of that behavior is dependent on attributes within the Atom format (of which I am fairly ignorant).</description>
		<content:encoded><![CDATA[<p>Good points. I&#8217;ll fix the doc. The &#8220;update-only&#8221; mode would be a good addition for PSHB. It really does restrict some of the options otherwise available to subscribers by taking on the job of attempting to deliver only &#8220;new&#8221; content within the hub. </p>
<p>I&#8217;m curious how much of that behavior is dependent on attributes within the Atom format (of which I am fairly ignorant).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Mastracci</title>
		<link>http://www.shotton.com/wp/2009/09/09/integrating-rsscloud-and-pubsubhubbub/comment-page-1/#comment-12</link>
		<dc:creator>Matt Mastracci</dc:creator>
		<pubDate>Wed, 09 Sep 2009 20:23:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.shotton.com/wp/?p=161#comment-12</guid>
		<description>I think there&#039;s a mistake on page 6: &quot;PSHB hub implementations must cache published content while rssCloud hubs explicitly do not.&quot;. 

rssCloud hubs cache the digest of the *whole feed*, while PSHB hubs cache the digests of the individual RSS/atom entries. The document as it is infers that rssCloud doesn&#039;t keep track of the feed that it is tracking.

Here&#039;s the relevant part of the PSHB spec: &quot;The hub caches minimal metadata (id, data, entry digest) about each topic&#039;s previous state. When the hub re-fetches a topic feed (on its own initiative or as a result of a publisher&#039;s ping) and finds a delta, it enqueues a notification to all registered subscribers.&quot; 

It seems like Pubsubhubbub could add a note that hubs may send &quot;update-only&quot; notifications and take on the only real functional difference between PSHB and rssCloud. With that change, you could port over the current WP rssCloud plugin by replacing the HTTP POST parameters and checking the result of subscription requests.</description>
		<content:encoded><![CDATA[<p>I think there&#8217;s a mistake on page 6: &#8220;PSHB hub implementations must cache published content while rssCloud hubs explicitly do not.&#8221;. </p>
<p>rssCloud hubs cache the digest of the *whole feed*, while PSHB hubs cache the digests of the individual RSS/atom entries. The document as it is infers that rssCloud doesn&#8217;t keep track of the feed that it is tracking.</p>
<p>Here&#8217;s the relevant part of the PSHB spec: &#8220;The hub caches minimal metadata (id, data, entry digest) about each topic&#8217;s previous state. When the hub re-fetches a topic feed (on its own initiative or as a result of a publisher&#8217;s ping) and finds a delta, it enqueues a notification to all registered subscribers.&#8221; </p>
<p>It seems like Pubsubhubbub could add a note that hubs may send &#8220;update-only&#8221; notifications and take on the only real functional difference between PSHB and rssCloud. With that change, you could port over the current WP rssCloud plugin by replacing the HTTP POST parameters and checking the result of subscription requests.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.331 seconds -->
