Simplify Node-RED for End-User Development in SeismoCloud

End-user development is a technique that empowers the “end-user” to build complex automation with basic domain knowledge and no programming skills. The result of this process is that everyone can use complex technology to make their own life better. We used some EUD techniques in SeismoCloud.

This is a joint work with Edoardo Ottavianelli and prof. Emanuele Panizzi in the Gamification Lab.

Node-RED

Node-RED is a “Low-code programming (platform, ed.) for event-driven applications”. In other words, it’s an “end-user development” concept implementation, where users don’t need to know a programming language. They need to have only (some) domain-specific knowledge.

It’s widely used in Internet-of-Things applications. It allows the user to build very complex scenarios (like home/office automation) with minimal effort. It can be used locally or in the cloud.

Node-RED flow

(image courtesy of Node-RED https://nodered.org )

Node-RED has these concepts:

SeismoCloud nodes

SeismoCloud uses MQTT, which Node-RED can use without effort in the standard installation. Some SeismoCloud data are also available via REST APIs. However, our target is those people who are not experts on MQTT or HTTP protocols. So we modified Node-RED, removing all too complex nodes (like nodes for command execution, etc.) and implemented our set of nodes, abstracting how SeismoCloud information is accessed.

Some examples of new nodes:

Temperature node Perceptible node

We tested our approach with a group of SeismoCloud users, and the results were good! All non-IT-skilled users were able to use this system without effort!

Full paper

The full paper is available here: https://arxiv.org/pdf/2012.05637

Bassetti, Enrico, Emanuele Panizzi, and Edoardo Ottavianelli. “Simplify Node-RED For End User Development in SeismoCloud.” - EMPATHY: Empowering People in Dealing with Internet of Things Ecosystems. Workshop co-located with AVI 2020