11.07.2015 Views

Thesis full text PDF (in Italian) - Politecnico di Milano

Thesis full text PDF (in Italian) - Politecnico di Milano

Thesis full text PDF (in Italian) - Politecnico di Milano

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

POLITECNICO DI MILANOFacoltà <strong>di</strong> Ingegneria dellʼInformazionePOLO REGIONALE DI COMOMaster of Science <strong>in</strong>Computer Eng<strong>in</strong>eer<strong>in</strong>gSOCIAL NETWORKS:analysis and statistics for<strong>in</strong>tegrated social profilesSupervisor: Prof. Marco BrambillaMaster Graduation <strong>Thesis</strong> by: Denis MusallStudent Id. number: 735338Academic Year 2009/2010


POLITECNICO DI MILANOFacoltà <strong>di</strong> Ingegneria dellʼInformazionePOLO REGIONALE DI COMOCorso <strong>di</strong> Laurea Specialistica <strong>in</strong>Ingegneria InformaticaRETI SOCIALI:analisi e statisticheper profili sociali <strong>in</strong>tegratiRelatore: Prof. Marco BrambillaTesi <strong>di</strong> Laurea <strong>di</strong>: Denis MusallMatricola: 735338Anno Accademico 2009/2010


SOMMARIO Negli ultimi anni, la <strong>di</strong>ffusione delle reti sociali è stata favorita dall’<strong>in</strong>troduzionedel Web 2.0, che non solo ha permesso agli utenti <strong>di</strong> servirsi dei contenuti presentisu Internet, ma anche <strong>di</strong> concorrere nel crearne nuovi.L’enorme successo ottenuto da alcune reti sociali, ha contribuito alla <strong>di</strong>ffusione <strong>di</strong>molti “aggregatori <strong>di</strong> contenuto”, applicazioni che permettono <strong>di</strong> osservare gliaggiornamenti provenienti da più reti a cui l’utente è iscritto, nonché <strong>di</strong> <strong>in</strong>teragirecon altri membri della stessa rete.Nonostante le applicazioni <strong>di</strong> questo tipo siano molteplici, nessuna è <strong>in</strong> grado <strong>di</strong>visualizzare statistiche riguardanti un <strong>in</strong>sieme <strong>di</strong> profili sociali forniti dall’utente.La tesi nasce con l’<strong>in</strong>tento <strong>di</strong> stu<strong>di</strong>are il problema legato alla reputazione <strong>di</strong> unutente all’<strong>in</strong>terno delle reti sociali, <strong>di</strong> def<strong>in</strong>ire metriche e modelli d’analisi, nonché<strong>di</strong> creare un’applicazione web, attraverso la quale gli utenti registrati hanno lapossibilità <strong>di</strong> visionare, non solo gli aggiornamenti relativi a più reti, ma anchestatistiche riguardanti i dati raccolti quoti<strong>di</strong>anamente, relative a più profili sociali.A tal proposito, è stata creata una pag<strong>in</strong>a <strong>in</strong> grado <strong>di</strong> dare una visione generale <strong>in</strong>merito all’attività sociale dell’utente, riassumendo le <strong>in</strong>formazioni quantitativeraccolte, visualizzando <strong>in</strong><strong>di</strong>catori <strong>di</strong> “visibilità” e “produttività” e dando lapossibilità <strong>di</strong> visionare <strong>di</strong>agrammi temporali relativi all’attività sociale dell’utente.Partendo da una descrizione sulle reti sociali, sono state fornite le loro pr<strong>in</strong>cipalicaratteristiche, <strong>in</strong>troducendo esempi concreti, utilizzati <strong>in</strong> seguito per larealizzazione del progetto <strong>di</strong> tesi.3


Successivamente sono state presentate le scelte operate durante la faseimplementativa, descrivendo come i dati forniti dalle API delle <strong>di</strong>verse reti socialisono stati analizzati e hanno <strong>in</strong>fluenzato la struttura dati creata. Sono <strong>in</strong>oltre statepresentate le pr<strong>in</strong>cipali caratteristiche dell’applicazione web realizzata.Inf<strong>in</strong>e, sono stati analizzati i risultati ottenuti attraverso la realizzazione delprogetto e suggeriti alcuni <strong>in</strong>teressanti sviluppi da attuare <strong>in</strong> futuro.4


ABSTRACT The onl<strong>in</strong>e social networks <strong>di</strong>ffusion, <strong>in</strong> the last years, has been facilitated by the<strong>in</strong>troduction of the Web 2.0 that, not only enables users to retrieve <strong>in</strong>formation onthe web, but also to contribute creat<strong>in</strong>g new ones.The enormous success obta<strong>in</strong>ed by some of them, has contributed to the <strong>di</strong>ffusionof many “content aggregators”, applications that enable users to see <strong>in</strong> real-timesocial updates com<strong>in</strong>g from <strong>di</strong>fferent social networks to which they aresubscribed, provid<strong>in</strong>g them, the possibility to <strong>in</strong>teract with others as if they arereally connected to the social website.Despite there are many applications of this type, no ones allows to visualize<strong>in</strong>tegrated statistics related to a set of social profiles provided by the user.The ma<strong>in</strong> objectives of this thesis, are the study of the reputation problem with<strong>in</strong>social networks, the def<strong>in</strong>ition of analysis metrics and models, and the creation ofa web application through which registered users may view, not only socialupdates <strong>in</strong> real-time, but also statistical data daily collected, related to all theirsocial profiles. In particular, it has been created, a page conta<strong>in</strong><strong>in</strong>g a generaloverview related to the user selected, resum<strong>in</strong>g all his quantitative <strong>in</strong>formationcollected, as well as, provid<strong>in</strong>g <strong>in</strong><strong>di</strong>cators of “visibility” and of “productivity”,and the possibility to visualize temporal <strong>di</strong>agrams about his social activity carriedout over <strong>di</strong>fferent social networks.This paper beg<strong>in</strong>s provid<strong>in</strong>g a background over onl<strong>in</strong>e social networks, describ<strong>in</strong>gwhich are their ma<strong>in</strong> characteristics and <strong>in</strong>troduc<strong>in</strong>g some example of them tak<strong>in</strong>g5


<strong>in</strong>to considerations those used dur<strong>in</strong>g the implementation phase. Subsequently itdraws, the ma<strong>in</strong> contribution provided through the realization of the thesis project,describ<strong>in</strong>g how the analysis over the data provided by the <strong>di</strong>fferent social networkAPIs has been conduced, present<strong>in</strong>g also the ma<strong>in</strong> important features of the webapplication realized and a detailed description about the implementation phase.F<strong>in</strong>ally, it provides some conclusions about the project realized, evaluat<strong>in</strong>g theresults obta<strong>in</strong>ed and suggest<strong>in</strong>g some <strong>in</strong>terest<strong>in</strong>g future developments that couldbe done.6


1 INTRODUCTION In the last five years, thanks to the <strong>di</strong>ffusion of Web 2.0 [1] that enable users notonly to retrieve <strong>in</strong>formation on the web but also to contribute creat<strong>in</strong>g new ones,onl<strong>in</strong>e social networks have become one of the major phenomena over Internet.People, through the development of new social me<strong>di</strong>a technologies, have begun toconnect with each others via Internet, shar<strong>in</strong>g <strong>in</strong>formation, idea, common <strong>in</strong>terest,membership <strong>in</strong> particular groups (i.e. friends, professional colleagues) [2],enabl<strong>in</strong>g them to meet strangers but <strong>in</strong> many cases also to make visible all“hidden tie” shared <strong>in</strong>to the real world with known people.Despite there are many <strong>di</strong>fferent types of onl<strong>in</strong>e social network, focus<strong>in</strong>g on<strong>in</strong><strong>di</strong>viduals (like Badoo, Facebook) or on contents (like SlideShare, YouTube),commonly they share a number of the follow<strong>in</strong>g concepts [3]:- Profiles: allow each user to be identified over a social network.- Relationships: are connections between a user and others subscribed tothe same social network.- Contents: depend<strong>in</strong>g on the type of social network, they may be<strong>in</strong>formation exchanged between users through simples messages or7


others types of them that the social platform enable to share, likevideos, images, l<strong>in</strong>ks, etc.It’s on the basis of these ma<strong>in</strong> social concepts that the SNA [4] (Social NetworkAnalysis), apply<strong>in</strong>g the network theory, tries to understand how relations arecreated and how <strong>in</strong>formation and contents flows on networks, this, <strong>in</strong> order toimprove exist<strong>in</strong>g systems or to create new ones and to make considerations usefulfor the users themselves (suggest<strong>in</strong>g future <strong>in</strong>teractions or new possiblerelationships) or for the market<strong>in</strong>g needs.Recently, always thanks to the social networks success, many content aggregatorslike TwitterDeck 1 , has been created. These applications enable users to see <strong>in</strong> realtimesocial updates com<strong>in</strong>g from <strong>di</strong>fferent social networks to which they aresubscribed, provid<strong>in</strong>g them, through previous authorization, the possibility to<strong>in</strong>teract with others as if they are really connected to the social website.Despite there are many applications of this type, no ones allows to visualize<strong>in</strong>tegrated statistics related to a set of social profiles provided by the user.The ma<strong>in</strong> objectives of this thesis project are the study of the reputation problemwith<strong>in</strong> social networks, the def<strong>in</strong>ition of analysis metrics and models, and thecreation of a web application through which registered users may view, not onlysocial updates <strong>in</strong> real-time, but also statistical data daily collected, related to allthe social profiles provided.In particular, dur<strong>in</strong>g the project implementation, <strong>di</strong>fferent types between the mostcommon social networks, have been chosen on the basis of the <strong>in</strong>formation madeavailable by their API and, through the def<strong>in</strong>ition of a specific data structure, allthe daily variations of the social values observed (like content items, posts, views,etc.), have been memorized. Moreover, a page conta<strong>in</strong><strong>in</strong>g a general overview1 TwitterDeck: is a client application implemented through Adobe Air. It allows users to managetheir accounts over <strong>di</strong>fferent social networks like for example Twitter, Facebook, FourSquare, etc.8


elated to the user selected, resum<strong>in</strong>g all the quantitative <strong>in</strong>formation collected,and provid<strong>in</strong>g <strong>in</strong><strong>di</strong>cators of “visibility” and of “productivity”, has been created.Always through this page, users have the possibility to visualize temporal<strong>di</strong>agrams about their social activity carried out over the <strong>di</strong>fferent social networks.The second chapter describes <strong>in</strong> detail what onl<strong>in</strong>e social networks, focus<strong>in</strong>g theattention on the ma<strong>in</strong> characteristics and <strong>in</strong>troduc<strong>in</strong>g those used for theimplementation phase of the thesis project. It provides also some examples onhow enterprises can benefit adopt<strong>in</strong>g them. F<strong>in</strong>ally it draws some real stu<strong>di</strong>esconduced nowadays over social networks.The third chapter describes the ma<strong>in</strong> contributions to which a user, subscribed toat least one social network, may benefit thanks to the implementation of the thesisproject. In particular, it def<strong>in</strong>es and describes the “unified visibility panel”, a pageconta<strong>in</strong><strong>in</strong>g an overview related to the user’s profiles that resumes all thequantitative <strong>in</strong>formation collected, as well as provides <strong>in</strong><strong>di</strong>cators of “visibility”and “productivity”. It presents also, through some example, how <strong>in</strong>fluenc<strong>in</strong>gvariables and the related weights, for both types of <strong>in</strong><strong>di</strong>cators, have been chosen.The fourth chapter describes the ma<strong>in</strong> requirements on which the implementationof the application is based, show<strong>in</strong>g how the database has been structured <strong>in</strong> orderto conta<strong>in</strong> all the quantitative <strong>in</strong>formation daily collected about the <strong>di</strong>fferent socialnetworks. S<strong>in</strong>ce not all the value collected have temporal references, it alsoexpla<strong>in</strong>s how the variation related to this types of values over time, have beenmemorized <strong>in</strong>to the database.Sequence <strong>di</strong>agrams are also presented with the aim to show how the ma<strong>in</strong> featuresof the application, like the visualization of the temporal charts, are managed.The fifth chapther draws how the application has been tested us<strong>in</strong>g <strong>di</strong>fferentcategories of social profiles. Moreover, it presents some example of temporalgraphs that show the ma<strong>in</strong> aspects highlighted dur<strong>in</strong>g the period observed, withsome considerations made on them.9


F<strong>in</strong>ally, the last chapter provides a recap over the thesis work, describ<strong>in</strong>g limitshighlighted dur<strong>in</strong>g the project implementation and the ma<strong>in</strong> f<strong>in</strong>al objectivesachieved.The conclusions also outl<strong>in</strong>e some features that, through future developments,will improve the application realized, like for example the <strong>in</strong>troduction ofgraphical <strong>in</strong><strong>di</strong>cators of “productivity” and “visibility” or new types of graphs tovisualize data collected.10


2 BACKGROUND 2.1 Onl<strong>in</strong>e social network An onl<strong>in</strong>e social network is a web service that allows <strong>in</strong><strong>di</strong>viduals to construct apublic or semi-public profile with<strong>in</strong> a bounded system, to build up a list of otherusers with whom they share a connection, and to view and to traverse their list ofconnections and those made by others with<strong>in</strong> the system [5].Figure 1 - Example of Social Network Graph show<strong>in</strong>g thefriendship connections of a userMotivations that thrust users to create these connections may vary from site tosite, as well as names given to them.11


