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.
(image courtesy of Node-RED https://nodered.org )
Node-RED has these concepts:
- Node: a node is a unit that can receive messages from other nodes via links (or it can self-trigger, like timers), do some processing, and send zero or more messages to one or more nodes. Each node can be linked to others via edges.
- Flow: a set of nodes. Nodes can be linked together if they are in the same flow. Cross-flow message passing is also permitted using Node-RED special nodes.
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:
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