There is a lot of debate around on OpenTwitter, OpenFriendFeed OpenFacebook. these days. The de-facto standard which is now Twitter’s API is a good news. Yet, social Networks have 2 big features : publish content (it seems that Twitter’s API is the reference now), and consume content from your friends. This second part seems much harder and I think PubSubHubbub and XMPP can provide this API.
Whatever the social network, user profiles usually have a link (Atom or RSS) which represents a user’s stream of activities. Whether it’s Flickr, Delicious, Twitter, or even your blog (yes, it’s a social network in a way), all our online activities are represented as feeds.
The next step is to make these feeds “real-time” so that the consuming applications shouldn’t need to poll thousands of feeds or services. To consume my friends information, I shouldn’t even need to be part of the network on which they publish. PubSubHubbub enables that.
I like consuming my friend’s feed via Facebook. Yet, a lot of my friend’s content is not there : their tweets, the pictures they post on Flickr, etc… and some of my friends are not even on Facebook.
I wish somebody (Tweetdeck, Seesmic, Brizzly… can you hear me?) would have a built-in PubSubHubbub subscriber. Then they would allow me to paste one of my friend’s profile page on Last.fm or Foursquare (or allow me to select directly pages on specific services). From that page, they would auto-discover the feed, and then its hub and subscribe to it. Finally, when my friends update their social network (provided that this one uses PubSubHubbub to make its feeds real-time, but we can help), I would receive instantly the update into my Social Network consuming app.
When publishing my content, I shouldn’t have to publish it on 36 different services just to make sure all my friends will get it. It should go wherever my friends will consume it!