They can be considered unique sites that allow subscribed users to meet strangers,but also to make visible their exist<strong>in</strong>g social networks. This can result <strong>in</strong>connections between <strong>in</strong><strong>di</strong>viduals that would not otherwise be made, but that isoften not the goal, and these meet<strong>in</strong>gs are frequently between "latent ties" whoshare some offl<strong>in</strong>e connection [5].It’s <strong>in</strong>fact common, nowadays, that people subscribed to onl<strong>in</strong>e social networks,are not necessarily "network<strong>in</strong>g" or look<strong>in</strong>g to meet new ones, but <strong>in</strong>stead thatthey are primarily communicat<strong>in</strong>g with others already known <strong>in</strong> their extendedsocial network, the real world.Ma<strong>in</strong> characteristics Despite onl<strong>in</strong>e socials networks may focus on <strong>in</strong><strong>di</strong>viduals or on contents and havealso a wide variety of technical features, their backbone consists of visible profilesthat <strong>di</strong>splay an articulated list of Friends 2 who are also users of the systemthemselves [5].In order to jo<strong>in</strong> an onl<strong>in</strong>e social network, a user must fill out forms conta<strong>in</strong><strong>in</strong>g aseries of questions about, for example, his name, surname, age, email, location,<strong>in</strong>terests, etc., encourag<strong>in</strong>g also <strong>in</strong> some cases to upload a profile photo. It’saccord<strong>in</strong>g to the given answers that the user’s social profile is generated.Thanks to the possibility to def<strong>in</strong>e privacy’s constra<strong>in</strong>ts, its visibility may varyfrom site to site and accord<strong>in</strong>g to the <strong>di</strong>scretion of the user.Structural variations around visibility and access are one of the primary ways thatonl<strong>in</strong>e social network <strong>di</strong>fferentiate themselves from each other.2 Friends: the term is used <strong>in</strong> order to generalize the <strong>di</strong>fferent labels that can be associated to thesocial relationships.12


After the subscription to an onl<strong>in</strong>e social network, a user is prompted to identifyothers subscribed to the same system with whom he may start to have an onl<strong>in</strong>esocial relationship. These ties may be called with <strong>di</strong>fferent names, depend<strong>in</strong>g onthe type of social network (popular terms <strong>in</strong>clude friends, fans, followers,contacts, etc.).Most social network requires bi-<strong>di</strong>rectional friendship confirmation, but some donot. One-<strong>di</strong>rectional ties are sometimes labelled as “fans” or “followers” butmany sites call these “friends” as well, us<strong>in</strong>g a mislead<strong>in</strong>g term.Display <strong>in</strong> public connections, is a crucial component of an onl<strong>in</strong>e social network.Friends list conta<strong>in</strong>s l<strong>in</strong>ks to Friend's profile, enabl<strong>in</strong>g viewers to traverse thenetwork graph by click<strong>in</strong>g through <strong>di</strong>fferent Friends lists [5].On most sites, these lists are visible to anyone who is permitted to view theprofile, although there are exceptions like MySpace, YouTube and Facebook,where a user can decide to set his profile <strong>in</strong> order to hide this <strong>in</strong>formation.Most onl<strong>in</strong>e socials network provides mechanism for users <strong>in</strong> order to leavepublic messages on their Friends' profiles as “comments”. In ad<strong>di</strong>tion, some ofthem provide the possibility to send to others profiles, private messages, provid<strong>in</strong>ga feature similar to a webmail.Beyond profiles, friends, comments and private messag<strong>in</strong>g, onl<strong>in</strong>e social networkvary greatly <strong>in</strong> terms of features and uses. For example, some of it are focused onphoto-shar<strong>in</strong>g or video-shar<strong>in</strong>g capabilities, others built-<strong>in</strong> blogg<strong>in</strong>g and <strong>in</strong>stantmessag<strong>in</strong>g technology.13


In general, s<strong>in</strong>ce onl<strong>in</strong>e social network are built to encourage the communicationbetween people [6], they typically emphasize some comb<strong>in</strong>ation of the follow<strong>in</strong>gsocial attributes:1. Identity: Who are you?2. Reputation: What do people th<strong>in</strong>k you stand for?3. Presence: Where are you?4. Relationships: Who are you connected with? Who do you trust?5. Groups: How do you organize your connections?6. Conversations: What do you <strong>di</strong>scuss with others?7. Shar<strong>in</strong>g: What content do you make available for others to<strong>in</strong>teract with?They don’t need to exhibit all of these features, but the more attribute areas theycover, the more engag<strong>in</strong>g they are likely to be.14


2.2 Socials networks: some examples In order to provide concretes examples on how socials networks may vary greatly<strong>in</strong> terms of features and uses, an overview over <strong>di</strong>fferent types of them, used alsodur<strong>in</strong>g the realization of this thesis project, is presented.2.2.1 Facebook Facebook is a social network website <strong>in</strong>tended to connect friends, family, andbus<strong>in</strong>ess associates [7].It’s the largest one of the network<strong>in</strong>g sites with more than 500 millions 3 of activeusers, which is about one person every fourteen <strong>in</strong> the world.It has been created as a college network<strong>in</strong>g website <strong>in</strong> 2004 and two years laterhas been expanded <strong>in</strong> order to offer the possibility to everyone to jo<strong>in</strong> it [8].One of the ma<strong>in</strong> important characteristics, that also has contributed to spread somuch the social network, is certa<strong>in</strong>ly given by the possibility to search usersprofiles specify<strong>in</strong>g their real name/surname.Between the ma<strong>in</strong> features provided by Facebook are:ü Post status messages on the wallü Comment posts of others usersü Share user’s photos, videos and l<strong>in</strong>ksü Friends listü Tag comments, videos, photos and l<strong>in</strong>ksü Possibility to express likely on post of others users3 Information source: http://www.facebakers.com (10/2010)15


ü Instant messag<strong>in</strong>gü Create, share and jo<strong>in</strong> groupsü Send private messages to others profilesü Create, <strong>in</strong>vite and jo<strong>in</strong> eventsü Set <strong>di</strong>fferent privacy levelsü Search user by name or email addressü Connection through a mobile device2.2.2 Twitter Twitter is an onl<strong>in</strong>e social network based on micro blogg<strong>in</strong>g. S<strong>in</strong>ce its creation <strong>in</strong>2006, it has ga<strong>in</strong>ed popularity worldwide and currently has more than 160millions of users 4 , ma<strong>in</strong>ly <strong>di</strong>stributed <strong>in</strong> USA and Australia, less <strong>in</strong> Europe [9].It enables its users to send and read other users' messages called “tweets”, <strong>text</strong>basedposts of up to 140 characters, <strong>di</strong>splayed on the user's profile page.Posted messages are publically visible by default, however senders can decide torestrict the delivery to their friends list.Users may also subscribe to other tweets author putt<strong>in</strong>g them <strong>in</strong>to their“follow<strong>in</strong>g” list; subscribers are known as “followers”.An important feature provided by Twitter, <strong>in</strong> order to establish the authenticity ofwell known account, is the “verified badge”, an icon that is associated to all theverifies accounts, so users can trust that a legitimate source is author<strong>in</strong>g theirtweets.4 Information source: http://sites.google.com/a/twitter.com/twitter-press-site/metrics (10/2010)16


Other important features provided by the social network are:ü Send public tweets mention<strong>in</strong>g a specific user (syntax to be used@username)ü Create lists specify<strong>in</strong>g follow<strong>in</strong>g usersü Send private tweets to followersü Insert shorts l<strong>in</strong>ks <strong>in</strong>to tweetsü Connection through mobile deviceü Search user by name or email address2.2.3 YouTube YouTube is a video-shar<strong>in</strong>g website on which users can upload, share, and viewvideos. It has been created <strong>in</strong> 2005 and today counts more than 152 millions 5 ofusers.It uses Adobe Flash Video technology to <strong>di</strong>splay a wide variety of user-generatedvideo content, <strong>in</strong>clud<strong>in</strong>g movie clips, TV clips, and music videos, as well asamateur content such as video blogg<strong>in</strong>g and short orig<strong>in</strong>al videos [10].Most of the contents on YouTube have been uploaded by <strong>in</strong><strong>di</strong>viduals, althoughsome me<strong>di</strong>a corporations like CBS, BBC and other organizations offer some oftheir material through the site.Registered users can upload an unlimited number of videos, while unregisteredcan only watch them.5 Information source: Google’s search eng<strong>in</strong>e, typ<strong>in</strong>g “site:www.youtube.com/user” (11/2010)17


The ma<strong>in</strong> features provided by the social network are:ü Tag videos uploadedü Leave comments on a videoü Vote a videoü Answer to a published video with another oneü Friends listü Subscribe video channelsü Add to favourites videoü Set <strong>di</strong>fferent levels of privacy for each videoü Search users by username2.2.4 SlideShare SlideShare is the largest onl<strong>in</strong>e community for shar<strong>in</strong>g bus<strong>in</strong>ess presentations anddocuments [11]. Introduced <strong>in</strong> 2006, the website counts about 23 millions ofunique visitors a month 6 .Registered users can upload PowerPo<strong>in</strong>t presentations, Word documents andshare them <strong>in</strong>to a blog or send an email conta<strong>in</strong><strong>in</strong>g the URL to friends.Without registration they can f<strong>in</strong>d presentations and documents on almost anytopic, search<strong>in</strong>g them on the site, f<strong>in</strong>d<strong>in</strong>g them through tags, or navigat<strong>in</strong>g throughdocuments proposed of the same topic requested by the user.All transcripts of the files uploaded are <strong>in</strong>dexed by search eng<strong>in</strong>es, enhanc<strong>in</strong>g therank<strong>in</strong>g of the user’s presentations and of its documents.6 Information source: http://www.quantcast.com/ (11/2010)18


Others ma<strong>in</strong>s features provided by the social network are:ü Tag presentationsü Download presentationsü Embed presentations <strong>in</strong>to users’ website or blogsü Share presentations over others socials networksü Followers listü Share documents privately (ex. over an Intranet)ü Jo<strong>in</strong> groupsü Upload content from others socials networks/devicesü Add to favourites presentationsü Upload and share videosü Browse presentation by category19


2.3 Socials networks utility <strong>in</strong> <strong>in</strong>dustries 2.3.1 Social BPM A Social BPM is a Bus<strong>in</strong>ess Process Management to which new collaborativepossibilities provided by the Web 2.0, are made available <strong>in</strong> order to improveprocesses, tak<strong>in</strong>g also <strong>in</strong>to consideration knowledge and experience of acommunity [12].Recently, BPM has started to move from a technical way of modell<strong>in</strong>gorganizations and automatized processes called science-based, to a human-centric<strong>di</strong>scipl<strong>in</strong>e, this due to the fact that, despite the comb<strong>in</strong>ation of implement<strong>in</strong>g BPMtechnology and best practices <strong>di</strong>scipl<strong>in</strong>es leads to the creation of highly successful<strong>in</strong>dustry, analysts start to recognize a critical miss<strong>in</strong>g component provided by thehuman collaboration [13].Even if BPM is designed to provide the most optimal solutions, it has thetendency to ignore variance of op<strong>in</strong>ions, ideas and work styles with<strong>in</strong> theorganization. The adoption of social network<strong>in</strong>g tools <strong>in</strong>to BPM, despite somecriticisms, enables to access a large amount of new resources that may contributeto meet the ever-chang<strong>in</strong>g needs of companies.Due to the fact that each person has unique characteristic, knowledge and skillthat enable them to perform tasks, assign<strong>in</strong>g to every one identical series ofprocess, h<strong>in</strong>ders the ability of the organizations to optimize their workflowcapacity. This problem may be solved with the <strong>in</strong>troduction of social tools <strong>in</strong>toBPM, enabl<strong>in</strong>g workers to express their unique abilities <strong>in</strong> real time and <strong>in</strong> an<strong>in</strong>teractive way, promot<strong>in</strong>g collaboration and coord<strong>in</strong>ation <strong>in</strong>to the workplace andgiv<strong>in</strong>g them the opportunity to cont<strong>in</strong>uously improve and re-designs their specificbus<strong>in</strong>ess models.20


Introduce social BPM <strong>in</strong>to a company, changes the way to identify, manage andsolve processes problems [13]. Through the utilization of social tools, anunlimited number of users are able to provide their suggestion giv<strong>in</strong>g contributiondur<strong>in</strong>g the process modell<strong>in</strong>g, creat<strong>in</strong>g the most successful and efficient one,<strong>in</strong>teract<strong>in</strong>g each other dur<strong>in</strong>g the process execution to leverage specific skill setsas needed <strong>in</strong> order to take the best decisions.Nowadays, between the ma<strong>in</strong> emerg<strong>in</strong>g social BPM patterns [14], there are:ü Process Reflection: dur<strong>in</strong>g the execution of the process, users provide<strong>di</strong>rect feedback on possible improvements to be done.ü Extended Discovery: extends the process <strong>di</strong>scovery tak<strong>in</strong>g <strong>in</strong>toconsideration bi-<strong>di</strong>rectional communication between the company andthe customers.ü Runtime Process Guidance: mo<strong>di</strong>fies <strong>in</strong> real-time bus<strong>in</strong>ess processesthrough the observation of <strong>in</strong>ternal and external socials networks.21


2.3.2 Enterprise 2.0 The term Enterprise 2.0 <strong>in</strong><strong>di</strong>cates all technologies and bus<strong>in</strong>ess practices thatmake free the workforce from the constra<strong>in</strong>ts of legacy communication andproductivity tools, like emails [15].The adoption of new Web 2.0 collaborative tools <strong>in</strong>tegrated <strong>in</strong>to the officeenvironments makes accessible the collective <strong>in</strong>telligence of workers, enabl<strong>in</strong>g the<strong>in</strong>formation to flow “everywhere”, without the necessity to follow hierarchicalconstra<strong>in</strong>ts, translat<strong>in</strong>g this <strong>in</strong>to a huge competitive advantage <strong>in</strong> terms of<strong>in</strong>creased <strong>in</strong>novation, productivity and capability to adapt the company to thefrequently change of the market needs.Figure 2 - Ma<strong>in</strong> <strong>di</strong>fferences between Enterprise 1.0 andthe new ones 2.0In order to clarify which tools are take <strong>in</strong>to consideration with Enterprise 2.0,some examples are provided [16]:Wiki Bus<strong>in</strong>ess wiki is one of the most popular forms of Enterprise 2.0. As acollaborative system it is useful for both small tasks, like creat<strong>in</strong>g a <strong>di</strong>ctionaryabout the <strong>in</strong>dustry jargon (wiki documentation), and large tasks, like hold<strong>in</strong>g22


