Graphical abstract of the article

The implementation of IoT applications, from the software point of view, is particularly complex and differs from the development of mobile and web applications. IoT developers must consider a set of dimensions that are unfamiliar to most software developers, namely, multi-device programming, the reactive nature of the application, the distributed nature of the software, and the need to write fault-tolerant software.

The paper How is Open Source Software Development Different in Popular IoT Projects? relies upon software mining to gain understanding, from a practical point of view, about how developing IoT applications is different from developing non-IoT applications in the Open Source Software (OSS) context. To this end, this work reports the comparison and quantitative analysis between the behavior of developers in the most popular IoT and non-IoT OSS projects hosted on GitHub. 

An empirical study was conducted mining 60 OSS repositories (30 IoT OSS and 30 non-IoT OSS projects) to analyze: a) the way developers contribute to their projects, b) the files that they tend to modify the most, and c) the specialization and the evolution of these modifications. 

Finally, the maturity of the IoT software development ecosystem was assessed based on a dependency analysis in the selected projects. Besides leveraging a characterization of IoT OSS projects currently available for IoT developers, this work aims at providing evidence from a practical point of view about the IoT software development peculiarities that should guide future research efforts to better understand and satisfy software engineering needs in the IoT context.

EUIoT: Workshop on Intelligent User Interfaces fr End-User Development in the IoT


The workshop "Intelligent User Interfaces for End-User Development of IoT", to be held on March 17th, 2020, in Cagliari, Italy is currently accepting contributions!

A IUI 2020 workshop that aims at serving as a venue for discussing ongoing research and sharing ideas among researchers and practitioners working on intelligent solutions for the End-User Development of IoT ecosystems. In particular, the workshop addresses the design of AI-enhanced User Interfaces that support non-experts in tailoring the behavior of IoT devices and the resulting smart environments.

WUD UniTo Torino 2019 Logo

Il 14 novembre 2019 viene celebrato il World Usability Day, un evento mondiale che mira a sensibilizzare sul tema dell'usabilità delle interfacce, dei servizi, dei prodotti. Il tema scelto per il 2019 è Designing for the future we want, che vuole focalizzare sulla creazione di esperienze utente che possano rendere il mondo un posto migliore così da creare, tutti insieme, il futuro che vogliamo. Il tema di quest'anno è stato anche ispirato dagli Obiettivi per lo Sviluppo Sostenibile stabiliti dalle Nazioni Unite.

IEEE IoT Journal front cover

The IEEE Internet of Things Journal (ISSN 2327-4662) issued a special issue on the topic "Internet of Food: Emerging Trend and Challenges".

The Internet of Things (IoT), indeed, is becoming increasingly prevalent in the food domain. The food industry and the agriculture depend on safer and smarter systems, able to produce high-quality food. Augmented and mixed reality environments can allow food manufacturers to better manage their inventory through eye sensors and spatial mapping. Individuals’ health - mostly related to food - can be monitored thanks to smart scales and wearable devices. Even cooking and eating can benefit from IoT devices, with things able to deliver food morsels via acoustic levitation to explore new tastes, or blended environments designed for multisensorial experience, to enable learning and allow for creative personalization. The purpose of this special issue is to provide the academic and industrial communities a venue covering all aspects of state-of-the-art approached, methods, and systems at the crossing of food and IoT, to advance their joint applications.

The reference architecture adopted in the survey present in the paper

The co-existence of various kinds of devices, protocols, architectures, and applications make Internet of Things (IoT) systems complex to develop, even for experienced programmers. When novice programmers are learning to implement these systems, they are required to deal with areas in which they do not have a deep knowledge. Furthermore, besides becoming proficient in these areas separately, they should integrate them and build a system whose components are heterogeneous from both software and hardware perspectives.

The accurate understanding of the most challenging issues that novices face is fundamental to envision strategies aimed at easing the development of IoT systems.

The paper On the Challenges Novice Programmers Experience in Developing IoT Systems: A Survey, recently published the Journal of Systems and Software (Elsevier), focuses on identifying such issues in terms of software development tasks that novice programmers encounter when working on IoT systems. To this end, the paper reports the results from a survey conducted among 40 novice developers that worked in groups developing IoT systems during several years of a university course. Based on their own experiences, individually and as a group, the most challenging development tasks were identified and prioritized over a common architecture, in terms of difficulty level and efforts. In addition, qualitative data about the causes of these issues was collected and analyzed. Finally, the paper offers critical insights and points out possible future work to tackle the identified issues.

The knowledge graph built by RecRules

End users can personalize their smart devices and web applications by defining or reusing trigger-action (IF-THEN) rules through dedicated End-User Development (EUD) tools, like IFTTT. Despite apparent simplicity, however, such tools present their own set of issues. The emerging and increasing complexity of the Internet of Things, for instance, is barely taken into account, and the number of possible combinations between triggers and actions of different smart devices and web applications is continuously growing. Such a large design space makes end-user personalization a complex task for non-programmers, and motivates the need of assisting users in easily discovering and managing rules and functionality, e.g., through recommendation techniques.

The paper RecRules: Recommending IF-THEN Rules for End-User Development, published in the ACM Transactions on Intelligent Systems and Technologies, presents RecRules, a hybrid and semantic recommendation system, as as solution for tackling the emerging problem of recommending trigger-action rules to end users. Through a mixed content and collaborative approach, RecRules recommends by functionality: it suggests rules based on their final purposes, thus overcoming details like manufacturers and brands.