3rd OPENi Hackathon – TSSG headquarters Waterford

On Friday 13th March the TSSG hosted an open invite hackathon for the OPENi project. The hackathon had a grand prize of €300 worth of Amazon Web Services which was awarded for the best OPENi enabled application created within the 8 hours of coding. The applications were judged on their originality, privacy awareness, and their use of the OPENi Platform.

The OPENi project provides a platform that allows users greater control over their online data. The platform provides users with a single location to store and control their personal data in the cloud. This Personal Cloudlet enables users to manage what information is available to each application and for what purpose. The teams were provided with both an Android and JavaScript OPENi SDK that simplified the development of their applications.

sunnySEA rare sunny day at TSSG Headquarters

Many teams attended the OPENi hackathon however one of them was excluded from the competition proper. The team in question is part of a commercialization project within the TSSG that utilises the OPENi platform. The judges thought that this gave them an unfair advantage which is why their excellent fitness application was excluded.

There was a good balance of technologies from the remaining competitors. In the end there could be only one winner and the winning application on the day came from a pair of 4th year Applied Computing students from Waterford Institute of Technology.

teams The teams preparing for the start of the hackathon

Their winning application used the OPENi JavaScript SDK to create an application that introduced the Steam API to OPENi. A user of their application, after logging in with their OPENi credentials, could enter their steam account ID onto the page and submit the form. The application would then gather the users game information and store it in their OPENi Cloudlet. The user could then view their game list on the web application including a thumbnail for each game and their playtime statistics.

Close second was an application that used the OPENi Android SDK to create an application that allows a user to store their images within their OPENi Cloudlet. Once logged into the application using OPENi credentials a user could choose to view the images from their Cloudlet or take new images to upload. When viewing their images the application would retrieve a list of images from the users Cloudlet and as the user moved through the images the application would download the images from the list.

sensors One of the teams using sensors for an IOT/OPENi mashup

In third place we had an application that used the OPENi JavaScript SDK coupled with Cordova/PhoneGap to create a mobile application that could connect to a sensor via Bluetooth and recorded the sensor’s data. The sensor can transmit multiple streams of data including temperature, accelerometer and pressure data that could then be collected by the mobile device.

Overall it was a very successful day and a fantastic way to end a busy week that also included an OPENi plenary meeting and a platform workshop. The teams did a tremendous job creating their applications in the short timeframe and everyone involved enjoyed the pizza lunch and the inspirational music from the Spotify playlist that accompanied the teams throughout the day.

2nd OPENi Hackathon in Berlin on November 21st, 2014

OPENi_logoThe 2nd Hackathon and Meetup for the Creation of Innovative Mobile Apps using cloud computing capabilities and Privacy will be organized by the OPENi Project on Friday, the 21st of November (12:00 – 20:00) at Fraunhofer Institute for Open Communications FOKUS, Berlin.

The OPENi Hackathon and Meetup is a series of events in which developers “come together” to create and implement new ideas, in order to create applications that use capabilities of Web applications through the OPENi architecture, giving end users control over the use of their personal data. The OPENi Berlin Hackathon and Meetup is the second of a series of similar events which will be organized by the OPENi research group. One of the objectives of OPENi Berlin Hackathon and Meetup, is to demonstrate the capabilities of the principles of “Open Data” and Internet Applications cloud computing, which make it easier for the developers’ community to build applications.

In Berlin, the OPENi Hackathon and Meetup will run for one day, at Fraunhofer FOKUS premises located in Kaiserin-Augusta-Allee 31, 10589 Berlin. On Friday, the event will be divided in two parts: half-day Hackathon with a lot of fun and Meetup for talks and networking.


While the first part of the event, representatives of our team will present the OPENi architecture and will provide platform features for cloud computing during the Hackathon. An open discussion session will follow about the OPENi platform and its needs on personal data protection from the developers’ community. Interesting scenarios (“brainstorming sessions”) will also take place for any instructions needed for prototypes that will be developed during the Hackathon.


The second part is organized as meetup. We will have interesting talks about personal data protection from developer perspective and trends in the market of cloud platforms. Afterwards, all prototypes developed during the Hackathon will be presented to the audience. The best applications, selected by the evaluation committee appointed by the consortium of OPENi, will be awarded. The meetup will close with a get together by food and drinks.


  • 12:00 – 13:00 OPENi Team Presentation
  • 13:00 – 18:00 Half-day Hackathon with a lot of fun
  • 18:00 – 20:00 Meetup Talks about Personal Data, Web and Cloud: Presentation of the OPENi Project; Hackathon Presentation; Talks about Personal Data, Web and Cloud; Discussion;Networking with drinks and food.

Participation details

