Home

Nimertis_Fadrique del Campo(ele)

image

Contents

1. 36 Figure 12 Authentication process Facebook 37 Figure 13 Request token Twitter 38 Fig re 14 Sign IN TWItEGE uu uu u rere oe er pea espe aree ex aget a ER ER Rees 38 Fig re 15 Redirectuser IWItt r u u uuu u ua ad ecu nde 39 Figure 16 States of sign 39 Figur TZ Access token Twitter a ua eet 40 Figure 18 Figure 19 3Jlegged authorizatiOri oe Reve eo ee 41 Oauth dialog Linkedln e tnr E 42 Figure 20 Authentication flow Linkedln 42 Figure 21 Figure 22 Figure 23 Flowchart Register e eren erras ee ene e Se den ER ERR EROR EE eed 46 Flowchart Login and Use the application 46 Apache console and localhost verification 48 Figure 24 MySQL englhis uuu rt c RR RECETA ER CREE 50 Figure 25 Database Structure rr RR RESA RR RR RR KR SKAR RR RR RR RK SSBR RR RR RESA DBR KR R
2. and Library 26 3 1 2 Twitter and Library 27 3 1 3 Linkedin API GAG LIDOGPy e aa 30 AUTHENTICATION AND AUTHORIZATION 35 4 1 INTRODUCTION En 35 4 2 AUTHENTICATION AND AUTHORIZATION oosererereeereerreerererreereerrrrrrrrerrrrrrrerr sessi si serena n 35 4 21 Authentication Facebook ii o i e ti odi ad a o ra c da i e edo t oda a a ea qaa 36 4 2 2 Authentication Twitter 4 2 3 Authentication Linkedl n RR RR RR RR KR RR RR RR RR RR KR RR KR RR 41 APPLICATION DESIGN u cede sccececccckesviescdesessdudegudsstsecceceedesveesccusiscubegsessedecsccseesssoicsassissueessessetecseess 44 5 1 INTRODUCTION ons ro a ITE 44 5 2 IMAINISTR CTURE 24 SG 44 5 3 DIAGRAMS E tees E 45 531 E RAN AAARS rd 5 3 2 Log in and Use of the application 5 4 INTERFACE 5 5 5 5 1 5 5 2 5 5 3 5 5 4 DESCRIPTION OF THE SOCIAL NETWORK AGGREGATOR
3. 55 6 1 INTRODUCTION Aarnes NR FRASER SKR 55 6 2 JOIN ASA DEVELOPER bs iiaa 6 3 LOGIN AND REGISTER STEPS 6 4 MAIN PAGE eere ee tens 6 5 EASY SOCIAL Cc 6 6 FAST POST EET DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 6 7 NORMAL SOCGIAE NETWORKS ee ai 75 EVALUATION OF THE APPLICATION 78 7 1 INTRODUCTION EGET 78 7 2 EVALUATION OF THE APPLICATION cccccccecsssececececesnsseseecececeeussescececeaeeueneececeeeaeegeneeceeeseaeegsneeceeeseaqenes 78 7 2 1 ScenaHo p Leia Sake ae SRI ANG 78 72 2 o o TEP EMEP EET naque 79 Z 2 3 Usability Tests batu Danu an ua q aaa needed ig 80 42 45 Number of Usersu su gn usu nes AREA dn waqa aS Slanke Einen 80 Z 255 Method S cis dise iata al mO APG Sa a Oh tv aden aa dedii d wd Qam 81 7 3 EVALUATION RESULTS dc Si sene 82 731 Application Results uu ug a SSD unum qa kusaq ee 82 7 4 ENHANCED VERSION aa REG 91 CONCLUSIONS AND FUTURE LINES 93 8 1 INTRODUCTION Saeed en 93 8 2 GONGIWSIONS use 93 8 3 FUTURE LINES une 94 Ie eMUEIUE M 96 APPENDIX Ar USER
4. 302 Found User sees signed in Ul Figure 17 Access token Twitter 3 legged authorization The 3 legged OAuth flow allows the application to obtain an access token by redirecting a user to Twitter to authorize the application This flow is almost identical to the flow described in Implementing Sign in with Twitter with two exceptions e The GET oauth authorize endpoint is used instead of oauth authenticate e The user will always be prompted to authorize access to the application even if access was previously granted The states for the 3 legged authorization are shown in the following figure 40 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The user is Twitter Signed in Site collects OAuth token J User clicks Sign in with Twitter Not signed in Figure 18 3 legged authorization 4 2 3 Authentication LinkedIn The LinkedIn API uses OAuth as its authentication method as well It uses one of OAuth s benefits which is the availability of many third party and open source libraries allowing developers to authenticate with LinkedIn quickly and in a similar manner to how they authenticate with services such as Twitter or Google among others It is important to know that when an application acts on behalf of one LinkedIn user the application must be able to identify the users protect their privacy and it will be used properly since LinkedIn can tell which application a
5. The Easy Social Networks is a basic representation of the Facebook Twitter and LinkedIn social networking services so that the user can check the last updates and update their profiles comment like and search for information events jobs and so on It also offers the All together button that shows the last updates for all the nets in which the user have been registered The Fast Post offers the possibility to Post or update fast and simple one or more social networks from the same site 99 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Finally the Normal Social Networks offer the possibility of going to the real sites Facebook Twitter and LinkedIn if the user needs it For more details about this features see Chapter 4 Fad Project Welcome You forget your Password Hello friend If you forget your Password or Username don t worry You must register again with the same network account and your name and password will be Updated But be careful if you register with other account you will create another NEW user Close Help Log In Register User User Password Password Add new Net Reset Figure 63 Updating Password A 2 5 Log out It is important to logout from the system once the user finished his activities with the application Log out button destroy the session variables what means that all the information about the previous user will be destroyed for the next session Doing this we
6. US Politics on Facebook so that they can take part It shows to the world one important thing Facebook has become a powerful and popular new way to interact and voice opinions 2 4 LinkedIn LinkedIn is a social networking service oriented for professional networking It was launched in May 2003 It has more than 161 million subscribers and is the bigger professional networking service with about 2 new members each second It is called the professional Facebook Having a LinkedIn profile is good professional presentation in the Internet since LinkedIn is a useful tool whether it is used to make business and new contacts Hence a user profile in LinkedIn should be an abstract of the professional skill of the user something like a C V recommendations contacts and experience 24 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR m linkedin com profile edit trk hb_tab_pro_tor C 24 linkedin PP f a 75 profile completeness Complete your profile quickly Manolo Peret es lt Import your r sum to build a complete profile in A minutes Chairman at Banco Santander Grecia Interconexi n en red 4 Profile Completion Tips Why do this Edit Photo Add your industry and postal code 4596 Describe your current positi Manolo Peret hola hotsuite Add your skills amp expertise 5 Add connections 41096 Current Associate at InmoMar Edit Chairman at Banco Santander Edt Add a cu
7. aen you Continue 10 operate under Tarena Terms of Serve In panoa some Wage information wil de shared Sach ash Tether For more see Our Pracy Poly Figure 14 Sign in Twitter 38 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR To direct the user it is necessary use GET oauth authenticate and include the request token obtained in the previous step as oauth_token parameter Redirect user 302 Found oauth token GET oauth authenticate Twitter renders authorize User visits authenticate oauth token page redirects with page verifier 302 Found oauth token oauth verifier User visits callback URL GET my second url oauth token oauth verifier Obtain verifier Figure 15 Redirect user Twitter The sign in endpoint will behave in one of three ways depending on the user s status 1 Signed and approved If the user is signed in on twitter com and has already approved the calling application they will be immediately authenticated and returned to the callback URL with a valid OAuth request token The redirect to twitter com is not obvious to the user 2 Signed in but not approved If the user is signed in to twitter com but has not approved the calling application a request to share access with the calling application will be shown After accepting the authorization request the user will be redirected to the callback URL with a valid OAuth request token 3 Not signed in If the user is not signed in on tw
8. This means that 77 6 of the users during the test felt satisfy with the application 89 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Average Average Question Question Question Question Question Question Question 24 25 26 27 28 29 30 Figure 61 Average Satisfaction With all these results we can make the overall average of the application By linking all the section of the test the result show that 80 7 of the users are satisfied with the capabilities of the social network aggregator developed Total Average Average Average 1 Average 2 Average 3 Average 4 Figure 62 Total average A D Questions All of the users interviewed agree in the point that this tool seems to be very useful for its main purpose Being used for a quickly check of the last updates in the social media that users have and update the networks in a simple and easy way Some of them found the information provided not enough but on the other hand they said that the application is simple and enough intuitive The features of the application appear as useful as possible With the search 90 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR feature users can find users news in posts or events hashtags trending topics and jobs among other results Finally all of them agree in the point that the application should include more social media although Twitter and Facebook are the two most used social networking services Som
9. register into the application If register the site should redirect to another page in which the users can add their social media to the application Then the user will be leaded to the Main page On the other hand if the users already have an account in the aggregator the application will lead them to the Main page after getting the user s data from the database The social network aggregator has three main features Easy Social Networks Fast Post and Normal Social Networks So the Main Page must be divided in three areas with these options From this page the application must lead the user to the selected option Each option must present a simple appearance easy for the users and with the main options of the real networks Finally form the Main page the users should make the log out from the application and be redirected to the Welcome page again 5 5 Used Technologies Here it is presented the technologies and software selected to develop the social network aggregator 5 5 1 Apache HTTP Server Apache HHTP server is an HTTP web server based on open source for Unix Windows Macintosh and others which implements protocol HTTP 1 12 and the notion of virtual site This project is developed within the HTTP Server httpd from the Apache Software Foundation This server is highly configurable it offers database authentication but some users claim because of the lack of graphical interface to help in its configuration Since 1996 Apache
10. DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 43 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 5 APPLICATION DESIGN 5 1 Introduction This chapter explains the process of designing the application That means the first ideas for the aggregator in an abstract level The first step is to understand the flow of information user application application social media and application database Once we know how our application will interact with the rest of parts the structure of the aggregator we must divide the interface for showing all the features to the user in a simple and friendly environment Finally it is necessary to fix the technology that it will be used in the aggregator Programming software database and all the software needed to develop the application 5 2 Main Structure Since the aggregator to develop is Web based the user must access to the application through the browser This means that the aggregator must be hosted in a Web server The user will interact with the aggregator and the aggregator must exchange information request with the social networking services or their APIs One of the goals of the project is to make the experience of the user easier for example removing the need of open several browsers and have to sign in all the social media only for check the last updates For this reason we will use one database to store the user data not only the application data username and password
11. DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Coming back to the Easy Facebook page the users have another option the Post Here the users are able to update the information on their Facebook profiles The user can update the Wall writing in the text area uploading a picture links name caption and description Post This is an update D Picture Link Name Caption Description Figure 40 Post Easy Facebook The result of the post can be checked in the following figure Show News Feed Show Wall The Wall Manolo Peret This is an update D 2012 06 28714 29 14 0000 comment like delete Figure 41 Information updated Facebook The Post formulary sends the information to the post php file Here the application manages all the updates from the other social media supported by the application As we can see in the 67 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR previous figure the user can also comment like and delete one post When the users click in one of this links located in each post of the Wall or News Feed the application sends the information to post php where it interacts with the Graph API so that the information can be updated After lead to the users to post php the user is redirected to the Main Page Easy Twitter The Easy Twitter design is pretty similar to Easy Facebook design The application shows the basic profile features of the user such as his usern
12. Figure 25 Database Structure 5 5 4 NetBeans NetBeans is a platform framework for Java desktop applications but also is an integrated development environment IDE for developing with Java JavaScript PHP Python Groovy C C Scala Clojure and some others The IDE is written in Java and it is possible to run it on Windows Linux Solaris and Mac OS This platform allows applications to be developed from a set of modules It also offers reusable services common to desktop applications allowing developers to focus on the logic specific to their application Some of the features of the platform are shown below e User interface management e g menus and toolbars e User settings management e Storage management saving and loading any kind of data e Window management e Wizard framework supports step by step dialogs e NetBeans Visual Library e Integrated development tools 51 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR File Edit View Navigate Source Refactor Run Debug Profile Team Tools Window Help earch Ctrl A 2 9 lt default gt v y b 7 Projects x Files Services log_in php x vue 9 0 stve Se 8 8 Q D m e s E 8 li aggregate php pu auth_fb php 32 error E auth_linkedin php 33 text align center E authentication php 34 color CC0033 li comment Ike php 35 font size 18px 2 easy_net php 36 font weight bold EH index php 37
13. Social Network A social networking service is an online service that offers the possibility of build social relations between people who has the same interests share the same activities or has real connections in their life To be part of a social network service is necessary to have a profile what is a representation of the user in this social net the user social links and some additional services The normal services that are offered are instant messaging or mailing The most important skill of the social sites is that they allow users to share ideas activities new events and all their interests within their individual networks We can divide this kind of services in 2 categories ISN Internal Social Networks and ESN External social networks The ISN is a private community that consists of a group of people within a company partnership society education provider and organization or even an invitation created by a group of users in the ESN On the other hand the ESN is an open community for all Web users and is designed to attract the advertisers Users can add an image and can often be friends with other users In most social network services users must confirm that you are friends before they are able to link one to each other This means that the social networks have some kind of privacy In fact usually they have privacy controls that allow users to choose who can view their profile or contact them Some social networks ha
14. access token being used by the SDK e setApiSecret Set the App secret that the SDK is currently using e setApplid Set the App ID that the SDK is currently using e setFileUploadSupport Set file upload support in the SDK e useFileUploadSupport Get whether file upload support has been enabled in the SDK The use of this library is quite easy The user just need extract the downloaded files in the directory where is the application located in the server folder After this it is required to use to application ID and application secret 3 1 2 Twitter API and Library Twitter has three different APIs Search API REST API and Streaming API The Search API allows users to query for Twitter content This is look for specific keywords within tweets finding tweets referencing a specific user or finding tweets from particular user With this API the user can have access to data around Trends But if the user needs to query the Search API at extreme velocities then it is better to use the Streaming API 27 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The REST API allows developers to access some of the core primitives of Twitter like timelines status updates or user information If one developer wants to build one application with the profile of one user name picture followers last tweets and so on this is the proper API In addition to offering programmatic access to the timeline status and user objects this API also enabl
15. activities the users must follow This schedule must present simple and easy steps so that the users can learn how to use the application and could evaluate it easily Users should follow the next schedule D OE 19 N PPF F PPF PPF PPF PP P e O O l O gt Q N Register in the application Go to main page Open the Help link if it is necessary Check Facebook Wall in Eqsy Social Networks Check Facebook News Feeds Search for one Event or Post in Facebook and manage the information Come back to Easy Facebook and go to Main Page Check Easy Twitter in Easy Social Networks and check the last updates Search for a hashtag or some topic in the search feature of Easy Twitter Tweet something Check all the updates together with the all together button in Eqsy Social Networks Go to main page Post in one net with the Fast Post feature Go to main page and check if it was posted with the all together button Log out Log in Comment or like a post in Facebook in Easy Social Networks Check all the updates together with the all together button Go to main page and Post in all the nets at the same time with the Fast Post feature Go to main page and go to Normal Facebook with the Normal Social Networks feature Log out After trying the application according with the previous instructions users may fill a questionnaire about the application The answ
16. at Software Ltd Easy Linkedin Linkedin Mike Green Partner at Impact private private Mike Green Customer Relationship Manager Mike Green New Business Capture Lead amp Trainer Proposal Expert amp Leadership Coach Lockheed Martin MS2 Mike Green Director of E Content Development at Baker amp Taylor Figure 48 People Search Easy LinkedIn We can see again that the information recovered is simple and useful It shows the picture of the professional name and surname link to the user profile and the headline As we did with other searching features when the amount of information recovered is too big it is necessary 72 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR paginate the information With the links previous page and next page the user can check all the information in simple and comfortable way It is important to point that some profiles are closed to the public Because of this some profiles will appear with Private name and surname The last feature of Easy LinkedIn section is the Share formulary This formulary has the same function as Post in Easy Facebook or Easy Twitter Share Share information is so usefull Title Link Picture Description Twitter Figure 49 Share with Easy LinkedIn This formulary has the text area title of the post share a link pictures description and it also has the capability of share with twitter account bu
17. avoid that another user in the same computer will enter the application and could have access to the information of the previous user Users can find the logout button in the Main Page and in the All Together site 100 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 101
18. connect also on platforms they did not even know the user are on Maybe one of the most important tools of XeeMe is the report about social traffic and network relevance so the user can focus in the nets that are interesting to his contacts To do this XeeMe use a sophisticated algorithm and technique to measure social presence value and network relevance hitps xeeme com _ system apps XeeMe Xeeport cfm7LC 1 C 9 S Helo Manolo Dashboard Engagement Reports Settings xeeMe Feedback 1 3 Logout Your XeeMe dashboard B xeenotes M Reterai Dada BW into Installed Applications I Getting Started 3 Tips Organize Grow K ES Add all your social destinations a your social destinations et al files in one place ess and optimi What s up test 2 Popularity o Visits 50 000 100 000 150 000 200 000 Engagement o Activities 0 17 500 35 000 52 500 70 000 Connections a AQ Contacts 22 500 45000 67 500 90 000 Bad Manolo Peret Edit Profile Social Score Card Presence Completeness 4 Search people in the XeeVerse First name Last name b as https xeeme com System apps Appsmanage MyAccount edit sitemap cfm LC 1 Figure 4 XeeMe main page e Hootsuite Hootsuite is an aggregator for businesses and organizations to collaboratively execute campaigns across multiple social networks from one secure web based dashboard The user must sign in the social netw
19. design is the same than the others the updates are less important here In the left column we can two things First of all it is shown the last updates of the connections and the last updates of the user It shows the profile picture name link to the user s site in LinkedIn and all the information updated Under the last updates it is located the user s profile in LinkedIn the previous jobs current job education and connections Now in the right column there are three formularies Job Search People Search and Share The Job Search engine is used to find new Jobs with all the important information For example let s search jobs in Microsoft company located in Chicago Writing Microsoft and Chicago as keywords in the text area of the formulary and clicking the search button it will redirect us to jobs updates linkedin php file Looking at the figure 43 we can see the results of the search It shows the company name the job poster the description of the job location and salary if it is indicated As we did with the other nets since the amount of information could be enormous we must paginate the information so that the user can check all the possibilities 70 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Fad Project Easy Nets Updates ManoloPeret sdfgdfg ink http fnkd in uSjxcH ManoloPeret dfdf Link http inkd in uSpccH ManoloPeret Finishl http nkd in uSjxcH ManoloPeret lolo Link http In
20. formularies offering the 2 options Log in or Register 58 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR gt localhost Post_twitter index php logout 1 v G facebook P A Fad Project Welcome You forget your Password Add a new Social Network Log In Register User User Password Password Add new Net Figure 31 Welcome page Fad Application The user must register first to use the application Otherwise it will appear one message You must register first to use the application Fad Project Log In Register Error You must register first to use the application or User Password not valid Figure 32 Error Log in Fad Project The site presents two formularies The Log In formulary has the fields User username in the Fad Project application Password password in the Fad Project application and Add a New Net The Fad Project offers the possibility of administrate 3 different social media Facebook LinkedIn and Twitter but is not necessary to administrate all of them to use the application In fact the user has to register in al least two social media to use it For example could be one user that only has Facebook and Twitter but not LinkedIn so he could register first to use these two social media and use the application After some days he decides to open a new profile in LinkedIn and administrate it through the Fad Project To do this is not necessary create a new use
21. in the application since they are used to be free for using all the features of the normal social networks Hence they recognized that the application will save their time for checking and updating the social media but they would like to implement more features To get some conclusions it is important to make the average of the opinions of the users Data 3 4 5 4 4 3 5 5 4 4 10 4 1 5 5 5 4 4 4 4 4 4 3 10 4 2 84 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 2 2 2 3 3 3 3 4 4 5 10 3 1 5 5 5 5 5 5 5 4 4 2 10 4 5 4 4 4 4 4 4 4 5 5 3 10 4 1 5 5 5 4 4 4 4 4 4 4 10 4 3 4 4 4 4 5 3 3 3 3 1 10 3 4 3 3 3 3 2 4 4 5 5 5 10 3 7 Final average 4 1 4 2 3 1 4 5 4 1 4 3 3 4 3 7 8 3 925 We can conclude with these results that for the users the application is pretty useful since the final average is 3 925 in a rate from 1 to 5 If we translate this result to percentage it means that 78 5 of the people who test the application think that the application is useful We can see the results in percentages in the following graph Average Average Question Question Question Question Question Question Question Question 1 2 3 4 5 6 7 8 Figure 55 Average Usefulness Easy of Use The next part of the questionnaire is related with the use of the application questions from 9 to 19 The easy of use for one application like this is very important since what we are trying to do is to make the user
22. is the most widely used HTTP server In 2005 about 7096 of the websites in the world were using Apache HTTP server But after that date it suffered a decline in its market The popularity of this server make it one easy option to choose since there are a lot of information about it and error reports The advantages of this software are shown below e It is modular server what means that it has one core section and several modules that give it the rest of the functionalities for the server for example mod ssl or mod rewrite e Open source e Multi platform e Extensible 47 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR e Popular As we said before the popularity of the software make easy the fact of find new updates reporting bugs and finding all the information connected with the software The user must configure the Apache HTTP server in the httpd conf file The used version for this application is Apache server 2 2 18 E Bice eM 1 http localhost localhost C 98 Google S It works Apache 2 2 18 Win32 PHP 5 217 Figure 23 Apache console and localhost verification 5 5 2 PHP PHP is a general purpose scripting language that was originally designed for Web development and it can be embedded into HTML code to produce dynamic Web pages The code is interpreted by a Web server which has PHP processor module and generates the results In our case the Web ser
23. lii jobs updates linkedin php 38 li log in pho B Vane H style 3 y lt head gt 4 lt body gt lg regster pip 44 lt div class topbar gt 45 lt div class fill gt l Jag verify php lt div class container gt log in php Navigator Bj lt a class brand target _blank href http hci ece upatras gr index php lang iso 8859 1 Fad P ll Javascript aer lt div gt Ew css 49 lt div gt 5 89 AtRules sor lt div gt Jl import style bootstrap min css 51 lt br gt lt br gt lt br gt lt br gt lt br gt lt br gt Gimport style reset css sz T import style style css 53 lt php 54 session_start re 55 E ALL E NOTICE Ty brand error reporting E 1 x 1 56 Th 57 d y container sa m content eg T error a Ty fil ES Th large 62 ites EEE el ifiSusuazio NULL Scontrasenie NULL 156141 Ins Figure 26 NetBeans screenshot On the other hand NetBeans IDE supports development of all Java types Java SE Java ME web EJB and mobile applications out of the box One important thing of the IDE is its modularity That means that all the functions of the IDE are provided by modules and each module provides a well defined function such as support for the java language or editing It contains all the modules needed for Java development in a single download allowing the user to start working immediat
24. necessary information stored in the database If not it shows an error text and redirect to the previous page see Figure 29 If everything is correct the application gets all the necessary information from the database for this user and put it into session variables to use it during this session Finally in the login option it is evaluated if the user wants to add a new net to his account in that case he will be redirected to register steps or if it is a normal log in action In that case it will be lead to the main page of the application main php if op register checkuser mysql_query SELECT id user app FROM users WHERE id user App S usuario checkuserl mysql_query SELECT id user app FROM users fb WHERE id user app usuario checkuser2 mysql query SELECT id user app FROM users linkedin WHERE id user app usuario username exist mysql num rows checkuser username existi mysql num rows checkuser1 username exist2 mysql num rows Scheckuser2 if username exist 0 username existl gt 0 Susername_exist2 gt 0 echo lt p class error This user name is already used lt p gt else SESSION id user app usuario SESSION password app contrasenia header Location register php else if Sop login query mysql_query SELECT id user app password app FROM users fb WHERE user app usuario a data mysql fetch array query q
25. presented at the beginning The users now have a simple and easy tool for administrate their social networking services from the same Web site They can check the last updates of their friends follow the last tweets in their Twitter nets update their status and upload links and pictures They can also search for some information hashtags users new connections and Jobs Of course this application cannot substitute the real social media but it is important to emphasize that we are not looking for it The aim of this project was to create a simple tool that can aggregate some social networks in the same Web site and that it offers the possibility to the users of doing the basic things they do during the day update the nets and check the new updates From this point of view we can say that this project has been successful 8 3 Future Lines As we Said before this project is the first attempt of developing a social network aggregator so it is clear that there are lots of ways for improving it For sure the first future works should go in the direction of add more functionalities to the application This means for example that the users could create new events on Facebook and accept or refuse it These changes should not be so difficult once the developer has the basic knowledge about the API Since LinkedIn is a professional networking service it could be useful add new social media to the aggregator for example G when they permit to update
26. s experience easier So if the application seems complicated to the users they will not use it anymore 85 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR m User 1 B User 2 User 3 m User 4 mUser5 m User 6 m User 7 User 8 8 User 9 User 10 Figure 56 Easy of use Test The mayor part of the users agrees with the simplicity and the facility of use that the application presents It is true that during the development of the social network aggregator one main goal was to make it simple and easy of use Although the answers in this point of the questionnaire are so good for the application it is true that during the testing process it happen some mistakes because of the user and it was no intuitive to recover again from it Data 2 3 4 4 4 5 5 5 5 5 10 4 2 4 4 4 3 3 3 5 5 5 5 10 4 1 4 4 4 4 4 4 4 4 2 5 10 4 7 2 3 3 3 3 4 4 4 5 5 10 3 8 4 4 4 4 4 4 4 5 2 2 10 3 7 5 5 5 3 4 4 4 4 4 4 10 4 2 4 4 4 4 4 2 5 5 5 5 10 4 2 4 4 4 4 5 3 3 3 3 2 10 3 5 4 4 4 4 4 4 5 2 3 3 10 3 7 10 4 4 4 4 4 4 3 3 5 5 10 4 0 ODD iow Mo Final average 11 4 2 4 1 4 7 3 8 3 7 4 2 4 2 3 5 3 7 4 0 10 4 1 In this case the results show that the application achieves one of the goals proposed at the beginning the easy of use With this result 82 of users that test the application agree with the easy of use of the product 86 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGG
27. the locations that Twitter has trending topic information for The response is an array of locations that encode the location s WOEID and some other human readable information such as a canonical name and country the location belongs in e GET trends daily Returns the top 20 trending topics for each hour in a given day e GET trends weekly Returns the top 30 trending topics for each day a given week 5 So after use the resource we need Twitter will send us the information in array the next step is to interpret this information and use it properly 3 1 3 LinkedIn API and Library LinkedIn divide the API according to the technology JavaScript API and REST API The JavaScript API is a rich client library enabling developers to build dynamic applications in the web browser It is necessary use OAuth 2 to easily authorize users via the Sign In with LinkedIn button access LinkedIn data with native objects and interact with Plugins This API bridges between the user s browser and his REST endpoint As a developer you use a simple consistent JavaScript interface to interact with the fundamental LinkedIn data types Profiles Connections People Search etc Under the hood LinkedIn translate the request into a REST call which they make on user s behalf via Ajax All the details of cross domain Ajax and OAuth 2 are abstracted away the user simply invoke a method and receive JSON in return On the other hand REST API is the API with the
28. the net with their API If the aggregator supports several social media it could be a good idea that the users could select in which networks they want to post something like a list not only in Facebook or Twitter or all at the same time but choose the networks and then post For example maybe one user would like to update Facebook and Twitter but no LinkedIn It should be interesting to expand the kind of uses of the application For example by implementing searching and report automatic statistics for trending topics or hashtag in Twitter network This feature could be interesting for one company or small business that want to know what are the good and bad things of their service for his customers and followers in the social media For do this it could be great that the user are able to select if they are companies Universities or normal users and change the interface and the features offered depending on the option selected 94 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 95 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR References 1 Wikipedia http en wikipedia org wiki Social network aggregation Check date 13 06 2012 2 Wikipedia http es wikipedia org wiki Flock Check date 14 06 2012 3 Facebook Developers http developers facebook com docs reference api Check date 17 06 2012 4 Facebook Developers http developers facebook com docs reference php Check date 17 06 2012 5 Twi
29. the skills offered in the API definitions In this section we will review the libraries offered by the social networking services i e Facebook Twitter and LinkedIn 3 1 1 Facebook Graph API and Library The API used by Facebook is the Graph API It presents a simple view of the Facebook social graph uniformly representing objects in the graph e g people photos events and pages and the connections between them e g friend relationships shared content and photo tags Every object in the social graph has a unique ID You can access the properties of an object by requesting https graph facebook com ID 3 Facebook offers different kinds of libraries which depend on the programming language the user will use The library used is SDK library and offers support for e JavaScript which enables the user to access all of the features of the Graph API and Dialogs via JavaScript It provides a rich set of client side functionality for authentication and rendering the XFBML versions of Facebook Social Plugins e PHP SDK provides Facebook Platform support to PHP based web apps This library helps to add Facebook Login and Graph API support to user s Website 26 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR e JOS SDK provides first class Facebook Platform support for iPhone iPad and iPod Touch apps written in Objective C The user can utilize single sign on call the Graph API and display Platform Dialogs e Android SDK bri
30. the social net in which the user wants to post As with this application the user can post everywhere at the same time another goal is to be able to check all updates at the same time this means in the same page Hence the user can know all the updates from the same Web page all together Abstract of Goals e Link all the social networks Facebook Twitter LinkedIn in the same Web Site e Easy Facebook e Easy Twitter e Easy LinkedIn e Fast Post e Fast Updates e Normal Social Networks 1 2 Motivation The Internet has a deep impact on work leisure and knowledge worldwide Thanks to the Web millions of people have easy and immediate access to a vast and diverse amount of information online In recent years there has been a boom in the way of sharing information because of social networks blogs e learning platforms and so on where the aim is for users to collaborate and 12 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR promote the smooth exchange of information This is what is known as the second generation of the Web Web 2 0 In this environment in which each user has several profiles in different social networks it is clear the amount of time they spend for managing it Therefore sometimes check all the profiles in the Internet becomes a problem due to the user has to open the browser sign in check the updates and so on and this action for each social network in which he is registered Hence the need
31. to make it simple is clear To solve this problem we developed F A D project application First Aggregator Developed which allows to link all the social networks in the same Web Site so that the user could use them from the same place fast and simple Many users have accounts on several different social networking sites In November 2007 Alex Patriquin of Compete com reported on the member overlap between various online social network services Site Bebo Facebook Friendster Hi5 LinkedIn MySpace Ning Orkut Plaxo Bebo 100 25 2 3 1 65 1 0 0 Facebook 4 100 2 2 2 64 1 1 9 Friendster 5 23 100 4 6 49 2 1 0 Hi5 7 24 4 100 1 69 0 2 0 LinkedIn 4 42 8 2 100 32 8 3 3 MySpace 3 20 1 1 0 100 0 O 0 Ning 6 35 6 1 19 44 100 2 2 Orkut 3 26 4 7 8 29 2 100 1 Plaxo 5 48 8 2 54 34 14 4 100 A 2009 study of 11 000 users reported that the majority of MySpace LinkedIn and Twitter users also have Facebook accounts 1 13 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 1 3 Related Work Nowadays there are some other Social network aggregator each one with its capabilities and features Various aggregation services provide tools or widgets to allow users to consolidate messages track friends combine bookmarks search across multiple social networking sites read RSS feeds for multiple social networks see when their name is mentioned on various sites access their profiles from a single interface provide lifestreams etc 1 1 3 1 Some Exa
32. It returns a feed of event items Each item has some 31 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR information such as when it occurred type of event and comments or likes To retrieve user updates should be through GET and the next URL http api linkedin com v1 people network updates o Posting Updates It allows users to send in an activity to be posted to the first degree connections of the users The post is the news feed and it appears on the center column of the home page All this kind of updates will be broadcasting to the first degree connections of the users The proper use of this resource includes POST and http api linkedin com v1 people person activities o Posting Shares If the user wants to share some content with their network or with all of LinkedIn this is the proper resource This share could be short text update URL with a title and photo or both Using POST and the next basic URL http api linkedin com v1 people shares o Comments and Likes Some networks updates may have comments or likes attached to them When users want to add comment or like to one network update they should do it with POST and http api linkedin com v1 people network updates key NETWORK UPDATE KEY update comments As we said before the LinkedIn API can be used with several programming languages In the developers site of LinkedIn they present some tested libraries by LinkedIn and other no official libraries that c
33. R KR or on 51 Figure 26 NetBeans screenshot 52 Figure 27 Figure 28 Figure 29 Create application cita mamas uacua NR 56 Creating Facebook 57 Linked n Developers 58 Figure 30 Creating application Linkedln 58 Figure 31 Figure 32 Welcome page Fad Application enne 59 Error Log in Fad Project wii 22 ses P L L AT 59 Figure 33 Part of log in php 61 Figure 34 Register Steps Fad Project 61 Figure 35 User registered ee notes ere eed vocale eee eed ease eee ser sake 62 Figure 36 Verify php code 62 Figure 37 Main Page oj 63 Figure 38 Easy FaceboOK isse e XR VE ERR HM ER VERE RE s n Van Ra HEN RR v ER ee 65 Figure 39 Easy Facebook Search ie rt dete Creme ope e etes eta 66 Figure 40 Post Easy Facebook teret eerte ete tee erede e Re ee A er 67 Figure 41 Information updated Facebook 67 DESIGN AND DEVELOPMENT OF A
34. REGATOR Average Average Figure 57 Average Easy of use Easy of Learning The third part of the questionnaire is related with the use of the application questions from 20 to 23 This part of the questionnaire will show to the developers how friendly and simple is the application developed If the user is able to learn and remember quickly how to use the aggregator and all its features where are them located how to use it etc that means that the application it is showed to the users as a simple solution to be used m User 1 E User 2 User 3 User 4 User 5 m User 6 User 7 m User 8 m User 9 User 10 Question 20 Question 21 Question 22 Question 23 Figure 58 Easy of Learning Test 87 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR As the reader can see in the figure 55 almost all the users agree in this section of the questionnaire But it is also true that some users could not identify as quickly as the others some basic things for example home page button This situation reflects that all the help the interface can give is welcome for example small text under the button that says Home Page Data 5 5 5 4 4 4 4 4 4 4 10 4 3 4 4 4 4 4 5 5 5 5 5 10 4 5 4 4 4 4 4 3 5 5 5 5 10 4 3 4 4 4 4 4 4 3 2 5 5 10 3 9 Final average 5 4 3 4 5 4 3 3 9 4 4 25 In this section the results show that the application presents a simple interface and behavior wh
35. SOCIAL NETWORK AGGREGATOR Figure 42 Easy Twitter evna 68 Fig re 43 Twitter Search u l a i dens be 69 Figure 44 Easy Twitter POSt inu nad m un ete tee quae 70 Figure 45 Easy EitkedlIn zu o t trt entr e Re eet 71 Figur 46 Job Search Einkedln ere eene tree Sa Sa ete ea Ead ean inan 71 Figure 47 People Search Easy LinkedIn S A QS 72 Figure 48 People Search Easy Linkedln 72 Figure 49 Share with Easy Linkedln esee enne nnne enne nnne nnn 73 Figure 50 All Thogether button 74 Figure 51 Fast POst iissedesca aun htec secca iaia cheese ae PR ECOL Ba xao Ra ee ORE ped 75 Figure 52 Normal Social Networks 75 Figure 53 Virzi s formula 81 Figure 54 Usefulness test 84 Figure 55 Average Uselfulness 85 Figure 56 Easy Of Use Test un
36. SQL Database nn Management Level 2 m e Storage Engine lt O o Level 0 en gt o gt z In this application we use MySQL 5 5 Some of the features of these engines are e Transactional e Record level locks e Restriction on foreign keys e Easy data recovery e High concurrency safer in writing e Rollback e The data is saved to disk We will use MySQL to save the user s data tokens user name password and other data taken from the social networking services by the Fad Project application Our tables users users fb and users linkedin have the following fields id oauth provider oauth uid oauth token oauth secret username password app id user app They have been created with the following sentence CREATE TABLE users id int 10 unsigned NOT NULL AUTO INCREMENT oauth provider varchar 10 oauth uid text oauth token text oauth secret text username text password app varchar 10 id user app varchar 10 PRIMARY KEY id ENGINE MyISAM DEFAULT CHARSET latinl 50 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Database Structure Diagram Users_fb Id Users_linkedin Oauth_provider Id Oauth_provider Oauth_id Oauth_provider Oauth_id Access_tokenfb Oauth_id Oauth_token Username Oauth_token Oauth_secret Password_app Oauth_secret Username Id user app Username Password app Password_app Id user app Id user app
37. Twitter Linkedln or all the social media together These easy networks offer the possibility of using the social networking services in an easy way That means the basic features such as check the wall or news feed search for an event or hash tag post comment or like among other options It is clear that it has not all the features of the real social media but the aim of this application is that the users can administrate all their nets from the same place easily so the Fad Project application offers the basic actions for the users Check the updates of friends and connections and be able to update the social networks should be enough Of course to administrate their accounts or other actions more complicated the users must visit the Normal Social Networks One special feature of the Easy Social Networks is the fourth option all together button This button 63 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR offers the possibility of checking the updates of all the social networking services at the same time this means in the same Web page The Normal Social Networks is based on three links that guides the user to the real social networking services It opens the service in another browser and allows the user to enter in the real services if they need to do something more than the basic actions supported by the application Finally the Fast Post feature offers the possibility of posting in an easy and simple way The user only nee
38. UNIVERSITY OF PATRAS DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING ELECTRONICS AND COMPUTER FIELDS DESIGN AND DEVELOPMENT OF SOCIAL NETWORK AGGREGATOR DIPLOMA THESIS OF HECTOR FADRIQUE DEL CAMPO STUDENT OF THE UNIVERSITY OF VALLADOLID SUPERVISOR PROF N AVOURIS JULY 2012 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR CERTIFICATION It is certified that Diploma Thesis with the title DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Of the student of the University of Valladolid Name H ctor Surname Fadrique del Campo Was presented in public at the Department of Electrical and Computer Engineering of the University of Patras Greece OM enrere iaee haea a E Aa oria ea ea er a Rai The supervisor The head of the Electronics and Computers division N Avouris E Housos DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR ABSTRACT This thesis presents the development of a Social Network Aggregator which makes the experience of the users who manage several social nets easier The goal of this application is to link in the same environment different social networks such as Facebook Twitter or LinkedIn Hence the user is able to use several services from the same platform fast and simple With the aim of making easier the user s experience the aggregator has been divided
39. aditional blog in that its content is typically smaller in both actual and aggregate file size Twitter allows users to exchange small elements of content such as short sentences individual images or video links It was created by Jack Dorsey and launched in July 2006 The service rapidly gained worldwide popularity with over 140 million active users The use of this social network service is so simple The user must create a profile find the accounts that are interesting and follow the conversations The user can also post something to the net or update These pieces of information are called Tweets Tweets has a longitude of 140 characters Figure 7 Twitter Twitter is a very useful tool for business The most important skill that Twitter can offer is the capacity of connecting companies with customers in real time Companies use Twitter to share information quickly with people interested in their products build relationships with customers partners and influencers 21 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Twitter Inc US https twitter com LB twitter P ap WikiLeaks Ca Different definitions of full consular support Assange wicentral org node 2645 Melinda Taylor abc net au news 12012 06 1 WikiLeaks auspol WikiLeaks Assange Operation Payback accused says he has no regrets abc net au news 2012 06 1 reeanons justice4assnage com donate html fre
40. ame profile picture and the link to go to his Twitter site Looking at the figure 39 we can realize that the last tweets are in the left column while the Search engine and the Post formulary are in the right Fad Project Easy Nets Select of Tweets 1 BBE Err HootSuite Did you catch the Insta great news Qinstagram is now available in the HootSuite amp AppDirectory http t co IFmxD348 WikiLeaks ABC Transcript Why Ecuador needs Assange Late Night Live Radio had Thiago de Aragao and Don http t co Q9te6HGR hitp t co h3B82ugs WikiLeaks NEW Assange asylum panel with AssangeC SenatorLudlam amp more 1 http t co MDWKkAj3n 2 http t co NudBGxtF 3 http t co SHIVKqc7 WikiLeaks RI Imranknanv II ov keeping the dead nameless civilian casualties and their extent are kept hidden We must know the truth WikiLeaks Morning Star reme Heer a pup It co WqayD8R https t co IXWeNxCbG http t co h3B82ugs http t co eVxySBbu Comida de Soltero RT NormaMita JuanQuintero LunaMonti SAB 30 en Tapas de pochogarces info y RESERV 0212 2866843 http t co bFNbEZ National Geographic World s oldest purse found in Germany http t co ZXxID0E2 Paulo Coelho Jerusalem ser destruida no dia seguinte gt http t co iTRALekR Berto Romero Total Ripoff Total Recall Comparison 1990 vs 2012 http t co IeCCFyDAE via Ritxi_Witxi Berto Romero A ver d
41. an be used by the developers since it is working fine with the API The tested OAuth libraries are Language Library Author Java Scribe Pablo Fernandez JavaScript LinkedIn JSAPI LinkedIn PHP PECL OAuth Python Fork of python Kristen Jones oauth2 Table 1 Tested Libraries LinkedIN 6 Apart from the tested libraries LinkedIn offers other Oauth libraries for several languages 32 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR e AS3 e CH NET C e Java Android e Objective C iPhone e Perl e PHP e Play Framework e Python e Ruby e Clojure Since we are programming in PHP the selected library for interact with Linkedin API was PHP based no tested version called simple linkedinphp This is a PHP class designed to be a simple stand alone wrapper for the most used functionality of the LinkedIn API It has one pre requisite the PHP cURL library and without it and exception will be thrown This library has been designed to work with PHP5 2 33 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 34 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 4 AUTHENTICATION AND AUTHORIZATION 4 1 Introduction In this chapter is shown the whole process of developing the application First of all we introduce to the reader the authentication process based on OAuth protocol How it works and in which way the social networking services used Facebook Twitter a
42. and ideas just like to organize all the stages of the demonstrations and report the latest news in those places With a single tweet millions of people know or show the last update or piece of news from a user positive initiatives that without Twitter it would be unknown 2 3 Facebook Facebook is a social networking service for exchanging messages share photos and with automatic notifications when one connection updates his profile It was launched in February 22 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 2004 and on May 2012 it has over 900 million active users among web clients and mobile devices Users must create a profile add other users as friends and then they are able to use all the capabilities of the application The users may join common interest make private or public groups chat and organize all the connections by school or college family or other characteristics Facebook was founded by Mark Zuckerberg with his college friends Eduardo Saverin Dustin Moskovitz and Chris Hughes In the beginning was limited to Harvard students but was expanded to other colleges nearby On October 2007 Microsoft had purchased a 1 6 share of Facebook for 240 million dollars what meant an implied valor to Facebook about 15 billion In 2010 it became the third largest U S Web company after Google and Amazon facebook com pages T idy W 1253482308 2 facebook tf facebook muddy waters ys Manolo Peret Find Fr
43. at do it easy to learn for new users With this result 85 of users that test the application think that the application is easy to learn Average Average Question 20 Question 21 Question 22 Question 23 Figure 59 Easy Learning Satisfaction This part of the questionnaire is for the satisfaction of the user questions from 24 to 30 In this part we will measure the satisfaction of the users with the social network aggregator From this point the developers will know that they may introduce some changes in the product and enhanced some other parts 88 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR m User 1 m User 2 User 3 E User 4 mUser5 m User 6 m User 7 m User 8 m User 9 User 10 Question Question Question Question Question Question Question 24 25 26 27 28 29 30 Figure 60 Satisfaction Test Again with some differences we can see that the mayor part of the users are satisfied with the social network aggregator having always in mind that this is not a commercial tool and only the first step to create a competitive tool Data 5 5 3 3 4 4 4 4 4 4 10 4 0 4 4 4 4 4 2 5 5 5 5 10 4 2 4 4 4 4 5 3 3 3 3 3 10 3 6 4 4 4 4 4 4 4 4 3 2 10 4 5 4 4 4 4 5 3 3 3 3 3 10 3 6 4 4 4 4 5 2 3 3 3 3 10 3 5 4 4 4 4 4 4 4 4 5 3 10 4 8 SA B R ER Final average 8 4 0 4 2 3 6 4 5 3 6 3 5 4 8 7 3 88 Finally about the satisfaction with the application users gave a 3 88
44. ating user GET_statuses retweeted_to_me Returns the 20 most recent retweets posted by users the authenticating user follow GET_statuses user_timeline Returns the 20 most recent statuses posted by the authenticating user It is also possible to request another user s timeline by using the screen_name or user_id parameter Friends amp Followers Trends GET followers ids Returns an array of numeric IDs for every user following the specified user This method is powerful when used in conjunction with users lookup GET friendships exists Test for the existence of friendship between two users Will return true if user_a follows user_b otherwise will return false Authentication is required if either user A or user B are protected GET friendships show Returns detailed information about the relationship between two users POST friendships create Allows the authenticating users to follow the user specified in the ID parameter Returns the befriended user in the requested format when successful Returns a string describing the failure condition when unsuccessful 29 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR e GET trends woeid Returns the top 10 trending topics for a specific WOEID if trending information is available for it The response is an array of trend objects that encode the name of the trending topic the query parameter that can be used to search for the topic on Twitter Search e GET trends available Returns
45. been stored in the database he must log in to use the application In the log in process is possible that the user has to fill a dialog in which he must sign in Facebook This is the only way to be able to use the comment and like features in Easy Facebook since company announced the offline access is deprecated in the new API That means the user must be logged in Facebook to use these features When the log in process is completed the application will get all the information stored in the database so that the user could use all the features available in the application 2 3 Password Recovery Sometimes the users could forget the password or the username for the applications they use To be able to continue using the application when one user forget the keys it has been implemented an easy and simple way to solve the problem The user only needs to register again with the same social network accounts they did the first time They must write insert a new username and password and the old one will be updated at the moment But if the user uses another social media accounts if he has several Twitter accounts for example he will create a new user for the application since it is a different social network In the Welcome Page there is a link which offers help in this matter to the users see figure 50 A 2 4 Using the Application The users have 3 main options for the application Easy Social Networks Fast Post and Normal Social Networks
46. but also the profile data of the user to avoid the sign in process Hence the application must interact with the database to store and get the information from the tables As we know to interact with the social media the application must use the libraries and APIs offered by each service see previous chapter for more information get and translate the information and show to the users properly Then some of this information will be stored to identify the user in the next use of the aggregator with the tokens provided by the social networking services It is clear then that the user must register first in the application with one username unique and password After this step users must decide which nets they want to use with the 44 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR aggregator Since not all the users have a profile in all the social networks the application must offer the possibility of register at least two social media Otherwise users will not be able to use the application since use a social network aggregator with one social media has no sense there is no aggregation possible After register the social media users are able to use the application The next time users want to use the application it will be no necessary to register sign in again since the user s data is stored in the database Hence users must log in with the username and password they gave to their account in the aggregator and they will b
47. c795ac4c2921d914a0 reset edit icon Basic Info Display Name F A D Project 2 Namespace aggregatorop Contact Email App Domains Enter your site domains and press enter Category Other Choose a sub category Hosting URL You have not generated a URL through one of our partners Get one Select how your app integrates with Facebook GP Website with Facebook Login Site URL http flocalhost Post twitter auth fb php Figure 28 Creating Facebook application After fill in all the fields and select how the application integrates with Facebook we must save the APP ID and APP SECRET since we need it to interact with the API of Facebook After these steps we only need to create another one application on LinkedIn and we will have all we need to start with the code of the Fad Project application LinkedIn developers As in the other social networking services the first step is to go to the developers section in LinkedIn Web site and click Add New Application Linked Developer Network List of Applications Company Application Name Patras prj F A D Project amp Add New Application lt Back to LinkedIn Developer Network 57 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Figure 29 LinkedIn Developers Now we must fill in all the fields of the formulary Note the some important fields such as Integration URL OAuth redirect URL and Agreement Language Integrat
48. commended by some contact Moreover employers offer jobs and search for proper candidates for these jobs so job seekers can review the profile of hiring managers and discover which of their existing contacts can introduce them One important skill of LinkedIn is to follow companies that are interesting for the user and get a notification when someone uploads new offers Then the user can bookmark the interesting job to apply Therefore LinkedIn seems to be quite powerful site for making new contacts finding jobs finding and making business easily and simple Because of that is so important not to use it like personal networking service but a professional 25 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 3 PROTOCOLS AND APIs IN SOCIAL MEDIA 3 1 APIs API Application Programming Interface is a collection of services and functionalities that one O S or application offers to the user It is something like and interface used by software components to communicate each other An API should include specifications for data structures object classes types routines and semantic meanings It can take many forms like International Standard POSIX private documentation for example Windows API or the libraries of programming language such as Java API The APIs offer to the programmers or user the way to interact with the OS or the applications that offers open APIs That means create new applications and new services using
49. cud R 98 A 1 INTRODUETIONA KE Crea UE EE es 98 2 USER GUIDES 98 A 2 1 Registering amp Adding New Nets uu unan aa aaa 98 A 2 2 gt LOGIN PrOC8SS gt Z DOE ERRARE 99 A 2 3 Password RECOVEI Vaiss RETE 99 A 2 4 Using the ADDIICGtIOD Q un ste u u Suasana u ene te b P eee nd 99 4 2 5 SEOgOUt idit cete S au TREE GUN Qc E e aan 100 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR List of Figures Figure 1 Flock WM Ju 14 Figure 2 Flock fe at f e _ ays ERAN 15 Figure 3 XeeMe Wall of Fame 15 Figure 4 XeeMe MAIN Pa Be au u uuu sous te ute maa v uc et heu ae eub se o eed 16 Figure 5 Hootsuite connection with social network 17 Figure 6 Hootsuite updating 17 Fig re 7 Twitter k cece ce cece eldr r ene de Se cued Seema uska a ceed EEE 21 FIBUPE 8 TWO BUS unner 22 Figure 9 Facebook pag 23 Figure 10 linkedin profile 25 Figure 11 Facebook OAuth dialog
50. d takes some notes In this case the users will be following one schedule while the developers are taking notes and conclusions The final goal of this test is to observe users in a realistic situation using the product developed Hence developers can realize about the errors problems and areas of improvement Some techniques popularly used to gather information during usability test include think aloud protocol Co discovery Learning and eye tracking 7 2 4 Number of Users One of the first questions that appear when a it is necessary to make the evaluation of one application is what is the proper number of users to test the application Jakob Nielsen popularized the concept of using numerous small usability test usually with only five subjects each at various stages of the development process 80 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The claim of five users is enough was later described by the mathematical model that states for the portion of uncovered problem U U 1 1 p probability of one subject who identifies a specific problem n number of subjects Number of detected Usability Problems by number of tested subjects T a D No of Subjects Figure 53 Virzi s formula Nevertheless the evaluation done for the social network aggregator it has been done with simple users so in this case we need about 20 30 users 7 2 5 Method The method of evaluation f
51. dores Haz oss negocios por Internet y triunfa http t co bxSWQBV emprendedores finegociosporinternet El esp ritu de RI2012 sted atFri Jun 29 09 16 49 National Geographic Photo of the Day Easter Celebration Italy http t co 4WydxvTd pod photography Updates VE ManoloPeret sdfgdfg ink http Inkd in uSixcH ManoloPeret dfdf Link http inkd in uSpecH ManoloPeret Finish nk hitp nkd inuSpceH nk http nkd in uSjkcH Manolo Peret last comment both ManoloPeret lolo DE ManoloPeret again L Jordi vole Camino del curso SerPeriodista con I aki Gabilondo aprender Posted at Fri Jun 29 07 51 49 0000 201 nk http Inkd in uSikcH Manolo Peret Finish comment like delete Berto Romero RT 920m El magistral uso de las redes de los mexicanos de 50 132 http t co bxMvZmOx El blog de E Manolo Peret bueno x E Posted atFri Jun 29 07 39 43 0000 2012 National Geographic See stunning photos of Guatemala taken by NatGeo fans http t co Figure 50 All Thogether button Manolo Parat meior With this feature we have all updates in the same place so the users are able to know the last news in their social media in simple and easy way Now it is time to make the updates easier and this is possible with the Fast Post feature 6 6 Fast Post The Fast Post feature was created with the aim of updating each social network from the same place The desi
52. ds to write something in the text area and select where to post it As we can see in the figure 34 the user can update Facebook Twitter LinkedIn or all at the same time fast and simple With the aim of avoid errors with the session and with the users it has been implemented the Logout button This button has two goals The first is to destroy the session created for the current user of the application so that all the session variables are removed and there is no available data from the user The second is to lead the user to the index php what means to the Welcome Page since the user cannot use the application any more until he log in again 6 5 Easy Social Networks As we said before the Easy Social Networks it is a simple and fast version of the real social networking services with some basic functionalities such as updates news feed search people events post etc One of the important issues of the social media is the capacity of knowing the last news at the moment it because of that the Easy Social Networks has a refresh each 240 seconds so that the user could have always the last news It is divided in four links Easy Facebook Easy twitter Easy LinkedIn and All Together The three options Easy Facebook Easy twitter and Easy LinkedIn have been developed in the file easy net php This file is divided in three parts each one for one easy social network Easy Facebook The first part is the part of Facebook The layout of th
53. e Easy Nets is quite similar Basically it only changes the content not the design of the layout As we can see in Figure 35 Easy Facebook shows the Facebook profile picture username and URL to the Facebook site of the current user in this case Manolo Peret Inside the box we have two links Show News Feed and Show Wall By default it is showing the Wall when a user enters in Easy Facebook the last 5 post in the wall but users can check the last updates of their friends by clicking on the News Feed link After clicking on it it will appear news feed information instead of the Wall data The users can also check all the data in the Wall not only the last 5 and News Feed by clicking on the show all link at the end of the page 64 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Fad Project Easy Nets Show News Feed Show Wall The Wall Search Manolo Peret test all Post comment like delete oF Manolo Peret Post with Nias Post zm Manolo Peret last comment both Picture Manolo Peret Finish Link comment like delete Name gm Manolo Peret bueno Caption Description gm Manolo Peret mejor Manolo Peret Muy bueno Leo Harlem El Club De La Comedia 13 02 2011 te meas Post Reset lo mais grande comment like delete Show all gt Figure 38 Easy Facebook In the right column the users have the chance of searching for information in Facebook net The searc
54. e Ideas The users agree in some advantages of the application For example the mass post editor Fast Post appears is for them one of the important skills of the aggregator The simple design of the application and the possibility of checking the updates from all the nets of the user at the same time and in the same site removing the need of open new tabs and sign in each network were so good evaluated by users On the other hand users find some parts to enhance One example is after update one or more nets the application should redirect the user to the networks updates to check if the process was successful or not Some errors with the logout should be corrected and more features should be added in the future versions 7 4 Enhanced version After testing the application it is a good idea to modify some basic aspects of the application that users found not useful or difficult to understand One important thing of the evaluation in a real scenario is to realize that some features seemed to be easy and intuitive for the developers but not for all users Since the aim of the evaluation is to localize the errors bugs and not clear parts of the aggregator once the developers are aware of this bugs it is reasonable to change some them One thing changed after the evaluation is the Main Page button After posting in one net we saw that it appears a button form which the users were lead to the main page Instead of this users will be redirect stra
55. e able to use all the features of the application Following these patterns we can define the flow of information and how are the interactions among all the actors of the process 5 3 Diagrams Here it is showed some diagrams about the flow of the information so that the reader could understand better all the actors involved in the working flow 5 3 1 Register As the reader can see in the following picture the user interacts with the application to register on it The application should contact with the social networking service in which the user wants to register Then it will appear the OAuth dialog where the user must give the proper permissions After this the user is redirected to the application callback URL given where the application will make some API calls to get some profile information from of the user Once the application has all the information requested it will store this information in the database for future uses Register Step Register API calls Application oe Social Networking Service User eee t 2 hy EV Callback URL 3 4 E 9 5 14 At Save profile data t OAuth Dialog API calls 10 11 Database 45 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Figure 21 Flowchart Register 5 3 2 Login and Use of the application When a user is already registered in the application he must be logged in to use the application Now the first step is to r
56. e qu creativa manera nos roban hoy Posted at TI 28 6 2012 Figure 42 Easy Twitter Search Twitter Post Patras Prj zeynep koti sted atSun Jun 24 N of followers 1 68 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR In this easy net the users are able to select how many tweets to see Select N2 of Tweets field Since Twitter only gives information for the last 200 tweets users can select from the last 10 by default to 200 tweets With the aim of make the user s experience easier when a user selects to watch more than 80 tweets it appears a link close to each tweet go up to go to the top of the page without using the scroll bar The information provided in the tweets is very simple It shows the profile picture of the person company or group who tweet one link to their Twitter profile the text tweet and the date the tweet was posted The Search engine is very similar to the engine used in Easy Facebook It is based in keywords and it finds every tweet in which appears the keyword hashtag or username To better illustrate we will try to find the hashtag blink Writing blink in the text area and using the search button we will be redirected to search php file The result is shown in the following figure Fad Project Search Results I mattblois Easy Twitter When you smile melt inside I m not worthy for a minute of your time blink relevant DanielHyde Dont waste your time on me
57. eam oriented environment Are you passionate Figure 46 Job Search LinkedIn Job Search People Search In my connections Share Title Link Picture Description Twitter 71 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Other possibility for search is the People Search This feature allows the users to search for LinkedIn users old connections new connections or professionals all over the world People Search onnections In my connections Out of my connections name and last name Figure 47 People Search Easy LinkedIn The formulary has the text area in which the user has to write the name of the professional he is looking for and one field with two options In my connections and Out of my connections The difference between these two fields is that In my connections the search engine makes the searching using keywords so that the user can search by a name company or other property that appears in the user s profile On the hand the search based on Out of my connections makes the searching based on first name and surname of the professional We can see one example of how it is working this feature Let s search for Mike Green in LinkedIn network with the field Out of my connections After make the search we can check the results in figure 45 People Found Mike Green LION mikeg eze success com Link Director
58. eanons org 2 n Leslie Cannold e US gov committed to nailing Assange This includes using extra judicial procedures if Assange doesn t stop disclosing US docs 4corners Imran Khan T I want to categorically end all rumours of pti elections being la postponed In fact trying to bring them forward Fy WikiLeaks aj LIVE NOW Australia 4 Corners ABC The Forgoten Man on WikiLeaks Manning X Rohinson Figure 8 Tweets Talking about propagation twitter is one of the most powerful tools Therefore create a new corporate Twitter account as part of the marketing strategy is essential when the company wants to present a new project to the rest of the world Twitter it is also adapted to mobile environment what make it a very powerful tool with instant spreading One important issue in Twitter is contacts The spreading in real time not only focuses on what the user do or what the others do but the speed with which the people make contact among the followers of the user and the people that the user follows Twitter has one powerful tool the search engine The Twitter search is powerful segmented and specific This tool is needed to reach one group with the same way of thinking or one group in which the user is interested in Nowadays we can realize about the power of this kind of services with the recent demonstrations in different countries In that moment Twitter appear as the ideal tool to exchange information
59. ela for being the best company since was a child would like to thank also to my family and Marta for make my stay here possible and for encouraging trusting and supporting me always Thank you all DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Contents INTRODUCTION ss cessscccciscsecsssexsacesacsaecteasusassccencesscasasecsuscseveceasusasbeasvcnsesachuceusacuceseussnsestccsncessuscseveccasesesss 12 1 1 AIM OFTHE THESIS ios cc cave E A Ea ar R e Ov eaa PE Car Per UE 12 1 2 MOTIVATION e i E EE Ei ia EEEa ois 12 1 3 RELATED WORK sei a ulus h l aap uqaqa shasha 14 13 1 Some Examples vo aa a ere RID RES EPA RR aaa a AATE 14 1 4 OVERVIEW 18 INTRODUCTION TO SOCIAL MEDIA 20 2 1 SOCIAL NETWORK 2 2 TWITTER MM 2 3 FACEBOOK 2 4 LINKEDIN are PROTOCOLS AND APIS IN SOCIAL MEDIA 26 3 1 Saneau sence 26 3 1 1 Facebook Graph
60. ely Modules also allow NetBeans to be extended It is important focus on the fact that it allows new features such as support for other programming languages which can be added by installing additional modules With the NetBeans IDE download Bundles users can choose to download NetBeans IDE bundles tailored to specific development needs Users can also download and install all other features at a later date directly through the NetBeans IDE There are different types of bundles offered by NetBeans Web and Java EE It provides complete tools for all the latest Java EE 6 standards including the new Java EE 6 Web Profile Enterprise Java Beans EJBs servlets Java Persistence API web services and annotations NetBeans also supports the JSF 2 0 Facelets JavaServer Pages JSP Hibernate Spring and Struts frameworks and the Java EE 5 and J2EE 1 4 platforms Ruby The versions prior to 7 0 include a Ruby editor with code completion and syntactic and semantic highlighting debugger and full support for the Ruby framework But NetBeans release 7 0 and above no longer supports Ruby and Rails 52 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Java ME It is a tool for developing applications that run on mobile devices generally mobile phones but this also includes entry level PDAs and Java Card PHP NetBeans supports PHP since version 6 5 It includes e syntax highlighting code completion occurrence highlightin
61. ent apps for YouTube Flickr Tumblr and more 17 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 1 4 Overview This thesis is divided in 8 chapters The first chapters introduce the reader to the topic of the thesis Then it shows the developing process of the application with all the required steps It is also presented a user guide with some indications about how to use the application Finally it shows the conclusions and future lines At the end of the thesis it is the test results of the application The thesis presents the following structure Chapter 2 makes a briefly introduction to the social networking services Then it talks about the three social media that the application supports their history and basic features and functionalities Chapter 3 shows the protocols and APIs used in the application It starts with the introduction to the APIs and then it explains the libraries and APIs for each social media the functions and methods offered and how to interact with them Chapter 4 talks about the authentication and authorization process with the social networking services It starts with the OAuth protocol the protocol used to authenticate user in the social networking services and then it will explain the flow of information and all the special characteristics for all the social networks Chapter 5 shows the design process It has four different parts First we design the main structure of the social network aggregato
62. er in Twitter Web site and click on developer and create an app links After this we will fill in the fields for our site accordingly It is important to select Browser in Application Type and set the Callback URL to the proper path were the files are hosted This must be something like http localhost com folder name of the file php http localhost won t be accepted because it doesn t have a domain name Finally we must select Read amp Write fill in the captcha click Register Application and accept the Terms of Service 55 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Developers gt gt Application Details Name Fad Project 2 our application name This is used to attribute the source of a tweet and in user facing authorization screens 32 characters max Description Social Network Aggregator our application description which will be shown in user facing authorization screens Between 10 and 200 characters max Website www FADproject com our application s publicly accessible home page where users can go to download make use of or find out more information about your application This fully qualified URL is used in the source attribution for tweets If you don t have a URL yet just put a placeholder here but remember to change it later ated by your application and will be shown in user facing authorization screens Callback URL http localhost com folder name_of_the_f
63. er offers different authentication methods and with a range of OAuth authentication styles depending on which API is being used e REST API gt OAuth signed or unauthenticated requests e Search API gt unauthenticated requests e Streaming OAuth signed or HTTP Basic authenticated requests For our application we will need the authentication process since we want to post and read Twitter data on behalf of the user through the application What we need then is to use what it is called 3 legged Oauth But first we will explain the sign in process so that the reader can understand all the steps in the authentication process Sign in with Twitter The browser and mobile web implementations of sign in are based on OAuth protocol The next steps show how to obtain an access token for the sign in flow so that the Fad Project application can interact properly with the Twitter API e Step 1 Obtaining a request token The first thing one developer must know is that the application must get a request token by sending a signed message to POST oauth request token It is required one parameter oauth callback which must be a URL encoded version of the URL in which the user of the application will be redirected to when they complete step 2 The remaining parameters are added by the OAuth signing process 37 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The application should examine the HTTP status of the response The correct value o
64. ere are lots of possibilities talking about the information returned The URL used for the search should be something like http api linkedin com v1 people search wordsearch Wordsearch represent the parameters of the search It could be a keyword first name last name location distance or all together for unique search Companies This resource allows the users to see information about the companies The company profile retrieves and displays one or more company profiles based on the company ID or universal name It also returns basic company profile data such as name website industry or Twitter and RSS feed The URL needed for this resource should be http api linkedin com v1 companies profile fields Jobs The Jobs API returns detailed information about job postings on LinkedIn The user is able to see the job summary description location and apply for it User can use inline filters and Linkedln s nested domain structure to explore details about the job and the hiring company within a single REST call The URL to get access to this information should be http api linkedin com v1 jobs id Messaging It allows the user to send messages to his connections or invitations to create a new connection The URL must be use with POST http api linkedin com v1 people mailbox Network Updates o Getting Updates The user can get his updates or connection s updates through the network updates resource
65. ers of the users will be used as a feedback to improve the application and get some conclusions 79 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 7 2 3 Usability Tests Usability testing is a technique used to evaluate an application by testing it on users It gives direct input on how real users and testers use a system This is in contrast with usability inspection methods where experts use different methods to evaluate a user interface without involving users This test focuses on measuring a human made product s capacity to meet its intended purpose It is useful for example in web site or web applications computer interfaces documents and devices The aim of these tests is to measure the usability of a specific object or set of objects One goal of these kinds of tests is to observe people while using the software or devices to discover errors and areas of improvement Usability tests measures how the users respond in four areas e Efficiency e Accuracy e Recall e Emotional response It is important to focus in the point that usually the fact of gathering information and opinions it is called market research rather than usability test Usability test involves systematic observation under controlled conditions to determine how people can use the product This method of evaluation requires create a scenario or schedule so that the users could follow a list of tasks using the application while an observer watch an
66. es developers a multitude of integration opportunities to interact with Twitter Through this API users are able to create and post back to Twitter reply tweets retweet and the rest of functionalities offered by Twitter On the other hand the Streaming API is for developers who have data intensive needs If the application to build is something related with analytics research this API is the correct one The user can get large quantities of keywords to be specified and tracked retrieve geo tagged tweets or get the public status of a user The first step should be work with the search API first and if the application is being rate limited or it is clear that the application has very aggressive querying needs then it is necessary to move over the Streaming API Fad Project has not big needs talking about rating limits since by now it uses only the user profile tweet timeline and search So during the development of the application we have used REST API and Search API Since we are working with PHP we had to choose the proper library to reach our goal Twitter offers different libraries for several languages e ActionScript Flash e C e Clojure e ColdFusion e Erlang e Java e JavaScript e e Objective C Cocoa e Perl e PHP e Pyton e Ruby e Scala Inside PHP language we have 5 official libraries e Oauth php by Corollarium Technologies This is an OAuth library for clients providers e Services Twi
67. etrieve the information stored in the database for that user We said before that for using some functionalities of Facebook comment and like features is required to be logged in this social network so it is necessary contact again with the social media and throw the sign in formulary Once the application has all the information the user is able to use all the features available in the application Easy Social Networks Fast Post and Normal Social Networks Every time the user uses one Easy Network or Fast Post the application must make API Calls to take the information from the proper social media Is because of this that the flowchart shows the interaction between the application and the social networking services Log in and Use of the Application Application 8 Social Networking Service Using the application v r Em gt Dmm men 3 am gt sa 9 T f m Login s fa EE Database 6 API gt N Figure 22 Flowchart Login and Use the application 5 4 Interface The interface of the site is pretty important for the success of the project since a not well designed interface could lead users to give the application up Here the goal is to make a simple and intuitive site in which the users do not need help to use the application properly 46 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The structure of the aggregator must present a Welcome page in which the user could log in or
68. f the answer must be 200 another value indicates a failure in the request operation The body of the response will contain the token oauth token secret and oauth_callback_confirmed parameters It is necessary that the application verifies that oauth_callback_confirmed is true and stores the other two values for the next steps User wants to sign in GET my first url POST oauth request_token oauth_callback Twitter generates request token Fetch request token 200 OK oauth_token oauth_token_secret oauth callback confirmed Parse request token and secret Figure 13 Request token Twitter e Step 2 Redirecting the user In this step is direct the user to twitter so that they may complete the appropriate flow This flow means that the user is asked to allow the application and give permission so that the application can tweet and make other actions in behalf of the user Then Twitter will redirect back to the URL passed in the previous step at lt ape twitter com v EY OOO rene I matters ov av You con woe your Tetter account te sign in te ofrer sites and services Oy sang in here you Can sse Des Wetete Ever umo sung pou T wie passwort Authorize Best Website Ever to use your account vom Ths appacatice Read Tweets See who you Forgot your passwors canes will not be able to Jen the A pci alons tah of your Semngs page OF
69. g error highlighting CVS version control e semantic analysis with highlighting of parameters and unused local variables e PHP code debugging with xdebug e Unit testing with PHPUnit and Selenium e Code coverage e Symfony framework support e Zend Framework support since version 6 9 e 5 3 namespace and closure support e Code Folding fo Control structures Since we are used to work with NetBeans environment we have selected NetBeans IDE 7 1 1 with PHP Bundle to develop the application Since it also offers database administration service we can check our database from the same environment 53 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 54 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 6 DESCRIPTION OF THE SOCIAL NETWORK AGGREGATOR 6 1 Introduction In this section we will explain in detail all the necessary steps to develop the Fad Project application First it is shown how to join as a developer in the social networks we want to use in our application Then we will explain how the application is working the files that made the application works and all its features 6 2 Join as a Developer If we want to interact with the social networking services through one Web based application it is necessary to join as a developer in all the social networking services involved in our design Twitter Developers We first need to set up a new Twitter application To do this we will ent
70. gain so that he can continue registering in the other social nets Once the user has been registered in at least two nets it appears one button Go to main page This button directs the user to the main page 61 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Fad Project Register Register Steps Click to Open Help Documen t Figure 35 User registered The required files for the registration process in the social media are authentication php and verify php Twitter auth_fb php Facebook and auth linkedin php LinkedIn For the authentication in Twitter the first file used is authentication php in which we follow the process explained in the section 4 2 2 From this file the user is redirected to verify php This document we get the useful information from Twitter tokens username uid an so on we store it in our database for a future uses and put the values into a session variables for this session twitteroauth new TwitterOAuth consumerKey SESS oauth token SESSIO auth Saccess token Stwitteroauth gt getAccessToken GET coauth verifier SESSION access token access token SESSION info user inf Slink mysql connect localhost root HectorFadri or die mysql does not exit mysql select db saula S 11ink Figure 36 Verify php code The authentication step in Facebook happens in auth fb php Here we define the permissio
71. gn of this feature is quite simple since it is only a formulary The Fast Post has the text area where the user must write the post or update and four buttons By clicking this 74 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR buttons the information in the text area will be sent to the post php file where the application will decide which social network must be updated Fast Post Ei e D Figure 51 Fast Post The can update one of our social networking services supported Facebook Twitter and LinkedIn or all this nets at the same time With the introduction of this feature the users will not need to sign in all the social networks each time they want to update his status Here the users are able to write the updates and share it in the selected network or even in all of them Hence it makes the experience of the users easier since they can administrate from the same site all their social networks 6 7 Normal Social Networks The Normal Social Networks it is the simplest feature of the application It offers the possibility to the user of going to the real social networking services Although the normal behavior is to check the updates and update the networks sometimes is necessary change the configuration of the profile create some events or create new connections Since these features are not present in this version of the social network aggregator 1 version it is necessary to offer the possibility of going to the
72. h is based on keywords what means that the next page will show all the results that match with the keyword The users are able to search in 3 different fields Post Groups and Events The search engine works in this way The user writes the keywords he wants to find for example Blues show After this the user selects where he wants to search for example Events Finally the user must click on search button With information what we are doing is search all the public events on Facebook about Blues shows The information of this formulary is sent to another php file search php This document is divided in two parts since it is used to make the search for Twitter and Facebook The first part is used to make the search in the proper API Facebook or Twitter and then show the result in a correct way In the figure 36 we can see the results for our Blues show events 65 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The results are shown in the Search Page This page shows all the information that matches with the keywords in the left column Here it shows the picture of the event name link to find it on Facebook posting date and location of the event Fad Project Search Search Find in Event The Moody Blues The Show Rancho Mirage CA 4 B B King Showboat Atlantic City House of Blues v XRT Blues Breakers Show in Chicago Beth McKee Show Live at The Bank amp Blues Ww Smokin Stacey s Te
73. iends Home Create A Page Ovapz eore ra a DHI ga eyyu rar ES evrunodaxr a ay amv The Muddy Waters Like Message v sx va an my in EN ouvedpia Andy May BBC 17085 t Bettendorf gt lavenporte 90 55 1 ock Today 2 00 pm 2 00 am a Photos Events Map reporter About Suggest an edit Kost Photo Video te something E The Muddy Waters Recent Post See All Peter D Harper Funday Sunday at The Muddy Waters with FREE pop for Pops all Thanks Hal and Kristy for yet another show at The amazin day today Dave Ellis on the outside patio from 6 9 pm and Red Di Solo Cup Special from 6 close 92 Dollar Sense Magazine ES z Muddy Waters is a great place to go for live music and fun http www facebook com pages The Muddy Waters 125348230834240 Le Chat Figure 9 Facebook page Users can communicate with friends and other users through private or public messages or even using chat feature They can create and join interest groups and like pages as well Facebook launched on September 2006 the News Feed It shows the new information or changes upcoming events or birthdays of the user friends Users are able to prevent what kind of updates it will show in the News Feed Wall post profile changes and newly added friends One of the most used applications of Facebook is the Photos application With this a
74. ight to the last updates section where they will check if the update was successful During the testing process it appeared some bugs with the logout that have been solved in the last version Now when one user clicks the logout button in the application the session is destroyed and they are logging out from the social media 91 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 92 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 8 CONCLUSIONS AND FUTURE LINES 8 1 Introduction This chapter presents two parts The first part shows the final conclusion of the document In this section we think about the application developed the goals we fixed in the first chapters what we wanted to do and what we achieved during this project The second part of this thesis talks about the future lines This part is so important the developer of the application realized that there are some other ways or new ideas that will improve the current application solve other needs and make the project more interesting 8 2 Conclusions When the project started we fixed some goals to achieve with this application The most important goals were to interact properly with the social media APIs be able to administrate all the social networks from the same environment update all the nets at the same time and be able to get the updates and show them in the same site After the work presented in this thesis the users who tried the applicati
75. ile php Where should we return after su ss fully authenticating For Anywhere applications only the domain specified in the callback will be used OAuth 1 0a applications should explicitly specify their cauth c U on the request token step regardless of the value given here To restrict your application from using callbacks leave this field blank Figure 27 Create application Twitter We need to save the Consumer Key and Consumer Secret since we have to use it to interact with the API of Twitter Following these steps we became Twitter developers and the application has been setting up Facebook Developers In the same way as we did with Twitter we need first create a Facebook application since we are going to use the Facebook Graph API This does not necessarily mean that our application will be on Facebook although we can But we just need a Facebook application to access the API with the APP ID and APP SECRET After click on Facebook developers and Apps links we will be prompted to log in and allow the Developer application to access our account After accepting we will be redirected to the Developer App homepage Here we have the option of create new app what we need Once we have introduced the name of the application we can configure it It is shown below 56 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Apps F A D Project 2 Basic F A D Project 2 App ID 125206237619519 App Secret 63f97b3bff1380
76. in 3 main parts Easy Social Networks which is a simple sample of each social net with the basic functionalities Fast Post that allows the user to post easily in each social network or in all networks at the same time and Normal Social Networks that open the real social nets Finally this thesis present some possible extensions of the implementations as future work Since this is the first step for a social network aggregator this future works is about add new functionalities that interacts with the APIs so that the user has not need of going to the real social networks anymore to update chat watch the last news and so on Key Words Social Network API PHP HTML aggregator Facebook Twitter LinkedIn Easy Social Networks Fast Post DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR ACKNOWLEDGEMENTS would like to begin this page by thanking to all the people who contributed to the success of this work Thanks to my supervisor loannis loannidis for helping me always when I had a problem guide me in my work and try to teach me something new would like to thank to Professor Nikolaos Avouris for his good reception and for gave me the opportunity of working in this topic Thanks to my great Erasmus friends for making this time amazing Especially the maulas from Small Estia you are the best I will miss the break time in the corridor my friends For sure I will thank to parguelas friends from Puc
77. ion URL must be our project URL and Oauth redirect URL is the URL where the user will be redirected after give permission to the application On the other hand agreement language defines the display language of the user agreement screen Linked Developer Network Application Details Company Info Company Patras prj Account Administrators You are currently an administrator Additional Administrators Start typing the name of a connection Administrators appearin details and add remove w account administrators for all applications from this company Administrators can edit application dministrators and developers Application Info Application Name F A D Project API Key 4w4jtjnd3995 Secret Key ualglAldfmVuNB48 Description Social Network Aggregator Integration URL http localhost com Post twitter Example URL where the integration will go live JavaScript API Domain http localhost com Figure 30 Creating application LinkedIn After completing these steps we have all the applications created in all the social media so what we need now is to start with the code that will define the Fad Project application 6 3 Login and Register Steps We will start with the Welcome page where the user has the possibility of og in the application if it is already user of the application or register the user wants to create a new profile in the application The design of the page is quite simple It shows two
78. itter com they will be prompted to enter their credentials and grant access for the application to access their information on the same screen Once signed in the user will be returned to the callback URL with a valid OAuth request token Below is shown the flowchart of the possible states of the sign in The user is Twitter Signed in has User clicks Sign granted access Redirects in with Twitter transparently Site collects OAuth token Signed in has not granted access Not signed in Figure 16 States of sign in Twitter 39 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR If the authentication is successful the application will receive a request with the oauth_token and oauth_verifier parameters e Step 3 Convert the request token to an access token To convert the request token into a usable access token the application should make a request to POST oauth access token with the oauth verifier parameter A successful response contains the oauth_token oauth token secret user id and screen_name parameters It is necessary to store the token and token secret for future authenticated requests to the Twitter API POST oauth access_token oauth_verifier Upgrade request token YT A F Twitter generates access token 200 OK oauth_token oauth_token_secret user_id Parse access token screen_name token secret user info then redirect the user
79. kd in uSjxcH ManoloPeret again Link http Inkd in uSjxcH Your Profile Current Job Associate at InmoMar Chairman at Banco Santander Past Job Salesman at InmoMar Salesman at BP Education ManoloPeret Chairman at Banco Santander Greece Computer Networking Connections 3 Engineer of Telecommunications at University of Patras 2010 2012 Ingeniero de Telecomunicaciones at Universidad de Valladolid 2004 2011 Connections Ignacio Alvarez Villace Analyst en Accenture Technology Solutions Iberto Suarez Rojo Asistente de proyectos en Evoluciona Kiko Veneno Subdirector en Small Estia Figure 45 Easy LinkedIn ct Nets Company 1 Microsoft Job Poster Helen A Recruiter at Microsoft Description Job Category SalesLocation Chicago IL USJob ID 798614 83865Division SalesStartup Pangei Reapossiiastios tarts represent the future of the software industry Startups and the organizations that incubate them are critical to Microsoft s overall strategy for delivering Microsoft based software solutions to businesses and consumers Evangelizing to these dynamic organizations presents a un Location Salary Chicago IL US II Company 2 Microsoft Job Poster Cindy P Technology Recruiter Microsoft Description Job Category Customer Service amp SupportLocation Chicago IL USJob ID 777324 79452Division Services amp SupportCRM PFE greater Chicago IL areaAre you a motivated individual who enjoys working in a t
80. lclient 14 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR File Edit View History Favorites Tools Help about flock Y tals E SI omg AE ibn FER w Getting So Reading F U Ge Sta Getting Sta Flock Getting Started x My World x Fa 4 amp c PR ook SE Login Login m fi STAY HOOKED TO T YOUR WEBMAIL Gmail YAHOO MAIL AOL l mail Login Login Login I penn You 1 flickr Open Media Bar Open Media Bar Open Media Bar z Done e Figure 2 Flock features e This aggregator lets users or brands organize their entire social presence discover new networks and people and grow their presence and influence It has a long number of supported networks and it offers useful analytics and with XeeGraph the user has a point of reference about his presence value and network relevance The founders of XeeMe sais that is free and will remain to be free but additional business features or applications are provided as subscription service gt https neeme com _ system apps KeeMe Xeeport cfm LC 1 C P A e XeeMe Product Update By admin 06 03 2012 views 467 Getting The Most Out Of Your Favo rs Experience By Adam 05 11 2012 views 258 Social Media Time Management Stunning Effects Part By AxelS 05 11 2012 views 76 TZARUL NICOLAI fe
81. lopment of Twitter OpenID implementation At the same time Ma gnolia needed a solution to allow its members with OpenID to authorize Dashboard Widgets to access their service The idea was try to use OpendID with the twitter and Ma gnolia APIs to delegate authentication The conclusion was that there were no open standards for API access delegation It was 3 October 2007 when the OAuth core 1 0 was released The OAuth protocol was published as RFC 5849 35 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR OAuth 2 0 is the next step of the OAuth protocol and is not backward compatible with OAuth 1 0 OAuth 2 0 focuses on client developer simplicity while providing specific authorization flows for web applications desktop applications mobile phones and living room devices 8 4 2 4 Authentication Facebook The Facebook platform uses Oauth 2 0 for authentication and authorization On the Desktop Web to authenticate a user using a server side flow we have to follow these steps Redirect the user to the Oauth dialog The user is prompted to use the application Fad Project The user is redirected back to the application Fad Project Exchange the code for a user access token User is able to make requests to the Graph API d cox p GR A successful authentication flow results in the application Fad Project obtaining a user access token which can be used to make requests to Facebook s APIs There are several authentication flo
82. mming techniques e Itis no necessary declare variables e It has exceptions handlers The version used in the application development is PHP 5 2 17 windows version 5 5 3 MySQL This is the world s most used relational database management system RDMS MySQL is open source and runs as a server providing multi user access to a number of databases It was owned and sponsored by single for profit firm the Swedish company MySQL AB now owned by Oracle Corporation Although is open source software there are some commercial version that offers additional functionalities under several paid MySQL is also used in many high profile large scale World Wide Web products including Wikipedia Google Facebook or Twitter The MySQL server incorporates a unique feature called storage engines that allows to select the type of internal storage for each table based on which best suits a particular situation The selection again makes the developer at the table level and does not affect how the server interacts with the client SQL commands are the same whatever the chosen storage engine The client does not need to know how data is stored MySQL has a dozen own storage engines more outboard motors developed by third parties that may be incorporated to the server Some of the best known are MylSAM InnoDB HEAP NDB 49 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Figure 24 MySQL engines MySQL Parse Optimize My
83. mples e Flock Flock is a web browser specialized in providing management tools for social networking and other Web 2 0 services through its user interface I My World Fock File Edit View History Favorites Tools Help lt SICH aboutmyword ME es ow viewing user HowToFlock Flock Getting Started My World My World mi rcoles junio 13 2012 07 48 YX Widgets amp Share Flock ff PosttoMyBlog Upload Media Twitter Search Favorite Feeds Favorite Media Gave Search Xrends Stay in tune with your current feeds AI the media you love m i HowToFlock on YouTube What is the Twitter Search Widget sinn Its Fro ring on JPMorgan ward Civil War Raising s in Anger Management on FX Zl Diez Entertainment Done Figure 1 Flock Menu Flock integrates multimedia services including Myspace Facebook YouTube Twitter Flickr Blogger Gmail Yahoo Mail etc When logging into any of the supported services Flock can get updates from friends status updates and photos submitted In addition Flock can search in Twitter to update multiple services at once and use Facebook chat from the browser Other features are o Native sharing of text links photos and videos A media bar showing previews of videos and pictures News reader with RSS feeds An editor and reader of blogs o Anemai
84. n to ask the user in the OAuth dialog and when Facebook redirect back to the application we get some information from the Facebook account like we did with Twitter store it in the database and put the values in the session variables Finally the authentication in LinkedIn in the auth linkedin php file is quite similar to the previous authentications We direct the user to the OAuth dialog to get the user permission 62 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR and after it we get some information from the LinkedIn account store it in the database and save it in session variables 6 4 Main Page The Main Page is one of the most important pages of the application Fro here the users decide what they want to do which social net they want to check or which social media they want to update among others options They design is quite simple and visual It shows the three main options of application Easy Social Networks Fast Post and Normal Social Networks It also offers the possibility of log out the application with the logout button Fad Project Main Page Easy Social Networks Fast Post dg Ei e I Normal Social Networks pem c m Figure 37 Main Page Actually this file main php is only the layout and some links to other files As the reader can see in the Figure 34 the Main Page is divided in three areas well differentiated The section Easy Social Networks offers 4 different possibilities Facebook
85. nd LinkedIn have adapted this protocol for their authentication process Then in Design the application we will see the required steps to be developer in Facebook Twitter and LinkedIn Then register one application in those social networking services After these steps we can start programming the application showing all the steps to create the social network aggregator the main pages log in the register steps and so on The last part of the chapter is for throwing some conclusions whether we reach our goals or not some problems found and the proper solutions for these problems 4 2 Authentication and Authorization The authentication and authorization process is based on OAuth protocol This is an open protocol to allow secure API authorization in a simple way from desktop and web applications It allows users to share their private resources e g photos videos contact lists stored on one site with another site without having to hand out their credentials typically supplying username and password tokens instead Each token gives access to a specific site such as a video editing site for specific resources e g just videos from a specific album and for a defined duration e g the next 2 hours This allows a user to grant a third party site access to their information stored with another service provider without sharing their access permissions or the full extent of their data OAuth began in November 2006 during the deve
86. nd user are making the request LinkedIn is following the OAuth protocol version 1 0a The flow with this version of the protol is shown below e The developer of the application Fad Project must request an API key from LinkedIn consumer key e When the application needs to authenticate the user it makes a call to LinkedIn to ask for a request token e Linkedin replies with a request token Request tokens are used to ask for user approval to the API e The application redirects the user to LinkedIn to sign in and authorize the application to make API calls on their behalf The application must provide LinkedIn with a URL where they should send them afterward callback URL e If the user agrees LinkedIn returns them to the location specified in the callback e Then the application makes another OAuth call to LinkedIn to retrieve an access token for the member e LinkedIn returns an access token which has two parts the oauth token and oauth token secret e After retrieving the access token the application can make calls and signing the users with the consumer key and access token The following picture shows the OAuth dialog for LinkedIn authorization where the user gives permission to one application to post and use other features on his behalf 41 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Don t have an account Join Now Linked fi Grant F A D Project access to your LinkedIn Account Only allo
87. ngs the Facebook Platform to the Android Platform mobile amp devices The user can use this SDK to add single sign on to his Android apps invoke the Graph API and more In the development of this application we have used PHP SDK since the Fad Project is and application based on Website The PHP SDK is typically used to perform operations as an app administrator but can also be used to perform operations on behalf of the current session user By removing the need to manage access tokens manually the PHP SDK greatly simplifies the process of authentication and authorizing users for your app 4 PHP SDK offers several methods to interact with Facebook API Graph API getAccessToken Get the current access token being used by the SDK e getApiSecret Get the App secret that the SDK is currently using e getAppid Get the App ID that the SDK is currently using e getLoginStatusUrl Returns a URL based on the user s login status on Facebook e getLoginUrl Get a URL that the user can click to login authorize the app and get redirected back to the app e getLogoutUrl This method returns a URL that when clicked by the user will log them out of their Facebook session and then redirect them back to your application e getSignedRequest Get the current signed request being used by the SDK e getUser This method returns the Facebook User ID of the current user or 0 if there is no logged in user e setAccessToken Set the current
88. on were satisfied so the application works as it expected The application can interact with all the APIs the user is able to administrate all his nets from the same place update all the nets from the same place and check the new updates from all the friends and connections It is clear that the application does not implement all the possible features that it can be implement But since it is the first step to create a competitive social network aggregator the main goal was the creation of a simple friendly and easy application that allows users to do the basic activities in their social networking services check last news and update nets from the same platform avoiding the need of open several browsers and sign in different networks That means make easier the experience of belonging to a several social media All the users agreed with the features of the application Although it is not a competitive tool nowadays it makes the user s experience with the social media easier what is one of our goals Developing this application we realized about the possibilities of this topic With shortly changes in the code it is possible adapt this application for other uses companies Universities with different purposes Having opened APIs the social networking services have opened a door full of possibilities for the developers 93 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The application achieved all the initial goals we
89. or the social network aggregator is simple and easy Users should make the following steps Introduction to the application Read the schedule Try the application according with the schedule presented by the developers Fill the questionnaire UL Pew Mop Write some positive and negative characteristics 81 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 7 3 Evaluation Results The experiment was executed on 6 July 2012 in the Eastern building of the Electrical and Computer Engineering Department of the University of Patras During all the evaluation process 10 people took part testing the application Some these participants were students in the University and some others members of the HC Group With all the results of the proof and the results of test it will be possible to analyze the results about the usability of the application 7 3 1 Application Results In this section of the chapter it is showed the conclusions extracted from the answers in the questionnaires and comments from the users who participate in the evaluation The questionnaire used in the evaluation is called Questionnaire for User Interface Satisfaction It is based on Lund A M 2001 Measuring usability with the USE questionnaire but with some other changes from the original questionnaire The users had to fill the following questionnaire Application Questionnaire Answers e Try to respond to all the items Answers must be 1 2 3 4 5 with the foll
90. orks he wants to use and give some permission After that the user can see the updates in his nets publish in one or more nets at the same time launch marketing campaigns identify and grow audiences and distribute targeted messages It is also possible to invite multiple collaborators to manage social profiles securely plus provide custom reports using the comprehensive social analytics tools for measurement 16 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR hootsuite com dashboard organizations social networks snld 1 13547962534486657 C Hootsuite P 1 Social Networks Patras Find social network Profile Settings dd a social network EN Patras Prj m Manolo Peret Connect with Twitter Figure 5 Hootsuite connection with social network hootsuitecom dashboard member Hootsuite Hello EE Manolo Peret m 15 adir un enlace 5 9 An Clear Show al v a v Organizaciones de las que formo parte No formas parte de ninguna organizaci n Form teams and collaborate with others to engage audiences at every level of your organization 6 ET Invitar Miembros de Equipo Crear Equipos jEmpieza a Colaborar m Figure 6 Hootsuite updating status This application works with Facebook Twitter LinkedIn and new Google Pages plus a suite of social cont
91. owing meaning 1zstrongly disagree 2 disagree Sczneutral 4 agree 5zczstrongly agree e Foritems that are not applicable use NA Question Strongly Disagree Neutral Agree Strongly NA disagree agree 1 It helps me be more effective 2 It helps me be more productive 3 It is useful 4 It gives me more control over the activities in my life 5 It makes the things I want to accomplish easier to get done 6 It saves me time when use it 7 It meets my needs 82 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 8 It does everything would expect it to do 9 It is easy to use 10 It is simple to use 11 It is user friendly 12 It requires the fewest steps possible to accomplish what want to do with it 13 It is flexible 14 Using it is effortless 15 1 can use it without written instructions 16 don t notice any inconsistencies as use it 17 Both occasional and regular users would like it 18 I can recover from mistakes quickly and easily 19 I can use it successfully every time 20 learned to use it quickly 21 easily remember how to use it 22 It is easy to learn to use it 23 quickly became skillful with it 24 I am satisfied with it 25 would recommend it to a friend 26 It is fun to use 27 It works the way want it to work 28 It is
92. pplication users can upload photos in different albums For sure one of the most famous applications of Facebook is the Wall This is the original profile where was the user s content a space on every user s profile that allows friends to post messages for the user The Wall is visible for everyone who can see the user s full profile From 2007 on the company allowed users to post attachments to the Wall since before the Wall was limited to text only But as it was said before the Wall also displays events that happened 23 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR to the user events new friends added change profile picture and so on Finally the Wall have been replaced by the Timeline what starts at the end of 2011 The impact of Facebook in the society is pretty big Facebook has affected the social life of the people in different ways The main issue is to be continuously in contact with relatives friends workmates It can link people with similar interests or likes in common With its availability on mobile devices the contact is always present whenever the user has access to the Internet But there also critics to this ways of communication since they say that that it can cause antisocial tendencies because people are not directly communicating with each other only through the computer It is clear the impact of the social networking service in politics Over a million people installed the Facebook application
93. proper methods inside The user must request these methods so that LinkedIn can send him the requested information Some examples of the resources offered by the REST API are shown below Member Profile The Profile API returns a member s LinkedIn profile There are two versions available e Standard Displays the profile the requestor is allowed to see The specific content will depend on the privacy settings of the profile owner the relationship degree separation or groups in common between the owner and requestor and in rare cases the privacy settings of the requestor e Public Returns the public profile The fields returned are only determined by the privacy settings of the profile owner In order to get one profile the user must use GET http api linkedin com v1 people profile fields with the id of the user or other value from the profile selector list 30 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Connections The Connections API returns a list of connections for a user who has granted access to the account The user can control the fields returned and the number of connections returned for each call So that the user can get the proper connections information he must use GET http api linkedin com v1 people profile field connections People Search The people search resource search for people matching according to the criteria used in the request It returns information about people but th
94. r After this it shows some diagrams so that the reader could understand better the flow of information among all the actors involved in the process The next part is the abstract design of the interface how it will be and some characteristics Finally it presents the technologies and software selected for the development of the aggregator Chapter 6 shows all the steps of the development of the application All the features supported nets and characteristic are explained here in detail Chapter 7 shows the conclusions and future lines At the end of the document is time to value whether the application has achieved all the goals that were proposed at the beginning It is important to point some future lines for the next developers so that the application could be improved easily In the end of this chapter it talks about the software used to develop the application such as database or programming interfaces used in the process Chapter 8 is about testing the application With the aim of be sure that the application has achieved its goals some users must test the application and reflect their experiences so that the application could be evaluated 18 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 19 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 2 INTRODUCTION TO SOCIAL MEDIA The following parts of this chapter describe the concepts tools and technologies used in the development of this application 2 1
95. r Bhojaraju Gunjal Rodney Pike me Welcome new users Emerging networks M Event Pandit 4 Profiles on e Connect Me EmpireAvenue Be me me Q Favors 4 Andrea Casalegno Kiva ME visits 15 528 BI Klout 5 P Joseph Aquilino GF Total visits 50 174 Peerindex Pinterest Aurelian Sonea 39 6 5h Total visits 15 220 Quora B ra wi E Scoop IT MES Tara Williams mu l Ger E Login and see who the early adopters and drivers are Axel Schultze p Jorge Purgly 9 Total visits 277 400 Trending countries Be me United States US 10 Rusty Roar Germany DE WSQ Tott visis 72020 BE tay 2 Austria AT ick Sa 11 cred NS United Kingdom GB Figure 3 XeeMe Wall of Fame 15 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR XeeMe has 3 important points o Organize Social Presence Xeeme offers the user the possibility of organize all social networks in one place and share all the social presence with one URL with existing friends customers partners and people the user don t know yet o Discover new networks and people Trough this application the user can discover new networks or people who is in other networks and offer the possibility of connecting with them o Expand the presence and influence By sharing the URL on each post the number of visits to the social site of the user will increase The connections of the user will
96. r in the Fad Project He must Log In with his username and password and selects Add a New Net and he will be redirected to register steps where the users of the application select which social media they want to use through Fad Project application 59 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR On the other hand the Register formulary has the fields User username in the Fad Project application and Password password in the Fad Project application These values will be stored in the database so that the application can validate and get the information from one user during the log in step The welcome page has also some help links You forget your password and Add a new social network that offer help to a new users and guide them through the application The welcome page has been made from the file index php and when a user submits the information in one the formularies the information is sent to log in php where the information sent is evaluated Log in ph What we do in the log in php file is to evaluate the information passed from the index php formularies The first evaluation in the document is check if all the fields of the formulary have been filled if not we will show one error text and redirect again to the previous page Then the document splits in two parts Register option and log in option If the user is trying to log in the application we check if the user is actually registered and has all the
97. real social networks so that the users can change everything there if they want to Normal Social Networks c m Figure 52 Normal Social Networks 75 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR If the user has already one profile created in these social networking services the links will lead the user to his profile immediately the site in a new window But whether the user has no profile in that net or he did not register this social network in our application the link will only lead him to the sign in page of the social media 76 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 77 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 7 EVALUATION OF THE APPLICATION 7 1 Introduction The main goal of this chapter is to test the application implemented in the previous chapters in a real case study For that purpose this chapter will present an experiment in a real environment in which the application developed could be tested 7 2 Evaluation of the application Once the application has been developed the next step should be to evaluate it To do this activity some experiments and people are required for testing the program The evaluation is one of the most important steps in the moment of designing and implementing one application since in this step the developers are able to know whether the results obtained have been the suitable ones and act according to the tips or opinions suggested by
98. rect the user to the OAuth dialog in which it ask the user about give the proper permissions to the application In that dialog the user must sign in the social media and allow the permissions requested by the dialog Once the dialog is finished it redirects the user back to the application to continue the process When the user has been registered in at least two social networks it will appear the option to continue the registering process or go to the main page The user must know that is not possible select all usernames to register in the application since is not allowed that two different users share the same username So if one user select the same username than other user who is already registered in the database the application will throw an error message This user name is already used and redirect to the Welcome page again If the user is registered only in two nets of the 3 available he can add the third one using the login formulary and selecting the option Add new net in the formulary By selecting this option he will be redirected to the register steps again where he can add the third net to his account 98 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR The register step is necessary only once since after this process all the important information will be stored in the database of the application A 2 2 Login Process Once the user has been registered in the application and all of his profile information has
99. rrent position Past Salesman at InmoMar IT Networking Industry PETE Get Real Time Web Monitoring amp Performance eige Analytics Free Trial amp T Shirt Salesman at BP MIT Sloan One Year MBA Education University of Patras FH Developed for Mid C Executi Ch tn era E Ium Developed for Mid Career Executives Change the Face of Your Business 5 Ask for a recommendation Vulnerability Management Free Vulnerability Management Financial Impact amp ROI Guide s connections S Adda website Patras_Prj Edit _http gr linkedin com pub manolo peret 49 874 b9 Edit h E Pri 259 Share za PD ie Print Who s Viewed Your Profile EI Add sections to reflect achievements and experiences on your profile Add sections R Your profile has been viewed by 5 people in the past 90 Figure 10 linkedIn profile The site allows users to maintain a list of contact details of people with whom they have some level of relationship workmates friends or relatives The users can make new connections through invitation and build a big and useful net of connections The connections list is used in several ways For example there are different levels of connection second third this can be used to gain an introduction to someone a person wishes to know through a mutual contact This site was developed as a showcase work for professionals and it must be used to find jobs people and business opportunities re
100. t only if the professional has activated this feature in his LinkedIn profile All Together This is the last button in this section Since one of the goals of this application is to save time to the users so that they can check the last updates easily and faster Because of that it is necessary to offer the possibility of check all the updates in the same place and this is what the All together button does Although the design is similar than the other Easy Nets here there are some changes Here the user is able to check the updates but in the case of Facebook is able to comment like and delete post as well This page is executed in aggregate php This document is divided in three parts each one for each Easy network We can see how it looks like in the figure 47 We introduce in this file another refresh 240s so that the users could have this page open and check from time to time all the new updates in their social networks easily and faster If 73 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR the users need more features such as update one net or look for specific information they should change to one of the Easy Networks Fad Project All Updates Show News Feed Show Wall The Wall Manolo Peret This is an updatell D comment like delete Manolo Peret test all comment like delete E Manolo Peret Post with Nias bukter Select N of Tweets 10 Red Innova RT nuemprende
101. the users The evaluation requires a real environment some people who test the application and did not have any contact with the application before the tests This will provide an objective opinion about the project form the exterior and will help to realize about the lacks and deficiencies of the application 7 2 1 Scenario The scenario selected to test the application was the laboratory of the Human Computer Interaction Group Here users will enter in the laboratory alone The developers will explain them the purpose of the project and how the application works After this step they developers will provide to the users the schedule some actions they will perform to test the application Users will enter one by one in the laboratory testing the application Finally after the schedule developers will provide users some questionnaires so that they can evaluate the usability of the application 78 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 7 2 2 Activities The evaluation of the application developed consists in one schedule that users must follow so that they could interact with the application and after this evaluate it It is not a good idea to test the application letting the user interacting with the application since all of them must follow the same routine in order to delimit the evaluation process Once the developers have explained about what topic is the application they will provide the schedule with the
102. tter PEAR by Joe Stump David Jean Louis and Bill Shupp This is a library for communicating with Twitter s public API Send status updates fetch information add friends etc 28 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR TmhOAuth by Matt Harris This OAuth library supports file uploading TwitterOAuth by Abraham Williams Twitter_async by Jaisen Mathai This is a wrapper for Twitter OAuth API that provides asynchronous calls In the application we used TwitterOauth by Abraham Williams since we were coding with PHP it seems the best one is this library The REST API resources are divided according to the purpose of the query timelines tweets search streaming direct messages friends amp followers users suggested users favorites list accounts places and geo or trends among others more Some examples are shown below Timelines GET_statuses home_timeline Returns the most recent statuses including retweets if they exist posted by the authenticating user and the users they follow This is the same timeline seen by a user when they login to twitter com GET_statuses mentions Returns the 20 most recent mentions status containing username for the authenticating user The timeline returned is the equivalent of the one seen when you view your mentions on twitter com This method can only return up to 800 statuses GET_statuses retweeted_by_me Returns the 20 most recent retweets posted by the authentic
103. tter Developers https dev twitter com docs api 17 06 2012 Check date 17 06 2012 6 LinkedIn developers https developer linkedin com documents libraries and tool Check date 20 06 2012 7 Wikipedia http en wikipedia org wiki PHP Criticism Check date 21 06 2012 8 Wikipedia http en wikipedia org wiki OAuth Check date 21 06 2012 96 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 97 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR APPENDIX A USER GUIDE A 1 Introduction The user manual is a guide or document which leads the user through the application It solves all the possible doubts when the users want to use the application So the main goal of the user guide is to give assistance to users of the application In this appendix we will explain how to use the application properly and solve the most common questions A 2 User Guide Users have two options in the Welcome page Register and Login If it is the first time the application is used by the user he must register to be able to use it A 2 1 Registering amp Adding New Nets The register steps are quite easy It shows the 3 options supported by the application Facebook Twitter and LinkedIn The user must register at least in two of them to be able to use the application Otherwise the application will not give permission to enter to the main page and of course to all its features The registering process is simple the application redi
104. u u teet er 86 Figure 57 Average Easy Of USC cccccccccccssssssssceeececessessaeseeeesceeseseeaeeeeeessessesaeaeeeesessseseaaeaeeeesensees 87 Figure 58 Easy of Learning TeSt cccccccccssssscccccecessessaesececscesseeeaeeeeeesseesesaeaeeeeseesseseaaeaeeeeseesses 87 Figure 59 Easy Learning eden enim e NASN EN erede 88 Figure GO S atisfaction Test ay a na iet ua kiste 89 Figure Gl Average Satisfaction u Pete ene e nien etin s 90 Figure 62 Total avetage i rex e ERR IA ENMRER dns ee E EUR 90 Figure 63 Updating Password 100 10 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR 11 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Chapter 1 INTRODUCTION 1 1 Aim ofthe Thesis The main goal of this project is to develop a social network aggregator which means that the user is able to use one or more social networks in which is registered from the same site The application must offer the basic functionalities such as check the updates from user and connections news feed post search and so on since the aim is not to replace the real social nets but make easier the process of checking and updating several social nets One of the important things of this project is the Fast Post that offers the possibility of posting something in all the nets the user is registered in once or only select
105. uery2 mysql query SELECT id user app password app FROM users WHERE id user app Susuario and data2 mysql fetch array query2 60 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Figure 33 Part of log_in php file On the other hand if the user has selected the register option the application checks whether the username chosen by the user is available or if it is already used by other user If there is no problem with the username the user will be redirected directly to register steps given by register php Register php The register page offers the users which social networking service they want to administrate through the Fad Project application It is very simple and intuitive site but it also has a help link so that the users can use the application properly and without any doubt Fad Project Register Register Steps HOD witter Linkedin Click to Open Help Document Figure 34 Register Steps Fad Project As the reader can see in Figure 31 this page shows the three options for the social media that the application supports The user will push the proper button and he will be redirected to the OAuth dialog see Figure 14 17 and 22 where the user should give permission so that the application could post on his behalf The user must register in at least two social media so that he can use the application When the user has been registered in one net the application will redirect him to register page a
106. ve additional features like the possibility of creating groups that share common interests or affiliations upload videos and discussions in the forums Geosocial networking given the option of mapping Internet services to organize user participation around geographic features and attributes There are different researches within the social networks services e Identity e Privacy e Learning e Company relation links e Teenagers 20 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Social networks have one important skill it is able to connect people easily simple and with a low cost which it is so important for entrepreneurs and small businesses that want to make new contacts These kinds of networks often act as a tool for managing customer relationships for companies selling products and services Companies can also use social networks as advertising and text advertising It seems that social networks can make connections easier what is very useful for companies which cannot afford expensive marketing However it is important to keep in mind the social origin of these networks Because of that try to make sales through the social networks could make the users will delete the link with the company 2 2 Twitter Twitter is social network service based on real time information that connects users with the latest stories ideas opinions and news This kind of services are called microblogging services since differs from a tr
107. ver with PHP module is Apache HTTP server This language can be deployed on the mayor part of the Web server but it is also possible to use the stand alone shell on almost every O S PHP is free software release under the PHP License which is incompatible with the GNU General Public License PHP was originally created by Rasmus Lerdorf in 1995 The main implementation of PHP is now produced by the PHP Group and serves as the formal reference to the PHP language Nevertheless there some critics about the PHP language for example they say that include weak support for Object oriented programming thread safety unit testing exception handling step through debugging inconsistent naming and poor performance when compared to rival frameworks and languages In the past there was numerous security issues 48 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR found within the framework Despite numerous criticisms from computer scientists and programmers PHP remains the most popular server side scripting language in the world 7 Some advantages of PHP language are shown below e PHP is a language multi platform e Connection capacity with the mayor part of Database drivers The best use it could be with MySQL e Modular This feature makes this language powerful and gives to it the capacity of being adaptable e Itis widely documented e PHP it is free what means it is an easy option for all users e allows object oriented progra
108. w access if you trust this application with your Linkedin network information Email Password eeeeeeeccccecceccce Forgot password Access Duration Until Revoked change Ok I ll Allow It Cancel You can always revoke F A D Project s access through your settings page By granting access you agree to the Linkedin User Agreement and Privacy Policy Figure 19 Oauth dialog LinkedIn So that the reader could understand properly the process the next flowing chart shows the flow of information exchanged between the actors of the requests and replies Person Using Web Browser Manual Entry Consumer Service Provider Service Provider Grant Request Token Obtain Unauthorized E lt Exchange Request Token for Access Token Request Token Request Token Consumer Requests Request Token Request includes o consumer_key signature_method signature Service Provider Grants Request Token Response includes er Consumer Directs User to Service Provider Request Includes oauth_token optional Service Provider Directs User to Consumer Request Includes oauth_token Figure 20 Authentication flow Linkedin Consumer Requests Access Token Request includes oauth_consumer_key Service Provider Grants Access Token Response includes oauth en oautt Consumer Accesses Protected Resources Request includes mer_key th_version optional 42 DESIGN AND
109. wonderful 29 feel need to have it 30 It is pleasant to use Specific questions of the application a b d e The application is useful for a quickly check of the networks 1 5 NA It is easy to find the information I needed 1 5 NA The information provided for the system is easy to understand 1 5 NA The search feature was useful 1 5 NA The application includes enough social media 1 5 NA List most negative aspects 83 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR List most positive aspects Usefulness The first part of the questionnaire is about the usefulness questions from 1 to 8 of the application In order to measure this feature the users had to give their opinion about the application Here it is showed the results for all the users in a line graphic User 1 m User 2 m User 3 User 4 m User 5 m User 6 m User 7 m User 8 8 User 9 User 10 Question Question Question Question Question Question Question Question 1 2 3 4 5 6 7 8 Figure 54 Usefulness test Mainly the users found the usefulness of the social network aggregator satisfactory Nevertheless there some users that found a lack of functionalities
110. ws and each is applicable to a different platform or context Facebook Login Log in to use your Facebook account with Patras prj Email Password Keep me logged in or Sign up for Facebook Forgot your password English US Espa ol Espa a EAAnvik Espa ol Portugu s Brasil Francais France Deutsch Italiano a feral Mobile Find Friends Badges People Pages About Advertising Create a Page Developers Careers Privacy Cookies Terms Help Figure 11 Facebook OAuth dialog When the application obtains an access token from Facebook it will be valid immediately and it is usable in requests to the API for some time period defined by Facebook After that period has elapsed the access token is considered to have expired and the user will need to be authenticated again in order for your app to obtain a fresh access token The duration for which a given access token is valid depends on how it was generated Here it is shown the authentication process 36 DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR User s Browser Your App Facebook GET Your app s frontpage Redirect GET OAuth Dialog 302 Redirect including code parameter GET Your app s callback URL GET oauth authorize Access Token GET me access token API Response Render user data in page User s Your App Facebook Browser Figure 12 Authentication process Facebook 4 2 2 Authentication Twitter Twitt
111. xas Tuesday Blues Showcase Listen Live or On Demand e Figgzillamusic com Presents The Envy Showcase House of Blues Las Vegas 3 53 STREET HUSTLE INT BIKE N BLUES SHOW AFTER PARTY AT AR WILLIES EACH N EVERY THURSDAY NITE Ladies free til 11 5 afterwards We still POP N WILLIES Previous Page Next Page Figure 39 Easy Facebook Search At the end of the page there are two links Previous page and Next page Since there is a lot of information on Facebook different users and Events Groups and so on it is necessary to paginate the information found so that the user can navigate and manage all the information In the right column the users have the Easy Facebook button with which they will be redirected to the Easy Facebook page But if the users want to go straight to the main page they must user the Home button in the left side on the top of the page This button is located in all the pages of the application to make the experience more comfortable for the users The other options for the search engine works in the same way Some changes are related with the information to show For example if the users are looking for one keyword in the Post field it will appear the profile picture of the user who posted the keyword all the text he posted one link to his profile and the posting date Anyway the working order is basically the same only changes the information to be showed 66 DESIGN AND
112. youre already a voice inside my ead blink pega 120309 ppnavas1 miss you Dijeron los blink 182 killacaitt Work sucks I know blink storyofmylife I SourceLink RT EvanChilds WOW Some utilities still dont let me pay a bill online Guess they havent heard of SourceLink BLINK http t co XKhsoQqs Get it LyricLagu2 ip Sungguh berdebar jantungku bila kau ada dekatku Takkan ada yang lain hanya JJ kamu di hidupku 6link Figure 43 Twitter Search The result is very similar than we saw for the Facebook Search It is shown the profile pictures of the users their names the links to their Twitter sites tweets and the date This time on the right column we have to lead the user to the Easy Twitter page instead of Easy Facebook Finally it is implemented one formulary to tweet in Twitter showing the last tweet uploaded the picture profile number of followers and the characters used in the current tweet since Twitter only permit 140 characters DESIGN AND DEVELOPMENT OF A SOCIAL NETWORK AGGREGATOR Twitter Post v Patras Prj zeynep koti N of followers 1 Tweet from F A D Project application the best in the world 61 Figure 44 Easy Twitter Post Easy LinkedIn Since Linkedln is just a different kind of social media we treat it in a different way than the others This is a social networking services oriented to working nets find Jobs make new connections job seekers and so on Although the

Download Pdf Manuals

image

Related Search

Related Contents

KAWASAKI KLX250/D  REV ED cis" FD - City Clerk Internet Site  User`s Manual  Bodum 11421 User's Manual  Poulan P4018 User's Manual  Données techniques  Série LTC 2600 - Bosch Security Systems  

Copyright © All rights reserved.
Failed to retrieve file