onl<strong>in</strong>e meet<strong>in</strong>gs (wiki meet<strong>in</strong>g).Due to its easy creation, it is one of the easiest ways to beg<strong>in</strong> implement<strong>in</strong>gEnterprise 2.0 <strong>in</strong>to a workplace.Blog A blog can be used <strong>in</strong> order to keep employee <strong>in</strong>formed about the ma<strong>in</strong> eventsconcern<strong>in</strong>g the company or on what happen <strong>in</strong>side a department. It has a great role<strong>in</strong> an organization realiz<strong>in</strong>g the so call “top-bottom” communication betweencompany management and employees that, thanks to the possibility to leavecomments on each post, can easily ask for clarification or give suggestions.Micro-­‐blogg<strong>in</strong>g Micro-blogg<strong>in</strong>g, like Twitter, can be used as collaborative tool <strong>in</strong> order toma<strong>in</strong>ta<strong>in</strong> update team members on what they are work<strong>in</strong>g on and to quicklycommunicate with<strong>in</strong> a group of employee.A blog network, for example, could use micro-blogg<strong>in</strong>g to let writers notify otherson what they are work<strong>in</strong>g on, this <strong>in</strong> order to avoid the possibility to publicarticles provid<strong>in</strong>g the same <strong>in</strong>formation.Social Network<strong>in</strong>g Social network<strong>in</strong>g is another important form of Enterprise 2.0.Despite the efforts to implement Enterprise 2.0 <strong>in</strong>to the company <strong>in</strong>tranet grow,tra<strong>di</strong>tional <strong>in</strong>terfaces based on it can became <strong>in</strong>sufficient.Social network<strong>in</strong>g provides the possibility to be used as a tra<strong>di</strong>tional <strong>in</strong>tranet<strong>in</strong>terface, but also to add some utilities that can help the communication flowthrough <strong>di</strong>fferent networks.Into larger companies, for example, it can provide a great way to f<strong>in</strong>d people with23


specialized skills and knowledges look<strong>in</strong>g through the employees’ profiles,enabl<strong>in</strong>g managers to assign the best person for a specific task.24


2.4 Analysis on social network The Social Network Analysis [4] is an approach based on a set of mathematicaltechniques (<strong>in</strong> particular on graph theory) used <strong>in</strong> social psychology, sociology,ethology, and anthropology, that permit to analyse social network focus<strong>in</strong>g onrelationships, both casual acqua<strong>in</strong>tance and close bonds, between nodes of peopleand/or groups.Figure 3 - Between people and contentthere is a reciprocal relationshipAmong its ma<strong>in</strong> objectives there are:1. Visualization through <strong>di</strong>agrams of communications and other relationshipsbetween nodes.2. Study factors that <strong>in</strong>fluence relationships and their correlations.3. Draw out implications of the relational data, <strong>in</strong>clud<strong>in</strong>g bottlenecks where<strong>in</strong>formation flows through one person or section and situations where<strong>in</strong>formation flows does not match formal group structure.4. Improve communication provid<strong>in</strong>g recommendations based on the stu<strong>di</strong>esconduced.Follow descriptions about some examples of social networks analysis conduced <strong>in</strong>order to clarify how they can be performed.25


2.4.1 Measurements and analysis of onl<strong>in</strong>e Social Networks Thanks to the popularity of some onl<strong>in</strong>e social network that provides a powerfulmeans of shar<strong>in</strong>g, organiz<strong>in</strong>g, and f<strong>in</strong>d<strong>in</strong>g content and contacts, it was possible tostudy the characteristics of the social network graphs at large scale.The analysis has been done tak<strong>in</strong>g <strong>in</strong>to considerations publics data obta<strong>in</strong>ed from<strong>di</strong>fferent social networks (YouTube, LiveJournal, Flickr and Orkut), this due tothe fact that data gathered from multiple sites enables to identify commonstructural properties [17].One of the objectives was that to try to understand if the study of the socialnetwork structure, might lead to algorithms that could detect trusted or <strong>in</strong>fluentialusers, much like the study of the Web graph led to the <strong>di</strong>scovery of algorithms forf<strong>in</strong>d<strong>in</strong>g authoritative sources <strong>in</strong> the Web.An important aspect observed, was the high degree of reciprocity <strong>in</strong> <strong>di</strong>rected userl<strong>in</strong>ks, lead<strong>in</strong>g to a strong correlation between user <strong>in</strong>degree and outdegree,provid<strong>in</strong>g some <strong>di</strong>fficulties <strong>in</strong> identify<strong>in</strong>g valid <strong>in</strong>formation through the analysisof the only structure of the network (this <strong>di</strong>ffers from content graphs like thegraph formed by web hyperl<strong>in</strong>ks, where the popular pages, “authorities”, and thepages with many references, “hubs”, are <strong>di</strong>st<strong>in</strong>ct).The analysis has highlighted that onl<strong>in</strong>e social networks conta<strong>in</strong>s a large, stronglyconnected core of high-degree nodes, surrounded by many small clusters of lowdegreenodes, suggest<strong>in</strong>g that high-degree nodes <strong>in</strong> the core are critical for theconnectivity and the flow of <strong>in</strong>formation.26


The high coefficient of local user cluster<strong>in</strong>g has confirmed that <strong>in</strong> social network,normally people tend to be <strong>in</strong>troduced to other people via mutual friends,<strong>in</strong>creas<strong>in</strong>g the probability that two friends of a s<strong>in</strong>gle user are also friends.F<strong>in</strong>ally, on groups it has highlighted that members of smaller user groups tend tobe more clustered than those of larger groups.Stu<strong>di</strong>es conduced can be view as a stat<strong>in</strong>g po<strong>in</strong>t <strong>in</strong> order to improve currentsystem or to design new application, to test current theories on offl<strong>in</strong>e socialnetwork and to improve the market<strong>in</strong>g campaigns.27


2.4.2 Pre<strong>di</strong>ct<strong>in</strong>g positive and negative l<strong>in</strong>ks <strong>in</strong> Social Networks Normally social network analysis is done tak<strong>in</strong>g <strong>in</strong>to consideration positiverelations between users, without consider<strong>in</strong>g the negative ones.This analysis has been conduced on three <strong>di</strong>fferent social networks: Wikipe<strong>di</strong>a(encyclopae<strong>di</strong>a updated collectively by users), Ep<strong>in</strong>ions (web site through whichusers can leave reviews on products purchasable onl<strong>in</strong>e) and Slashdot (newswebsite on new technologies).Relations among subscribed users, have been considered do<strong>in</strong>g a clear <strong>di</strong>st<strong>in</strong>ctionbetween those positives (like for example friendships between users orappreciation of a l<strong>in</strong>k published by another user) and those negatives (likeconsider<strong>in</strong>g users put <strong>in</strong>to a blacklist by others or <strong>di</strong>sapproval on a l<strong>in</strong>k publishedby others) [18].Stu<strong>di</strong>es performed have confirmed that, us<strong>in</strong>g both relations’ types enables tomake more accurate pre<strong>di</strong>ctions.Another important aspect that has been highlighted is that, employ<strong>in</strong>g <strong>in</strong>formationabout negative relationships, can be useful even for tasks that <strong>in</strong>volve only thepositive ones, such as, the problem of l<strong>in</strong>ks pre<strong>di</strong>ction for positive edges.Thanks to the methodologies adopted dur<strong>in</strong>g the analysis and to the <strong>di</strong>fferentrelations' mean<strong>in</strong>g of the social networks considered, results obta<strong>in</strong>ed haveidentified pr<strong>in</strong>ciples that can be generalized across multiple doma<strong>in</strong>s.28


2.4.3 Modell<strong>in</strong>g relationship strength <strong>in</strong> onl<strong>in</strong>e Social Network Nowadays, analysis performed on socials networks, tend to consider b<strong>in</strong>ariesrelations between friends, and to make on them appropriate observations.Often, these relations, <strong>in</strong>clude close friendships and casual acqua<strong>in</strong>tances thatpermit the realization of models affected by noise, mak<strong>in</strong>g necessary the adoptionof new methodologies able to narrow it, us<strong>in</strong>g techniques to identify similaritiesbetween users [19].The analysis has been performed tak<strong>in</strong>g <strong>in</strong>to consideration not only <strong>in</strong>formationconcern<strong>in</strong>g the friendship’s relations, but also the <strong>in</strong>teraction’s activities betweenusers (e.g. through the exchange of <strong>in</strong>formation us<strong>in</strong>g a messages’ board or evenobserv<strong>in</strong>g the tagg<strong>in</strong>g activities), identify<strong>in</strong>g <strong>in</strong> this way similarities between themand try<strong>in</strong>g to improve the accuracy of the pre<strong>di</strong>ction model.Methods used, based on the sociological theory of the “homophily” (people tendto stay connected with other hav<strong>in</strong>g the same characteristics), <strong>in</strong> contrast with theprevious, has not created a clear <strong>di</strong>st<strong>in</strong>ction “strong/weak” between friendshipsbut, it has provided a classification scale for them, rang<strong>in</strong>g results from “weak” to“strong”.In order to try to make pre<strong>di</strong>ction on the future users’ <strong>in</strong>teractions, a statisticalanalysis was carried out, consider<strong>in</strong>g two ma<strong>in</strong> type of <strong>in</strong>formation: the users’profiles (static <strong>in</strong>formation) and the <strong>in</strong>teractive activities related to them(dynamic, time <strong>di</strong>stributed).29


Methodologies adopted dur<strong>in</strong>g the analysis of the friendship’s relations, can beused also to make consideration on other aspects, like:ü L<strong>in</strong>ksü NewsFeeds (e.g. show<strong>in</strong>g as first that related to strong friendships)ü People search<strong>in</strong>g (e.g. mak<strong>in</strong>g a rank<strong>in</strong>g on the results)30


3 MAIN CONTRIBUTIONS Nowadays, the successes of onl<strong>in</strong>e social networks have fostered the creation ofmany contents aggregators like TwitterDeck 7 . These applications enable users tosee <strong>in</strong> real-time social updates com<strong>in</strong>g from <strong>di</strong>fferent social networks to whichthey are subscribed, provid<strong>in</strong>g them, through previous authorization, thepossibility to <strong>in</strong>teract with others as if they are really connected to the socialwebsites.Despite there are many applications of this type, no ones allows to visualizestatistics related to the social profiles provided by the user.This thesis project has as a ma<strong>in</strong> objectives the creation of a web application,through which users, previous registration, can visualize all real-time contentsupdates related to the <strong>di</strong>fferent social profiles provided, as well as to rendertemporal charts show<strong>in</strong>g quantitative data (like video views, video comments,etc.) daily collected.Between the ma<strong>in</strong> project's contributions there are:ü A section provid<strong>in</strong>g real-time updates on the social activitiesperformed by the user with his <strong>di</strong>fferent social profiles.7 TwitterDeck: is a client application implemented through Adobe Air. It allows users to managetheir accounts over <strong>di</strong>fferent social networks like for example Twitter, Facebook, FourSquare, etc.31


ü A “unified visibility panel”, enabl<strong>in</strong>g to resume through quantitativedata daily collected the social activity of the user registered. Inparticular <strong>in</strong><strong>di</strong>cators of social “productivity” and “visibility”, for eachsocial profile, are provided.ü The possibility to render temporal charts show<strong>in</strong>g quantitative<strong>in</strong>formation collected related to each social profile provided by theusers.32


3.1 User’s real-­‐time updates Through the ma<strong>in</strong> page of the web application developed, that provides the list ofthe person registered to the application, a user can decide to see his social updatesby click<strong>in</strong>g the “updates” button associated to his profiles (see fig. 4).Figure 4 - Example of subscribed users' listIn general, if the user is subscribed to all the social networks considered by theweb application and he has provided all his social identifiers dur<strong>in</strong>g theregistration phase, the update’s page visualized is composed by four sections (seefig. 5), one for each social network.Each section conta<strong>in</strong>s the recent social activities carried out by the user over therelated social network, <strong>in</strong> particular, for that focus<strong>in</strong>g on contents, like SlideShareand YouTube, are showed the thumbnails related to last four presentations/videosand others detail’s <strong>in</strong>formation like the upload date and the total views, while forthat focus<strong>in</strong>g on <strong>in</strong><strong>di</strong>viduals, like Facebook and Twitter, are visualized the lastfour status updates.Click<strong>in</strong>g on a thumbnail related to a social item, the user can leave, previousconfirmation, the web application, visualiz<strong>in</strong>g the chosen content details on therelated social website.If the updates to be visualized are more than four, a button “see more” (1) isadded to the bottom of the related section, provid<strong>in</strong>g the possibility, depend<strong>in</strong>g onthe cases, to leave the application towards the user profile page of the socialnetwork website, <strong>in</strong> case of Twitter and Facebook or, to visualize another page33


and navigate between all the historical uploads, <strong>in</strong> order to choose a content, <strong>in</strong>case of SlideShare and YouTube.It also may happen that a user is subscribed to a social network but that he has nosocial activity over that. In this case, <strong>in</strong>to the related section, a warn<strong>in</strong>g message(2) is visualized <strong>in</strong>form<strong>in</strong>g that no social user updates has been founded.Figure 5 - Example of social updates' page related to a User subscribed to all the social networksconsidered by the application34


3.2 The “unified visibility panel” Navigat<strong>in</strong>g from the ma<strong>in</strong> page of the web application a user, click<strong>in</strong>g on the“Statistics” button associated to his profiles, can visualize a page conta<strong>in</strong><strong>in</strong>g the“unified visibility panel”.This panel (see fig. 6) shows, for each social profile identifier, provided by theuser dur<strong>in</strong>g the registration phase, an historical general prospectus of his socialactivities over the <strong>di</strong>fferent social networks.Quantitative data visualized on it, may vary, depend<strong>in</strong>g on the type of socialnetwork and on the <strong>in</strong>formation made available by its API (<strong>in</strong> some cases, like forTwitter, it may depend also on the queries limit per hour).In general, for that focus<strong>in</strong>g on contents, like SlideShare and YouTube,<strong>in</strong>formation such as the number of total items uploaded, views or comments, aswell as a thumbnail with the title of the top item (enabl<strong>in</strong>g users to click on it <strong>in</strong>order to see its historical charts), are provided. For that focus on <strong>in</strong><strong>di</strong>viduals, suchas Facebook and Twitter, <strong>in</strong>formation like the total number of status updates,friends, or groups jo<strong>in</strong>ed by the user, are visualized.Always through the “unified visibility panel”, the user has the possibility tovisualize his ma<strong>in</strong> social history over a specific social network jo<strong>in</strong>ed by him,through the render<strong>in</strong>g of temporal graphs, click<strong>in</strong>g on the related “Ma<strong>in</strong> History”button (see 2.3 “Render<strong>in</strong>g temporal charts”).If the user has provided the social identifier of SlideShare or YouTube, he hasalso the possibility to visualize historical charts related to a s<strong>in</strong>gle item uploaded.Click<strong>in</strong>g on the button “Select video”, <strong>in</strong> case of YouTube, or “Selectpresentation”, <strong>in</strong> case of SlideShare, and navigat<strong>in</strong>g through the <strong>di</strong>fferent itemscrawled by the application developed, the user can choose the ones of which hewants to visualize the temporal graphs of the quantitative data daily collected.35


