CS and the City Sean Lynch

Playing with PubSubHubBub

This week I’ve been taking a look at the recently announced pubsubhubbub by Brad Fitzpatrick and Brett Slatkin of Google. The duo proposed and implemented a protocol for implementing near-realtime notifications on top of RSS and Atom. The protocol describes three roles: A publisher, a subscriber, and a hub. The hub basically acts as an intermediary, receiving subscription requests from subscribers and forwarding update notifications from publishers to subscribers.

One of the first things I noticed about the protocol is that subscribers are required to have an internet accessible URL for validating subscription registration and receiving notification pings. This is not an issue for the Google Readers and FriendFeeds of the world, but this does leave desktop RSS readers out of the party.

Also interesting to note is that there’s nothing that requires the hub to be a separate entity from the publisher. In fact, it could be very desirable for the publish to own the subscription hub. Besides removing one notification roundtrip from the protocol, it would also give publishers more control over how often to ping users on updates. Nothing in the protocol requires that a notification be sent every time, so it would be possible to only notify a subset of users in real time (perhaps the ones that pay), and others on a regular basis.

Depending on how deep your RSS Trivia knowledge goes, this might sound awfully close to the rssCloud element, but Brett points out that the key differentiator here is PSHB’s “fat pings“, that is, the entire updated content is sent as the ping to the user.

To reduce latency and polling, PSHB supports persistent HTTP connections from hubs to publishers, but it could use FriendFeed’s SUP protocol to detect updates as well.

Though solving slightly different problems, it’s interesting to compare the SUP’s and PSHB’s stance on polling. SUP obviously relies heavily on polling, despite drastically reducing the amount required. While PSHB has strong opinions against. Polling is certainly less error prone, in addition to being less efficient. For example, how does PSHB handle dropped pings to subscribers? I admittedly haven’t dug too deep, but I assume a reasonable amount of state must be maintained in the hub to handle these cases smoothly.

Ultimately the most valuable contribution of the entire project might be the two outspoken Google employees behind it. Already they are seeing some adoption. The pubsubhubbub demo at Real-Time CrunchUp announced launched FeedBurner support and showed prototypes of Blogger and Reader support. Having evangelists inside the company puts early adoption in other Google products much more likely, which in turn will give the standard much more credibility.

My Kindle’s Biggest Problem

To be fair, the problem isn’t so much one of the Kindle’s. It’s more of a problem with books. I’ve had PDF books for years. PDFs were the cheaper method of getting textbooks for classes that were not always useful and they were often the only source of technical documentation in the days before Amazon (did I just date myself?). Over these same years, I bought many more books. To me, the physical copy of the book was absolutely preferred over reading on a computer. That all changed with the Kindle (and presumably for eBook readers before it).

After centuries, books are about to have their very first format transitions. Here comes that famous blogger hyperbole: Print is obsolete.

You’ve probably been through at least one of these before: Buying Blu-ray to replace DVDs that replaced VHS only a few years before it or upgrading from vinyl to cassette to CD to MP3 in a matter of a few decades). Each transition becomes increasingly costly for consumers as their libraries tend to get larger over time.

What remains to be seen is whether book authors will gorge on users paying to convert their library or, perhaps having felt the pain of format obsolescence for themselves, allow their fans to enjoy the content they already have a legal right to for free. I’m certainly being an idealist but I’m hoping its the latter. Time for some empirical evidence.

The Experiment
I have a small number of books on a range of subjects sitting my to-read queue. All are in various stages of completion. I would rather continue to read using my fancy new device, but I’m very opposed to purchasing a new digital copy when I have a perfectly readable analog copy.

To this end, I propose the following experiment:

I will email each of the books’ authors with a simple proposition: I will return my copy of the book to the author (or give it to a friend, second hand store, whatever is the author’s preference), and in exchange, I will ask them to give me a digital copy of the book. I’d love if they were able to gift me the Kindle version, but I will take any digital version they have and do they heavy lifting to get it onto the Kindle. They are, or course, free to reject my offer (as I expect most will).

I love my new Kindle

If I were to write a review, the title of this post would be the eventual conclusion. That said, let me bullet point out the pros and cons:

