=Paper=
{{Paper
|id=Vol-3053/sample-4col
|storemode=property
|title=Supporting End Users in Designing IoT SmartThings with the IoTgo Toolkit
|pdfUrl=https://ceur-ws.org/Vol-3053/paper_3.pdf
|volume=Vol-3053
|authors=Mehdi Rizvi
|dblpUrl=https://dblp.org/rec/conf/interact/Rizvi21
}}
==Supporting End Users in Designing IoT SmartThings with the IoTgo Toolkit==
Supporting End Users in Designing IoT SmartThings
with the IoTgo Toolkit
Mehdi Rizvi1
1
DEIB, Politecnico di Milano, Milan, Italy
Abstract
The “Game of Internet of Things” toolkit (IoTgo) follows a playful approach for supporting end users
in creating Internet of Things (IoT) smart things. End users, especially teens, often do not have prior
expertise or familiarity with programming and prototyping to effectively create such smart things. Thus,
they require easy to use and readily available tools to do so. The IoTgo toolkit aims to fill this gap, by
covering the exploration, ideation, reflection, programming and prototyping of IoT smart things. This
paper focuses particularly on the set of IoTgo tools that focus on supporting end users in the programming
and prototyping aspects of creating IoT smart things.
Keywords
IoT, Toolkit, End Users, Design, Smart Things, Ideation, Reflection, Prototyping and Programming,
1. Introduction
Smart things which are either physically interactive, internet connected or both, are becoming
part of our lives in the form of toys, interactive artworks, and health & fitness devices etc.
However, designing such smart things is not an easy task for end users, especially younger ones
such as teens. It requires knowledge of the design process, familiarity with the technology related
to physical computing as well as cloud computing, expertise in programming and prototyping,
as well as critical reflection on all these aforementioned things. This paper presents the IoTgo
toolkit which playfully guides end users through all these stages of design. A particular focus
in this paper is on the the programming and prototyping tools available in IoTgo.
2. Related Work
Numerous toolkits focus on using inspirational cards and/or board games to help end users
ideate smart things [1, 2, 3, 4, 5]. In order to offer more flexibility, most of these toolkits are
not tied to specific physical devices for input or output. However, they risk to lead to ideas
which are not feasible to be implemented by end users. If end users are involved in the entire
design process, having cards that match physical devices and the environment can smooth
the transition from the ideation to the programming and prototyping stage. For instance, the
EMPATHY: Empowering People in Dealing with Internet of Things Ecosystems. Workshop co-located with INTERACT
2021, August 30, 2021, Bari, Italy
Envelope-Open syedmehdi.rizvi@polimi.it (M. Rizvi)
Orcid 0000-0001-8386-5779 (M. Rizvi)
© 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
http://ceur-ws.org
ISSN 1613-0073
CEUR Workshop Proceedings (CEUR-WS.org)
Figure 1: Various tools included in the IoTgo toolkit: (1) various decks of cards: (top to bottom)
Mission cards; Thing, Physical Input and Physical Output cards; Cloud Input and Output cards, with
password cards; Reflection Lenses (2) The IoTgo Ideation board with dice and tokens (3) Various electronic
components, and (4) IoTgo’s companion Web-app, for generating ready-to-use code
Lighting User Experience (LUX) cards and Know Cards contain cards for physical devices for
specific environments [6, 7]. Similarly, SNaP has different physical device cards, for inputs and
outputs, which are selected according to the environment [5]. A similar choice is made in IoTgo.
Cards related to cloud services constitute a broad category and usually serve to augment
smart things with interaction capabilities related to data coming from cloud-computing services.
For instance, the Tiles IoT Inventor Toolkit has cloud cards for data such as maps or news
information [1, 8]. The IoT Service Kit has cards for city services, e.g., parking data [3]. The
majority of toolkits for end users have no separate cloud-computing services, or they offer
only physical-computing services [5]. In the IoT Design Deck and other card-based toolkits,
cloud-computing services are not differentiated from the physical components of smart things,
but rather categorised as inputs and outputs together with them [2]. SNaP has no cloud cards
at all, being aimed at younger children [5]. In IoTgo, cloud-computing cards are present but
separated from physical computing cards. Many of these toolkits, with the exception of a few,
focus primarily on the ideation and reflection parts of the design stage and not on programming
and prototyping with end users [8, 5].
3. The Toolkit
IoTgo is a card-based toolkit. As illustrated in Fig1, it has decks of game cards and game boards,
where cards are played, for ideating IoT-enabled smart things, and for reflecting on various
issues related to the creation of such smart things. Decks include mission cards, thing cards,
physical input and output cards, cloud input and output cards, reflection lenses and ideation
boards.
For programming and prototyping, it also contains ad-hoc developed electronic devices, based
on Micro:bit [9] and Raspberry Pi [10], for translating ideas specified through the cards and
the game boards into working prototypes. A companion web app helps translate the selected
cards into ready-to-use code for Micro:bits. This is further explained in the next sub-sections.
3.1. Tools for Programming & Prototyping
IoTgo for programming & prototyping contains visual guidebooks, empty and completed ideation
boards to help with scaffolding ideas and links to related programs created by other end users.
Moreover, programming tools are divided into tools for physical computing, with physical input
and output devices, and tools for cloud services, with data exchanged with Web and IoT services.
3.1.1. Tools for physical computing
IoTgo contains programmable Micro:bits with a number of on-board inputs and outputs, be-
sides further input and output devices made easy to connect for children or teens [9]. All
physical devices are matched, one-to-one, to input and output cards of the ideation tools. For
programming, the block-based, Scratch-like environment called Makecode was used [11]. The
companion web app of IoTgo helps translate the selected cards into Makecode code blocks
which is ready-to-use and can be directly downloaded to Micro:bit . The end users can also edit
the code using Makecode blocks, as well as Javascript or Python, if they wish to do so.
3.1.2. Tools for cloud services
IoTgo also contains its own Cloud:bit, developed by the author. Its architecture and what end
users interact with is sketched in Fig. 2. Although Micro:bits are easy-to-use and powerful,
they have Bluetooth but lack WiFi connectivity. There are a number of commercially available
hardware add-ons for Micro:bits, but due to the cost factor, proprietary choices or not-so-
transparent services, they were discarded. Instead, the IoTgo Cloud:bit was developed ad-hoc,
as open-source, so as to provide a seamless and safe Bluetooth to WiFi gateway for players’
Micro:bits towards selected and safe cloud-computing services. From the architecture viewpoint,
Figure 2: Cloud:bit of IoTgo: a sketch of the architecture and what players interact with, in order to
program and prototype
Cloud:bit consists of a Raspberry Pi , connected via the serial port to a Micro:bit , which in
turn communicates with end users’ Micro:bits. The services provided by Cloud:bit and their
correspondence with the IoTgo cards and decks is reported in Table 1.
Using such an architecture serves a number of purposes. First and foremost, it provides a way
for Micro:bits to send or receive data to or from cloud computing services, which are controlled
by researchers so as to be safe for minors. Secondly, it hides the complexity away from the end
users, and it is open to more expert end users.
Card Deck Type of Cards Online Service
Logging Out AdafruitIO
Tweet Out Twitter
Calendar In Darksky
Weather In Darksky
Table 1
Mapping from cloud input and output cards to cloud services.
As Micro:bit has no WiFi capabilities of its own, therefore Makecode also has no relevant
blocks for this purpose. To remedy this, Makecode ’s radio blocks were repurposed so as to
enable end users to continue using Makecode blocks for programming, and seamlessly send or
receive data from or to the cloud through the gateway, without the need of installing any new
extensions.
4. The Overall Ideation Process
The overall ideation process with IoTgo toolkit consists of a number of stages. First is exploration
& familiarization where end users are introduced to input and output cards and devices. They
also use completed ideation boards by other end users as inspiration. Second is the actual
ideation, in which end users use the IoTgo ideation tools such as decks of game cards and
ideation boards, besides other game elements for conceptualising smart thing ideas. Third is
reflection where end users are given reflection lenses with questions inviting them to reflect
on the various issues related to the physical nature of design and data exchanged with cloud-
computing services. In light of the answers to reflection questions, the end users are invited to
modify their ideas.
The ideas, conceptualised with the ideation and then reflected on, then become the starting
point for the IoTgo programming & prototyping tools, as discussed in this paper, for turning
ideas into working prototypes. The reflection lenses are carried on into this stage too, in order
to ensure continued reflection on the design process by end users.
5. Conclusions and Future Work
There are numerous toolkits for either ideating smart things or for programming smart things
with end users, especially teens. However, there is less literature regarding toolkits that engage
end users through stages of exploration, ideation, reflection, programming and prototyping
their own smart things. IoTgo addresses this gap. IoTgo playfully guides end users across all
design stages of smart things and reflections on their physical nature and data exchanged with
cloud-computing services. This paper particularly focused on the programming & prototyping
tools available in IoTgo toolkit. The toolkit has been used with a variety of end users such as
teens and traditional artists. In next few months, it will be used with citizens attending an
interactive exhibition and later by school teachers, willing to use the toolkit independently
within their classrooms.
Acknowledgments
The author would like to thank Dr Rosella Gennari, Dr Maristella Matera, Dr Alessandra Melonio
and Eftychia Roumelioti, who have contributed in the development of the IoTgo toolkit.
References
[1] S. Mora, F. Gianni, M. Divitini, Tiles: A card-based ideation toolkit for the internet of
things, in: Proceedings of the 2017 Conference on Designing Interactive Systems, DIS ’17,
ACM, New York, NY, USA, 2017, pp. 587–598. URL: https://doi.org/10.1145/3064663.3064699.
doi:10.1145/3064663.3064699 .
[2] M. Dibitonto, F. Tazzi, K. Leszczynska, C. M. Medaglia, The IoT Design Deck: A Tool for
the Co-design of Connected Products, in: Advances in Usability and User Experience,
Springer International Publishing, Cham, 2018, pp. 217–227. URL: https://doi.org/10.1007/
978-3-319-60492-3_21.
[3] R. Brito, P. Houghton, Iot service kit, http://iotservicekit.com, 2017. Accessed: 2019-09-06.
[4] F. Gianni, M. Divitini, Designing IoT Applications for Smart Cities: extending the Tiles
Ideation Toolkit, IxD&A 35 (2017) 100–116. URL: http://hdl.handle.net/11250/2561514.
[5] R. Gennari, M. Matera, A. Melonio, E. Roumelioti, Research on making nature smart with
children, in: End-User Development, Springer International Publishing, Cham, 2019, pp.
249–253. URL: https://doi.org/10.1007/978-3-030-24781-2_25.
[6] K. Choi, T. Kim, H.-J. Suk, Lighting user experience (lux) cards: A card-based tool for
the design of smart lighting solutions, Archives of Design Research 33 (2020) 55–64.
doi:10.15187/adr.2020.02.33.1.55 .
[7] Know-Cards, Learn. play. collect. - know cards, https://know-cards.myshopify.com, 2019.
Accessed: 2019-09-06.
[8] F. Gianni, S. Mora, M. Divitini, Rapid prototyping internet of things applications for aug-
mented objects: The tiles toolkit approach, in: Ambient Intelligence, Springer International
Publishing, Cham, 2018, pp. 204–220.
[9] Micro:bit-Educational-Foundation, Micro:bit educational foundation | micro:bit, https:
//microbit.org, 2019. Accessed: 2019-09-06.
[10] D. Braben, J. Lang, P. Lomas, A. Mycroft, R. Mullins, E. Upton, Teach, learn, and make with
raspberry pi – raspberry pi, https://www.raspberrypi.org, 2019. Accessed: 2019-09-06.
[11] Microsoft, Microsoft makecode, https://makecode.microbit.org, 2019. Accessed: 2019-09-06.