Reducing the complexity of handling devices in the Internet of Things

The Internet of Things is going mainstream. Our homes are being filled up with Internet-connected stuff. How do we get an overview? How do we configure all this stuff? How do we avoid that these things take over the control of our lives? We created a tool that allows (almost) anyone to configure things at home.

Anders Palfi, Daniel Tandberg Abrahamsen, and Haakon Sønsteby

Anders Palfi, Daniel Tandberg Abrahamsen, and Haakon Sønsteby with RAPT

It is no longer considered as a joke or a myth to have an Internet-connected toaster in your kitchen. It will not even raise a single eyebrow if you told about it in a cocktail party. In fact we have so many Internet-connected things in our homes that many people run away if you offered them a new one. Internet of things has a lot of potential but it needs the right tools to help users cope with it.

One such tool is RAPT (Rapid Arduino Prototyping Toolkit). RAPT was developed by Daniel Abrahamsen, Anders Palfi and Haakon Sønsteby as part of their master’s thesis in the Spring of 2014. RAPT is a mobile app that allows users to inspect the functionality of available Internet-connected things at home (currently only Arduino devices), to upgrade their functionality and to connect them to each other to make new composed things. The motivation for RAPT came with the observation that an increasing amount of technology is being installed in the homes of seniors living independently in Norway. Although not currently a big problem, we foresee the overhead of managing this technology to be a hurdle that can slow down the widespread use of welfare technologies in the near future. RAPT is a proof-of-concept for us to see whether it is realistic to let seniors, their family members and homecare personnel configure the welfare technology installed at home.

RAPT has the following functionality:

  • It runs on Android mobile phones and has an intuitive touch-based interface.
  • It allows users to connect to existing things at home. Once a thing is connected its functionality is shown in the mobile phone app. The user can then change the behavior of the thing using drag-and-drop operations.
  • It allows the user to download a new software to the thing. This is handy since most things have a large amount of software on-board that defines the way they behave. For instance, if you have an alarm button (as many seniors in Norway have) you can download a new software that can change the behavior of the button (for instance, send an SMS to your son in addition to an alarm message to the emergency center).
  • It allows the user to program several things to cooperate with each other. For instance, it might be that you want the alarm button to unlock the front door so that emergency personnel can enter the house without breaking it. You can then draw lines that can connect the alarm button to the door lock and tell RAPT what to do when the button is pressed.


The user interface for RAPT showing how rules can be created by drawing lines among things.

The user interface for RAPT showing how rules can be created by drawing lines among things.

RAPT is a first prototype of a concept that can indeed become a necessity in the near future. Upgrading all the software that all the things contain (multiply it with the number of people having that thing) is already a big time consuming task. In addition, personal adjustments (e.g. due to housing solutions or the condition of the person living in the house) will be a necessary and time-consuming task for many service providers. To address these issues we need tools that are extremely user-friendly and that allow average users without ICT expertise to perform tasks that are often technically very complicated.

RAPT was evaluated in a usability test with around 15 non-ICT students. The first results have shown that the concept of a drag-and-drop metaphor is good, but there is room for improvement. RAPT has a number of limitations that our future research will address. For instance, it is currently bound to Arduino. A challenge is to support the multiple technological platforms that are emerging in the market.

You will find the report from the project in the menu Documentation, Student theses above. Look for Abrahamnsen et al. The source code for RAPT is available on bitbucket (see also here for the server code) under Apache 2.0. For more screenshots of RAPT see Flickr.

Leave a Reply

Your email address will not be published. Required fields are marked *