Figure 6 - Example of “Unified visibility panel” that resumes all the social activities conduced by a userwith his <strong>di</strong>fferent social profiles provided dur<strong>in</strong>g the registration phaseAnother important characteristic, <strong>in</strong>troduced by the “unified visibility panel”, isprovided by two <strong>in</strong><strong>di</strong>cators: the first of “visibility”, associated to each socialnetwork jo<strong>in</strong>ed by the user, and the second of “productivity”.Both <strong>in</strong><strong>di</strong>cators, calculated consider<strong>in</strong>g the data crawled dur<strong>in</strong>g the last month bythe application (Δ=1 month), have the ma<strong>in</strong> objective to give evaluations on thesocial user activity, but also to enable them to make comparisons with others,through the observation of the values computed.The “productivity” <strong>in</strong><strong>di</strong>cator, one for each user, takes <strong>in</strong>to consideration the ma<strong>in</strong>object on which, every social network considered, focus its attention; <strong>in</strong> thespecific case, the number of items uploaded by the user for YouTube andSlideShare (that focus<strong>in</strong>g on contents), and the number of posts for Twitter andFacebook (that focus<strong>in</strong>g on <strong>in</strong><strong>di</strong>viduals). The f<strong>in</strong>al value of the <strong>in</strong><strong>di</strong>cator isobta<strong>in</strong>ed summ<strong>in</strong>g all the variables previously descripted and opportunelyweighted, <strong>di</strong>vid<strong>in</strong>g the result for the number of social profiles provided by the36


user dur<strong>in</strong>g the registration phase (fig. 7 shows the formula utilized <strong>in</strong> order tocompute it).!"#$%&'()('* =∆ !"#. !"##!$!!_!"##!_!"#_!! +∆ !"#. !"#$%&!"_!"#$%__!"#_!" + ∆ !"#. !"#$%!!!_!"#$%_!"#_!" + ∆ !"#. !"#$#!"_!"#$_!"#$h!!"#. !"#$!"#$%&'(Figure 7 - Formula utilized <strong>in</strong> order to obta<strong>in</strong> the value of the "productivity" <strong>in</strong><strong>di</strong>cator of a userThe “visibility” <strong>in</strong><strong>di</strong>cator, one for each social profile, describes the userpopularity over a social network, consider<strong>in</strong>g <strong>di</strong>fferent factors, on the basis of the<strong>in</strong>formation that it’s possible to collect us<strong>in</strong>g the API. Like for the “productivity”<strong>in</strong><strong>di</strong>cator, the “visibility” value is computed as a mean of the sum of multiplevariables opportunely weighted.In order to clarify, how the values <strong>in</strong>fluenc<strong>in</strong>g it, have been chosen, an example of“visibility” <strong>in</strong><strong>di</strong>cator, is provided.Figure 8 shows the formula utilized <strong>in</strong> order to compute the visibility of a user onTwitter.!"#$$%& !"#"$"%"&' =∆ !"#. !"##"$%&'tt_follower_vis_wg+∆ !"#. !"#"$! !"#!"#!!_!"#"$_!"2Figure 8 - Formula used <strong>in</strong> order to compute the "visibility" <strong>in</strong><strong>di</strong>cator of TwitterThe variables have been chosen on the basis of the follow<strong>in</strong>g consideration:ü num. followers: <strong>in</strong>creases the visibility not only because the user is<strong>in</strong>serted <strong>in</strong>to the “follow<strong>in</strong>g” list of the “follower” but also, becauseany time that the user posts a new tweet, the message is visualized onthe profile’s home pages of all the “follower” users.ü num. status update: <strong>in</strong>fluences the user visibility because tweets postedby him are visualized also on the “public timel<strong>in</strong>e”, a sort of publicwall where anyone can see messages posted by all the others (notnecessarily present <strong>in</strong>to his “follower” list).37


Always consider<strong>in</strong>g the Twitter’s “visibility” <strong>in</strong><strong>di</strong>cator, an important variable thatwas not possible to consider, due to the queries limit per hour of the API, was thenumber of “retweets”, that is the number of times that a message of a user is repostedby “followers”.The others “visibility” <strong>in</strong><strong>di</strong>cators, for the rema<strong>in</strong><strong>in</strong>g social networks, has beenconceived do<strong>in</strong>g, on the quantitative <strong>in</strong>formation available, more or less the sameconsiderations done for that expla<strong>in</strong>ed above.For both, the “productivity” and the “visibility” <strong>in</strong><strong>di</strong>cators, weights utilized <strong>in</strong>tothe formulas (see fig. 9), are calculated tak<strong>in</strong>g <strong>in</strong>to considerations the averagevalues, for each variable, related to a “common user” and a delta-time of a month.In particular, the default’s weights values, have been obta<strong>in</strong>ed through theobservation of the social activity related to a sample of ten profiles, each socialnetwork considered, comput<strong>in</strong>g every variable, as the mean value of the datacollected.In<strong>di</strong>cators weights (Δ=1 month)Variable Value Variable ValueProductivitytt_state_pro_wg 80 yt_video_pro_wg 4ss_slide_pro_wg 3 fb_post_pro_wg 100tt_follower_vis_wg 40 fb_page_fan_vis_wg 25tt_state_vis_wg 80 fb_friend_vis_wg 25Visibilityyt_video_vis_wg 4 fb_group_vis_wg 50yt_view_vis_wg 400 fb_like_vis_wg 60yt_comment_vis_wg 30 fb_l<strong>in</strong>k_vis_wg 2038


ss_slide_vis_wg 3 fb_photo_tag_vis_wg 10ss_comment_vis_wg 15 fb_photo_vis_wg 7ss_download_vis_wg 50 fb_post_vis_wg 100ss_friend_vis_wg 8 fb_post_tag_given_vis_wg 20ss_view_vis_wg 300 fb_post_tag_received_vis_wg 15fb_album_vis_wg 1 fb_status_vis_wg 30fb_comment_vis_wg 50 fb_video_vis_wg 0,1fb_event_vis_wg 0,2 fb_video_tag_vis_wg 0,2Figure 9 - Default weights used by the application <strong>in</strong> order to calculate the values of the"visibility" and "productivity" <strong>in</strong><strong>di</strong>catorsNoth<strong>in</strong>g prevents that, default’s weights and delta-time considered, can bechanged by the adm<strong>in</strong>istrator of the web application, mo<strong>di</strong>fy<strong>in</strong>g the valuesmemorized <strong>in</strong>to the configurations file “application.properties”.In general, values showed by the <strong>in</strong><strong>di</strong>cators, can be <strong>in</strong>terpreted as follow:ü If the value is between “0” and “1”, it means, depend<strong>in</strong>g on the cases,that the user has less social “productivity” or “visibility”.ü If it’s near “1” it means that he has a social “productivity” or“visibility” that is <strong>in</strong> l<strong>in</strong>e with the expectations for a “common user”.ü More than “1” it means that the user has a social “productivity” or“visibility” that is higher than the normal expectation, mean<strong>in</strong>g that hede<strong>di</strong>cates a lot of time to social networks.39


3.2.1 Improvements on “visibility” and “productivity” <strong>in</strong><strong>di</strong>cators At the current state, “visibility” and “productivity” values, <strong>in</strong>troduced by the“unified visibility panel”, allow users to check their social activity performedthrough the profiles provided dur<strong>in</strong>g the registration phase, and to makecomparisons, access<strong>in</strong>g the same panel of others users.With the aim to improve the <strong>in</strong><strong>di</strong>cators’ readability, it would be <strong>in</strong>terest<strong>in</strong>g,through future developments, to replace the numerical values, <strong>di</strong>splay<strong>in</strong>ggraphical bars (see fig. 10).Figure 10 - The "unified visibility panel" after the improvements described on the <strong>in</strong><strong>di</strong>cators of"visibility" and "productivity".In order to apply this improvement, it’s necessary to mo<strong>di</strong>fy the structural datathat conta<strong>in</strong>s <strong>in</strong>formation related to the users subscribed to the application, ask<strong>in</strong>gand memoriz<strong>in</strong>g, dur<strong>in</strong>g the registration phase, <strong>in</strong>formation related to their jobprofession (student, professor, come<strong>di</strong>an, politic, etc.).40


The follow<strong>in</strong>g table (fig. 11) shows how, even the weights’ values, are subjectedto a changes, <strong>in</strong>troduc<strong>in</strong>g the mo<strong>di</strong>fication.In particular, are shown the default weights used <strong>in</strong> order to calculate the user’s“productivity” <strong>in</strong><strong>di</strong>cator, tak<strong>in</strong>g also <strong>in</strong>to consideration its membership’s category(job profession).As for the case implemented, the values have been obta<strong>in</strong>ed observ<strong>in</strong>g, for eachuser’s category, the social activity dur<strong>in</strong>g a delta-time period (default Δ=1month),related to a sample of five profiles every social network considered.Productivity<strong>in</strong><strong>di</strong>cator's weights(Δ=1month)Twitter(tweets)Facebook(posts)SlideShare(presentations)YouTube(videos)Politics 80 250 0 60S<strong>in</strong>gers 130 100 0 5Come<strong>di</strong>ans 100 180 0 30Professors 80 130 4 0,7Students 50 200 0 0,2Figure 11 - Default weights that will be used by the application <strong>in</strong> order to calculatethe "productivity" <strong>in</strong><strong>di</strong>cator accord<strong>in</strong>g with the user’s category.By <strong>in</strong>troduc<strong>in</strong>g the mo<strong>di</strong>fication expla<strong>in</strong>ed above, the computation of an <strong>in</strong><strong>di</strong>cator,can be performed us<strong>in</strong>g as before the values collected, properly weighed, butmak<strong>in</strong>g also a f<strong>in</strong>al normalization, consider<strong>in</strong>g all the data collected related to theothers users of the same category, gett<strong>in</strong>g as a result, a value between “0” and“100”, which can be <strong>di</strong>splayed through the new graphical <strong>in</strong><strong>di</strong>cator.The improvement proposed, not yet implemented, not only will permit to avoidsudden changes of the <strong>in</strong><strong>di</strong>cators (values too high or too low) due to possible<strong>in</strong>homogeneity between subscribed users, but also, it will provide to them, thepossibility to make a first comparison between the others subscribed of the samecategory, just look<strong>in</strong>g, thanks to the normalization, to the graphical <strong>in</strong><strong>di</strong>cators.41


Moreover, the “accuracy” of the <strong>in</strong><strong>di</strong>cators, will be <strong>in</strong>creased, this due to the factthat, their computation will be based both, on the variable’s weights, provided foreach user’s category, and on the f<strong>in</strong>al normalisation, performed tak<strong>in</strong>g <strong>in</strong>toconsideration, data daily collected, related to all the users of the same category.42


3.3 Render<strong>in</strong>g temporal charts Temporal charts gives the possibility to users registered to the application, torender their onl<strong>in</strong>e social network history, through the visualization of quantitativedata daily collected.Navigat<strong>in</strong>g from the “unified visibility panel”, each user has the possibility tovisualize charts <strong>in</strong> two ways: the first one, available for each type of socialnetwork, permits to see the general history of a social profile, click<strong>in</strong>g on the“Ma<strong>in</strong> history” button, while the second one, only for social network focus<strong>in</strong>g oncontents, enables to visualize historical charts related to a s<strong>in</strong>gle item, through itsselection.The figure 12 shows an example of ma<strong>in</strong> history visualization, <strong>in</strong> particular chartsrendered are related to a user subscribed to “YouTube”.Figure 12 - Example of "Ma<strong>in</strong> History" page related to a user subscribed to YouTube43


As it’s showed, the user has the possibility to see <strong>di</strong>fferent charts, everyonereferr<strong>in</strong>g to quantitative data collected through the API and stored <strong>in</strong>to thedatabase of the application.Temporal axis, utilized <strong>in</strong> order to render charts, are not always the same, <strong>in</strong> fact,depend<strong>in</strong>g on the availability of time <strong>in</strong>formation, it’s possible to visualize thecomplete history about a user’s value over the social network, like <strong>in</strong> this case for“Videos uploads” or, without temporal references, to render graphs consider<strong>in</strong>gas start time the registration date of the user to the application, provid<strong>in</strong>g for eachday, the upgrades of the value observed, like for “Videos views”.If the time frame showed <strong>in</strong>to a graph, especially when time <strong>in</strong>formation areavailable, is too wide, the user can decide to zoom a part of the chart us<strong>in</strong>g themouse, reduc<strong>in</strong>g <strong>in</strong> this way the temporal frame showed.Depend<strong>in</strong>g on the level of the <strong>in</strong>formation details provided by the API, there isalso the possibility to visualize advance details concern<strong>in</strong>g a specific value, likefor “Videos views” that, click<strong>in</strong>g on the related “details” button, they arerendered temporal graphs (see fig. 13), concern<strong>in</strong>g the same value, for each video.Figure 13 – Example of YouTube’s detailed history, that shows charts rendered on the basisof the number of the views obta<strong>in</strong>ed for each video uploaded by a user.44


As mentioned before, another way <strong>in</strong> order to visualize temporal charts, providedfor social network focus on content, it’s through the selection of an item, uploadedby the user. This can be done from the “unified visibility panel”, click<strong>in</strong>g on thebutton “Select video”, if the social network is YouTube or, “Select presentation”if it’s SlideShare.Fig. 14 shows how <strong>in</strong>formation and temporal charts related to a s<strong>in</strong>gle item, <strong>in</strong> thiscase to a SlideShare presentation, are visualized.Figure 14 - Example of temporal charts rendered through the selection of a SlideShare’s presentationuploaded by the userIt may happen, that a user is subscribed to a social network but, that he doesn’tuse his profile at all or, that he doesn’t like some features provided by it; <strong>in</strong> bothcases, a warn message, <strong>in</strong>form<strong>in</strong>g about the impossibility to render all or somecharts, due to <strong>in</strong>sufficient crawled data, is visualized.45


