eral activities (table 2). Our 99 percent accuracy for
“at home versus at work versus elsewhere” is higher
than the one reported by Eagle and Pentland (2006)
where they used a simple hidden Markov model conditioned on both the hour of day as well as weekday
or weekend for the same classification task.
From Place to Social Circles
Often a place is associated with a social context. For
example, a user interacts with his or her family at
home, colleagues at a workplace, and friends at a party.
Platys Social (Murukannaiah and Singh 2012) exploits
this intuition to recognize social circles from places.
A social circle of a user (egocentric) is a set of contacts the user perceives as a logical group. Recognizing social circles could enable social network sites to
deliver a high-quality user experience by reducing
information overload (for example, by prioritizing
updates from contacts), and enhancing privacy controls (for example, by providing a fine-grained control on who to share information with).
Currently, social network sites require users to
manually create and maintain social circles (for
example, circles on Google+ and groups on Face-
book), which is tedious and time consuming
(Lampinen et al. 2011). Alternatively, community
detection algorithms are used to recognize social cir-
cles automatically. However, communities detected
from a network of acquaintanceships (for example,
“friendship” on Facebook and Google+) are coarser
than social circles. Further, community detection
presupposes that the global structure of the network
Platys Social learns social circles by exploiting
place information. It is implemented within the
Platys middleware (Murukannaiah and Singh 2015)
and employs information locally available on a user’s
mobile device. Platys Social operates as follows: ( 1)
Construct a contact co-occurrence graph, whose
nodes are the contacts of a user, and add an edge
between two nodes if the user meets the two contacts
at the same place. ( 2) Assign a weight to each edge
proportional to the frequency with which the user
meets corresponding contacts at the same place. ( 3)
Find overlapping communities in the contact co-occurrence graph using Clique Percolation Method
(Palla et al. 2005). Treat each community that corresponds to a social circle. Further, within each social
circle, edge weights can be used to distinguish strong
and weak contacts.
We evaluated Platys Social in a user study of six users.
The users in the study carried a smartphone installed
with Platys for the duration of the study. Each user
recorded the places he or she visited and social circles
(including strong and weak contacts) encountered on
a daily basis. We measured the accuracy of Platys
Social as the similarity between the social circles
reported by users and those learned by Platys Social:
We compared three variants of Platys Social depending on how edges are added to the contact co-occurrence graph. Stay points: add an edge between two
contacts if two contacts are found (through Bluetooth devices) at the same stay point (determined
from the Wi-Fi access point log). Interactions: add an
edge between two contacts if a user’s interaction
includes both contacts (determined from email, call,
and text logs). Place: add an edge in either of the
above cases, according to the intuition that a place
has both spatial and social attributes. As shown in figure 5, Platys Social performs best when places are
defined using both spatial and social attributes.
Privacy Reasoning and Enforcement
A key element of our work is the use of collaborative
information sharing where devices share and inte-
grate knowledge about their place. Consequently,
users must protect their privacy by controlling the
release of information and how it is shared.
Murukannaiah and Singh (2014, 2015) and Zavala et
al. (2011) discuss architectures on which place-aware
applications can be engineered. Devices might inter-
act directly or through services on the Internet. Users
specify privacy policies that regulate the disclosure of
( 1) sensor information to the server (for example,
accuracy = learned circles I reported circles
learned circles U reported circles
Table 1. Accuracy of Different Algorithms for Activity
Recognition of a Particular User and Ten Everyday Activities.
Classifier 10 Fold 66% Split
SVM (LibSVM) 76.9231% 79.5699%
Decision Tree (J48 Trees) 91.97% 93.3133%
Naive Bayes 47.9638% 50.5376%
Table 2. Recognition Accuracy for High-Level,
General Activities Using Decision Trees.
Activities: Working/Studying, Sleeping, Walking, In Class, Outdoors, In
Meeting Talk-Listening, Other/Idle, Shopping.
At Home, At Work/ School, Elsewhere 99.0%
In Meeting, In Class, Elsewhere 94.94%