Participation in OPENi Berlin Hackathon and Meetup is open to all interested developers, users and representatives of parties and companies interested to see the results and learn about the exploitation of data and use of applications to be developed.

Participation is limited, so reserve your seat as soon as possible at:

OPENi’s Mongrel2 node handler

Mongrel2 is an application, language, and network architecture agnostic web server that focuses on web applications using modern browser technologies. It supports HTTP, Flash sockets, WebSockets, and Long Polling on the client side; while on the backend is capable of serving static content, and HTTP proxying http requests to servers running on other ports.

Mongrel2 offers language agnosticism by transforming incoming HTTP requests into a standardised message format, which are subsequently passed to ZeroMQ message queues. It is the responsibility of application developers to build mini applications (called handlers) that process messages from the queues, and then use them to return their response. OPENi’s Cloudlet framework is built around these ZMQ handlers.

To interact with Mongrel2 we developed our own node.js handler ( It looks after the task of parsing incoming strings and formatting outgoing messages so that our application code can deal with pure JSON objects.

Our node module has a number of additional features such as support for multipart file uploads, ZMQ worker to ZMQ worker communication (independent of Mongrel2), and both pre- and post-processing filters.

The filters allow for the addition of functions that are executed before and after a message is processed by the handler. They are useful for logging, security, and other common features.

Our m2nodehandler can easily be reused outside of OPENi. Its github page contains detailed descriptions of the message JSON objects, a more detailed description of the handler’s features, and examples of how to exploit its functionality (

Do you know the value of your digital self?

By Gary Mc Manus (TSSG)

Digital self, our personal footprintThe central aspect of the contemporary digital economy is that of personal information. Many of the largest and most valuable Internet companies are harvesting user data in order to accurately facilitate the targeting of advertisements, and the influencing of consumer behaviour. This business model is also prevalent in the domain of smartphone and tablet applications. At present the privacy policies of these services generally operate on a take it or leave it basis; where users either reject the gathering of their personal information by not using a service or application, or they accept and use the service under terms and conditions which they have little control over. In addition, each service operates discreetly, generally in isolation, with separate user profiles being set up with each service. The use of each digital service is facilitated by personal information; social networking sites, search engines and apps usually incur no upfront monetary charge for the user and therefore appear for all purposes to be free. While this may on the face of it be the case, these services are harvesting user data as a monetary resource. The relevant adage here is that in the context of the internet, if something is for free then the user is not the customer but instead is the product being sold. Thus each digital identity which is created through using these services becomes a distinct saleable commodity which the range of organisations have free reign over without recourse to the disempowered user.

OPENi concept

OPENi concept

Within OPENi we are building a platform that will alter the dynamics of user control over their personal data, and allow the user to reclaim their digital identity. There are two main components in the platform to facilitate this, and they are the OPENi API framework and the cloudlet. The OPENi API framework allows for frictionless interoperability between cloud-based services, while the cloudlet is a virtual space that securely stores user data giving them primary control over it. As a virtual personal space the cloudlet will allow users to set clear parameters as to who may access their information. They can decide which aspects of their identity they are prepared to share, and which applications they are prepared to share with, thus providing fine grained authorisation and access control.

The OPENi API’s are designed to allow users to operate across a range of cloud based services, which means that from the users perspective there will be seamless movement between apps and services with an increase in user control. This centralising of user data into a set of OPENi enabled applications allows for the fine grained user control which is in sharp distinction to current practices.

One of the cornerstones of the digital economy is the use of personal data to facilitate advertising. Many of the services of contemporary Web2.0, which are on the face of it free to the user, are funded by gathering user data to use as a resource for targeting advertisements and influencing behaviour. Personalised advertising is a contentious issue and a common thread running through any attitudinal research on personalised behaviour is that people are uneasy about companies keeping such revealing information about them and their habits. However, there is still a need for personalised advertising; advertising is costly and the use of personalisation processes ensures that the message reaches its desired target, where the target is an individual who is likely to have some interest in it. The gathering of such information makes personalised advertising services possible and allows for the serendipitous discovery of new products and services by making accurate predictions as to what the user is interested in. For example, Google employs user histories to attempt to ‘learn’ what a user is interested in so it can improve search results by personalising them. Thus a blanket user ban on personal information gathering would have noticeable adverse effects on the operation of services. Under the current regime, control of the information gathered is in the hands of the service provider rather than the user, and the terms under which the information is gathered are also generally determined in a similar fashion.

OPENi has the potential to alter the dynamic of how personalised advertising operates. At present there is a global opt in by default which means that if anyone wishes to avoid information being gathered on them to facilitate personalised advertising they have to go through some type of opt out process. OPENi will provide the user with the means to see what type of information the services are requesting and to opt in or out as they see fit. It is envisaged that giving users this power will mean that advertisers will have to incentivise users to ensure that they opt-in for advertising. This will most likely take the form of some type of reward being made to the user in return for the permission to use their data, such as a straightforward monetary transaction, or an enhanced service where releasing personal data gains the user access to extra services or functions. The nature of the exchange will be ultimately decided by users and application developers, yet the core point is that the OPENi system will afford the users with the knowledge of where their data goes and its potential worth. As a result it is envisaged that this will make for more privacy conscious users who are more adept at leveraging value from their digital identity.

The operation of the personal information economy is one which is coming under increasing public scrutiny and regulation. As digital services become increasingly personalised and embedded in our everyday lives, the importance of effectively managing our digital identities becomes more apparent. At present the balance of power favours the service providers and application developers; yet systems which offer user control over where, how and with whom their personal information is shared will ultimately tip the scales towards the user. As a platform which will enable fine grained sharing, federated user identity, and greater control over personal information OPENi stands to be one of the systems at the forefront of this movement towards empowering the user to manage and control their digital identity.

More details are available in the full OPENi whitepaper, where we provide a more in depth discussion on the above topics.


OPENi Graph API Phase II – From visualization and design to implementation

By Iosif Alvertis, Michael Petychakis, & Fenareti Lampathaki (NTUA)

It’s been a while since our last post about the API analysis, but it was a quite busy period for us to implement and test what has been designed during the first year of the project. During the last months, we have ended with a concrete definition about what a Graph API is; during our analysis on APIs Cloud Based Services and our study on existing research, no clear definition was available. Thus, combining existing research, empirical research and services modeling, we ended up with the following definition:

“A Graph API is a RESTful, user-centric, hypermedia API that organizes web resources under a unified meta-model of Objects, Aggregations of objects and Connections towards them which are created by users. It is based on a common dictionary and it includes a minimum set of properties in order to reduce time and cost of connection and integration with other APIs.”

In other words, when browsing an object, it should be clear for the developer how he should navigate through connections, through the response of the API itself, following the basic rules of how Objects, Aggregations and Connections are related.

Within the final definition and specification of the Graph API, the analysis of the Cloud Based Services (CBS) continued with a detailed, updated specification of the Generic APIs incorporating feedback from the OPENi platform implementation. In principle, the Generic APIs are categories of objects that provide similar objects and combine objects from related Cloud Based services. So far, the recognized categories are: Profiles API, Activity API, Location API, Media API, Products & Services API and Communication API. In the following figure, the CBS APIs are grouped based on how they have been mapped to objects of our Generic APIs (although there are cases in which a CBS API like Facebook spans more than 1 Generic API and in which more services and protocols have been studied, like Amazon and eBay modeling for the Product & Services API, or the XMPP protocol in order to model the Communication API, yet they have been excluded from the mapping due to the limitations put from such API methods and the need to give an object-based, RESTful API).

OPENi Graph API and Cloud-based Services 

In this direction, the Generic APIs were integrated in the broader architecture of the project. In the figure below, it is visible how each Generic API is related with the Cloudlet API, the Context API (i.e. giving additional metadata on Graph API objects), and the Service Enablers that provide advanced logic to the OPENi platform. All these APIs together compose the OPENi API Framework, which can be described as:

OPENi API Framework is the whole set of different APIs used by third party developers to build their applications over an OPENi platform.”

OPENi Graph API Framework

OPENi Graph API Framework

It’s definitely a long way towards an interoperable and clean design of modern services, even if REST as a protocol has significantly contributed in that direction. It is mainly a matter of proper design, agreed and followed by the community, to keep such services transparent and reusable. For that reason, we are planning to make available the detailed modeling performed on our Generic APIs, through the OPENi platform during the next months, in order to gather feedback and allow the community to validate, extend and reuse our work.

Finally, the Graph API is implemented in the integrated OPENi platform through the OPENi API component, which is addressed to developers and applications and constitutes the central point of reference for the OPENi API Framework at design time and runtime. The OPENi API Platform serves a two-fold purpose:

  • To ensure that developers have access to the API documentation in which they are interested and may extend it according to their needs.
  • To handle all requests from OPENi-enabled applications that utilize the OPENi API Framework.

Relative blog posts will follow, with instructions how to use the OPENi API platform and some demo applications.

More details are also available in our deliverables and, in particular, in OPENi APIs Specification – Phase 2 (D3.4) that will be soon publicly available! In the meantime, you may have a look at the draft OPENi APIs Specification – Phase 1 (D3.1).


Note: We are excited to announce that our work and research on a Graph API has been accepted in: (a) AICCSA’ 2014 and will be presented on November 10-13, 2014, in Doha, Qatar, under the title ““A Community-based, Graph API Framework to  Integrate and Orchestrate Cloud-Based Services”, and (b) PROVE-2014 and will be presented on October 6-8, 2014, in Amsterdam, under the title “Enterprise Collaboration Framework for Managing, Advancing and Unifying the Functionality of Multiple Cloud-based Services with the Help of a Graph API”.

1st OPENi Hackathon in Athens on September 12th-13th, 2014

The 1st Hackathon “Mobile Apps: From inspiration to implementation with… OPENi Cloudlets and APIs!”, organized by the OPENi Project, will be held on Saturday September 13th, 2014 in Innovathens, Peiraios Str. 100, Gazi, Athens, Greece.



OPENi Platform Overview

By Dónal McCarthy (TSSG)

OPENi isn’t all about APIs, in fact the OPENi Platform is composed of four major components, only one of which is the API framework. The three others are 1) the Cloudlet Storage framework which is responsible for storing users’ data, 2) the Security Framework which handles authentication, authorisation, and much more, and 3) the mobile client libraries which provide generic building blocks that allow the development of applications that utilise OPENi services.

