Keywords

1 Introduction

Internet of Things (IoT) [1] and Ambient Intelligence (AmI) [2] are recently attracting the attention of industries and research scholars in several different fields, from electronics to artificial intelligence, from data (and big data) analysis to cloud computing, from software architectures to network security. As observed in [35], research on new Human-Computer Interaction (HCI) paradigms is necessary as well, especially for facilitating the use and configuration of AmI environments by users without computer programming knowledge. Therefore, we found important to deepen the research on End-User Development (EUD) [6], in order to understand which methods and tools have been proposed so far to transform end users (inhabitants) from passive consumers of their smart environments to active producers of new behaviors for such environments [712].

More precisely, this paper presents a systematic literature review in the IoT and AmI areas, by focusing on the research works that deal with methods and tools suitable to the smart home and compliant with a wider definition of EUD that considers end users as “developers” of their smart environment, which thus becomes able to evolve as its users evolve [13, 14].

From a technical point of view, a smart home is a house that encompasses a variety of processors, touch screens, memory devices, sensors (lightness, proximity, cameras, accelerometers, etc.), and actuators (lamps, household appliances, speakers, etc.), all connected together and able to endow the house with an autonomous and pro-active behavior. On the other hand, the house inhabitants should be able to modify and adapt home behaviors to their needs, in a continuous co-evolution of system and users [15]. This could be achieved by providing users with EUD tools that support them in creating simple commands (e.g. “at 7 a.m. rise shutters”), monitoring activities (to check gas leak, intrusions, etc.), tele-assisted services, and environment management tasks (e.g. temperature or lighting setting).

The paper is structured as follows: Sect. 2 describes the methodology adopted to perform the systematic literature review, as well as the tools identified through the study; Sect. 3 describes the technical analysis of the tools and the qualitative comparison of a subset of them; Sect. 4 concludes the paper by summarizing the main findings of the study.

2 Methodology

The present study was performed by following the guidelines for systematic literature review proposed in [16]. The systematic review was composed of 3 phases: planning, conducting and reporting. The activities concerning the planning and the conducting phases are described in the following sub-sections, the reporting phase is described in Sect. 3.

2.1 Planning Phase

In this phase, the following activities were performed: (1) the definition of the research question, (2) the establishment of the search strategy, (3) the definition of inclusion and exclusion criteria for the selection of the primary studies.

Research Question.

The goal of the systematic literature review, presented in this paper, is to examine the current use of tools in the IoT and AmI areas, suitable to the smart home and compliant with the definition of EUD. The research question addressed by the study was:

  • RQ: Which are the software tools that end users can use for managing and configuring the behaviors of a smart home?

Search Strategy.

To compose the search string a set of concepts was first chosen. The three main concepts we identified are trivial: tool, smart home and internet of things. Then, a number of correlated concepts were defined: device, instrument, appliance and gadget for tool; smart house, home automation, digital home as related to smart home; and IoT as very well-known acronym of Internet of Things. Table 1 shows the main concepts and the correlated concepts identified that were combined by Boolean conditions to compose the search string.

Table 1. The main concepts and the correlated concepts identified to compose the search string.

Then, the following search string was composed:

The main digital library that were used to search for primary studies were:

Moreover, journals and conference/workshop proceedings, where studies relevant to the research question had been published, were also manually searched. They are listed in the following.

Journals:

  • Journal of Ambient Intelligence and Smart Environments;

  • Journal of Systems and Software;

  • Pervasive and Mobile Computing;

  • Future Generation Computer Systems;

  • Personal and Ubiquitous Computing;

  • International Journal of Smart Home;

  • IEEE Pervasive Computing;

  • International Journal of Pervasive Computing and Communications;

  • International Journal of Ad Hoc and Ubiquitous Computing.

