Towards Intelligent Personalization of IoT Platforms Fabio Paternò, Sadi Alawadi HIIS Laboratory, CNR-ISTI Pisa, Italy fabio.paterno, sadi.alawadi@isti.cnr.it ABSTRACT agriculture, and so forth. Consequently, we use our Trigger-action programming is an emerging paradigm for applications more and more in dynamic contexts in terms personalizing the behaviour of Internet of Things of services, devices, objects and people where many events applications and services. In this area some recent research can occur. efforts have been dedicated to designing environments able Users' activities can vary quickly and some of them to support people without programming experience in cannot even be anticipated when designing interactive specifying the desired personalization rules. Little attention applications, but are only discovered during their actual has been paid to how to provide intelligent support in use. It may be very difficult for developers to predict all identifying relevant rules. In this position paper we discuss possible context-dependent scenarios, because there may the possible approaches to making such personalization be unforeseen (at design time) requirements that need to be platforms able to exploit the data collected on the behaviour supported when the application is actually used. Indeed, we of the users as well as the surrounding devices and things. are all different from each other in terms of culture, abilities, interests, goals. The increasing pervasiveness of CCS CONCEPTS such technologies implies that they are more sensitive than •Human-centered computing~Human computer ever to such differences. Thus, end-user development (EUD) interaction (HCI) • Computer systems organization~External approaches [2], which aim to allow people without interfaces for robotics • Software and its engineering~Software notations and tools programming experience to create or modify their applications, have become particularly relevant to address KEYWORDS emerging IoT scenarios. End User Development; Internet of Things; Trigger-Action Trigger-action programming [1] is a development Programming paradigm to support management of the dynamic ACM Reference format: situations characterizing the advent of the IoT. It is based Fabio Paternò and Sadi Alawadi 2019. Towards Intelligent Personalization on the specification of rules whose structure is simple: it of IoT Platforms. In Joint Proceedings of the ACM IUI 2019 Workshops, Los indicates that if/when something happens in terms of Angeles, USA, March 20, 2019, 3 pages. events and/or conditions, then the desired effect should 1 INTRODUCTION occur. An example of an environment supporting this The Internet of Things (IoT) is the network of objects in approach is IFTTT. It is a Web and mobile environment that our daily life (such as lights, refrigerators, car components, allows users to create rules, called «applets», in the form if medical devices, dog collars, etc.) that can send or receive trigger then action, where triggers and actions can be information with other devices on the network. These chosen from existing services (for example, Facebook, objects include sensors and actuators of various kinds and Evernote, Weather, Dropbox, etc.). It is estimated that can interact with each other, with human beings and with 320000 applets involving 400 service providers have been the environment to exchange data in order to react to real- installed more than 20 million times [5]. Services involve world events, trigger actions and activate services. They are peripherals, hubs, wearable devices, social networks, increasingly used in many sectors: home, retail, industry, messaging, …. However, IFTTT has some limitations. It supports applets composed of only one trigger and one action, while previous work [6] has reported a test with IUI Workshops'19, March 20, 2019, Los Angeles, USA. 226-participants that has shown that even people without programming experience can easily use rules with multiple Copyright © 2019 for the individual papers by the papers' authors. Copying permitted for private and academic purposes. This volume is published and copyrighted by its triggers and actions by extending the IFTTT language. It editors. does not distinguish between events and conditions. It is not easy to extend the list of the connected applications, IUI Workshops'19, March 20, 2019, Los Angeles, USA and it shows long lists of potential channels to compose, connection. Other sensors include beacons with where it is easy to get lost. Some recent research efforts aim accelerometers to detect use of doors, windows, cupboards, to overcome such limitations [1, 4]. objects, and sensors to detect motion, light, indoor and outdoor temperature, humidity. In addition, a number of lights that can be controlled in terms of colour, intensity, 2 EXAMPLE PERSONALIZATION PLATFORM temperature, duration will be used as well for providing An example personalization platform is reported in [3]: stimuli in order to help the older adults to better organise it is composed of a set of tools that allows people without their daily activities. Thus, the lights can set scenes with programming experience to dynamically personalize their activation and relaxation effects depending on the period of interactive applications, smart things, and humanoid robots the day and the state of the user. in order to best suit their needs in specific contexts of use. It relies on a middleware (context manager) that is composed of a server that can collect, model and interpret 3 INTRODUCING INTELLIGENCE IN THE the data generated by the various sensors and objects, PERSONALIZATION PLATFORM which are collected through context delegates, small The massive amount of the data generated by this type of software that convert raw data into a more structured personalization platform can be processed in a way to add format that can be better managed by the context server. intelligence to the platform. Machine Learning (ML) The platform includes a personalization rule editor that algorithms can be used to achieve this goal. In this case, ML enables even people without programming experience to algorithms should be exploited to build knowledge by easily define their specific rules in order to adapt the processing the available data with the goal to allow the behaviour of the available objects, devices, and applications platform to take dynamic real time initiatives based on to their preferences. For this purpose, it shows the possible what has been learnt from the historical data. triggers that are logically structured in terms of the aspects In order to introduce in this type of personalization they refer to (user, environment, technology), and the platforms the ability to exploit the data related to the possible consequent actions (reminders, alarms, user behaviour of users, devices and objects with the goal to interface modifications, changes in the state of some automatically identify relevant personalization rules, there appliances, etc.). The platform also includes a rule manager, are two possible types of relevant data (see Figure 1): which receives the personalization rules to execute, and  Data concerning the user behaviour (such as subscribes to the context manager to be informed when movements, interactions with objects and applications, some events or conditions associated to any of such rules …), and contextual conditions (such as time, weather, are verified, so that the consequent actions can be executed. light, …); It has been extended in order to also support the  Data concerning the personalization rules that have personalization of humanoid robots, which can be been created and executed beforehand. considered an integrated set of sensors and actuators, with the additional possibility to perform human-like behaviour. The platform can be applied in several domains exploiting IoT technologies (e.g. smart retail, industry 4.0, home, health, etc.). For example, we are organising trials of this type of personalization platform for the PETAL project in the Ambient Assisted Living domain. In this context, the target users are elderly with mild cognitive impairments and their formal and informal caregivers. The older adults have a tablet for their interactions with applications supporting cognitive stimulation exercises and providing information useful for their daily life. They also wear a smartwatch able to connect with Bluetooth and Wifi at the same time. This device is exploited to detect personal data (e.g. step counters and heart rate), and user’s indoor Figure 1. Personalization platform with indication of the areas where intelligent support can be introduced. position (with the support of Bluetooth proximity beacons), these sensed data are sent to the context manager via Wifi IUI Workshops'19, March 20, 2019, Los Angeles, USA Behavioural and contextual data should be fired by adding conditions that make the rules In this type of platform, a machine learning approach more suitable to meet more precisely specified needs. should be able to identify in which contextual situations it Other recommendations can be based on the actual users’ is preferred that some actions occur. Based on the historical behaviour and their preferences. This means exploiting a data collected by the context manager it is possible to train specific case of context-aware recommendation systems a model, which is then used to identify some rules. This [8]. For example, they can be device-oriented: if the user type of approach can be effective when the possible events prefers to use some specific device, then it can be and actions are limited. For example, an intelligent meaningful to suggest rules that exploit it, for example for thermostat is able to detect the room temperature at which sending alarms. One further aspect is to have location- the heating system should be turned on based on the user’s dependent recommendations, which aim to provide previous choices. Thus, in this case the data are when the suggestions when the users are in a specific area that they user turned on the thermostat and the temperature at that seem to prefer. Likewise, they can also be time-oriented time. The consequent action in this case is to turn the recommendations, which are rules with triggers associated thermostat on. A more general solution is rather difficult with specific periods of the day when the user is more because it implies the ability to monitor in a continuous and inclined to receive information (e.g. reminders). reliable way many possible relevant contextual aspects and actions performed (corresponding to changes of the 4 CONCLUSIONS appliances status or commands sent to applications). Thus, for example, if the goal is to personalize the use of the Trigger-action programming captures various aspects lights, then we should have tools able to monitor various that characterize the emerging need to support aspects (time, user position, weather, …) and actual lights personalization of IoT environments. EUD approaches can uses in order to identify possible routines and preferences empower even people without programming experiences in associating them. to customize such applications. Although intelligent One further issue is how to exploit the rules identified support can be useful in the perspective to augment these through machine learning. Indeed, previous studies [7] EUD approaches based on the analysis of the data have identified various issues in intelligent systems for the concerning the actual user behaviour, it needs to be home, such as the learning system failing to understand carefully designed in order to obtain meaningful results. user intent or the system’s behaviour being hard to In this position paper we provide some indications about understand. what possible approaches to data collection and analysis can help us to obtain mixed-initiative, usable platforms for Rules‐related data personalization of daily IoT environments in such a way as In this case it can be possible to design a personalization to enhance the user experience. rule recommendation system based on rules previously provided according to two possible approaches: REFERENCES collaborative or content-based filtering. In collaborative [1] G Ghiani, M Manca, F Paternò and C Santoro (2017). Personalization filtering the basic idea is that if user A has specified a rule, of Context-dependent Applications through Trigger-Action Rules. which is also indicated by user B, then there is a good ACM TOCHI, Vol.24, Issue 2, Article N.14, April 2017. [2] H Lieberman, F Paternò, M Klann and V Wulf (2017). "End-user probability that other rules specified by user B can still be development: An emerging paradigm" In: "End-user development", relevant for user A. Thus, it is sufficient to monitor the rules pp. 1-8, Springer, 2006. [3] N.Leonardi, M.Manca, F.Paternò, C.Santoro, Trigger-Action indicated by various users and then apply this approach to Programming for Personalising Humanoid Robot Behaviour, identify what rules to suggest. In the case of content-based Glasgow, 2019 ACM CHI'19. filtering it is possible to consider various types of [4] P Markopoulos, J Nichols, F Paternò and V Pipek (2017). End-User Development for the Internet of Things, ACM Transactions on recommendations. Some can be obtained through Computer-Human Interaction (TOCHI) Volume 24 Issue 2, 9, 2017 generalization of the content of some part of the existing [5] Mi, X., Qian, F., Zhang, Y., Wang, X.F., 2017. An Empirical rules. Thus, for example if there is a rule that says that Characterization of IFTTT: Ecosystem, Usage, and Performance, Proceedings of Internet Measurement Conference (IMC) '17, when the user enters the bedroom then the lights should be [6] B Ur, E McManus, MPY Ho and ML Littman (2014). Practical trigger- on, one possible suggestion obtained through action programming in the smart home. CHI 2014: 803-812 [7] R. Yang, M. W Newman Learning from a learning thermostat: lessons generalization can be that when the user enters any room, for intelligent systems for the home, 2013 ACM international joint then the lights should be on. Another type of conference on Pervasive and ubiquitous computing, pp. 93-102 recommendation can be obtained by trigger refinement, [8] G. Adomavicius, A. Tuzhilin, Context-aware recommender systems, 2011, Recommender systems handbook, pp. 217-253, Spring which means narrowing the situations when the trigger