Dalton Caldwell announced yesterday on his blog and on Twitter that app.net has reached its initial funding goal. I look forward to seeing what happens next and am watching the api spec on Github. Here is what I believe would be interesting to see: a clear roadmap for embracing emerging standards and creating new ones where needed to allow for a future of decentralized social networks.
It would a huge benefit to society if we can get with social networking to where we are with email today: it is fundamentally decentralized with nobody controlling who can email whom about what, anyone can use email essentially for free, there are opensource and commercial implementations available and third parties are offering value added services. All of that is made possible by the existence of standards such as SMTP and IMAP.
So what are some of the candidate protocols for social networking and what are some of the obvious holes?
First up is finding people. One possible contender here is Webfinger which uses email addresses. This is appealing for a number of reasons. First, having an email address has become essentially free in the age of Gmail, Yahoo Mail and Hotmail (see above). Second, email is the only decentralized globally unique namespace for individuals. Third, email leverages DNS. So if you give me your email address and your service provide supports Webfinger I can find your profile.
A second piece that we already seem to have a reasonably good solution for is the asymmetric follower model. For that we can use PubSubHubbub. PubSubHubbub is call back based model which should scale much better than polling. It builds on Atom and RSS which are widely used and supported.
What about a symmetric model though? What about updates, eg foursquare checkins, that I only want to share with approved recipients? Here too PubSubHubbub could be used for delivery of updates if it were extended to keep track of approved recipients. The approval process itself would seem to be handled most elegantly by an extension to SMTP maybe using a new MIME type. Why? Because most social services with a symmetric model already use email today to notify you of a friend request.
These would provide a good start but we still need a protocol for passing reactions to updates back and for spreading updates further. This protocol needs to address likes, comments/replies and rebroadcast. A possible candidate here would be Salmon Protocol.
Some areas that I am not aware of protocol efforts would be the formation and management of groups and potentially a globally unique namespace for users that is divorced from email (see previous posts on this issue).
This is my personal list and I would love to hear from others who have spent more time thinking about it. With the right set of standards, app.net could be a commercial provider for those who want that but if I am happy with ads in my stream for a free service I can use Twitter. Just like today I can use gmail for free or I can pay for it to get rid of ads or I can run my own mail server or a commercial one and all can talk to each other. That is the future we need for social networking. So let’s make sure to work on standards as we are pursuing new implementations.
Postscript: I am perfectly happy for standards to emerge de facto rather than “de jure” as long as they are well thought out and not encumbered by patents or other IP claims.