4 PROJECT’S REALIZATION 4.1 Ma<strong>in</strong> requirements The project has been implemented on the basis of the follow<strong>in</strong>g ma<strong>in</strong>requirements:Requirement Priority* DescriptionThe application has to be reachable by anyoneApplicationtype1over Internet through a common web browser,without the necessity of <strong>in</strong>stall<strong>in</strong>g anyprogram or plug<strong>in</strong>.User registrationpage1A registration l<strong>in</strong>k has to be put on the ma<strong>in</strong>page <strong>in</strong> order to enable users that want to jo<strong>in</strong>the application to enrol their social profilesgiv<strong>in</strong>g username/user id.Real-time userids check3Dur<strong>in</strong>g the new user registration all socialsusername/user id provided has to be checked<strong>in</strong> real time <strong>in</strong> order to avoid the enrolment ofdata that are not valid, provid<strong>in</strong>g <strong>in</strong> both casesvisual feedback to the user.46


Unified visibilitypanel1A page, with a panel <strong>in</strong><strong>di</strong>cat<strong>in</strong>g the ma<strong>in</strong>quantitative socials <strong>in</strong>formation collected,about the user selected, has to be provided.Updates andStatisticssections1For each user the application has to be able tovisualize two sections: the first one called“update”, that <strong>in</strong> real time must visualize thecontent update related to the user socialprofiles enrolled and the second one, called“statistics”, that must provide a section thatsummarize all the user’s activities (<strong>in</strong> terms ofquantitative data) over the <strong>di</strong>fferent socialsnetworks.Social ma<strong>in</strong>history page1From the section “statistics”, the user has tobe able to navigate through the page “socialma<strong>in</strong> history”, that must show quantitativedata related to the specific social network,visualiz<strong>in</strong>g <strong>di</strong>fferent temporal charts.Social detailedhistory page2Depend<strong>in</strong>g on the quantitative data availablefor each social network, also detailed chartsrelated to the “social ma<strong>in</strong> history” has to beprovided.Socials dataupdates1Social quantitative data updates, related toeach subscribed user, has to be daily collectedand stored <strong>in</strong>to a database <strong>in</strong> order to be ableto show their complete history, start<strong>in</strong>g fromthe subscription date.* Priority goes from 1 (most important) to 5 (less important)47


4.2 Implementation Before start<strong>in</strong>g the implementation of the application an analysis on the APIs ofthe ma<strong>in</strong> social networks has been conduced, try<strong>in</strong>g to understand which of themprovided important quantitative <strong>in</strong>formation necessary to the realization of theproject, pay<strong>in</strong>g also particular attention to the privacy constra<strong>in</strong>ts.In order to consider <strong>di</strong>fferent types of socials networks, the follow<strong>in</strong>g has beenchosen:ü SlideShare: a social network used to upload and share presentationswith others.Through a valid user account, an API “key/secret” have beenrequested and utilized <strong>in</strong> order to connect the application to SlideShareand to get users public <strong>in</strong>formation (like presentations, contacts,favourites, etc.), available without requests limits.S<strong>in</strong>ce the JSlideShare 8 API provided was based on the version 1.0, theoldest one, an upgrade to the new ver. 2.0 has been done <strong>in</strong> order to getmore <strong>in</strong>formation.ü YouTube: a video-shar<strong>in</strong>g network on which users can upload, share,and view videos.After the request of a valid “client id” and “developer key”, the JavaYouTube’s Data API have been used to retrieve YouTube’s<strong>in</strong>formation (like comments, videos, friendships…) <strong>in</strong> the form ofGoogle Data API feeds, without requests limits.8 JSlidesShare: is a Java wrapper around the SlideShare API. It can be used for mash<strong>in</strong>g up slidesa Java Web application.48


ü Twitter: a micro blogg<strong>in</strong>g social network, enabl<strong>in</strong>g its users to sendand read other users' messages, called tweets.Through the request of a “consumer key/secret” associated to the userapplication developer profile, the java Twitter4J API have been used <strong>in</strong>order to get users public <strong>in</strong>formation (like followers, follow<strong>in</strong>g, tweets,etc.). Due to the call-rate limitation and to the impossibility to put theapplication <strong>in</strong>to the white-list (that mean no rate limit) detailed<strong>in</strong>formation (like tweets content, retweets, friendships details…) wasnot considered.ü Facebook: social network <strong>in</strong>tended to connect friends, family, andbus<strong>in</strong>ess associates.In order to get <strong>in</strong>formation with the RestFB 9 library, the “APIkey/secret” associated to the application was not sufficient; an accesstoken for each user, released after his authorization, has been used <strong>in</strong>order to get all the detailed profiles <strong>in</strong>formation.9 RestFB: is a powerful Facebook Graph API and Rest API client written <strong>in</strong> Java.49


4.3 Ma<strong>in</strong> APIs utilized In order to realize the web application, implement<strong>in</strong>g all the requirementsspecified above (see 4.1 “Ma<strong>in</strong> requirements”), it has been necessary to utilize<strong>di</strong>fferent Java’s libraries. In particular, between the ma<strong>in</strong> APIs adopted, there werethose that have permitted to collect the <strong>in</strong>formation related to the users’ profilesover the <strong>di</strong>fferent social networks and to store them <strong>in</strong>to the database, as well as,those that have allowed to schedule the daily collection of the social quantitative<strong>in</strong>formation.A list, present<strong>in</strong>g the ma<strong>in</strong> Java’s libraries utilized <strong>in</strong> order to implement thisthesis project, with a small description that justifies their utilization, is provided.ü Database connection and XML files management: the follow<strong>in</strong>g APIs havepermitted respectively to memorize <strong>in</strong>to the database the crawled<strong>in</strong>formation related to the social updates of the users’ profiles, and tomanage the XML file conta<strong>in</strong><strong>in</strong>g all the social profiles of the usersregistered to the web application.In particular:• MySQL (mysql-connector-java.jar): through the JDBC driver hasprovided the possibility to connect the application to a MySQLdatabase [20].• JDOM (jdom_1.1.1.jar): it has enabled the application to access,manipulate and output XML data [21].50


ü Log of <strong>in</strong>formation and errors: the subsequent API has enabled to log allthe <strong>in</strong>formation concern<strong>in</strong>g the work<strong>in</strong>g status of the applicationdeveloped, prov<strong>in</strong>g <strong>text</strong>ual feedback <strong>in</strong> both cases, dur<strong>in</strong>g the normalfunction<strong>in</strong>g, as well as, <strong>in</strong> case of execution errors.• Apache Log4j (apache-log4j-1.2.1.jar): it has permitted to log allthe application behaviour [22].ü Daily collection of the quantitative <strong>in</strong>formation: the follow<strong>in</strong>g API haspermitted to set a daily trigger <strong>in</strong> order to update automatically the social<strong>in</strong>formation, memorized <strong>in</strong>to the database, related to all the social profilesregistered to the application.• Quartz (quartz_1.8.3.jar): it has provided a <strong>full</strong>-featured, opensource job schedul<strong>in</strong>g service [23].ü APIs used <strong>in</strong> order to connect the application to the <strong>di</strong>fferent socialnetworks: the subsequent APIs have permitted to get all the <strong>in</strong>formationmade available by the <strong>di</strong>fferent social networks taken <strong>in</strong>to consideration bythe application developed.In particular:• Google Data APIs (gdata-src.java-1.41.0.jar): they have enabledthe application to get <strong>in</strong>formation related to YouTube us<strong>in</strong>g theYouTube’s Data APIs <strong>in</strong>cluded <strong>in</strong>to them [24].• Twitter4J (twitter4j-core-2.1.6.jar): unofficial Java library that haspermitted to get, through the Twitter APIs, <strong>in</strong>formation related toTwitter [25].51


• RestFB (restfb_1.5.4.jar): it has permitted to the application to get<strong>in</strong>formation about users subscribed to Facebook us<strong>in</strong>g theFacebook Graph API [26].• JSlideShare (jslideshare.jar): it has enabled the application to get<strong>in</strong>formation from SlideShare. S<strong>in</strong>ce it has been provided only anold version of the library, based on ver. 1.0 of the APIs, an updateto the version 2.0, that gives more <strong>in</strong>formation, has been done [27].52


4.4 Structure of the web application Figure 15 shows how the web application created is structured and the ma<strong>in</strong>communications between client and server that permits to visualize <strong>in</strong>formation.Figure 15 - Structure of the web applicationand ma<strong>in</strong> client/server communicationsHttp requests com<strong>in</strong>g from a client web-browser can be synchronous orasynchronous, depend<strong>in</strong>g on the page requested and on the type of content to bevisualized <strong>in</strong> it.The Ajax Eng<strong>in</strong>e is utilized <strong>in</strong> particular dur<strong>in</strong>g the user registration phase <strong>in</strong>order to check <strong>in</strong> real-time the provided profiles <strong>in</strong>formation through the servlet“SocialUserDataValidation”. It’s also used dur<strong>in</strong>g the visualization of pagesconta<strong>in</strong><strong>in</strong>g graphs <strong>in</strong> order to get the render sett<strong>in</strong>gs (like charts titles, data, etc.),by forward<strong>in</strong>g an asynchronous request to the servlet“ChartsDataGeneratorDispatcher”.53


In order to manage and support jsp pages and servlets, Apache Tomcat has beenused as “Web Application Server”.“Data Storage”, conta<strong>in</strong>s the profiles <strong>in</strong>formation of the users registered to theapplication and the social data, daily collected through a scheduler, <strong>in</strong>itializeddur<strong>in</strong>g the start up of the web server.54


4.5 Data storage In order to store all the <strong>in</strong>formation collected with the application, two type ofdata conta<strong>in</strong>er has been used:• XML (Extensible Markup Language): a markup language, produced by theW3C, for documents conta<strong>in</strong><strong>in</strong>g structured <strong>in</strong>formation, designed to storeand transport data [28], adopted to memorize the social profiles of theusers enrolled to the application. This solution <strong>in</strong> order to be able to getand reuse easily the profiles <strong>in</strong>formation for other future objectives.• MySQL: an open source relational database management system(RDBMS) that relies on SQL for process<strong>in</strong>g data, commonly used <strong>in</strong> webapplication [29], adopted with the creation of a database, called“socialDB”, conta<strong>in</strong><strong>in</strong>g specific tables enabl<strong>in</strong>g the application to store allthe socials quantitative data collected.55


4.6 Users’ list structure The “UsersList.xml” file conta<strong>in</strong>s all the social profiles <strong>in</strong>formation related to theusers that decide to jo<strong>in</strong> the application (see fig. 16). It is structured as follow:Figure 16 - Structure of the UsersList.xml fileü Tag USERS_LIST: is the root element conta<strong>in</strong><strong>in</strong>g all the users’ <strong>in</strong>formation.ü Tag USER: node element that conta<strong>in</strong>s data related to a s<strong>in</strong>gle user, bothpersonal <strong>in</strong>formation (like name, surname…) and social profiles.• Attribute id: it’s a unique key identifier generated with a hashfunction applied on the value conta<strong>in</strong>ed <strong>in</strong>to the “EMAIL” tag.ü Tag NAME: conta<strong>in</strong>s the name of the user.ü Tag SURNAME: its value is related to the user’s surname.ü Tag EMAIL: conta<strong>in</strong>s the user’s email.ü Tag COUNTRY: element value related to the user’s nationality.56


ü Tag PROFILES: node element that conta<strong>in</strong>s all the user’s social profiles.ü Tag SLIDESHARE: element that conta<strong>in</strong>s <strong>in</strong>formation related to theSlideShare user’s profile.• Attribute username: its value is related to the username thatidentify the user on SlideShare.ü Tag TWITTER: node element conta<strong>in</strong><strong>in</strong>g <strong>in</strong>formation related to the Twitteruser’s profile.• Attribute username: conta<strong>in</strong>s the Twitter user’s identifier.ü Tag YOUTUBE: node element that conta<strong>in</strong>s <strong>in</strong>formation related to theYouTube user’s profile.• Attribute username: its value is related to the YouTube user’sidentifier.ü Tag FACEBOOK: node element conta<strong>in</strong><strong>in</strong>g <strong>in</strong>formation related to theFacebook user’s profile.• Attribute id: conta<strong>in</strong>s the unique identifier of the Facebookuser’s profile.ü Tag ACCESS_TOKEN: element conta<strong>in</strong><strong>in</strong>g the Facebook’s access tokenrelated to the user’s profile. This value is present only if the user grants thepermission to the application.ü Tag IMAGE_URL: element value that conta<strong>in</strong>s the URL related to the user’sprofile thumbnail.57


4.7 Structure of the database In order to memorize the quantitative data daily collected from the <strong>di</strong>fferentsocials networks, a database called “socialDB” has been created.The def<strong>in</strong>ition of the tables has been done tak<strong>in</strong>g <strong>in</strong>to consideration the<strong>in</strong>formation that the APIs was able to extract.Dur<strong>in</strong>g the data analysis, tak<strong>in</strong>g <strong>in</strong>to consideration temporal aspects, moreimportant <strong>in</strong> order to construct the history charts, two ma<strong>in</strong> type of <strong>in</strong>formationhas been identify:1. Data with temporal references2. Data without temporal referencesFor the first category thanks to the availability of the creation time, the applicationsimply memorizes the date with the related <strong>in</strong>formation <strong>in</strong>to the specific table,while, for the second, a particular schema has been adopted <strong>in</strong> order to memorizetemporal variations of the value observed (see fig. 17).id * object_id date value type_valueFigure 17 - Schema of the table adopted for memorize data without temporal referencesTuples, <strong>in</strong>to this type of tables, are <strong>in</strong>serted as follow (see also fig. 18):ü The fist time the object is crawled, the field “type_value” is set to “<strong>in</strong>it”,and “value” conta<strong>in</strong>s the real numerical data collected.ü For each subsequent updates, related to the same object, the field“type_value” is set to “update” and “value” conta<strong>in</strong>s the upgrade(<strong>di</strong>fference between the new numerical data collected and the sum of allthe previous values <strong>in</strong>serted with the same object id).58


