SocViz: Visualization of Facebook Data Abhinav S Bhatele Department of Computer Science University of Illinois at Urbana Champaign Urbana, IL 61801 USA bhatele2@uiuc.edu Kyratso Karahalios Department of Computer Science University of Illinois at Urbana Champaign Urbana, IL 61801 USA kkarahal@uiuc.edu Abstract Visualization of social networks is a very common theme in the field of sociology, psychology and human computer interfaces (HCI). In this paper, we describe the work done on the data obtained from a social networks website called Facebook. Facebook was started in February 2004 and is fairly popular among college students. The study involved understanding the API supported by Facebook and the range of data available to us, a user study to determine what visualizations would be the most useful to Facebook users and then the actual implementation. Implementation involved a detailed analysis of the best visualizations and feedback from user groups during the course of the project. The implementation was completed in two phases. The first phase involved visualizations of birthdays and zodiac signs of all the people in a user s social network. Different views were tested and then some finalized. The second phase involved user studies on the first phase and modifications based on them. The major part of the second phase was new visualizations for views of wall posts vs. time and for the social network based on zodiac signs. Copyright is held by the author(s). Class: CS598kgk, Fall 2006 Department of Computer Science, UIUC, Urbana, IL, USA Keywords Social network, visualization, Facebook, zodiac signs, wall posts, user studies
2 What attracts people most, in sum, is other people. - William H. Whyte ACM Classification Keywords J4. Computer Applications: Social and Behavioral Sciences. Keywords: Sociology, Human Factors. Introduction The last few years have seen a huge proliferation of social network websites on the internet. It started with websites like Friendster [8] and Myspace [12] and has become a never-ending spree to form the largest social networks possible. Most of these websites work on the principle of six degrees of separation formulated by Milgram in his Small World experiment in 1967 [11]. Facebook is one such website which was started for college and high school students in February 2004. As per the website [2], it now has over 13 million registered users across 40,000 networks. Facebook provides an Application Programmable Interface [3] for developers to use publicly accessible social network data. The aim of this project was to select some of this data and visualize it to give some meaningful information to Facebook users. The data available is for any Facebook user and his circle of friends and spans from personal information to demographic data, education, work history, interests, clubs and other Facebook network related data. So the first question in consideration was to choose the subset of data to visualize. For this, we chose to do an online poll giving the users various options and asked them to say if they would like to see a particular data in this application or not. Once we had narrowed down the data we were going to look at, we set goals for the two phases of the project. The first phase would be concerned with the visualization of birthdays and zodiac signs of a user and his friends. The idea was to look at the birthdays of a user and his friends and to see if there exists some correlation between the friends and their birthdays (like are they from some particular zodiac?). The second phase would deal with visualizations of wall posts and social network. Wall posts are messages left by a user on another user s profile page (a portion of it called the wall ). The number of wall posts is a measure of how close you are to a certain friend and also of how active a certain user is on facebook. Social network visualizations are a common phenomenon and help us see how we are related to different people in our social network. This paper is organised into six sections: First section is the introduction which gives an overview of the paper. The second section discusses the motivation and related work. The third section talks about the online poll we did to collect user statistics. The fourth section discusses the implementation of the project (birthday, wall post and social network visualizations). The fifth section looks at the possible additions to the project and future work. The last section is the conclusion. Motivation and Related Work This quote by William H. Whyte on the left sums up the motivation for this project quite well. We wanted to see what attracts people towards other people. How do cliques get formed in a social network? Do zodiac signs have an effect? We also wanted to design an application which Facebook users could use to get aggregated information about their social network in a single view (like which of their friends is the most active or who writes the most on their wall). Another aim was the clustering of the social network by different criteria and see if some of them make more sense than the others. Before starting to work on our project, we looked at the already available options. More then a dozen projects developed by individual people are available on the Facebook Product Directory website [4] itself. When we had started working on this project, there were about ten and now there are more than sixty on the website.
3 Lots of them deal with just a plain visualization of a user s social network in a point-line diagram, sometimes over a geographical map [5, 7, 9, 10]. Some of them like the Date Machina [1] have been developed to facilitate online dating through Facebook. There is just one project called Friendly Views [6] which talks about birthdays but the only functionality it gives at present is to download the birthdays in calendar format (ical or CSV). Online Poll: A User Study User studies are a good place to start to get a rough idea of what would be best and most useful to the users of an application. To get a head start, we started with an online poll [13]. There were eight questions to be answered in yes or no depending on if you would like to see a certain data from Facebook in this application or not. The questions and the number of votes in favour of it are listed here. A total of 22 people participated in this online poll. We also approached a few people in person to get their views. Number of Messages (Read and Unread) and how they change with time (along a week, a month or an year) - 9 Number of wall posts and their change (along a week, a month or an year) - 13 Change in the cover photo (on your profile) over time - 11 Changes in your profile with time, like changes in your favourite music bands, movies, "About me", "Favorite Quotes" etc... - 11 Birthdays of your friends on a full month/year calendar - 18 Changes in your and your friends' photo albums over time, how photographs changed, how new people were tagged, etc... - 11 A network showing your friends in different views - like one with those friends which share common interests, common groups - 19 Number and details of events you and your friends went to over the month (or year) - 4 As the results of the poll show, visualizations of birthdays and the social network emerged as clear winners. At the third place was visualization of the number of wall posts and their change with respect to time. It should be noted that at the time of this poll, we did not restrict ourselves to data available from Facebook s API. So, as we will see in the implementation section, to come up with a visualization of the wall posts data, we had to manually collect the information over a period of time. Implementation In this section, we will discuss the design decisions that went into the development of the views and how they emerged as you see them here. We start with a discussion of the birthday/zodiac visualizations and then move on to views of wall posts. Finally we discuss how we choose the clustering criterion for the social network and came up with the visualization for it. Zodiacs Our first attempt was to display the birthdays of a user and all of his/ her friends on a full year s calendar. We chose to do it by the months and by the zodiac signs. The first visualization which we see here in Figure 1 is a representation of a user and his friends by their birthdays. Each person is represented by a small coloured circle whose placement is on a 2D grid with days on the X axis and months on the Y axis. The colour depends on the colour associated with your zodiac sign.
4 interesting because a user generally has friends of the same age and most friends landed up in the same or the next zodiac sign as the user. We then thought of combining the traditional Greek and Chinese zodiac and see if that yielded interesting results. The technique used there was to place the circles for each user in the space by their Chinese zodiac sign but to colour them by the Greek zodiac. This hybrid view was visually appealing but confusing and did not give us the desired combining effect we were looking for. These two views can be found in the appendix. Figure 1. Panel showing the birthdays of a user and his friends in a calendar view based on their Greek zodiac. The signs start from Aries at the top left to Pisces at the bottom left. This view is only useful if the user has a few friends, so that he can see their names and birthdays displayed clearly. If you see carefully, the months on the right start from March-April because that corresponds to the first zodiac sign of Aries and go on till February-March which corresponds to Pisces. You can click on a circle to see the friend's photograph, name and his birthday (as seen in the yellow pop-up in Figure 1). This feature was added after a user study was done in the middle of the design phase. We came up with another view which is strictly by the Greek zodiac signs and shows your friends in a circular space which is divided into 12 zones (see the figure on the left). In this view, you can look at the names and birthdays and see their zodiac signs too. The next idea that came up was to try other traditional zodiacs and hence we thought of looking at the Chinese zodiac. Chinese zodiac is not by months but by years. They still have twelve zodiac signs, one for each year and then they repeat. This view turned out to be not so Figure 2. View displaying the wall counts of each user along a time axis. Wall posts With wall post visualizations, we started the second phase of the project. Wall posts give a rough idea of how active a user is on Facebook. Here the idea was to come up with a view of wall posts of all friends on a time axis. The first issue which came up was that the Facebook API does not give a history of the wall count
5 (number of wall posts) of a user. So, we had to manually collect (retrieve and store) this information daily for over a month. This also meant that this feature can not be used for an arbitrary user whose information has not been stored by the application over a period of time. In this visualization (Figure 2), we can see how the wall count of a user increased over a month. This is a cumulative view and hence we always see rising lines. The change of colours across the spectrum shows a variation in the number of wall posts. Users with very few posts are on the red end while the ones with the maximum posts are on the violet end. We also came up with another not-so interesting view of the average number of wall posts over a month. meaningful. Some users had complained about the limited use of the circular zodiac view (because of a limit on the number of friends). So we decided to omit the picture in the middle and instead use the central part of the circle to display relations between a user s friends. Figure 3 shows the visualization we came up. The circular space is divided into twelve zones representing the twelve zodiacs. A friend is placed into a certain part depending on his birthday and gets a corresponding colour depending on the zodiac. Lines are drawn between friends of the user who are friends of each other. The user is shown by a circle surrounded by another white one. No lines are drawn from the user to all his friends because that connection is obvious. This snapshot is for a user with over seventy friends. As we can see, there seems to be absolutely no pattern and it is totally random (as one would expect). Future Work We developed a website [14] for the application to reach a larger group. It would be good to get this desktop application running as a web application on the website. As we came up with the different visualizations, we kept receiving comments from friends on making the application more user-friendly, useful and obvious. First, there is scope to come up with a better hybrid view between the Chinese and Greek zodiac which tries to combine the too instead of dividing them. Figure 3. View showing the social network of a user clustered by the zodiac signs. Social Network This was the last part and most difficult because we had to come up with a clustering criterion to display a social network and ensure that it shows something The wall posts visualizations could be enhanced by having a view where the number of wall posts from all friends to the particular user could be seen. This would help by showing who wrote on the user s wall the most every month. This feature does not exist in the application at present. It might also be worth a try to implement wall posts per day vs. time rather than the cumulative view. For the social network view, it would be interesting if people could mouse-over a certain friend and see this friend s connections highlighted to look for any patterns. Since this work is still a
6 prototype, there are a lot of modifications possible which would make it better and there is scope to try out many new different ideas too. Conclusion The entire application was implemented in Java and uses the basic features of Java 2D. The interface is fairly simple to use and intuitive. Users who tested the application were delighted by the calendar view of the birthdays of all their friends. It was exciting for them to see all the birthdays together on one small screen. They also liked the use of different colours on a black background and the use of circular spaces for zodiacs. This work was just a preliminary take on what could be possibly done with the vast amount of data the Facebook API provides. Because of the limited time we had, we could only try a few things. We would like to explore visualizations of other things too in the future. Although, I was working on such a project for the first time, it was an absolute delight working on it and showing those beautiful views to friends. Acknowledgements I thank all the students who took the poll I created and the users of my application who gave me valuable feedback during the design process. I also wish to thank my lab mates who would look at my work in progress and pass remarks which helped a lot. Finally, I sincerely thank Prof. Kyratso Karahalios for her constructive guidance and help all along. References [1] Date Machina: http://matchdust.com/. [2] Facebook: http://www.facebook.com/. [3] Facebook API: http://developers.facebook.com/documentation.php. [4] Facebook Product Directory: http://developers.facebook.com/products.php. [5] Friend Mapper: http://www.booksnearme.com/fb/. [6] Friendly Views: http://www.friendlyviews.com/maps/hometown.php. [7] friendmap: http://beta.flagr.com/friendmap/. [8] Friendster: http://www.friendster.com/. [9] FriendVis V2: http://www.boredonthebook.com/index.php?display=fri endvis. [10] Interactive Friend Thing: http://friendthing.trigse.cx/. [11] Milgram, S. The Small World Problem. The Individual in a Communicative Web. [12] Myspace: http://www.myspace.com/. [13] Online Poll: http://charm.cs.uiuc.edu/~bhatele/socviz/facebookpoll.php. [14] SocViz Website: http://charm.cs.uiuc.edu/~bhatele/socviz/.
7 Appendix Here are snapshots of the views for two other visualizations of the zodiac: Chinese and Hybrid. Figure 4 shows the Chinese zodiac. Figure 5 shows the hybrid view. Here the space is divided by the Chinese zodiac but the colour is assigned by the traditional Greek zodiac. This view looks interesting but doesn t give any useful information. Figure 4. The Chinese Zodiac View. Figure 5. The Hybrid View.