As outlined in previous blogs the OPENi API framework will be capable of interoperating with a variety of cloud-based services. It will abstract the integration challenges to a single open standard without losing any service features. It is our belief that it will promote innovation by offering application developers an advanced framework that enables them to design and build complex applications involving the combinations of independent cloud-based services.

The OPENi cloudlet storage framework will provide application consumers with a single location to store and control their personal data. With control mechanisms that are inherently secure and trustworthy it empowers the consumer to remain in control of their data. As an open technology, the OPENi Platform will be validated by the open source community, therefore consumers are afforded greater confidence that the data stored in their Cloudlet is not being used without their consent when compared to closed-source alternatives.

The OPENi Security framework contributes the security and privacy mechanisms to the overall Platform. The features that it provides are authorization, authentication, fine grained sharing and access control, and data encryption.

To provide convenient access to the OPENi APIs and cloudlet storage we will provide a mobile client library. This library will abstract and simplify access to the OPENi services across multiple mobile platforms and will take the form of a lightweight developer SDK. This library will be designed to promote rapid application development and easy developer on-boarding.

The combination of these four components creates a powerful platform which is beneficial for consumers, application developers and service providers alike. The vision for OPENi is to provide a platform that could be deployed and operated by many different application hosting or service providers looking to add value to their existing offers. These ‘OPENi hosting providers’ will take advantage of various facets of the OPENi platform in ways that best suit their business model.