Figure 18 - Example of table conta<strong>in</strong><strong>in</strong>g data withouttemporal referencesDespite more data collected has been required the same table schema, due to thelarge amount of tuples <strong>in</strong>serted <strong>in</strong> it, the solution adopted was that to keepseparate tables conta<strong>in</strong><strong>in</strong>g <strong>di</strong>fferent types of <strong>in</strong>formation.59


4.7.1 “socialDB” tables Analys<strong>in</strong>g the APIs found for the <strong>di</strong>fferent socials networks, the follow<strong>in</strong>g tableshas been created <strong>in</strong> order to memorize all the social quantitative <strong>in</strong>formationavailable.YouTube ü yt_video_<strong>in</strong>fo: conta<strong>in</strong>s detailed <strong>in</strong>formation about the videos uploaded by theusers that decide to jo<strong>in</strong> the application. Due to the fact that the <strong>in</strong>sertion timeis available, the complete user’s uploads history can be memorized.ü yt_view: s<strong>in</strong>ce for video views no temporal references are available the tableconta<strong>in</strong>s the “<strong>in</strong>it” view value and the subsequent upgrades related to eachvideo.ü yt_comment: conta<strong>in</strong>s <strong>in</strong>formation about the number of comments received byeach crawled video.ü yt_video_response: memorizes quantitative <strong>in</strong>formation about the number ofvideo responses received by each video.ü yt_favorite: conta<strong>in</strong>s the “<strong>in</strong>it” count value of the favourite’s videos related toeach user that is registered to the application and the subsequent upgrades.ü yt_friend: memorizes <strong>in</strong>formation about the number of friendships jo<strong>in</strong>ed byeach registered user.60


Figure 19 – YouTube’s content tables created <strong>in</strong>to “socialDB”SlideShare ü ss_slide_<strong>in</strong>fo: conta<strong>in</strong>s detailed <strong>in</strong>formation about all the presentationuploaded by registered users. Thanks to the availability of the creation time,the complete user’s uploads history can be reconstruct.ü ss_download: conta<strong>in</strong>s <strong>in</strong>formation about the <strong>in</strong>itial number of downloads andsubsequent values upgrades related to each presentation.ü ss_comment: memorizes the number of comments received by eachpresentation and the relatives values upgrades.ü ss_favorite: conta<strong>in</strong>s <strong>in</strong>formation about how many users consider apresentation as favourite.ü ss_view: memorizes the <strong>in</strong>itial views’ values and their subsequent upgradesrelated to each presentation.61


ü ss_friend: conta<strong>in</strong>s <strong>in</strong>formation about the number of friends presents <strong>in</strong> thefriendships’ list and the relative value’s upgrades.Figure 20 - Tables related to SlideShare conta<strong>in</strong>ed <strong>in</strong>to “socialDB”Twitter ü tt_user: memorizes the ma<strong>in</strong> profiles’ <strong>in</strong>formation about the users registeredto the application.ü tt_state: conta<strong>in</strong>s the tweets “<strong>in</strong>it” value for each registered user and thesubsequent upgrades.ü tt_friend: memorizes the number of the user’s “follow<strong>in</strong>g” people and therelatives upgrades’ values.ü tt_follower: conta<strong>in</strong>s, for each user registered to the application, <strong>in</strong>formationabout the “<strong>in</strong>it” value of the users’ “followers” and of the subsequentupgrades.ü tt_favorite: memorizes the number of tweets that the user mentions asfavourite and the relative upgrades.62


Figure 21 – Twitter’s tables created <strong>in</strong>to “socialDB”4.7.1.1 Facebook ü fb_user: conta<strong>in</strong>s the ma<strong>in</strong> profile’s <strong>in</strong>formation related to the users registeredto the application.ü fb_status: memorizes all the status’ changes done by the users through theFacebook wall. S<strong>in</strong>ce the creation time is available the complete status’history can be reconstruct.ü fb_post: conta<strong>in</strong>s <strong>in</strong>formation related to all the posts done by the users, visiblelook<strong>in</strong>g the user’s profile page. Due to the possibility to get the creation timeit’s possible to reconstruct all the users’ posts history.ü fb_post_tag_given: memorizes, for each user registered to the application,<strong>in</strong>formation about the “<strong>in</strong>it” value of the posts tagged by the user and thesubsequent upgrades.63


ü fb_post_tag_received: conta<strong>in</strong>s <strong>in</strong>formation related to the number of tagsreceived by other users. S<strong>in</strong>ce no time references are available, the tablememorizes, for each user, the “<strong>in</strong>it” value and the subsequent upgrades.ü fb_event_jo<strong>in</strong>ed: memorizes <strong>in</strong>formation related to all the events jo<strong>in</strong>ed by theuser. The availability of the creation time permits to reconstruct all the user’sevents jo<strong>in</strong>ed history.ü fb_video: conta<strong>in</strong>s <strong>in</strong>formation about videos uploaded by the user. S<strong>in</strong>ce thecreation time is available the complete videos’ uploads history can bereconstruct.ü fb_video_tag: memorizes <strong>in</strong>formation about videos <strong>in</strong> which the user istagged. The presence of the creation time enables the complete reconstructionof the user’s video tags history.ü fb_photo: conta<strong>in</strong>s <strong>in</strong>formation about the number of photo uploaded by theuser. No temporal references are available.ü fb_photo_tag: memorizes the photo tags received by the user. Due to theavailability of the creation time is possible to reconstruct the completephoto’s tags history.ü fb_page_fan: conta<strong>in</strong>s <strong>in</strong>formation about the number of pages which the useris fan and the subsequent upgrades.ü fb_l<strong>in</strong>k: memorizes the l<strong>in</strong>ks published by the user on the social platform. Thepresence of the creation time permits the complete reconstruction of theuser’s l<strong>in</strong>ks history.ü fb_like: conta<strong>in</strong>s the number of “I’d like” received for the post published bythe user. Temporal references are implicitly given by the date associated tothe posts.64


ü fb_group: memorizes the number of groups jo<strong>in</strong>ed by the user and the relativeupgrades of the value.ü fb_friend: conta<strong>in</strong>s <strong>in</strong>formation about the total friends of the user. Notemporal references are available.ü fb_album: memorizes the albums uploaded by the user. Due to the presenceof the creation time the complete history can be reconstruct.ü fb_comment: conta<strong>in</strong>s all the comments’ <strong>in</strong>formation about the posts done bythe user. The creation time permits the reconstruction of all the commentshistory.Figure 22 – Facebook’s tables created <strong>in</strong>to “socialDB”65


4.8 Classes packages A UML <strong>di</strong>agram, that shows the default package of the application developed, ispresented <strong>in</strong> figure 23. It def<strong>in</strong>es packages conta<strong>in</strong><strong>in</strong>g def<strong>in</strong>itions for all utilityclasses and servlets that compose the core of the application.Figure 23 – Application’s packages structureAlthough it does not <strong>di</strong>rectly def<strong>in</strong>e any classes, nested sub-packages called“social” and “configs”, are def<strong>in</strong>ed with<strong>in</strong> the scope.Inside the package “configs”, there is a class called “ConfigProperties”provid<strong>in</strong>g, to classes of others packages (see image), connections <strong>in</strong>formationrelated to the database or to social networks, stored <strong>in</strong>to the file“application.properties”.The package “social”, does not def<strong>in</strong>e any class but, it conta<strong>in</strong>s a sub-packagecalled “util” <strong>in</strong> which important servlet, like “SocialUserDataValidation”,responsible to validate the social ids of a new users and,“SocialApplicationCon<strong>text</strong>Listener”, that <strong>in</strong>itialized the connections to the socialnetworks, are def<strong>in</strong>ed.66


Into “util”, others sub-packages are presents: “scheduler”, <strong>in</strong> which classesreliable to start up the job related to the daily social <strong>in</strong>formation updates, aredef<strong>in</strong>ed, and furthers sub-packages, one for each social network, def<strong>in</strong><strong>in</strong>g twoma<strong>in</strong> classes, the first one provid<strong>in</strong>g methods used by the scheduler dur<strong>in</strong>g thesocial <strong>in</strong>formation update, and the second one, used by the servlet“ChartsDataGeneratorDispatcher”, <strong>in</strong> order to reconstruct social historiesrequested by the user.Due to the necessity to get detailed <strong>in</strong>formation concern<strong>in</strong>g the users’ Facebookprofiles, the FQL 10 [30] language, enabl<strong>in</strong>g to read objects of the Facebook socialgraph, has been used.Its adoptions has required the creation of a “facebook” sub-package, called“FQL”, conta<strong>in</strong><strong>in</strong>g classes used <strong>in</strong> order to hold the results of the queries.10 FQL (Facebook Query Language): it enables to use a SQL-style <strong>in</strong>terface to query data of theFacebook Social Graph.67


4.9 Ma<strong>in</strong> features Descriptions on the ma<strong>in</strong> features of the application, as well as, on the mostimportant <strong>in</strong>teractions with the end user, are presented.4.9.1 New user registration The registration of a new user can be <strong>di</strong>vided <strong>in</strong>to two phases. The first one,where the user requires the registration page and fills the apposite form provid<strong>in</strong>gboth, personal <strong>in</strong>formation (like name, surname, etc.) and social <strong>in</strong>formation (likeid, username, etc.), checked <strong>in</strong> real time before the submit, and the second one, <strong>in</strong>which the application receives the registration’s request, and proceed with thememorization of the user <strong>in</strong>formation, ask<strong>in</strong>g, if the user has provided also theFacebook’s identifier, the authorization 11 for the application.11 Facebook Authorization: by default, the application can access all general <strong>in</strong>formation conta<strong>in</strong>ed<strong>in</strong> a user's profile, <strong>in</strong>clud<strong>in</strong>g name, profile picture, gender. If the application needs to access otherparts of the user's profile that may be private, the application can request extended permissions.68


First registration phaseThe sequence <strong>di</strong>agram of figure 24, describes how the first registration phase isperformed.Figure 24 - Steps performed dur<strong>in</strong>g the first registration phaseFollow a briefly description of the sequences of operations done:1. The user from the ma<strong>in</strong> page of the application clicks the “Add New User”button.2./3. The browser forwards the request to the application server that responseprovid<strong>in</strong>g the html code conta<strong>in</strong><strong>in</strong>g the form to be filled by the user.4. The user compiles the form fields.[for each social field <strong>di</strong>fferent from “Facebook”]5. The JavaScript function “validateField(…)” is called.69


6. An asynchronous POST request, is forwarded to the applicationserver <strong>in</strong> order to call the “SocialUserDataValidation” servlet, thatcheck if the social <strong>in</strong>formation provided exists.7. The JavaScript function “validateFieldCallback(…)” is called andwaits the response of the validation servlet.8. The validation response is catch by the “validateFieldCalback(…)”function that, depend<strong>in</strong>g on the result visualizes a graphicalfeedback to the user.[field==“Facebook”]9. The user, after the specification of his Facebook’s name, clicks the“Get Facebook Id” button <strong>in</strong> order to select his profile on thesocial network.10. The JavaScript function “showListFacebookUser(…)” is called.11. A frame is opened and the page “SelectFacebookId” is requested tothe application server.12. The page “SelectFacebookId”, conta<strong>in</strong><strong>in</strong>g all the users with thename previously specified, is visualized <strong>in</strong>side the frame.13. The user selects his Facebook’s profile.14. The JavaScript function “setFacebookId(…)” is called. The id ofthe user is set <strong>in</strong>to a hidden field presents <strong>in</strong> the parent w<strong>in</strong>dow“New User Page” and the frame is closed.15. The user clicks the “Insert New Data” button.16. The new user registration is performed.70


Figure 25, shows the sequences of operations done by the servlet“SocialUserDataValidation”.Figure 25 - Steps performed <strong>in</strong> order to validate the social profiles71


The APIs used <strong>in</strong> order to get <strong>in</strong>formation from the <strong>di</strong>fferent social networks,doesn’t provide methods that give the possibility to check if a socialusername/user id, really exists.In order to solve this problem, some tests have been done, identify<strong>in</strong>g that,<strong>in</strong>formation requested through <strong>in</strong>valid usernames/users id, raises exceptions.Due to this consideration, the implemented validation servlet (see fig. 25), try toget social content with the specified username/user id, if the method fail, theexception handler sets “retValue” (previously set to true) to false, and thevalidation’s result, is sent back to the client.72


Second registration phaseThe memorization of the new user’s <strong>in</strong>formation is performed by the servlet“UserRegistration” (fig. 26), that receives data through a client POST.The method “checkUserRegistration()”, evaluates if the user is already presentcalculat<strong>in</strong>g a hash function over the email’s value (<strong>in</strong> this way is created the user’sidentifier), and mak<strong>in</strong>g a comparison with all the ids of the users registered.If the user is not present, the registration of the new data is performed, and aconfirmation page is showed, else, the user is re<strong>di</strong>rect to a fail page, show<strong>in</strong>g thefailure’s motivations.Figure 26 - Class <strong>di</strong>agram related to the servlet“UserRegistration”Whether the user provides also his Facebook’s id, between the registration phaseand the confirmation page visualization, some ad<strong>di</strong>tional steps has to becomputed, this due to the fact that with Facebook, by default, an application canaccess all the user’s profile general <strong>in</strong>formation (<strong>in</strong>clud<strong>in</strong>g name, profile picture,gender, etc.) but, if it needs to access others <strong>in</strong>formation, that may be private, an“extended permissions” request, has to be performed.In order to authorize the application to get access to the user’s id, the Facebookplatform uses the OAuth 2.0 12 protocol, associat<strong>in</strong>g to each user an access token,used to get <strong>in</strong>formation from his profile.12 OAuth 2.0: is a simpler version of OAuth that leverages SSL for API communication <strong>in</strong>stead ofrely<strong>in</strong>g on complex URL signature schemes and token exchanges.73