Conferences and Workshops:

  • UbiComp;

  • International Symposium on End-User Development (IS-EUD);

  • European Conference on Ambient Intelligence (AmI);

  • Workshop on End User Development in the Internet of Things;

  • Workshop on Cloud of Things;

  • IEEE International Conference on Green Computing and Communications and IEEE Internet of Things and IEEE Cyber, Physical and Social Computing;

  • International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing;

  • ACM Conference on Ubiquitous Computing;

  • IEEE International Conference on Trust Security and Privacy in Computing and Communications;

  • IEEE International Conference on Ubiquitous Computing and Communications;

  • International Conference on the Internet of Things;

  • International Conference on Ubiquitous and Future Networks;

  • IEEE International Conference on Pervasive Computing and Communications;

  • International Conference on Embedded and Ubiquitous Computing;

  • International Conference on Future Internet of Things and Cloud;

  • International Conference on Mobile and Ubiquitous Systems Computing Networking and Services;

  • IEEE International Conference on Computational Science and Engineering;

  • International Symposium on Pervasive Systems Algorithms and Networks;

  • International Conference on Frontier of Computer Science and Technology.

The period reviewed included studies published from 2010 to 2015.

Inclusion and Exclusion Criteria for the Selection of Primary Studies.

A total of 1049 papers have been found through this search. Each paper that was retrieved from the automated or manual search was evaluated in order to decide whether or not it should be included, by considering its title, abstract and keywords. The studies that met at least one of the following inclusion criteria were included:

  • The paper describes a tool oriented to end users and not to expert developers;

  • The paper presents a tool or high-fidelity prototype available for evaluation;

  • The paper presents a tool that can be used for the management of a smart home;

  • The paper describes a tool able to interact with other systems and devices;

  • The paper has been published in a conference or workshop proceedings, or in a scientific journal.

The studies that met at least one of the following exclusion criteria were excluded:

  • The paper describes a tool oriented to developers;

  • The paper presents a low-fidelity prototype;

  • The paper presents a tool that cannot be used for the management of a smart home (e.g. tool devoted to agriculture, industry, etc.);

  • The paper presents a tool not compliant with the EUD definition;

  • The paper has been published in book, bachelor and master thesis, etc.

2.2 Conducting Phase

In the conducting phase, we have carried out the activities planned in the previous phase. Then, we have defined two data extraction strategies for providing the answer to the research question.

Selection of Primary Studies.

Table 2 shows the number of papers selected and excluded at the end of the selection of the primary studies, 48 papers out of 1049 satisfied the above inclusion/exclusion criteria.

Table 2. Number of papers selected and excluded.

From the 48 papers selected through the systematic review, we have identified the eleven tools reported in Table 3.

Table 3. The selected tools for EUD in the smart home.

Atooma (A TOuch Of MAgic) is a free Italian application that uses the ‘if-then’ construct for defining rules. It gives the possibility to take up to five conditions and corresponding actions. In addition, Atooma recognizes the situations that occur most frequently and suggests the appropriate action. It can be integrated with mobile applications, web services and external devices through a single interface. Finally, it provides a very good support for non-IT users while giving the possibility for developers to use a special SDK to create add-ons.

Bipio is a Graph API, in which each node of the user graph is responsible for the execution of a unit of work to transform messages, integrate different web services or other types of web applications based on the RPC protocol. The nodes of the graph are called beeps: they are fast endpoints for personal domains and receive, process, and transmit messages through a graph. Bipio allows its users to create customized workflows and by using the “Powerful Application Logic” the user is able to concatenate multiple services. Like Atooma, Bipio does not require any programming knowledge, although only a computer science expert may implement new extensions. Bipio uses the drag and drop interaction paradigm and provides a very valuable support for non-IT users.

GALLAG Strip is a novel approach to programming sensor-based context aware applications combining the programming-by-demonstration technique and a mobile device to enable users to experience their applications as they program them. GALLAG Strip allows its users to create sensor-based context-aware applications in an intuitive and appealing way without the need of computer programming skills. The users of GALLAG can program their applications by physically demonstrating their envisioned interactions within a space using the same interface that they will later use to interact with the system, that is, using GALLAG-compatible sensors and mobile devices.

IFTTT is a web and a smartphone application. It allows creating ‘if-then’ rules that are called ‘recipes’, because basically they just mix ingredients, such as social networks, web services, and smart things. It presents a good integration with any kind of web service. The smartphone app is available for Android and IOS platform. The user can define for each rule (recipe) only one condition and only one action and to have his/her rules working the Internet connection is needed.

