• No results found

User Geo-Profile Generation and Prototype Implementation

any other suggestions. Overall, the participants spoke of a positive impression of this awareness system and how useful it would be to use it for “privacy assessment”. For example, one user of location services said “The system is very useful as it educates users about their privacy and raises their awareness of such risks”; another said “I believe this system has potential for people like me to be cautious of location sharing”. Another added that it was “very practical and useful for the user to use it on a large scale”. Other users of social networks who do not currently share their location also commented positively. For example, one participant said that it was “very interesting for people who use location-based social networks”. As regards the design content feedback, they generally said “It is clear and to the point” and there was “nothing to be added”. They liked the design of the geo-profile and said things, for example, “The spider diagram is quite simple to understand; being able to click on nodes and having more information”. They also showed particular interest in the information-extraction indicator. For instance, one participant said “I like the coloured icons showing how the data was acquired” and another added “I liked the differently coloured indicators. Normally users pay more attention to visual indicators and hence they can be more careful about their privacy level”.

Suggested Design Edits by the participants:

• Improve the text of the “colour meaning” of the information extracted and place it at the bottom of the screen to make it more noticeable

• Improve the presentation of the privacy warning text to make it more explicit and easier to understand what information is revealed and who can see it

• Showing what the node is displaying in a tooltip

• Show more a detailed graph for the routines

• Include a search option to search the results shown in the tables

7.4

User Geo-Profile Generation and Prototype Implementa-

tion

The first step for generating users’ profiles is to collect their shared data on GeoSNs (which is Foursquare in this experiment as discussed in next section). The participants check-ins and their well as friends on the application information were collected using Foursquare’s APIs. The participants were asked to download this information, save it in a text document and send it to the author. They were sent a PDF document with a simple step by step guide to completing this process. Those who needed help with this process were also offered personal assistance.

7.4 User Geo-Profile Generation and Prototype Implementation 157

Apigee Console1 is a platform that provides direct API calls to many social networks such as

Facebook, Twitter and Foursquare; to authorise this website users simply need to log in with the social network account that they want to download their data from. It was used for collecting participants’ data because of its simplicity and availability. Before the study could begin, the participants’ check-in data had to be collected and processed in order to generate their geo- profiles and prepare suitable personalised tasks for each of them.

The users’ data were retrieved in JSON format. A script (in Python) was developed to generate the participants’ geo-profile by converting the data collected in JSON format into a rational database in .csv format. Figure 7.7 presents the UML diagram for the basic geo-profile structure demonstrating the relationship between its elements.

Figure 7.7: UML diagram for the geo-profile..

A desktop application was developed using Python as a prototype of the Geo-Profile Visualiser; it used the proposed system framework and design presented earlier in Section 7.2.2. PyQt4 was used for the design of the Graphical User Interfaces (GUI). Figure 7.8 shows the main screen of the Geo-Profile Visualiser when the “My Places” node is clicked on. More details about the information given in each node and sub-node are provided in a tooltip when the user hovers over them in order to facilitate navigation. If information of a sub-node is not available or cannot be extracted, such as there are no co-locations with friends or no visit patterns, a warning massage is displayed to user when clicking on it explaining that. The prototype uses the already-extracted .csv files of a user’s basic geo-profile from a particular user directory to populate the system with user information. The Panda library was used for data analysis and mining which dealt directly with the .csv files. Information in each sub-node was basically presented in a table that can be sorted based on its attributes. Search functionalities are also provided in each sub-node privacy- awareness interface from which the information can be filtered according to relevant aspects of the data such as place name, type and data of check-in. The basic information in each node:

158 7.4 User Geo-Profile Generation and Prototype Implementation

“All Visited Places”, “All Interests” and “All Meetings with Friends”, is directly retrieved from the users’ basic geo-profile. Interests are derived from the types of place visited by the user.

Figure 7.8: The main screen of the Geo-Profile Visualiser when the “My Places” node is clicked on..

However, more mining was needed for the other sub-nodes. In the “Favourite” sub-node, a simple query was used to find the users’ favourite places, interests and friends, based on fre- quency (i.e. at least 5 times). The top 20 results are shown in descending order. As regards routines, a pattern was detected if 20% of a user’s visits (occurrences) related to places, in- terests, or co-locations at particular times, days or both. At least 5 correlations had to be shown. For instance, If a user visited place X more than 30 times, 6 of them on a Friday morning, then it counted as a routine of visiting place X with a time pattern of ‘morning’ and a day pattern of ‘Friday’. Please note that the focus of the study is not on the algorithm used for pattern extraction, which was used only to give an idea of the type of information that can be inferred from the location data. There are many studies in the literature that demonstrate and evaluate pattern-extraction algorithms (e.g. [45, 9, 8]).

The MatPlotLib library was used for generating the graphs in the sub-nodes ‘Favourites’ and ‘Routines’. Pie-charts show the top 5 resulting favourites clustered on the basis of frequency, as presented in Figure 7.9. More detailed graphs are used to represent the ‘Routines’ sub-nodes where the subject of the pattern is displayed as a colour-coded point in relation to a time period on the x axis and in relation to a day of the week on the y axis, as displayed in Figure 7.10. Any graph can be zoomed into by clicking on it when it is shown in a separate window.

Google APIs were employed to produce the maps with a user’s places plotted on them. A map can be dragged in any direction and can also be zoomed into. The user can also click on any row of a table to show the location information on the map. A tooltip is shown when a place marker clicked on to display more information about it. For example, in “Routine Visits” are shown the name and type of the place as well as the pattern related to it. An Internet connection is needed to load the maps.