Free the Social Graph

Few days back I talked about the OpenSocial initiative and how I believe that it can help making the online Social experience much better by enabling interoperability. Before that I have also talked about consolidation of online social experience. My theme continues to remain the same. How do we fix “Social Network Overload”? So in this post I am going deeper to the basics of the problem.

What is a Social Graph?

The term popularized by Mr. Zuckerberg (CEO Facebook) is a better name for your Social Network. Social Graph represents your network of acquaintances. It is a graph of your contacts (friends, family, coworkers etc). Services build upon the social graph and offer applications, which let you interact with your friends and acquaintances. Check out the Wikipedia page for in-depth details.

Where does it exist?

For a typical user, the social graph is broken and distributed among various services and applications. For example my graph exists across:

  • Social networks I belong to, such as Facebook, Orkut, MySpace etc
  • Business networks I belong to, such as LinkedIn, Plaxo etc
  • My Email contacts, which exist on GMail, Outlook etc
  • My IM buddy list
  • My phonebook on my mobile handset
  • Finally my blog visitors and Twitter followers

For some of you this list will probably be longer. Now these services and people I interact with represent my social realm of influence. So as you can see my overall graph is spread all over the place, over various services. I am sure most users are this way.

So what is the problem?

The very fact that my graph lies all over the place is the core problem. Over time I have signed up on these services for one of the following:

  1. Offers unique new feature or
  2. My friends were using the service and I got invited frequently

When I sign into one of these services, I have to go through the rigamarole of setting up a user name and password, which by the way is yet another username/password combo to remember. Secondly, each time I sign up I am creating a new graph, which is clearly not associated to graphs existing elsewhere. Over time, being part of so many services and interacting with people through these becomes a serious headache. Thus leading to what is known as the “Social Network Overload”.

Hence the core of the problem being that the social graph is not singular and not shared.

What is needed?

Starting from the ground up, I believe there is a need for consolidation. We need a service ( a Social Graph Database), which can host the aggregated social graph for a user. This isn’t a service like Facebook or LinkedIn. Instead it will simply host user’s graph, which could be as simple as a CSV file.

This service would then offer secure APIs to access user’s graph. This should preferably be tied to an OpenID type of consolidated authentication system. The APIs can be utilized by services mentioned above to access user’s graph and offer their value adds. Now there would be few simple rules to this system:

  • Services can access the graph only when the user allows them by authenticating using his/her OpenID
  • The data would be read only and should be considered transient. Services should check this graph database periodically (preferably once a day) for updates.
  • Any updates made to the graph via a service must be added back to the consolidated graph.
    1. For example new friends or new relationship stats
    2. This will ensure that the graph doesn’t get broken and all other services are updated

I am sure all of us agree on the fact that the social graph data belongs to the user. Services and applications have “no right” over this data. So such a scheme only sounds fair to the user and participating services. Here is a graphic illustrating the thought at a high level.

Consolidated Social Graph

In this model no single social network becomes host to the graph. They all become interfaces into the graphs. They provide applications, which allow you to act on the graph. Such an approach levels the playing field for everyone.

No one highlighted in the above graphic can host the graph. That results into trust issues and such. This database service will have to be offered by a non-profit organization. This service can also be offered by an affiliation of these entities. Yes, I do realize that is next to impossible.

The other impossible aspect is to create this graph from scratch. Users aren’t going to log into a database service and create a graph. Probably a geek like me would :-). So this service must adapt create a graph from user’s existing accounts on various services. The affiliation which may run the service can also mandate this so all the participants feed in the graph data.

So in conclusion, I must say that these are simply thoughts from top of my head. These are just ideas to solve the problem, which users like me face on a daily basis. I know that such solutions are too hard to implement and have way too many barriers. I am hoping to start a discussion with this post. Do comment with your feedback.

Next time I will post about Evolution of the Social Graph. That post shall take the conversation to the next level and delve into maturing the social thought process and making services around us smarter.

8 comments:

  1. vishal sharma on enterprise technology, Saturday, November 24th, 2007, 11:54 pm

    The problem is real … and it will be more once more sites come on and join web2.0 bandwagon. Solutions are not simple as well as you have figured out.
    Protecting users and in centralized place is the way to go, but how to realize this is the difficult bit. Gogles Open social also doesn’t fox this problem,it more about aligning variosu services under one umberellea and make it more interoperable.

     
  2. Abhishek Tiwari, Sunday, November 25th, 2007, 1:39 am

    Vishal,

    Yep I agree with you completely. This is a discussion point for many.
    I am working on a follow-up post, where I will propose a scheme.

    Stay tuned.

    Abhishek

     
  3. Aswath Rao, Monday, November 26th, 2007, 11:31 am

    We are attempting to address this issue of creating a single repository of an individual’s social graph, that is fully under the control of that individual. An early implementation of this and other associated thoughts can be tried at www.enthinnai.com. This implementation is a single server solution for logistic reasons. But we envision that users will run an instance of this application in their own servers and will use authenticated APIs to exchange and access information thereby realizing a user-centric social network.

     
  4. Abhishek Tiwari, Monday, November 26th, 2007, 11:49 am

    Aswath,

    Thanks for the link. I have registered on your service.
    Now how do I get my friends added to this? In other words how do I get my social graph onto this service?

    Abhishek

     
  5. Aswath Rao, Monday, November 26th, 2007, 12:07 pm

    Abhishek:

    First of all, your friends need not sign up for this service to access the data you want to share with them. Instead, the following things need to be done: they should have an OpenID, you should declare them to be your buddies, share data with them by stipulating their OpenIDs with the data and finally they need to know your OpenID. Then they can sign-in with their OpenID as your buddy and will be able to access the data that you have shared with them.

    In the next upgrade, we will automate the process of adding the social graph by using FOAF. But we have not worked out all the details.

     
  6. Abhishek Tiwari, Monday, November 26th, 2007, 12:25 pm

    Aswath,

    Thanks for the clarification. I will play with it some more.
    Any thoughts on importing data from current networks such as Facebook, LinkedIn etc.?

    Abhishek

     
  7. Aswath Rao, Monday, November 26th, 2007, 1:17 pm

    Abhishek:

    The problem with importing from existing networks is that they do not associate an OpenID with your friend in their list. So initially the build out process is going to be tedious just because OpenID is not universal; but our hope is that the early adopters will trade it off for the benefit of owning one’s own social network. But we are keeping an open mind and will consider any and all suggestions.

    By the way thanks for trying it out. As you do, keep in mind that even though the current version behaves like a service, the eventual goal is to have a product and an instance of this software will be running in your server as this blog does.

     
  8. Thoughts for Opening and Sharing the Distributed Graph (Pingback), Wednesday, November 28th, 2007, 2:34 am
     

    […] of user’s owning their social graphs. Over multiple posts, I have been laying out the need for a consolidated service, which hosts the graph (along with identity) for a […]

     

Write a comment:

Close
E-mail It