Every time you join a new social network (which, as a blogger who's pitched regularly on the subject, I could do almost every day), why is it that you have to start over by inviting or connecting with your friends each time? Instead, would it not make more sense if every social networking site or every site that employs social networking features, was able to make sense of existing public information about the social connections that you've already made online? That's exactly the problem that Brad Fitzpatrick, founder of early blogging and social networking site, LiveJournal (acquired by Six Apart), and now (update: thought to be) a Google employee, is trying to solve.
In a fascinating blog post titled 'Thoughts on the Social Graph', Fitzpatrick outlines the problem, and how he plans on going about developing a solution (presumably with Google's backing of course).
People are getting sick of registering and re-declaring their friends on every site., but also: Developing "Social Applications" is too much work.
Instead of every site re-inventing the wheel, as it it were, and users having to repeat the drudge work of inviting and connecting with friends for every new site they join, a decentralized "social graph" should exist that would utilize the data "from all the different sites, but not depending on any company or organization as "the" central graph owner." It's hoped that this will be achieved by setting up a non-profit organization based on open standards and open-source software.
Establish a non-profit and open source software (with copyrights held by the non-profit) which collects, merges, and redistributes the graphs from all other social network sites into one global aggregated graph. This is then made available to other sites (or users) via both public APIs (for small/casual users) and downloadable data dumps, with an update stream / APIs, to get iterative updates to the graph (for larger users).
However, Fitzpatrick's solution is best explained by giving an example of what this would mean for the end user. For all the talk of social networking fatigue and the need for data portability, I've often wondered if end users care as much about these issues as much as industry geeks and pundits do.
A user should then be able to log into a social application (e.g. dopplr.com) for the first time, ideally but not necessarily with OpenID, and be presented with a dialog like,
"Hey, we see from public information elsewhere that you already have 28 friends already using dopplr, shown below with rationale about why we're recommending them (what usernames they are on other sites). Which do you want to be friends with here? Or click 'select-all'."
Also every so often while you're using the site dopplr lets you know if friends that you're friends with elsewhere start using the site and prompts you to be friends with them. All without either of you re-inviting/re-adding each other on dopplr... just because you two already declared your relationship publicly somewhere else.
This to me sounds like an elegant and workable solution, one which would certainly benefit end users, and would be far better than the tactics currently employed by sites like Facebook. As I've noted before, in an attempt to aid the job of re-inviting friends, the many social networking sites kindly offer to auto-spam everybody in your email address book.
In the context of Facebook, Fitzpatrick says of the problem:
Facebook's answer seems to be that the world should just all be Facebook apps. While Facebook is an amazing platform and has some amazing technology, there's a lot of hesitation in the developer / "Web 2.0" community about being slaves to Facebook, dependent on their continued goodwill, availability, future owners, not changing the rules, etc. That hesitation I think is well-founded. A centralized "owner" of the social graph is bad for the Internet. I'm not saying anybody should ban Facebook, though! Far from it. It's a great product, and I love it, but the graph needs to exist outside of Facebook. MySpace also has a lot of good data, but not all of it. Likewise LiveJournal, Digg, Twitter, Zooomr, Pownce, Friendster, Plaxo, the list goes on. More important is that any one of these sites shouldn't own it; nobody/everybody should. It should just exist.
As few more tidbits from Fitzpatrick's proposal:
- Public data only. "The focus is only on public data for now, as that's all you can spray around the net freely to other parties. While focusing on public data doesn't solve 100% of the problem, it does solve, say, 90% of the problem at 10% of the complexity. Private data can be added later, perhaps at a higher layer. For now, only public data."
- Friend data only. "In addition, the focus is primarily on friend data, not data like photos and not Date of Birth, Hometown, Interests, etc."
- Cooperative sites and uncooperative sites. "There are both cooperative sites and uncooperative sites. Almost universally every small site I've talked to wants to cooperate, realizing their graphs are incomplete and that's not their speciality... they just need the social graph to do their thing. They don't care where it comes from and they don't mind contributing their relatively small amount of data to making the global shared graph better. Uncooperative sites, on the other hand, are the ones that are already huge and either see value in their ownership of the graph or are just large enough to be apathetic on this topic."
- Need to support many different standards. "The world won't switch en masse to anybody's social networking interop protocol, pet XML format, etc. It simply won't happen. This must all work supporting any and all ways of data collection, change notification, etc..."
- Must not require a download. "Requiring browser add-ons or other end-user downloads is a nonstarter. This all must run primarily on the web."
- Not auto-syncing. "It's recognized that users don't always want to auto-sync their social networks. People use different sites in different ways, and a 'friend' on one site has a very different meaning of a 'friend' on another. The goal is to just provide sites and users the raw data, and they can use it to implement whatever policies they want."
I'm very excited by Fitzpatrick's ideas, and coupled with Google's backing I'm hopeful that we might actually see them have an impact on the state of social software. I particularly like the way the project appears to be tackling one problem only, in a way (from what I can tell) would be a fairly seamless solution for ordinary end users. Additionally, this isn't just theoretical, but Fitzpatrick and co. have already started building it.
Looking to the future, it's easy to see why the smaller social upstarts will want to support such efforts, as a decentralized social graph not only lowers the barriers to users joining a new site, but in doing so, also goes towards creating a more level playing field in terms of achieving networking effects. However, as Fitzpatrick points out, the bigger players will have much less incentive to embrace such efforts. With regards to Facebook, Fitzpatrick optimistically and diplomatically reports:
The goal is not to replace Facebook. In fact, most people I've talked to love Facebook, just want a bit more of their already-public data to be more easily accessible, and want to mitigate site owners' fears about any single data/platform lock-in. Early talks with Facebook about participating in this project have been incredibly promising.