Every once in a while I think of a project and just have to pull something together to satisfy my own inner-geekiness. This was one of those projects.
In my humble opinion, few images are as personal and as striking as the visualization of an individual’s social network. These are constructed in such a manner that an individual’s friends are displayed in an image or a dynamic application and the connections between them are visualized. Traditionally, it can be difficult to gather the data necessary to identify an individual’s friends and the relationships among friends; however, social networking websites (such as Myspace.com, Friendster.com, and Facebook.com) have been collecting this information for the past few years. Facebook recently began providing developers access to their databases and, in effect, gave developers the ability to create a map of an individual’s personal relationships. Since then, developers have been taking advantage of these newfound sources of information in order to provide Facebook users with fun and interesting “applications” for their personal profiles.
So, given the possibilities, I decided to try to make an application as an experiment in graphing the connections between friends. There are currently two Facebook social network visualization programs that I am aware of, TouchGraph and Friend Wheel. TouchGraph was created by a company called, not terribly surprisingly, TouchGraph. It is a very nice little application that allows you to dynamically navigate through your social web (see an example video here). However, while very neat, it is difficult to integrate into a Facebook profile and very slow. Thomas Fletcher created the other Facebook application, called Friend Wheel, which graphs the relationships of individuals around a circle (great commentary here and examples here). Unlike TouchGraph, Friend Wheel creates a static image of an individual’s social web. For example, here is my “Friend Wheel” (names redacted for privacy):
As you can see it creates a very pretty picture, but the information is not terribly meaningful. You can see groups of connections (e.g., on the top and left-hand side); however, it is very difficult to identify how different groups of users interact (i.e., which groups share friends). Another issue is that every friend is plotted, with their name, regardless of whether or not they choose to share their demographic information.
Therefore, I decided to create my own application, which I dubbed Connection Cloud. Connection Cloud uses an algorithm similar to TouchGraph, but provides an image that can be easily integrated into a Facebook profile, similar to Friend Wheel. Here is a plot of my “Connection Cloud” (again, names redacted for privacy):
Now there is clear segmentation between groups of friends and the interactions between groups are clearly visible. The red blob represents my college friends and the blue blob is my high school friends. The branches off of the blobs are usually groups of close friends who I worked with or who are not from the “core” groups of friends. Red circles are girls, blue circles are boys, and black circles are unknown (privacy settings prevent gender identification). Similarly, friendships between two girls are illustrated as a red line, two boys have a blue line, a boy and a girl have a purple line, and friendships between a boy or girl and an “unknown” are illustrated with gray lines. You can also enable privacy to only plot the names of individuals who explicitly share their demographic information. While it is admittedly not as colorful as TouchGraph or Friend Wheel, there are currently options to assign random colors as well as friendship dependent colors (i.e., the color is dependent upon the number of friendships an individual has, similar to a heat map).
I occasionally modify the source code (it is in a working stage at this point) and hope to release it under a Creative Commons license in the near future. If you have a Facebook account, I would greatly appreciate your feedback!
If you have a Facebook account, click here and go to my Connection Cloud application page to get more information.
UPDATE (12/17/2007): See this post about why Connection Cloud is not online.
UPDATE (12/18/2007): And see this post that Connection Cloud is back online!
I really like your application. The simple layout actually makes it looks cooler than touchgraph.
However:
1. It would be fun if the application made it possible to zoom really close on the connectionc cloud. At the moment it’s only possible to zoom once. That makes it hard to read the names of friends and watch the different connections up close.
2. It looks like names are transparent. Is it possible to do something about that?
Great app, man. I really like it.
I’ve trouble using Connection Cloud. I get the following message when i try to “create cloud” on Facebook :
Loading Data…
Refreshing Connection Data, please wait until finished (scroll down to see progress)…
Fatal error: Cannot use string offset as an array in /home/theacho2/public_html/facebook/connection/saveData.php on line 38
Can you fix the problem ?
Thanks !!
Any projections on when you’ll have time to fix the bug?
Love the app, it’s truly fantastic.
I can’t even find this application on facebook any more. Have you given up on it – or are you going to bring it back after the bugs are fixed?
I’ve been looking for an app which kan tell you the closest connection between two facebook users who aren’t friends. Is this something you could implement or is it at all possible?
Hi. It is a really good application. But I couldn’t find myself anywhere in the graph. Touchgraph seems weaker than yours.
Hi,
I really like the look and feel of your graphs – if the engine available for reuse? I’m trying to build software to visulise clouds of the music.
Hi,
Is there some problem actually with connection cloud ?
Loading Facebook Data (scroll down to see progress)…
Fatal error: Cannot use string offset as an array in /home/theacho2/public_html/facebook/connection/saveData.php on line 27
It’s a great application !
Thanks
hey.. what happened to connection cloud?
was by far the coolest application on fb!!!
Love the advice. Thank you.
Hi,
I hope you can help in my search for a program that will allow me to determine how many connection of friends stand between two random people who have never met.
My idea is to demonstrate to businesses how powerful the social graph is in the world of marketing. A business would use their email address or facebook username together with their facebook friends as the first point of reference. We will then take the email address or facebook username of a customer and calculate how many friends lists would have been required to reach that customer using social media.
I am aware that the API allows you to do all sorts of things and wonder if this level of functionality is possible.
Please advise.
Thanks
Chris