itDuzzit is a cloud integration platform that is simple enough for non-IT users, yet powerful enough to support most complex integrations. It offers pre-built integration solutions and connectors for dozens of cloud (web) applications. Its Duzzit Editor lets users build their own custom integration solutions (called “duzzits”) that run in the cloud. A duzzit can be deployed as an online form, a scheduled job, a web service, an email drop box, or a widget. Pre-built duzzits exist in the Duzzit Library and they can be modified through the Duzzit Editor. itDuzzit is entirely hosted so there is nothing to download and nothing to install.

Locale is an Android application for the automated management of a mobile device according to conditions, primarily related to the position and orientation of the smartphone, the date and time, the remaining battery power and the calls from contacts. If appropriately extended through external plug-ins, it allows controlling, as well as some web services, even other devices connected to the Internet.

Tasker is an application for Android which performs tasks (sets of actions) based on contexts (application, time, date, location, event, gesture) in user-defined profiles or in clickable or timer home screen widgets. This simple concept profoundly extends the control of the Android device and its capabilities, without the need for ‘root’ or a special home screen.

Twine is a physical smart object, a small turquoise box crammed with sensors. It takes standard accelerometers, thermometers, and other sensors to alert the user in case of small problems before they become big problems. Quick Wi-Fi setup and AAA batteries that last up to 3 months allows one to drop Twine anywhere in the house to monitor temperature, vibration and orientation. Additional sensors detect floods, leaks, opened doors, and signals from other home systems. Rules can be defined or modified through a web application.

WigWag is an open source system for ambient intelligence. Its free WigWag mobile app allows for instant control of the connected devices in a home or office, whether people are right there or far from these places.

We Wired Web is a community-extensible integration-as-a-service web application that lets non-technical people easily share data between web services, while allowing technical people to extend the system by adding new web services, triggers, and actions via wiring diagrams.

Zipato Home Management is a rule-based system for a complete home control and automation. It requires its own gateway, called Zipabox, to which the many devices (sensors and actuators) of the system are connected. Devices are specific of Zipato or they could come from other manufacturers, but they are supported only if adhering to compatible standards. The creation of rules is via Zipazle, a visual programming environment based on the Scratch project of MIT and accessible through smartphones, tablets and computers via web.

First Data Extraction Strategy.

The first data extraction strategy was based on the following technical characteristics:

  1. 1.

    License and price: license of the tool and, if commercial, its cost;

  2. 2.

    Flexibility in device management: possibility for the user to add, edit and remove the connection to devices;

  3. 3.

    Platform extensibility: opportunity for developers to create new software artifacts for the system (plug-in); possibility for users to install and use them;

  4. 4.

    Easy configuration: opportunity for users to add, edit or remove rules, and schedule events easily;

  5. 5.

    Technical support: possibility to receive technical support from the manufacturer or developer;

  6. 6.

    Integration with smart devices: possibility to connect the system with specific devices (other products of the software development company or of other partner companies) or other devices widely used (including those available through specific hubs);

  7. 7.

    Integration with web services: possibility to connect the system to services available on the web;

  8. 8.

    Rule structure: possibility to define multiple conditions and actions per each rule.

Second Data Extraction Strategy.

The second data extraction strategy was based on a qualitative comparison of tools performed considering the set of design principles defined by Davidoff et al. in [17]. Such design principles aim at developing end-user programming systems that allow their users to gain control over their lives. In the following, the seven principles are briefly described.

  • P.1 - Allow for the organic evolution of routines and plans: a smart home system should allow its users to define/modify specific rules that characterize the user daily tasks on the basis of their changing needs.

  • P.2 - Easily construct new behaviors and modify existing behaviors: the system should provide its users with the ability to define/modify new recurring or planned behaviors.

  • P.3 - Understand periodic changes, exceptions and improvisation: the system should detect actions that user wants to perform, which are in conflict with the default routines.

  • P.4 - Design for breakdowns: the system should dynamically remedy possible error situations that can occur.

  • P.5 - Account for multiple, overlapping and occasionally conflicting goals: the system should flexibly react to unplanned events, even if the latter may come into conflict with each other, ensuring its internal consistency.

  • P.6 - The home is more than a location: the system should consider the family needs and necessities, even outside the home.

  • P.7 - Participate in the construction of family identity: the system should decide which action must be performed on the basis of the social roles and the family protocol.

3 Reporting Phase

The overall results of the study are reported in the following sub-sections.

3.1 Results of the First Data Extraction

