Are you confused about the difference between PubSubHubbub and rssCloud? You're not alone.

Here's how the confusion came about:

Dave Winer invented rssCloud way back in the day. It only distributed lite pings, the callback endpoint was the IP address that you subscribed from, and nobody really ever implemented it, so you probably never heard of it. We sure hadn't.

Fast forward 5 or 6 years. Brett Slatkin and I want to fix the polling problem and we're annoyed that all companies seem to have an internal pubsub system, but none of them work on the Internet, and XEP-0060 just isn't getting adopted, probably because XMPP weirds people out. We start sketching out PubSubHubbub. From day 1 we do all development in the open, on pubsubhubbub.googlecode.com. Initially we only target Atom for simplicity until we got a prototype working. We work on PSHB for about a year, during which time we hear about rssCloud and are impressed at the foresight but reject it as not satisfying our design goals. After a year of working on PSHB, we demo it at the "TechCrunch Real-time Stream Crunch-Up" event. We add RSS support a few days before the event because it's trivial at that point. It's unfortunate that both Atom and RSS exist, but that's reality, so we support both.

Right after we present, we get a request to call Dave Winer. He wants to "do voice", so Brett and I hop on our cellphones and the three of us have a conference call, with Brett and I outside on the street trying to find places to stand with less road noise. Over the next 15-30 minutes, we slowly walk him through PubSubHubbub, repeatedly, explaining why webhooks and fat pings are important (no thundering herds DoSing publishers!), explain all of our design goals (pushing complexity to the hub, keeping publishing simple, decentralized, using HTTP, etc, etc...)

Dave Winer reads the PSHB spec and notices it still says "Atom only, not RSS". Shit. We forgot to update the spec after we added RSS support.

Perhaps due to our RSS documentation omission, or perhaps because he realized pubsub was finally in vogue, he's now gone and dusted-off and augmented his old rssCloud protocol that's RSS-centric.

The arguments in favor of rssCloud go something like this: 'we can't have BigCo control the spec. We should have an independent spec!' Or, in his words: "Google sux". To reply to that specifically: This isn't even a Google-initiated project --- it's Brett & my 20% (or 5%?) time project, trying to fix something we find annoying on the web. We've been transparently working on this in the open from day 1. Yes, we happen to be Google employees. We have no internal docs or project plan on this. If Dave wants something different, he's just as welcome on our mailing list as everybody else (many individuals and companies, working together to build consensus....). Instead, he's heavily promoting the largely-unchanged rssCloud and not wanting feedback. Seems silly, but that's that.

Unlike rssCloud, which Winer says is frozen and a "done deal", the Hubbub protocol isn't frozen. It's in development so far as we'll make changes and additions that are good and useful, and try hard not to break backwards compatibility (especially on pinging). We have a few major things yet mostly untackled (including distribution of private content). The rssCloud mailing list says "This is a mail list not a standards body". If you'd like to work on a standard, join the PSHB mailing list.

Some of the good articles on the technical differences between the two protocols:

I just got a call from a survey company, asking me to rate the quality of some service phone call I'd made recently.

First she asked if I had five minutes to complete a survey about a phone call I'd made recently. I thought that five minutes was longer than the phone call itself, but I felt bad for her, and I was amused, so I agreed to the survey.

"How would you rate the overall quality of the call? Please answer with a number from 1 to 5 where 5 is excellent is 1 is poor."

I answer, "4.6"

[pause....]

"Sir, would you say 4.6 is closer to 4 or closer to 5?"

HAHAHAHAHAHAHAH.

I was chuckling the rest of the call, just saying "5." because I didn't want to confuse her.

Google Profiles just launched a new feature that's too dorky and
obscure to warrant an official "Google blog" blog post, so the product
manager on it said, "Brad, you're dorky... you should post it. You do
Social Graph API stuff. The right people would read your blog,
right?" (roughly)

So sure, I'll blawg it here.

Google Profiles now
have XFNrel="me"
attributes on links. Again. (It had them briefly for awhile but it
was done grossly so they were removed...)

Why is this important?rel="me" links are the
glue of your social identity online. They tie together all your sites
& accounts, letting
other sites know where to find you. (Of course, if you don't want
to be found, or have different personas: don't make links between
them!). But if you're reading this post you already know all this, so
I'll shut up.

How does it work in Google Profiles now? While I don't work
directly on Profiles, I sit near them and like to voice opinions on
things. So here's the new design, which you can blame me for parts of
if you hate it:

assume users don't care about rel="me" and it's super
dorky.

do the best possible right thing by default, but let dorks
override it.

assume users will use products in ways you didn't imagine (aka
"wrong")

assume users will add Profiles links to their favorite websites,
bands, friends, etc., not just "their" pages on the web.

hide the rel="me" choice by default when adding a link

show the rel="me" choice if they go back and press "edit" on it

track two new bits per-link:

does the user care about rel="me"? (i.e. are they dorky?)

if so, does the user want this link to be rel="me"?

when rendering the Profiles page HTML, consider those two bits:

if the dork bit is on, use the value of the second bit (whether
they chose rel="me" on this link)

if the bit is off, just guess. But guess somewhat
conservatively. We can adjust these heuristics over time (a lot of which are based on sgnodemapper), as
most the links will be in do-not-care mode.

So, my dorky friends, you can now fix the rel="me"
state on your links by going
to the
editor and pressing "Edit" on the links and checking their state.
Be sure to hit "Save" at the bottom.

Enjoy.

(And keep in mind that the real utility of all this comes later.
Consider yourself a dorky earlier adopter.)

Went to Seattle with Sierra this weekend. Hung out with her parents and brother and went hiking with her dad and recorded it with the "My Tracks" Android app, which let me upload it to Google Maps: the 7.6 mile Hansville hike. Good hike & good app.