View on GitHub

Social Devices

Collaborative Co-Located Interactions in a Mobile Cloud


Social Devices is a concept developed jointly by Aalto University and Tampere University of Technology as part of the Cloud Software Program, the Towards a Mobile Cloud activity in the Computing in the Cloud activity line of EIT ICT Labs, and the Co-Located User Interaction with Social Mobile Devices (CoSMo) project funded by the Academy of Finland.

The concept of Social Devices aims at enriching various kinds of co-located interactions between people using proactive context-sensing devices. Currently, there exist various services for supporting remote social interactions between people. However, we believe that it is important to also support the face-to-face, co-located interactions between people. The concept of Social Devices combines research from different areas, such as mobile computing, service-oriented computing, pervasive computing, artificial intelligence, human-computer interaction, and social theory.

To realize the concept of Social Devices, a number of different challenges related to service composition, device coordination, context-awareness, proximity detection, and human-computer interaction need to be overcome. Therefore, to test the concept of Social Devices in practice, we have developed a prototype implementation called the Social Devices Platform (SDP). The SDP implements the basic requirements of Social Devices and provides a platform for studying and developing more advanced concepts related to, e.g., the self-adaptation of services in a mobile device cloud. The SDP also enables us to study how people feel about proactively initiated interactions.


Name Contact information
Mikko Raatikainen Researcher, Project Manager
Aalto University, SoberIT
Tommi Mikkonen Professor
Tampere University of Technology
Tomi Männistö Professor, University of Helsinki
Adjunct Professor, Aalto University, SoberIT
Timo Aaltonen Researcher
Tampere University of Technology
Varvana Myllärniemi Researcher
Aalto University, SoberIT
Niko Mäkitalo Doctoral Candidate
Tampere University of Technology
Jari Pääkkö Doctoral Candidate
Aalto University, SoberIT
Mikko Ylikangas Research Assistant
Aalto University, SoberIT


(last updated 04.03.2014)

Aaltonen, T.; Myllärniemi, V.; Raatikainen, M.; Mäkitalo, N.; Pääkkö, J. An Action-Oriented Programming Model for Pervasive Computing in a Device Cloud. The 20th Asia-Pacific Software Engineering Conference (APSEC 2013), Bangkok, Thailand, December 2-5, 2013. pp. 467-475.

K. Väänänen-Vainio-Mattila, T. Olsson, J. Palviainen, P. Jarusriboonchai. Social Devices as a New Type of Social System: Enjoyable or Embarrassing Experiences? Workshop on Experiencing Interactivity in Public Spaces (EIPS), in conjunction with CHI’13, 2013.

J. Pääkkö, M. Raatikainen, V. Myllärniemi, T. Männistö. Applying Recommendation Systems for Composing Dynamic Services for Mobile Devices. In Proceedings of the 19th Asia-Pacific Software Engineering Conference (APSEC 2012), Hong Kong, 4-7 December 2012.

N. Mäkitalo, J. Pääkkö, M. Raatikainen, V. Myllärniemi, T. Aaltonen, T. Leppänen, T. Männistö, T. Mikkonen. Social Devices: Collaborative Co-located Interactions in a Mobile Cloud. In Proceedings of the 11th International Conference on Mobile and Ubiquitous Multimedia (MUM 2012), Ulm, Germany, 4-6 December 2012.

V. Myllärniemi, M. Ylikangas, M. Raatikainen, J. Pääkkö, T. Männistö, T. Aaltonen. Configurator-as-a-Service: Tool Support for Deriving Software Architectures at Runtime. International Workshop on Variability in Software Architecture (VARSA), Helsinki, August 2012.

Source Code

The source code of the SDP is freely available on GitHub. The Controller, Orchestrator, Proximity Server, and Manager components are available under the BSD license whereas the CaaS component is available under the GPL license.


CaaS is responsible for determining which devices can participate in an action. The source code of CaaS is available under the GPL license.



Client provides the functionality for devices to interact with the SDP. Currently, a Python and an Android version are available. The source code of Client is available under the BSD license.

Python Client repository:
Android Client repository:


Controller is the main hub of the SDP and is responsible for the interaction between the different components within the SDP. The source code of Controller is available under the BSD license.



Manager is responsible for maintaining information about users, their devices, and device context. The source code of Manager is available under the BSD license.


Model Generator

Model Generator is responsible for generating configuration models that can be sent to CaaS. The source code of Model Generator is available under the BSD license.



Orchestrator is responsible for coordinating devices. The source code of Orchestrator is available under the BSD license.


Proximity Server

Proximity Server is responsible for maintaining proximity information of social devices in a form of a graph, where nodes represent the devices and edges represent the mutual distance of devices. The source code of Proximity Server is available under the BSD license.