Things I really like

  • Great Customer Service: My first one was defective when received (Back button was broken). A call to customer service had one automated menu, a real person, and a next-day replacement in under fifteen minutes
  • I can convert PDFs using Amazon’s converter
  • I can read anywhere, while only hauling a perfect sized tablet around
  • Cute female book nerds everywhere are stopping me to ask “Is that the new Kindle?”

Things I don’t like

  • Amazon is wasting the annotations feature by just dumping the results in a txt file
  • The bookstore’s coverage is relatively weak
  • I’m buying into the worst of DRM lock-in: I can’t give books to other people and I can’t read the files outside of my Kindle (and the Kindle app on iPhone)

Dear Facebook, I’ve got all the friends I want thanks

When Facebook first added the “Friends You May Know” section on their homepage, I was relatively impressed. It did a good job of finding people in my social group. In the end though, I only found one or two people I had not yet added myself. After that, it was another useless piece of the homepage sidebar trying to get me to pimp Facebook to people I know; Invite Your Friends (aka Spam Your “Friends”) and Find Your Friends being the others (Even the ad slot is a friend inviter half the time).

The problem with the Friends You May Know feature wasn’t in the graph algorithm, it was with me. It was indeed identifying people I knew, but knowing them was not the same as being friends with them. I called it the People I Know, But Don’t Really Like box.

To fight back against The social graph analyzing Man, I started hitting x next to each of the recommendations. As I did I would battle back the algorithm as it ran out of new recommendations for the day, only return a few weeks later with a group of people I was a little less connected to. Slowly but surely the recommendations became meaningless. Until it finally hit rock bottom.

Yesterday, Facebook recommended Jessica to me. It explained that we both went to the same University so surely we know each other. Jessica and I had absolute no mutual friends. Not one. I was surprised that algorithm had become so desperate for me to grow my social graph that it had begun resorting to recommending complete strangers. I wondered what other strangers homepages were recommending becoming friends with me, or maybe I was the only one so hostile towards the recommendations.

I knew all of its efforts would be fruitless. I had already realized what the algorithm or the clever coder behind it simply did not consider: I had no more friends. Facebook has done such a good job that my friends list was simply, complete. I could imagine the meeting in Facebook HQ where some quiet intern asked “What happens when they run out of friends?” only to have their question waved off. “Inconceivable!”

Well I’m here to tell you Facebook, I have reached that state. Facebook – Please quit bugging me to add friends, I will as I make new ones. Instead, do something really cool with all that sidebar space. I’m sure you’ve got some great ideas.

And have some self-confidence. Just because my Friend list is growing does not mean I’m jumping ship for Twitter any time soon.

I actually agree with Vallywag: No one uses Twitter

**Update from the future (Jan 2012):* Not surprisingly, my prediction that follows didn’t stand the test of time. Three years later, I’m a strong advocate of many different uses of Twitter. I’m sure my past self would scoff.*

I’ve always been a bit confused about the reckless amount of hyper surrounding Twitter. The functionality it provides is nothing more than 90s era IRC with cute animated birds and a 140 character limit. I was convinced the people who live and breath Twitter were making general assumptions about the reach of Twitter based on their smaller social group. Turns out Vallywag thinks so too.

Said Vallywag post is titled “Do You Twitter? How Adorable” and it makes the point that Twitter has “consumed the media elite”, but their view of it’s success is distorted because they only see how their colleges use it. “By the numbers, though, Twitter is an inconsequential nothing.”

My Twitter page is essentially tweets from a handful of variably frequent posters and the few dozen remaining followers that do nothing other than add icons to my followers list. I do very little tweeting myself excepting the odd response at one of those aforementioned heavy Twits.

Twitter, for me, is just one more site I need to check every day. My followers/following list is without exception, a subset of the social graph I already have represented in Facebook or Google. The only thing Twitter serves to do is further segregate the conversation I have with my friends.

For my part, I’ve been building a small script that polls and synchronizes my status across Facebook, Twitter, and GTalk (I’d like to add Live Messenger too, but there’s no easy API to get/set, *hint* for those MSofties reading this). Of course, that only solves my side of the conversation. The other direction remains fragmented.