Figure 27, shows how the Facebook application’s authorization is performed.Figure 27 - Sequence Diagram of the ma<strong>in</strong> steps done dur<strong>in</strong>g the Facebook application authorizationFollow a briefly description about the sequences of operations carried out:1./2. The “UserRegistration” servlet makes a re<strong>di</strong>rect to the page“RequestFacebookToken” that is visualized on the client’s browser.3. The user clicks the decision button <strong>in</strong> order to grant or not the Facebook’sauthorization.[if “Proceed”]4. The Facebook’s authorization page is requested us<strong>in</strong>g the URLshows <strong>in</strong> figure 28 that specify the “client_id” associated to theapplication, the “re<strong>di</strong>rect_uri” that is the URL where the usershould be re<strong>di</strong>rect after the authorization process, the user’s“facebook_id” and the “scope” argument <strong>in</strong>clud<strong>in</strong>g a commaseparated list of all the permissions requested.https://graph.facebook.com/oauth/authorize?client_id=…&re<strong>di</strong>rect_uri=http://musall.webhop.org/Tesi2Level/getOautCodeFa?facebook_id=…&scope=user_events,read_friendlists,read_stream,…,offl<strong>in</strong>e_accessFigure 28 - URL utilized <strong>in</strong> order to request the Facebook authorization page74


5. The Facebook’s server responses with a page visualized on theclient’s browser, through which the user can confirm theauthorization to access the specific <strong>in</strong>formation concern<strong>in</strong>g hisprofile.6./7. The user confirms the authorization to the application. A re<strong>di</strong>rect tothe servlet “getOautCodeFa”, previously def<strong>in</strong>ed <strong>in</strong>to the“re<strong>di</strong>rect_uri”, is performed. A verification str<strong>in</strong>g parameter,called “code”, necessary to get the OAuth access token, is attachedto the request.The servlet “getOautCodeFa”, opens a connection through theURL shows <strong>in</strong> figure 29, pass<strong>in</strong>g as request parameters the“cliend_id” and “client_secret” related to the application, thesame “re<strong>di</strong>rect_uri” used <strong>in</strong> the step 4 and the “code” valuereceived has parameter.https://graph.facebook.com/oauth/access_token?client_id=…&re<strong>di</strong>rect_uri=http://musall.webhop.org/Tesi2Level/getOautCodeFa?facebook_id=…&client_secret=…&code=…Figure 29 - URL utilized <strong>in</strong> order to request the OAuth access token8. Once the user access token returned by the request above isreceived, the servlet proceed with its memorization <strong>in</strong>to the“usersList.xml” file, as a child element of the user’s“FACEBOOK” node and a re<strong>di</strong>rect to the “RegistrationUserDone”page, is performed.[else]9. A re<strong>di</strong>rect to the “RegistrationUserDone” page is performed but,s<strong>in</strong>ce the user doesn’t provide the Facebook’s authorization, thesocial profile is not considered by the application.75


4.9.2 Social user’s history visualization In order to visualize the social history of a user, a pure JavaScript library calledHighCharts, enabl<strong>in</strong>g to add <strong>in</strong>teractive charts to websites, has been used.Highcharts is solely based on native browser technologies and doesn't requireclient side plug<strong>in</strong>s like Flash or Java [31]. It needs only two JavaScript files torun: the “highcharts.js”, that is the core of the library, and “jQuery”, a librarythat makes quicker and easier to write JS code.Data to be visualized <strong>in</strong>to charts, are provided by the servlet“ChartsDataGeneratorDispatcher”, called through a jQuery GET method, thatdepend<strong>in</strong>g on the types of charts requested, <strong>in</strong>stantiates a specific data historyclass constructor.Figure 30, shows the steps performed, when a page conta<strong>in</strong><strong>in</strong>g histories charts, isrequested.Figure 30 - Sequence Diagram represent<strong>in</strong>g the ma<strong>in</strong> steps done <strong>in</strong> order to show a page conta<strong>in</strong><strong>in</strong>ghistories chartsFollow a briefly description about the sequences of operations performed:1. The user clicks on the browser the YouTube’s “Ma<strong>in</strong> History” button.76


2. A request for the page “UserYtMa<strong>in</strong>History” is forwarded to theApplication Server.3. The page “UserYtMa<strong>in</strong>History” is returned to the client’s browser.4. The JavaScript function “onLoad()”, is executed.5. An asynchronous request toward the servlet“ChartsDataGeneratorDispatcher” is performed, specify<strong>in</strong>g asparameters the user’s identifier and the type of charts needed.6./7. The servlet, <strong>in</strong>stantiates an object of a specific data history classconstructor, depend<strong>in</strong>g on the charts’ type requested (<strong>in</strong> the example,<strong>in</strong>stantiate “YouTubeDataQuery”).8./9. The method “getYouTubeMa<strong>in</strong>History()” is <strong>in</strong>voked <strong>in</strong> order to collect datastored <strong>in</strong>to the “socialDB”, necessary to visualize the requested userhistory charts.10. Data related to the user’s history are returned to the client, and through theHighcharts library, the charts are rendered.77


4.9.3 Socials <strong>in</strong>formation update The daily update of the social profiles <strong>in</strong>formation, necessary <strong>in</strong> order toreconstruct the social history of the users, is done automatically through theutilization of “Quartz”, an open source job-schedul<strong>in</strong>g framework, based entirelyon Java [23].The scheduler, is <strong>in</strong>itialized dur<strong>in</strong>g the server start up by the “QuartzInit” servlet,that create a job called “UpdateSocialDBJob” and set-up the hour for the dailytrigger.Figure 31, shows the sequence of operations done by the class“SocialDBUpdateJob” <strong>in</strong> order to update the socials <strong>in</strong>formation.Figure 31 - Sequences of steps performed by the class SocialDbUpdareJob <strong>in</strong> order to collect the newsocials <strong>in</strong>formation.78


When the job is triggered, the method “execute()” of the class“SocialDBUpdateJob” is <strong>in</strong>voked, and the follow<strong>in</strong>g operations are performed:2./3. A new object “ConfigProperties”, enabl<strong>in</strong>g to get all the configurationproperties of the application, is created.4./5. A connection to the “socialDB”, necessary to store the new socialsquantitative <strong>in</strong>formation, is created.6./7. The “UsersListDocument” file, conta<strong>in</strong><strong>in</strong>g all the <strong>in</strong>formation related tothe users registered to the application, is opened.8. The method “getRootElement()” of the “UsersListDocument” is<strong>in</strong>voked.9./10. A new object called “UsersListRoot”, conta<strong>in</strong><strong>in</strong>g the root element ofthe “UsersList.xml” file, is created.11./12. An “ElementFilter” for the social network YouTube is created andused <strong>in</strong> order to filter the social profiles.13. The method “checkUpdate()” of the class “YouTubeUp” is <strong>in</strong>voked,pass<strong>in</strong>g as parameters the YouTube’s profiles, the database connectionand the “configsProperties” object necessary <strong>in</strong> order to <strong>in</strong>stantiate theconnection with social network. The new <strong>in</strong>formation related to theYouTube’s profiles are updated.14./15. The filter is set for the social network SlideShare.16. The method “checkUpdate()” of the class “SlideShareUp” is <strong>in</strong>vokedand the update of the social network <strong>in</strong>formation is performed.17./18. The filter is set for Twitter.79


19. The method “checkUpdate()” of the class “TwitterUp” is <strong>in</strong>voked andnew <strong>in</strong>formation related to the Twitter’s profiles are stored <strong>in</strong>to thedatabase.20./21. The filter is set for Facebook.22. The method “checkUpdate()” of the class “FacebookUp” is called andthe social network <strong>in</strong>formation are updated.80


5 EXPERIMENTS AND EVALUATIONS In order to verify if the “unified visibility panel” and the available types of historycharts provide to users useful <strong>in</strong>formation <strong>in</strong> relation to their social activities, theweb application has been tested for about three weeks.Dur<strong>in</strong>g this period, quantitative data concern<strong>in</strong>g <strong>di</strong>fferent users’ categories,<strong>in</strong>clud<strong>in</strong>g students, professors, come<strong>di</strong>ans, politicians and s<strong>in</strong>gers, have beencollected, previously memoriz<strong>in</strong>g their <strong>di</strong>fferent social profiles, <strong>in</strong>to theapplication.Unfortunately, for certa<strong>in</strong> categories, not all the social networks considered by theapplication, have been taken <strong>in</strong>to account dur<strong>in</strong>g the test’s phase, this due to someprivacy limitations and to the fact that some social tools are not typically adoptedby them.The collection of data relat<strong>in</strong>g to the Facebook’s profiles, for example, has beencarried out only on some students, this because Facebook requires the utilizationof a personal authorization token <strong>in</strong> order to access the profile <strong>in</strong>formationthrough the API, that is released only after the user’s authorization.Also for SlideShare, due to the nature of the contents shared (generally onlyslide’s presentation), have been identified only some social profiles related to theprofessors’ category.81


Follow some example of temporal graphs, that show the ma<strong>in</strong> aspects highlighteddur<strong>in</strong>g the period observed, with some considerations made on them.82


5.1 Politics and social networks The figure 32 provides an example of “unified visibility panel” related to apolitic. In particular, it visualizes <strong>in</strong>formation about all the quantitative datacollected concern<strong>in</strong>g the social profiles of the U.S. President, Barack Obama,crawled by the application.Figure 32 - "Unified visibility panel" conta<strong>in</strong><strong>in</strong>g the <strong>in</strong>formation of the profiles of Barack Obama,crowled dur<strong>in</strong>g the test phase by the applicationThe high value of the “social productivity” <strong>in</strong><strong>di</strong>cator, suggest that, the president(or <strong>in</strong> any case their collaborators) uses much the social networks <strong>in</strong> order to stayconnect and keep <strong>in</strong>formed their electors on his political activity, both, us<strong>in</strong>gvideos, shared on YouTube, and post<strong>in</strong>g short messages, through Twitter.As a confirmation of his elevated social activity over Internet, there are the“visibility” <strong>in</strong><strong>di</strong>cators that, for both, YouTube and Twitter, present values veryhigh.The figures 33 and 34, represent temporal charts rendered by the application,tak<strong>in</strong>g <strong>in</strong>to consideration the ma<strong>in</strong> content’s types, on which, the two socialnetworks utilized by the user, are focused.83


Figure 33 - Complete history about the video's upload performed on YouTube through the"barackobamadotcom" profileFigure 34 - Daily tweets performed through the Twitter's profile of Barack Obama dur<strong>in</strong>g theobserved periodIn particular, the first chart shows the complete history about the video’s uploadsperformed through the profile “barackobamadotcom”, over YouTube, start<strong>in</strong>gfrom its creation date, thanks to the availability of the temporal <strong>in</strong>formationconcern<strong>in</strong>g the upload’s date of each video; the second, represents the history ofthe tweets performed, through the twitter’s profile of Barack Obama, start<strong>in</strong>g fromthe date of registration to the application developed, this, due to the fact that, theTwitter’s API rate-limit doesn’t provide the possibility to get detailed <strong>in</strong>formation.Both charts, despite the time span considered is <strong>di</strong>fferent, suggest that socialnetworks are used widely for propaganda. In fact, observ<strong>in</strong>g the figure 33, it’spossible to notice how, the United States Presidential Elections of the 2008, hasbeen conduced also through social networks and how, the same methods has beenadopted, even if <strong>in</strong> lesser extent, for the recent Midterm Elections.84


Evidence on the use of social networks, as effective means for the politics, may beobta<strong>in</strong>ed observ<strong>in</strong>g the graphs of figure 35, represent<strong>in</strong>g the number of “views”and “comments” received by videos posted imme<strong>di</strong>ately after the last U.S.Primary Elections (November, 2010).Figure 35 - Variation of views and comments about the "barackobamadotcom" profile, observed dur<strong>in</strong>gthe data collectionBoth temporal <strong>di</strong>agrams, suffer a notable <strong>in</strong>crease <strong>in</strong> proximity of the subsequentdays of the Primary, suggest<strong>in</strong>g that, the videos uploaded concern<strong>in</strong>g the PrimaryElections results have been, not only observed by many users than normal, butalso object of numerous comments, <strong>in</strong><strong>di</strong>cat<strong>in</strong>g that a social network can be a good<strong>in</strong>strument to try to reduce <strong>di</strong>stances between voters and elected, accept<strong>in</strong>gsuggestions and constructive criticisms.Always observ<strong>in</strong>g graphs obta<strong>in</strong>ed through the application, by crowl<strong>in</strong>g some<strong>Italian</strong> political figures, it has been noted that, even though with less enphasis, theuse of social networks to <strong>di</strong>ffuse political op<strong>in</strong>ions through Internet, <strong>in</strong> order toreceive also some criticism and suggestions by voters, is spread<strong>in</strong>g also <strong>in</strong> Italy,through the creations of profiles belong<strong>in</strong>g to politicians or political parties.85


5.2 Professors on SlideShare The figure 36 visualizes the history charts related to the uploads of presentationson SlideShare performed by three university’s professors taken <strong>in</strong>to considerationdur<strong>in</strong>g the test’s phase.Figure 36 – Temporal charts that visualize the history of the presentations’ uploadson SlideShare done by three professors.The limited number of uploads suggests that professors doesn’t like to sharepresentations related to the lessons topics through SlideShare but, if necessary,they prefer to use others tra<strong>di</strong>tional methods, like for example share them throughthe universities’ websites.Despite the limited number of uploads and the wide period that could be betweenthem, the daily views charts have highlighted that all the profiles’ presentations,86


<strong>in</strong>dependently by the last upload, received a good number of daily views(consider<strong>in</strong>g the relationship uploads/views) (see fig. 37).The aspect highlighted suggests that professors tend to share presentations thatconta<strong>in</strong> <strong>in</strong>formation related to <strong>in</strong>novative aspects, that also after a certa<strong>in</strong> periodare still valid and useful for others that utilize the social network.The consideration presented above, has had an objective verification through thevisualization of the some detailed views charts (see fig. 38), that have highlightedthat many presentations uploaded are related to meet<strong>in</strong>gs about <strong>in</strong>novations (ex.on Social BPM).Figure 37 – Temporal charts that visualize the presentations’ views of the threeprofessors87


Figure 38 – Temporal charts that visualize the detailed views related to a social profile88