To accommodate hosting providers who wish to use a subset of OPENi’s full complement of components we have structured the Platform as a number of discrete services, each one capable of functioning on their own. The Cloudlet Storage framework can serve mobile applications that do not utilise the OPENi API framework; likewise the API Platform’s integration with Cloud Based Services and Graph API can function just as well with another data storage mechanism. To extend this idea further both frameworks could use a 3rd party security frameworks once they are API compliant with OPENi’s. It is important to remember that this is a logical separation, of course all components work best when used together.

OPENi API Framework (Part I): Studying the landscape of cloud-based Services

By Iosif Alvertis, Michael Petychakis, & Fenareti Lampathaki (NTUA)

Today, an emerging trend to expose functionalities through publicly available APIs (Application Programming Interfaces) has not only redefined how software and services are delivered, but also indicates how business value is moving towards a thriving high-paced mobile application ecosystem. Along these lines, the OPENi focal research contribution lies on the cloudlet concept and on an open API framework that will be capable of interoperating with any cloud-based service, abstracting the integration challenges to a single open standard without losing any service features.

During the first months of the OPENi project, we docused on an analysis of the underlying state of the art in the cloud-based services landscape in order to provide concrete recommendations and guidelines to drive the forthcoming design and implementation of the OPENi APIs Framework.


Mobile Cloud Analysis: Introducing the Cloudlet Concept

By Leigh Griffin, Lukasz Radziwonowicz, Dónal McCarthy, Robert Kleinfield and Eric Robson

Attitudes towards computing have changed dramatically in the last ten years with technology becoming affordable and more mobile, bringing about a generation of technology savvy users. The availability of technology is complemented by advances in the underlying network, with consistent connection speeds and coverage reaching saturation levels. This has ensured a smooth experience for users and consequently expectations about what technology can do for a user’s life have risen. This expectation has been facilitated by a multi-billion dollar industry, delivering applications and services for user consumption. This industry has culminated in the rise of modern social networks, instantly connecting friends and family regardless of geographic location and allowing a heretofore unseen level of interaction.  Users are therefore offered a plethora of applications and services to meet their demands. This choice can cause confusion around where their data is stored and what provider may have access to it