Trigger-Action programming is emerging as an expressive and effec-tive approach when customizing services and applications that have to react to several dynamic events. Recent research efforts aim to overcome some limita-tions of existing commercial tools in supporting such approaches. However, they have mainly been applied and assessed in laboratories. In this work we re-port on how a personalization platform has been applied to an application con-trolling the home of a group of students. The home has been equipped with var-ious appliances and sensors accessible through an Arduino platform. The per-sonalization tool has been customized to integrate with the home application through a context manager middleware. The resulting personalization tool and the home application have been assessed by the students living in the home and various colleagues and friends without programming experience.
1. EINDHOVEN June 13-15 2016
Luca Corcella Marco Manca Fabio Paternò
HIIS Laboratory – ISTI-CNR
Pisa (Italy)
{luca.corcella, marco.manca,
fabio.paterno@isti.cnr.it}
Personalizing a Student Home
Behaviour
IS-EUD2017 1/16
HIIS
Laboratory
2. Motivation HIIS
Laboratory
EUD Tools play an important role in transforming users from passive consumers into active producer.
[Henry Lieberman, Fabio Paternò, Markus Klann, Volker Wulf – 2006 - End-user development: An emerging paradigm]
Aumento dei contesti d’uso caratterizzato dalla dinamica associazione di:
cose, dispositivi e servizi
We live in a more and more different contexts of use characterized by
dynamic association of people, devices, things and services
Users have different needs and interests and may have different
views about the most suitable way to exploit such technologies
3. EUD Tools HIIS
Laboratory
These applications present difficulties to find a good trade-off between usability and expressiveness
[Lucci, G., Paternò, F.: Understanding End-User Development of Context-Dependent Applications in Smartphones. HCSE 2014]
TARE evaluation has been carried out in our laboratory and we believed it could be interesting to investigate its use in a
realistic environment
4. Students’ home HIIS
Laboratory
We equipped a student’s home with a number of
sensors and devices with the support of an Arduino
Board.
Students showed interest and enthusiasm in
participating in the experiment
They share common rooms in the house, and this
can highlight particular situations that can hardly
occur in other conditions
5. Contribution of Work HIIS
Laboratory
Report on the usability of the integrated personalization platform evaluated
through a user test carried out in the actual context of use. Trials have been
carried out in the real context over a one-month period.
Demonstrate how a general personalization platform can be integrated in a real
context of use (with specific sensors, devices, and appliances) with an
associated application
6. Home Application HIIS
Laboratory
• Control the home appliances and sensors and check their status
• Sensors are able to detect temperature, humidity, gas, smoke presence, motion, light and noise level;
• Appliances can be remotely controlled (tv, radio, fan and three Philips HUE lights).
7. TARE
Trigger Action Rule Editor
HIIS
Laboratory
• Web tool that helps users without
programming experience to create
personalization rules which customize the
behaviour of devices and applications.
• IF/WHEN <trigger_expression> DO
<action_expression>
• Triggers can be combined by AND/OR
operators, while actions are executed
sequentially.
• Continuous feedback in natural language
indicating the current edited rule.
8. TARE
Adaptation Engine
Context Server
Specific Model
Appliances & Sensors (Context Delegates)
Application
Rules
3
Datected
Data
5
Event
Notification
6
7
1
2
Domain-Specialization
Process (Actions)
Actions
(Appliances State)
8
Event
Subscription
4b
4a
Contextual
Data Storage
and Analyis
12. User Test HIIS
Laboratory
• The test was carried out by 20 users: 12 males and 8
females, aged between 20 and 28.
• They have familiarity with web technologies, but not
experience in programming.
1) Create this rule: IF hue-LAMP3 is on and TV is off DO
turn on TV.
2) Simple Trigger (technology) + simple action (alert).
3) Trigger compound (environment + user) action +
compound (alert).
4) Trigger compound (environment + environment) +
simple action (functionalities).
5) Trigger compound (environment + technology) +
actions compound (appliances, functionality).
6) Trigger compound (user) + action compound
(appliances, reminders).
7) Trigger compound (user environment + technology) +
simple action (appliance).
8) Create a new rule from a rule created earlier.
13. User Test HIIS
Laboratory
Rules
Simple Rule Complex Rules
Executable 17 71
Not Correctly Executable
(Rules can still work, not desired behaviour)
2 24
Not Executable
(No meaningful effect)
1 5
Analysis and classification of the rules defined by the users
14. Trial Report HIIS
Laboratory
Students used the application and the personalization
tool for one-month period
They appreciated the approach and used it with
satisfaction.
Examples of the provided rules :
IF light-level is less than 10 and Local Time is 22:00 and
entrance light is off DO Turn on Entrance Light.
IF local time is 22:00 and TV is off and Motion Living
Room is true , DO turn on living room TV.
IF Gas Sensor is true, DO send SMS to 3283734205.
IF TV is on and radio is on and fan is on DO show
consumption data.
IF Local-Time is 09:00 DO Turn on Kitchen Radio.
IF Temperature is more than 20 and Fan is off DO turn
on Fan.
Conflicting Rules at run time:
• The execution of rule 2 cancel the result of the
execution of rule 1
1. In the morning the lights should be off;
2. When user is at home, lights should be on
• A rule may not satisfy another person’s needs or habits
WHEN time is 8 AM DO turn-on the radio
15. Conclusions and future work HIIS
Laboratory
We presented a solution that allows end-users to customize applications taking
into account the context of use by specifying trigger-actions rules.
The performed tests indicate that people without programming experience are
able to define personalization rules through the TARE tool with limited effort
and can learn how to use it in a short time.
The reported experience in the students’ home highlighted the usefulness of
the proposed approach in a real context. It also indicated some issues that were
not considered before.
Future works will be dedicated to improving the TARE tool in order to better
reasoning about rules performance in multi-user environments.
16. HIIS
Laboratory
Thank you for your attention
and come to see our demo this afternoon!
The TARE editor is public available at: http://giove.isti.cnr.it:8880/AuthoringTool
Editor's Notes
Thank you for the introduction, with this work I present our experience in integrating a personalization platform with an application in order to personalize a student home behaviour.
Recent technological trends have seen the advent of mobile and IoT technologies.
This implies that we live...
It is very difficult to find an application able to satisfy all the possible needs;
thus, it becomes fundamental to provide users without programming experience with tools that allow them to personalize the behaviour of their application depending on the context of use.
IN this perspective, EUD tools.. in defining the behaviour of smart environments
There are many commercial applicatios such as ifttt and atooma which customize the behaviour of existing applications in mobile devices.
In general, they adopt the trigger-action programming in which an event or condition produces the execution of an action.
However, such applications …for example it is not possible to specify the combination of multiple triggers or actions.
In order to try to overcome such limitations, we developed TARE (Trigger-Action Rule Environment), which includes an editor for specifying personalization rules that can be applied to web applications. The correspondent personalization platform is integrated with a context manager that is able to receive the state of multiple sensors and devices and then provide a logical description of the events and condition that can happen in the context.
Before this work, its evaluation..
Thus...
We choose a students’home beacause they...
In addition..
With this work we want to..
First of all we have customized the context manager in order handle the appliances and sensors installed in the considered home.
A responsive web application has been developed to provide users with an easy way to access the appliances’ state and control them.
Then the web application has been integrated with the personalization platform in order to allow users to define personalization rules and check the effects of their execution.
Finally, we have carried out a usability test to evaluate the usefulness and the effectiveness of the personalization environment.
The web home application is able to control…
In order to read the sensors values we used an Arduino board equipped with an Ethernet interface to connect it to the network;
we implemented on it a RESTful service which provides the application with a JSON object containing all the values read from the sensors.
The trigger action rule editor is a web tool...
Rules are composed of two parts: triggers and actions and the basic structure is <trig..
The trigger expression part describes the events or the conditions that trigger the rule executions, while the action expression part defines the actions that should be executed by the target application.
The context model is composed of four dimensions (user, environment, technology, and social relationships) with the aim to describe the relevant aspects that can affect interactive context-dependent applications.
In the upper part of the tool there is a continuous feedback in natural language indicating the current edited rule.
This is the architecture of the personalization platform, first of all the rule editor loads the context model defined in the context server and the description of the actions.
Now it is possible to define the rules that are saved on the editor and then can be sent to the Adaptation Engine module in order to apply them.
When the application is deployed it subscribes to the Adaptation Engine (4a), which is in charge of subscribing to the Context Manager in order to be informed of the occurrence of the events or condition defined in the rules (4b). Sensors or external services continuously update the Context Server by providing actual data (5).
For each previously subscribed event and condition that are satisfied in the current context, the Context Manager notifies the Adaptation Engine (6), which extracts the list of actions from the verified rules and pushes them to the application (7) which can then change the state of the relevant Appliances (8).
Regarding the integration between the home application and the personalization platform, as a first step, the house environment was studied in order to understand where to put the sensors and how to access them.
The selected house is composed of 4 bedrooms, a living room, a kitchen and a bathroom; it is occupied by 4 people. The people living in the house chose to install sensors only in common areas, which are kitchen, entrance and living room.
The map shows where the sensors were installed: at the entrance it was placed the motion, noise and light sensors and a Philips HUE lamp. The kitchen was equipped with the smoke and gas sensors, a hue lamp and two electric smart sockets to which the fan and the radio were connected. These smart sockets are connected to a relay controlled by Arduino which can provide the electric power when needed. Finally, the television and a hue lamp were installed in the living room.
The image shows how the server side application modules communicate with the Personalization Platform. First of all, when the home application is deployed the Subscription Module subscribes to the adaptation engine indicating its name and the application end point which that will receive the actions to apply from the adaptation engine when a rule is triggered. Then the adaptation engine subscribes to the context manager communicating the event and condition involved in the rules, in order to be informed when an event occurs or when a condition is verified.
In order to trigger a rule, the context manager should be informed every time a sensor, a device, an appliance changes its state, the IoT manager is module which reads the values of the sensors and sends these updates to the context manager. Finally, there is the Actions Receiver module which receives the actions when a rule is triggered, interpret them and communicates with the IoT Manager in order to change the state of the appliance involved in the actions.
This is a short video showing how the application works and how to create a personalization rule.
At the beginning the application it is not integrated with the personalization plaftorm, thus in order to turn on the light the user should use the application.
After the integration it is possible to define a rule such as: «When the motion sensor detects movement then turn on the light»
As we can see, when the user comes home the light is automatically turned-on.
For the user test a number of additional users were invited in the students’ home in order to receive feedback from an extended audience. We think that this type of feedback is more meaningful than the one obtainable in a laboratory because in this case users can immediately see the effects of the rules that they specified. The test was carried..
In order to test all features of the personalization rule editor, they had to create 8 personalization rules considering different context dimensions, starting from simple trigger and simple action to the composition of triggers and actions.
The image shows a plot reporting the task completion time; Simple task required less time while task 5 and 6 took long time probably because in these tasks users had to compose triggers and actions belonging to different dimension. The data indicate that users became more familiar with editing the rules over time and then became more efficient.
During the test users specified 120 rules; these rules after the specification were executed so that the users can see their effects in the home.
In the table we can see that 88 rules were correctly specified and executed.
In the analysis of errors, we have classified them into 2 categories: moderate and serious errors.
Moderate errors refer to wrong values in triggers or actions definition. The resulting rules can still work but the specified behaviour is not exactly the desired one.
For example, a user specified a rule: IF temperature is 14 Do send a message «Too cold» to 320123456 while the correct condition should have been IF temperature is less than.
Serious errors refer to rules that do not produce any meaningful effect; an example is: “IF there is someone at home and lights are on then turn on the lights”
In addition to the user test we have also collected the results of the experience of the students living in the home. They used the application and the personalization tool for one-month period. One of the authors was able to briefly talk to them and observe their use of the application and the editor almost daily. At the beginning they were not convinced about the approach while over time..
After some days of trials with the application they were requested to write some personalization rules that they considered useful. An important observation that came out from the trial in a real context concerns the management of conflicting rules specified by several users for the same context. Example..These rules may conflict depending on when the user returns home and the result of the execution of the first rule can be cancelled by the execution of the second one.
Another issue was related to rules that may not satisfy... In this case the radio would wake up the housemates who want to continue to sleep at that time, while the user specified this rule in order to listen the radio during the breakfast.