<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Backdrifter &#187; pubsubhubbub</title>
	<atom:link href="http://www.backdrifter.com/tags/pubsubhubbub/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.backdrifter.com</link>
	<description>The personal site of Jared Hanson</description>
	<lastBuildDate>Tue, 22 Jun 2010 22:16:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Brett Slatkin on PubSubHubbub</title>
		<link>http://www.backdrifter.com/2009/10/19/brett-slatkin-on-pubsubhubbub/</link>
		<comments>http://www.backdrifter.com/2009/10/19/brett-slatkin-on-pubsubhubbub/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 04:01:44 +0000</pubDate>
		<dc:creator>Jared Hanson</dc:creator>
				<category><![CDATA[Unknown]]></category>
		<category><![CDATA[mozillalabs]]></category>
		<category><![CDATA[pubsubhubbub]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://www.backdrifter.com/?p=147</guid>
		<description><![CDATA[Continuing in the series of entries derived from my notes taken during Mozilla Labs October meetup, this post covers Brett Slatkin&#8217;s talk about PubSubHubbub.  PubSubHubbub is a simple publish/subscribe protocol for turning Atom and RSS feeds into real-time streams.
The publish/subscribe paradigm is commonly found throughout software engineering.  In essence, a component of a [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing in the <a href="http://www.backdrifter.com/2009/10/15/brad-fitzpatrick-on-webfinger/">series</a> of entries derived from my notes taken during <a href="http://labs.mozilla.com/">Mozilla Labs</a> October <a href="http://www.meetup.com/Mozilla-Labs-Meetup/calendar/11472113/">meetup</a>, this post covers <a href="http://www.google.com/profiles/bslatkin">Brett Slatkin</a>&#8217;s talk about <a href="http://code.google.com/p/pubsubhubbub/">PubSubHubbub</a>.  PubSubHubbub is a simple <a href="http://en.wikipedia.org/wiki/Publish/subscribe">publish/subscribe</a> protocol for turning <a href="http://en.wikipedia.org/wiki/Atom_(standard)">Atom</a> and <a href="http://en.wikipedia.org/wiki/RSS">RSS</a> feeds into real-time streams.</p>
<p>The publish/subscribe paradigm is commonly found throughout software engineering.  In essence, a component of a system publishes events as it performs its tasks.  For example, a video encoder would post an event when it has completed encoding.</p>
<p>Separate components register as subscribers, and receive notice when an event occurs.  In our example, a content management system could take the encoded video and publish it to a website.  Meanwhile, a separate component could email the director to inform him that his video is available online.</p>
<p>A broker in the middle (a &#8220;hub&#8221; in PubSubHubbub terminology) is responsible for delivering published events to any interested subscribers.  This decoupling creates a flexible architecture, in which separate components are isoloted and can evolve independently.</p>
<p><span id="more-147"></span></p>
<p>There have been many attempts to define a standard publish/subscribe protocol in the past, including the <a href="http://xmpp.org/extensions/xep-0060.html">XEP-0060</a> extension to <a href="http://xmpp.org/">XMPP</a>, <a href="http://www.amqp.org/">AMQP</a>, competing WS-* efforts, and <a href="http://www.restms.org/">RestMS</a> (which I&#8217;m unfamiliar with and need to research).  None of these protocols have achieved widespread adoption.  PubSubHubbub is an attempt which initially appears like it may have a better fate.</p>
<p>Architecturally, PubSubHubbub is decentralized and designed to scale to the size of the web.  Because of this, it doesn&#8217;t suffer from any slow down or failure at a central point.  I found the touting of this benefit quite humorous given the location of the meetup at <a href="http://twitter.com/">Twitter</a>&#8217;s headquarters.</p>
<p>One of the potential limitation of the protocol, however, is that it is server-to-server only.  It operates on the backend, and is not attempting to reach the last mile to desktops or mobile phones.  I suspect that this drawback could eventually work in favor of XEP-0060, which could act as a compliment to PubSubHubbub by filling this gap.</p>
<p>Interestingly, Brett remarked on how slowly the web actually changes.  He revealed that the egress from the <a href="http://pubsubhubbub.appspot.com/">reference hub</a> on <a href="http://code.google.com/appengine/">App Engine</a> is only 24Kb/second, including all of <a href="http://www.blogger.com/">Blogger</a>, <a href="http://www.livejournal.com/">LiveJournal</a>, and <a href="http://friendfeed.com/">FriendFeed</a>.  Taken at face value, this is a remarkably low figure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.backdrifter.com/2009/10/19/brett-slatkin-on-pubsubhubbub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brad Fitzpatrick on WebFinger</title>
		<link>http://www.backdrifter.com/2009/10/15/brad-fitzpatrick-on-webfinger/</link>
		<comments>http://www.backdrifter.com/2009/10/15/brad-fitzpatrick-on-webfinger/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 02:28:01 +0000</pubDate>
		<dc:creator>Jared Hanson</dc:creator>
				<category><![CDATA[Unknown]]></category>
		<category><![CDATA[finger]]></category>
		<category><![CDATA[mozillalabs]]></category>
		<category><![CDATA[pubsubhubbub]]></category>
		<category><![CDATA[webfinger]]></category>

		<guid isPermaLink="false">http://www.backdrifter.com/?p=134</guid>
		<description><![CDATA[Last week I went to the Mozilla Labs October meetup at Twitter HQ.  Employees of Mozilla and Google presented their latest projects, which were very interesting for those involved in engineering the future of the Web.  I intend to turn my notes from the gathering into two or three blog entries.  This [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I went to the <a href="http://labs.mozilla.com/">Mozilla Labs</a> October <a href="http://www.meetup.com/Mozilla-Labs-Meetup/calendar/11472113/">meetup</a> at <a href="http://twitter.com/">Twitter</a> HQ.  Employees of <a href="http://www.mozilla.com/">Mozilla</a> and <a href="http://www.google.com/">Google</a> presented their latest projects, which were very interesting for those involved in engineering the future of the Web.  I intend to turn my notes from the gathering into two or three blog entries.  This is the first of those.</p>
<p>To kick off the evening, <a href="http://bradfitz.com/">Brad Fitzpatrick</a> and <a href="http://www.google.com/profiles/bslatkin">Brett Slatkin</a> (both of Google) presented on <a href="http://code.google.com/p/webfinger/">WebFinger</a> and <a href="http://code.google.com/p/pubsubhubbub/">PubSubHubub</a>, respectively.  Brad stated that he &#8220;would like to totally decentralize social networking,&#8221; which is a common link between the two efforts.  This post will outline Brad&#8217;s talk on WebFinger; PubSubHubbub will follow separately.</p>
<p>WebFinger attempts to solve the problem that we don&#8217;t have good identifiers for people.  Over time, people have become accustomed to identifying themselves by an email address.  They sign into websites with this as their ID and print it on their business cards.  People instinctively recognize anything with an @ sign in it as an email address.</p>
<p><span id="more-134"></span></p>
<p>From an engineering standpoint, however, this is a rather stupid heuristic.  Something that looks like an email address may, in fact, not be one at all.  A Jabber ID is a common example.  To distinguish between the two in a computer program, a URL must be formed with either a <code><a href="http://tools.ietf.org/html/rfc2368">mailto:</a></code> or <code><a href="http://tools.ietf.org/html/rfc5122">xmpp:</a></code> scheme to represent email and IM addresses, respectively.</p>
<p>However, it would run counter to usability to avoid &#8220;email address-like&#8221; identifiers, so a solution to this problem is necessary.</p>
<p>For its part, WebFinger has minted the new URI scheme <code><a href="http://hueniverse.com/2009/08/making-the-case-for-a-new-acct-uri-scheme/">acct:</a></code> to denote a generic account.  From this generic concept, the WebFinger protocol can be used to determine the capabilities of the account.  For example, whether it can be sent email or instant messages (or both), or where that person&#8217;s address book is located.</p>
<p>It is important to note that this new <code>acct:</code> scheme imposes no burden on the user.  Ideally, people will remain completely unaware of its existence.  They will continue to use email address-looking strings as usual, and applications will simply treat them as account identifiers internally.</p>
<p>Of course, any new protocol hinges its hopes on adoption by other parties.  Both Google and <a href="http://www.yahoo.com/">Yahoo!</a> have deployed experimental endpoints.  With the support of two of the big-cos, as well as independent implementations, WebFinger&#8217;s potential to become a key piece of enabling infrastructure is promising.</p>
<p>WebFinger derives its name from <a href="http://en.wikipedia.org/wiki/Finger_protocol">Finger</a>, a protocol from the dawn of the Internet which was used to look up information about people on a network.  One slide in Brad&#8217;s deck contrasting the two illustrated that Finger ran over TCP, whereas WebFinger uses HTTP (&#8221;the new TCP&#8221;, sigh), an aside which I found amusing.</p>
<p>For technical details, <a href="http://hueniverse.com/">Eran Hammer-Lahav</a> has a guide to <a href="http://hueniverse.com/2009/09/implementing-webfinger/">implementing WebFinger</a>, in addition to other useful information on the <a href="http://hueniverse.com/webfinger/">topic</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.backdrifter.com/2009/10/15/brad-fitzpatrick-on-webfinger/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