5.3 Connection between profiles Nowadays, the various types of social networks and their cont<strong>in</strong>uous expand, aswell as the release of APIs that enable the applications to <strong>in</strong>terface with them,have contributed to spread the possibility to l<strong>in</strong>k social profiles, created over<strong>di</strong>fferent social networks, so that they can <strong>di</strong>stribute updates made on one, to allthe others connected.Dur<strong>in</strong>g the analysis period, some profiles, related to the same person, havehighlighted values of visibility almost identical (consider<strong>in</strong>g the default weightsof the application).In particular, this peculiarity has been highlighted with some profiles of Facebookand Twitter, social networks focus<strong>in</strong>g on <strong>in</strong><strong>di</strong>viduals, that among their features,allow users to post on the profile’s home, public messages.The figure 39, shows the “unified visibility panel” of a user, that dur<strong>in</strong>g thecrawl<strong>in</strong>g of the data, has highlighted the characteristic expla<strong>in</strong>ed above.Figure 39 - "Unified visibility panel" that shows <strong>in</strong>formation collected about the social profiles of astudentObserv<strong>in</strong>g the two <strong>in</strong><strong>di</strong>cators of visibility, a user can notice that the values aremore or less identical. This observation may not be considered to be reliable <strong>in</strong>order to establish whether the two profiles are actually <strong>in</strong>terconnected.89


In fact, each <strong>in</strong><strong>di</strong>cator, is <strong>in</strong>fluenced by <strong>di</strong>fferent quantitative data collected andproperly weighed, which <strong>di</strong>ffer from a social network to a social network, on thebasis of the <strong>in</strong>formation made available by its API.In order to know, if the two user profiles are really <strong>in</strong>terconnected, is necessary toobserve some temporal charts related to their "ma<strong>in</strong> history".In particular, consider<strong>in</strong>g Twitter and Facebook, the comparison must be donevisualiz<strong>in</strong>g, for the first, the history chart of the tweets (“status updates”), whilefor the second, the chart of the status updates performed by the user on his wall("updates of status from wall").The figure 40, shows the charts necessary to make the comparisons, related to theuser of which, the “unified visibility panel” is presented above (fig. 39).Figure 40 - Posts done with the Twitter's and Facebook's profiles by the same user dur<strong>in</strong>g the observedperiod.The evenness of the two <strong>di</strong>agrams rendered, concern<strong>in</strong>g the period of the datacollection (3 weeks), suggest that there is a very high probability that the user has90


<strong>in</strong>terconnected the two social networks, even if, <strong>in</strong> order to be more certa<strong>in</strong>, alonger period, should be considered.Observ<strong>in</strong>g the only temporal graphs, there is no possibility to understand ifconnections between social networks are bi<strong>di</strong>rectional or not; it may happen forexample that a user use only a s<strong>in</strong>gle social network and from this, he spreadtoward all his others social profiles the updates performed, as well as, that heutilizes <strong>di</strong>fferent social networks, connected all together, and all enabled topropagate updates toward the others.The highlighted connection <strong>in</strong>to the example, has concerned social networks thatfocus their attention on <strong>in</strong><strong>di</strong>viduals; noth<strong>in</strong>g prevents that this type of comparisoncan be repeated also for evaluate the presence of mixed connections (ex. socialnetwork focus<strong>in</strong>g on content toward that focus<strong>in</strong>g on <strong>in</strong><strong>di</strong>viduals and viceversa) orbetween more than two networks. In both cases, the verification based only on theobservation of the history charts, is more <strong>di</strong>fficult.91


6 CONCLUSIONS The ma<strong>in</strong> objectives of this thesis project have been the study of the reputationproblem with<strong>in</strong> social networks, the def<strong>in</strong>ition of analysis metrics and models, andthe creation of a web application capable to render history charts related toquantitative data (like uploads, views, comments, posts, etc.), daily collected,about all the social profiles provided by users that decides to jo<strong>in</strong> it.In particular, dur<strong>in</strong>g the project implementation, <strong>di</strong>fferent types between the mostcommon social networks have been chosen, analys<strong>in</strong>g the <strong>in</strong>formation madeavailable by their APIs and def<strong>in</strong><strong>in</strong>g a specific data structure capable to memorizeall the daily variations of the social values observed.Into the web application realized, they have been created two sections, the firstone hav<strong>in</strong>g functionality of “contents aggregator”, that visualize real-timeupdates of the social profiles related to the user selected and, the second one,hav<strong>in</strong>g the ma<strong>in</strong> objective to summarize, through the “unified visibility panel”,the onl<strong>in</strong>e social activity of the user, provid<strong>in</strong>g a prospectus for each socialnetwork jo<strong>in</strong>ed by him, through an overview of the quantitative data collected, aswell as, <strong>in</strong><strong>di</strong>cators of social “productivity” and “visibility”. Influenc<strong>in</strong>g variables,for both <strong>in</strong><strong>di</strong>cators, have been chosen conduc<strong>in</strong>g an accurate analysis tak<strong>in</strong>g <strong>in</strong>toconsideration, not only the social <strong>in</strong>formation daily collected through thescheduler, but also the type of content on which the social network focus.92


By <strong>in</strong>troduc<strong>in</strong>g the concept of social network, they have been presented the ma<strong>in</strong>characteristics and provided some examples of them, tak<strong>in</strong>g also <strong>in</strong>toconsiderations those used dur<strong>in</strong>g the implementation phase.Subsequently, the def<strong>in</strong>ition of social network analysis has been provided,describ<strong>in</strong>g which are the key po<strong>in</strong>ts of it, and present<strong>in</strong>g some examples conducedby universities and expertise.F<strong>in</strong>ally, before start<strong>in</strong>g the real implementation of the thesis project, an overviewon the <strong>in</strong>formation made available by the APIs of the <strong>di</strong>fferent social networksidentified, has been conduced, this <strong>in</strong> order to choose four of them, with <strong>di</strong>fferentfeatures, able to give enough <strong>in</strong>formation, related to the users’ profiles.The f<strong>in</strong>al choice is relapsed on Twitter, Facebook, SlideShare and YouTube.93


6.1 Evaluations The implementation phase has highlighted that onl<strong>in</strong>e social networks, <strong>in</strong>particular that focus<strong>in</strong>g on <strong>in</strong><strong>di</strong>viduals, have large limitations <strong>in</strong> terms of APIs’utilization employed <strong>in</strong> order to get social <strong>in</strong>formation about the user’s profiles.Facebook, for example, permits to collect data only after the user’s authorization,through a personal token, <strong>in</strong>dependently by the profile’s privacy restrictions.Twitter <strong>in</strong>stead, if the application is not “whitelisted” (this mean no ratelimitation),allows to perform a limited number of queries per hour, set to 160.Despite the limitations highlighted, the f<strong>in</strong>al objectives of the thesis project can beconsidered reached.Analysis and choices of the data to be collected, performed tak<strong>in</strong>g <strong>in</strong>toconsideration the <strong>in</strong>formation provided by the <strong>di</strong>fferent social network API’s, aresufficient <strong>in</strong> order to show a prospectus, enough detailed, about the social activityof the user that decide to jo<strong>in</strong> the application, this, through the “unified visibilitypanel” and the possibility to render temporal graphs about their social historyover <strong>di</strong>fferent onl<strong>in</strong>e social networks.“Visibility” and “productivity” <strong>in</strong><strong>di</strong>cators, not only provide to users a <strong>di</strong>rectfeedback on their social activity without the necessity to view <strong>in</strong> detail temporalgraphs of each social network profile, but also enable them to make comparisonswith others, subscribed to the platform.94


6.2 Future developments At the current state, analysis metrics, models and data conta<strong>in</strong>ers, have beendef<strong>in</strong>ed on the basis of the currently <strong>in</strong>formation made available by the APIsprovided for Twitter, Facebook, YouTube and SlideShare, social networks taken<strong>in</strong>to consideration by this thesis project. Also the web application realized is ableto manage social profiles belong<strong>in</strong>g to the networks listed above.It would be <strong>in</strong>terest<strong>in</strong>g to expand the number of the social networks analysed,tak<strong>in</strong>g also <strong>in</strong>to consideration others types of them, like for example L<strong>in</strong>kedIn,that enable to share curriculum vitae or Flickr that focus on photo shar<strong>in</strong>g.The <strong>in</strong><strong>di</strong>cators of “visibility” and “productivity” may be reviewed, substitut<strong>in</strong>gnumerical values with graphical bars, memoriz<strong>in</strong>g dur<strong>in</strong>g the users’ registrationphase, <strong>in</strong>formation related to their job profession (student, professor, actor, politic,come<strong>di</strong>an, etc.), <strong>in</strong> order to be able to perform a normalization of the value to bevisualized, consider<strong>in</strong>g only users belong<strong>in</strong>g to the same category, and avoid<strong>in</strong>gsudden changes (values too high or too low), due to possible <strong>in</strong>homogeneitybetween subscripted.Another aspect that could be improved, refers to the visualization of the datacollected, <strong>in</strong>troduc<strong>in</strong>g new graph’s types or provid<strong>in</strong>g the possibility to users withmore social profiles, to visualize similar voices values, referr<strong>in</strong>g to <strong>di</strong>fferent socialnetworks (such as comments for YouTube and SlideShare), on the same chart,this <strong>in</strong> order to make comparisons easily.F<strong>in</strong>ally, consider<strong>in</strong>g the registration phase, it would be <strong>in</strong>terest<strong>in</strong>g to <strong>in</strong>troduce amethodology capable to suggest to new users, their possible profiles over thesocial networks considered by the application, tak<strong>in</strong>g <strong>in</strong>to account <strong>in</strong>formationjust provided by them (like name, surname, location, etc.), as well as, the95


possibilities to limit the visibility of the updated and statistical <strong>in</strong>formation toitself.96


BIBLIOGRAPHY [1] Wikipe<strong>di</strong>a - WEB 2.0 - http://en.wikipe<strong>di</strong>a.org/wiki/Web_2.0, 09/2010[2] Harokd Jarche's Blog - Introduc<strong>in</strong>g to Social Network<strong>in</strong>g -http://www.jarche.com/2010/06/<strong>in</strong>troduction-to-social-network<strong>in</strong>g/, 06/2010[3] CERADO - Social Network<strong>in</strong>g for bus<strong>in</strong>ess and associations -http://www.cerado.com/download/Cerado-Haystack-Executive-Brief<strong>in</strong>g-Social-Network<strong>in</strong>g-for-Bus<strong>in</strong>esses-and-Associations.pdf, 2010[4] Wikipe<strong>di</strong>a - Social Network Analysis -http://en.wikipe<strong>di</strong>a.org/wiki/Social_network, 09/2010[5] Boyd & Ellison - Social Network Sites: def<strong>in</strong>ition, history, and scholarship,2007[6] Shaun Connolly's Blog - 7 Key attributes of Social Web Applications,05/2008[7] Facebook – Facebook def<strong>in</strong>ition - http://www.facebook.com, 10/2010[8] Wikipe<strong>di</strong>a - Facebook - http://en.wikipe<strong>di</strong>a.org/wiki/Facebook, 10/2010[9] Wikipe<strong>di</strong>a - Twitter - http://en.wikipe<strong>di</strong>a.org/wiki/Twitter, 10/2010[10] Wikipe<strong>di</strong>a - Youtube - http://en.wikipe<strong>di</strong>a.org/wiki/YouTube, 10/2010[11] SlideShare - What is SlideShare? -http://slideshare.zendesk.com/entries/55597-what-is-slideshare, 10/2010[12] Horus - Social BPM def<strong>in</strong>ition - http://www.horus.biz/en/horusi<strong>in</strong>sidei/performance-range/horus-endeavor/social-bpm.html,11/201097


[13] MegaStorm Blog - The future of Social BPM -http://www.becauseprocessmatters.com/the-future-of-social-bpm/, 07/2010[14] Clay Richardson's Blog - Is Social BPM a methodology, a technology, orjust a lot of hype? - http://blogs.forrester.com/clay_richardson/10-05-20-social_bpm_methodology_technology_or_just_lot_hype, 05/2010[15] Enterprise 2.0 Conference's blog - What is Enterprise 2.0? -http://www.e2conf.com/, 06/2009[16] About.com's blog - What is Enterprise 2.0? -http://webtrends.about.com/od/office20/a/enterprise-20.htm, 10/2010[17] Alan Mislove, Marcon, Gumma<strong>di</strong> - Measurements and analysis of onl<strong>in</strong>eSocial Networks, 10/2007[18] Leskovec, Huttenlocher, Kle<strong>in</strong>berg - Pre<strong>di</strong>ct<strong>in</strong>g positive and negative l<strong>in</strong>ks<strong>in</strong> Onl<strong>in</strong>e Social Networks, 04/2010[19] Xiang, Neville, Rogati - Model<strong>in</strong>g relationship strength <strong>in</strong> onl<strong>in</strong>e SocialNetwork, 4/2010[20] MySQL – MySQL: open source database - http://www.mysql.com/, 08/2010[21] JDOM - Access<strong>in</strong>g, manipulat<strong>in</strong>g, and outputt<strong>in</strong>g XML -http://www.jdom.org/, 09/2010[22] Log4J – Logg<strong>in</strong>g service - http://logg<strong>in</strong>g.apache.org/log4j/1.2/, 09/2010[23] Quartz – Enterprice job scheduler - http://www.quartz-scheduler.org/,09/2010[24] YouTube API – Java Google Data API - http://code.google.com/<strong>in</strong>tl/it-IT/apis/gdata/articles/java_client_lib.html#dependencies, 10/2010[25] Twitter API - Twitter4J API - http://twitter4j.org/en/<strong>in</strong>dex.jsp, 10/2010[26] Facebook – Facebook RestFB API - http://restfb.com, 10/201098


[27] SlideShare – SlideShare API - http://code.google.com/p/jslideshare/,10/2010[28] W3C - What is XML? -http://www.w3schools.com/xml/xml_whatis.asp,10/2010[29] Wikipe<strong>di</strong>a - MySQL - http://en.wikipe<strong>di</strong>a.org/wiki/MySQL, 10/2010[30] FACEBOOK – Facebook Query Language -http://developers.facebook.com/docs/reference/fql/, 10/2010[31] HighChart – Interactive JavaScript charts for your website -http://www.highcharts.com/, 09/201099

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!