Abstract
1. Introduction
2. Related work
3. RapIoT fundamentals
4. Creating RapIoT applications
5. Initial evaluation
6. Implementation
7. Discussion
8. Conclusions
Acknowledgments
References
Abstract
The Internet of Things holds huge promise in enhancing collaboration in multiple application domains. Bringing internet connectivity to everyday objects and environments promotes ubiquitous access to information and integration with third-party systems. Further, connected “things” can be used as physical interfaces to enable users to cooperate, leveraging multiple devices via parallel and distributed actions. Yet creating prototypes of IoT systems is a complex task for developers non-expert in IoT, as it requires dealing with multi-layered hardware and software infrastructures. We introduce RapIoT, a software toolkit that facilitates the prototyping of IoT systems by providing an integrated set of technologies. Our solution abstracts low-level details and communication protocols, allowing developers non-expert in IoT to focus on application logic, facilitating rapid prototyping. RapIoT supports the development of collaborative applications by enabling the definition of high-level data type primitives and allowing interactions spread among multiple smart objects. RapIoT primitives act as a loosely coupled interface between generic IoT devices and applications, simplifying the development of systems that make use of an ecology of devices distributed to multiple users and environments. We illustrate the potential of our toolkit by presenting the development process of an IoT application ideated during a workshop with non-expert developers and addressing real-world challenges affecting smart cities. We conclude by discussing the strength and limitations of our platform, highlighting further possible uses for collaborative applications.