Defining: Social Graph

Many are talking about the Social Graph and its importance in the web sphere, but not that many out there truly understands it from technical and business perspective. I’ve gathered information regarding Social Graph from various resources (mentioned at the end) in a hope this will accurately define what Social Graph is. The post is divided into three sections:

  1. What is Social Graph
  2. Why is it Important
  3. How to Implement

Note: You might be interested on Data Portability initiative which falls in the same OpenSocial field, which both falls under Social Graph movement.


What is Social Graph:

The Social Graph is the representation of our relationships. Today, these graphs define our personal, family, or business communities on social websites. Social Graph is divided into three main components: Personal Identity, Type of Relationships, and Relationships Identity.


Why is it Important:

With the increase of social communities and its size of members, we’re duplicating our same Social Graph on multiple communities that results in inaccurate data and time spent managing it. And based on this, many believe Social Graphs should be self-managed from a single trusted source, such as openid or opensocial, that is replicated to websites of our choosing, thus resulting inaccurate, efficient, relationship management.

Benefits:

Users: For users this means efficiency and control over one’s personal data, their relationships, and how they are deployed on different social networks, it makes navigating the web better.

Social Networks: For companies that are social networks, they can benefit by increasing the amount of users as the social graph will populate all of a users network they permit.

All other websites: For companies that are not currently social networks, (like a corporate website) expect these social features to be part of your site. People will co-surf and share information about your content whether you like it or not.


How to Implement:

By centralizing a users Social Graph on a trusted, third party area that can be a central place where relationships are updated, and then replicated to every social networking website using a common process and technology.

The Social Graph API (ReadWriteWeb)

In Brad Fitzpatrick post, he explicitly described a need for an API or a service that would broker the information between social networks. He envisions an open source base database which accepts information from multiple social networks, then provides it to end-users via UI or API - as well as allows users to authorize other social networks to find the information. Architecture-wise, this infrastructure is the same as the one we discussed in our Attention Economy and Attention Silos posts; where we described a read/write database for storing people’s attention. Indeed, the problem of attention and the social graph are related, since the social graph can be thought of an aspect of attention.

The first technical challenge with this approach is to build a system that can scale. The second important problem is building a system which is secure. Assuming that both challenges can be met, the next major issue is getting companies to use this API. Why would Facebook export their information into this new database? Clearly, it would not. What Brad suggests is that Facebook and other networks implement an export facility that would allow the users themselves to do it. This is also not optimal, since people would have to export their information manually.

A more automated approach would be to define an API that all social networks must implement, so that other networks can query their subset of the social graph. With this approach, when a user joins a new network, that network can connect to other ones and get the information about its users. It is basically similar to the Import Your Friends From Email feature common to many social networks these days. The challenge, again, is to convince the social networks to support this functionality.

Yet, one can not help but think that a similar challenge was successfully solved by another tech community: Java. The Java Community Process is an industry-wide effort to come to around a table, to define and drive the implementation and adoption of Java APIs. For example, a big success story was J2EE standards, where companies like IBM, BEA and Oracle made their application servers compliant with a common API, making it easier for the applications to be portable. (To be fair, we have to admit that they also stuck proprietary stuff on top of the standards - but the point is that a lot of things were standardized)


Additional Resources:

Powered by Qumana

Sphere: Related Content

Print This Post Print This Post

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)