Consider how interactive devices have come to dominate our lives. Once the purview of a select few in large laboratories, powerful gadgets—supercomputers even—are carried with us everywhere we go in the form of smartphones. And as everything around us becomes increasingly more connected, those that have no interest in the technical aspects of computing will still need to know how to configure the networked things throughout their homes.
As an experiment in interactive design, Austrian researchers Florian Güldenpfennig, Daniel Dudo, and Peter Purgathofer have come up with a ‘Magic Paradigm’ for programming.
Their project uses a wand with a built-in RFID reader, allowing it to sense which RFID tagged object it’s pointing to and register various sequences. This enables devices to be customized as needed, many of which contain an Arduino Nano as ‘active’ units and an nRF24L01+ module for communication. A central desktop/Arduino setup is also implemented to coordinate system elements.
We are surrounded by an increasing number of smart and networked devices. Today much of this technology is enjoyed by gadget enthusiasts and early adaptors, but in the foreseeable future many people will become dependent on smart devices and Internet of Things (IoT) applications, desired or not. To support people with various levels of computer skills in mastering smart appliances as found, e.g., in smart homes, we propose the ‘magic paradigm’ for programming networked devices. Our work can be regarded as a playful ‘experiment’ towards democratizing IoT technology. It explores how we can program interactive behavior by simple pointing gestures using a tangible ‘magic wand’. While the ‘magic paradigm’ removes barriers in programming by waiving conventional coding, it simultaneously raises questions about complexity: what kind of tasks can be addressed by this kind of ‘tangible programming’, and can people handle it as tasks become complex? We report the design rationale of a prototypical instantiation of the ‘magic paradigm’ including preliminary findings of a first user trial.
[original story: Arduino Blog]