Each tool has been first analyzed according to the technical characteristics giving rise to the data shown in Table 4, where each characteristic is associated with one of the following symbols:

Table 4. Evaluation of the selected tools according to their technical characteristics.
  • ✓ the characteristic is totally satisfied

  • ~ the characteristic is partially satisfied

  • × the characteristic is not satisfied

Among the eleven tools, five tools have been excluded from the subsequent deeper analysis, mainly due to their acquisition cost or the need for specific hardware. They are: Gallag Strip, Locale, Twine, WigWag, and Zipato.

The remaining six tools, namely Atooma, Bipio, IFTTT, itDuzzit, Tasker and We Wired Wed, have been examined in details, according to the second data extraction strategy, as described in the following sub-section.

3.2 Results of the Second Data Extraction

A typical scenario describing how a family could manage and live in its smart home has been defined and used to apply the second data extraction strategy on the six tools. In addition, it has been assumed that each tool was installed both on a central control device (located in the home and connected to the Internet) and on all mobile devices of the family members (also connected to the Internet, even outside the home).

Table 5 reports the results of the qualitative evaluation through the design principles for smart home control [17], where each principle is associated with one of the following symbols:

Table 5. Evaluation of the selected tools according to the design principles for smart home applications.
  • ✓ the principle is totally satisfied

  • ~ the principle is partially satisfied

  • × the principle is not satisfied

Bipio together with We Wired Web are the only tools that do not support the integration with physical devices and also they do not ensure an excellent integration with web and cloud services. Both tools fulfill the principle P.1, as all the other examined tools. In addition, We Wired Web does not provide any extensions to add, change and remove devices. Although itDuzzit is lacking with respect to the design principles, it satisfies most of all the technical characteristics (see Table 4), so developers can extend it and make it “smart” for the management of multiple targets (P.5 principle), the remote control and the detection of the user’s location (P.6 principle).

Regarding the design principles, Atooma and IFTTT are equivalent, since both tools partly meet the principle P.6, because they allow detecting the position, while the remote control is absent. Despite such equivalences, IFTTT has more limitations regarding the flexibility in the management of devices and technical support than Atooma; moreover, being created primarily as a web service, IFTTT also requires a constant Internet connection to correctly work. In addition, Atooma allows managing multiple conditions and actions (up to 5) and has a specific area for the smart object management (TAG NFC, Pebble, Gear Watch, Smart Things products).

Tasker satisfies all the design principles except P.4 and P.7, which are not met by any instrument. However, due to its extensibility through plug-ins, Tasker is able to overcome the limitations of the basic version of the application. In particular, AutoVera is a plug-in for the management of the home that allows Tasker to understand abnormal, but intentional, changes to the defined rules, to manage multiple objectives and to perform remote control, position detection and monitoring of the home adequately, even in case of family members’ absence.

On the basis of this analysis, Tasker resulted to be the most suitable tool to satisfy the above design principles, and thus our research question. In particular, its extensibility opens up a variety of possibilities for customizing it to the smart home case.

4 Conclusion

This paper has presented an analysis of tools supporting end-user development for smart home configuration and management. Tools have been selected after a rigorous systematic review of literature in the IoT and AmI research fields. The adoption of some specific selection criteria, including the compliance with the EUD definition, allowed us to select 48 papers out of 1049 found through automatic and manual search. From these papers, eleven tools have been identified and subsequently examined according to some technical characteristics. All tools are based on a rule-based paradigm for behavior definition: end users (home inhabitants) are supported by visual interfaces in the composition of events and/or conditions with actions, using structures like ‘if-condition(s)-then-action(s)’ or ‘when-event(s)-then-action(s)’.

Then, a comparative analysis of the tools has been performed by taking into consideration the design principles proposed in [17]. However, 5 out 11 tools have been excluded from this deeper analysis, due to their acquisition cost or the need of specific hardware that prevented testing tool functions. Therefore, the evaluation, based on the design principles, has been carried out only on Atooma, Bipio, IFTTT, itDuzzit, Tasker and We Wired Web. From this analysis, it emerged that Tasker enhanced with a specific plug-in (AutoVera) is able to satisfy six out of seven design principles; only the principle about participation in family identity construction is currently far from being realized. On the contrary, the other five tools do not satisfy the majority of the design principles.