Update January 2012: The MIRROR Reflection Spaces
Requirements
In WP 2, the interoperability framework for MIRROR Apps is being developed. In the second project year, we are designing and implementing so-called MIRROR reflection spaces using XMPP standards and technologies. The architecture concept is being developed in regard to requirements elicited in the first project year such as:
- support synchronous and asynchronous communication
- support widely used Internet platforms and mobile devices
- support AppSphere: users can pick and choose an App from a repository of Apps for reflection
- support single user- and team/multiuser-reflection
- ensure data privacy and security
- support clear, exact definition of common data types for reflection
- define and support data types and services that are specific for reflection
Concept and Implementation of Reflection Spaces
In MIRROR, an infrastructure, where distributed applications running on different platforms can be easily plugged in to exchange data, is being developed. The communication between applications will be implemented with so-called “spaces”, which are logical grouping of Apps and users working together. The Apps broadcast their data to each other, whereby different data types can be exchanged within one space. Private spaces are used to synchronize data of a single user between his/her Apps running on different platforms and devices. Collaboration or team spaces are used to share data with other users, e. g. team colleagues. Thereby, an application can be connected to several spaces.

The spaces concept simplifies the connection of Apps and the configuration of privacy and security constraints. This concept resembles patterns that are used in instant messaging (multiuser chats) or social networks (e. g. circles in Google+).
In the first project year, we analysed different communication protocols and came to the conclusion that XMPP is the best choice for bidirectional communication in MIRROR AppSphere and therefore will be used for implementation of reflection spaces. In the second project year, we analysed different implementations of XMPP servers. Based on this analysis, standard implementation of the Openfire server fits the most defined MIRROR technical requirements compared to other servers. Openfire will be extended with plugins developed in the MIRROR project implementing the concept of reflection spaces. Whereby, Openfire will serve for communication between MIRROR Apps as well as for user and space management and will not contain any App specific functionalities. Thus, MIRROR Apps are responsible for data storage and data proceeding.
Demonstration Scenario for Sample Implementation
For the sample implementation of MIRROR interoperability framework using reflection spaces, we have defined a demonstration scenario around capturing and sharing of mood data.
The user captures his/her mood on a mobile device or in a web-based application. The mood data are automatically synchronised over the private reflection space.
The user decides to share his/her mood captured during a meeting with other meeting participants. He/she activates the sharing option in the Moodmap App and data are now being shared automatically with other users registered in the team space. Meeting participants can then see an average mood and compare their data with mood data of the others.
The meeting moderator can force the sending of average aggregated mood data to the organisation space. Using a web-based application, a manager can see an overview of aggregated mood data captured during different meetings. Analysing this data, a manager can, for example, notice that most employees are in better mood and have a higher energy level during morning meeting compared to afternoon meetings. He writes an email to the team leaders, informs them about these observations and suggests to schedule important team meetings in the morning.
The implementation of this demo scenario pursues two important goals. First, it illustrates the concept of the MIRROR reflection spaces in the simple way understandable also for third parties. Second, the source code inclusively customized libraries can be reused by project development partners for implementation of data sharing and communication over XMPP-based reflection spaces in their Apps.
|