190 likes | 376 Views
SNiC. Social Network Information Consolidation Developers: Klasquin Tomer Nisimov Yaron Rabih Erez Advisors: Academic: Prof. Elovici Yuval Technical: Lesser Ofrit , Puzis Rami. Problem Domain. Many users are members on various social networks.
E N D
SNiC Social Network Information Consolidation Developers: • KlasquinTomer • NisimovYaron • Rabih Erez Advisors: • Academic: Prof. Elovici Yuval • Technical: Lesser Ofrit, PuzisRami
Problem Domain • Many users are members on various social networks. • Maintain his information on the separate networks. • Deal with ambiguities and inconsistencies within his data. • Waste a lot of time and effort in order to organize his online social life. • In general, social networks are not willing to share their data outside of the web site since their main purpose is that users will stay connected to their site getting their data as long as possible. Thus, getting this data from the social network to an outside application is not an easy task to perform.
Current Available Solutions • Flock – A web browser which has built in social capabilities: • Does not allow to unify friend’s profiles from different social networks. • Does not allow to take snapshots of social data and calculate differences. • More a web browser than a complete application. • No other known solutions to this common problem.
Solution Proposal • A web crawler will fetch web pages out of the social networks in which the user is a member without the need of his interaction with the web site. • By visiting the various sites and parsing their HTML data it analyzes and fetches the relevant data for the user. • After getting the data it sends it to a shared database. This way the data is collected automatically for the user and can be merged into one big snapshot of the user’s social data. • Having the raw data in our hands, we can analyze it to our needs and present it according to various parameters.
SOFRWARE INTERFACES • The Web Crawler • Operation: Login – Establish connection to the SN with the client’s ID. • Used By: Crawling Manager, Client. • Parameters: • Username: The username of the client in the specific social network. • Password: The password of the client in the social network. • Return Values: Answer if the connection succeeds or not. • Operation: getFriends – Get a list of all friends of a current SN profile. • Used By: Crawling Manager. • Parameter: • User ID: The account ID of the user in the social network. • Return Value: List of friends of the current profile account.
SOFRWARE INTERFACES • The Web Crawler • Operation: getEvents – get the Events from the current profile account. • Used By: Crawling Manager. • Parameters: • User ID: The account ID of the user in the social network. • Return Value: List of the last amount of events. • Operation: getProfile – get the basic profile account information. • Used By: Crawling Manager. • Return Value: List of the profile attributes.
FUNCTIONAL REQUIREMENTS • Users Management • Registration – A new user will be asked to register to the service by selecting username and password unique to the SNiC application. • Login – the user will login to SNIC website. After logging in the user will be identified as a Registered user on the system and will be able to perform the appropriate actions.
FUNCTIONAL REQUIREMENTS • Social Data Management Managed social networks data • Profile – The user will be able to see all his profiles information from the different networks in one page divided by tabs. • Friends • View a list of friends over all the social network the user is a member on. • View a specific profile of a friend on a specific social network. • View a unified profile of a friend, containing information gathered from multiple social networks. • Messages/Events – The system allows the user to view a list of his messages and events over the different social networks. • Snapshot – The system will allow a user to save a snapshot of his current social data at any given time point. • Social Graph – A graphic presentation of the social relations of the user inside the different social networks and between them.
FUNCTIONAL REQUIREMENTS • Single Shared Database • All the data that was gathered from the social networks websites is saved in a single shared SQL based database • The SNIC system is taking data only from this shared database and not directly from the social networks websites.
FUNCTIONAL REQUIREMENTS • ANALYZING DATA • The system may recommend a SNiC user of an unexplored friend on a social network by corssing specific data fields between multiple social networks. • For example: • An email address is a unique identification for a user on a social network since it is impossible to have two same Email addresses for two different users • The system will unify profiles of different users on different social networks by their email address. • After the unification the system may recommend a user of a friend of his on another social network.
Use Case 1 - Add Social Network Membership. • Primary Actors: Registered user. • Main Success Scenario:1. The user clicks “Add a new social network membership” button.2. The system lists the available social networks it offers except for those the user has already informed it.3. The user chooses one of the available networks.4. The system asks the user to enter his credentials in the specific network.5. The user supplies the system with his credentials.6. The system successfully logs into the social network using the user’s credentials.7. A new association between the logged user and his profile on the social network has been created.
Use Case 2 - Unify A Friend From Multiple Social Networks • Description: A user may have a friend on social network 1 and the same friend on social network 2. This use case allows the user to flag the system this is the same person and by that unify its profile on social network 2 and social network 1 into one profile. • Main Success Scenario:1. The user clicks on “Unify a friend from multiple social networks” button.2. The system displays a list of social networks the user is a member on.3. The user chooses one of the social networks.4. The system displays the list of friends of the user under the specified social network.5. The user chooses one friend from the list.6. The system displays a list of social networks the user is a member on.7. The user chooses a different social network.8. The system displays the list of friends of the user under the specified social network.9. The user chooses one friend from the list.10. The friend is now marked to be the same person under the different social networks.
Use Case 3 - View Social Changes • A user which has saved snapshots of his social data before may want to view the changes to his data over the course of two different snapshots. • Main Success Scenario:1. The user clicks on the “View social data difference” button.2. The system shows a list of snapshots that exist for the user.3. The user chooses two snapshots from the list.4. The system calculates the difference between the two selected snapshots and displays it to the user.
Non Functional Requirements • Speed • The system should perform an update (Crawling) for a single user up to 5 minutes. • Safety & Security • The passwords of the user's social networks will be saved locally on his H.D. and not on the Shared-Database, except for the SNIC-Password. • All the user passwords will be stored encrypted. • Portability • The system should operate on any OS that has both JVM and JRE 1.6 (or higher) installed.
Projects Risks and Limitations • Changes in the login operation or in the HTML design of the social network – may require us to change our HTML parsing component. • Prohibition of using the Social Network API – may cause a malfunctioning data gathering component. • Most of the Social Networks APIs are limited in terms of amount of data they can access and use. In addition, in several Social Networks the users need to authorize exposure of their information to a 3rdparty application.