{'fraction_non_alphanumeric': 0.029940119760479042, 'fraction_numerical': 0.0017964071856287425, 'mean_word_length': 5.2819548872180455, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
How do end-users program the Internet of Things?

ABSTRACT Nowadays, end users can exploit end-user development (EUD) platforms to personalise their Internet of Things (IoT) ecosystems, typically through trigger–action rules. Unfortunately, within such platforms, users are forced to adopt a unique, vendor-centric abstraction: to define triggers and actions, they must specifically refer to every single device or online service needed to execute the intended behaviours. As a consequence, little social and practical benefits of EUD in this domain have emerged so far. In this paper, we build on the idea that other abstractions besides the vendor-centric one are possible, and that the growth of end-user personalisation in the IoT may depend on their identification. Specifically, we report on the results of a 1-week-long diary study during which 24 participants were free to collect trigger–action rules arising during their daily activities. First, we demonstrate that users would adopt different abstractions by personalising devices, information and people-related behaviours, where the individual is at the centre of the interaction. Then, we show that the adopted abstraction may depend on different factors, ranging from the user profile, e.g. their programming experience, to the context in which the personalisation is introduced. While users are inclined to personalise physical objects in the home, for example, they often go ‘beyond devices’ in the city, where they are more interested in the underlying information. Finally, we discuss the retrieved results by identifying new design opportunities to improve the relationship between users and the IoT.