POLITECNICO DI MILANO Scuola di Ingegneria dell’Informazione

POLO TERRITORIALE DI COMO

Master of Science in Computer Engineering

BRIDGeViz: A Web Application for Monitoring Elderly Behaviour in AAL Systems

Supervisor: Prof. Sara Comai

Assistant Supervisor: Eng. Fabio Veronese

Master Graduation Thesis by: Chandnee Gopaul

Student ID: 817642

Academic Year 2016/2017 ii

Abstract

The average age of the population is growing enormously and ensuring the elderly well-being becomes challenging due to several aspects: fragile people prefer staying in their residences even if their health is not at its best, they remain in a constant state of anxiety, but they still choose to execute their Activities of Daily Living (ADLs) on their own. In order to provide security, aid and wellness to older people, it is necessary to build a system able to monitor their behaviour; such a structure, denominated AAL system, can reassure family members, as it is capable of recognizing a state of illness in real time.

The BRIDGe project arises as a powerful AAL system including different sensors that continuously monitor the inhabitant’s behaviour and produce broad quantity of textual data. In such a context, this thesis work provides a solution to convey perceptible and simplified information in a visual form: the BRIDGeViz web application, aiming the monitoring of elderly activities in AAL systems. Data Visualization is the discipline that manages the representation of data in a visual form.

The web application enriches BRIDGe by visualizing data through appropriate representations able to stimulate the human visual perception, in order to gain knowledge from the represented data. In particular, the implemented plots carry information related to the energy consumption, at different granularities, supervision of the domestic appliances consumptions, time spent in each room of the smart home, both in short and long-term periods, and monitoring of the sensors states. iv

Sommario

L’età media della popolazione sta crescendo enormemente e diventa difficile assicurare il benessere degli anziani a causa di diversi aspetti: le persone fragili preferiscono restare nelle loro abitazioni nonostante la loro salute non sia ottimale, rimangono in uno stato di ansia costante, ma scelgono di eseguire le attività quotidiane per conto proprio. Al fine di fornire sicurezza, assistenza e benessere alle persone anziane, è necessario costruire un sistema in grado di monitorare il loro comportamento; tale struttura, denominata sistema AAL, può rassicurare i membri della famiglia, in quanto è in grado di riconoscere uno stato di malattia in tempo reale.

Il progetto BRIDGe si presenta come un potente sistema AAL che include diversi sensori atti a monitorare l’andamento dell’abitante, producendo una grande quantità di dati testuali. In un tale contesto, questo elaborato fornisce una soluzione per trasmettere informazioni percettibili e semplificate in forma visiva: l’applicazione web BRIDGeViz, che mira al controllo delle attività degli anziani all’interno di sistemi AAL. La visualizzazione di dati è la disciplina che gestisce la rappresentazione dei dati in forma visiva.

L’applicazione web arricchisce BRIDGe visualizzando i dati attraverso rappresentazioni appropriate in grado di stimolare la percezione visiva umana, al fine di acquisire conoscenza dai dati rappresentati. In particolare, i grafici implementati riportano informazioni relative al consumo di energia, in diverse granularità, alla supervisione dei consumi degli elettrodomestici, al tempo trascorso in ogni stanza della smart home, sia nei periodi a breve che a lungo termine, e al monitoraggio degli stati dei sensori. vi

Acknowledgements

In the first place, I would like to thank the Supreme Lords Sri Sri Radha Krishna for their mercy, and my spiritual master for his blessings and care.

I am most grateful to my father, Venu Gopal, and mother, Kanak Manjari, for having always believed in me, given me the best I could ask for, loved me unconditionally and supported me in my choices; without them I would not be the person I am today. I am very thankful to my husband, Ram Krishna, whose love and care allowed me to grow as a person. A special consideration to my sister, Parvati, who has been my mentor and inspiration throughout my life, and to my uncle, Sri Hari, for his constant love and encouragement since ever. Thanks to the rest of my wonderful family, for having always supported me. Big thanks to my friends and well-wishers, who shared important and unforgettable moments of my life. An exclusive appreciation to the friends who shared my journey in Politecnico, both in Milano and Como; thanks for the thousand laughs and a remarkable experience that I will preserve for life.

I express my sincere gratitude to my supervisor, Professor Sara Comai, for her precious advices, contribute and interest in reading and revising this thesis work, and to my assistant supervisor, Fabio Veronese, who has been there to listen, assist and encourage me during the development of this work. I am very much obliged to all the teachers that contributed to my education and training career, from primary school to university.

With love, Chandnee viii

Contents

Abstract ...... iii Sommario ...... v Acknowledgements ...... vii List of Figures ...... xiii List of Tables ...... xv

1 Introduction ...... 1 1.1 The BRIDGe Project ...... 4 1.2 Problem Statement ...... 5 1.3 Data Visualization ...... 7 1.4 Thesis contribution ...... 8 1.5 Thesis structure ...... 9

2 State of Art ...... 11 2.1 Smart Home ...... 12 2.2 The BRIDGe Architecture ...... 13 2.2.1 Sensors in BRIDGe ...... 15 2.3 AAL systems Smart Home case studies ...... 15 2.4 Graphical representation of data ...... 17 2.4.1 Data ...... 18 2.4.2 Graphs ...... 18 2.4.3 Dashboard ...... 21 2.4.4 Data Visualization Techniques ...... 23 2.4.5 Data Visualization in AAL systems ...... 27 x

3 Methodology ...... 37 3.1 Human Perception and Cognition ...... 38 3.2 Visualization Process ...... 41 3.3 Applied Procedure ...... 45 3.3.1 Guidelines ...... 47

4 Design and Implementation...... 55 4.1 Analysis ...... 56 4.1.1 Objectives ...... 56 4.1.2 Target users and constraints...... 56 4.1.3 Case study ...... 58 4.1.4 Requirement Analysis ...... 61 4.1.5 UX Design ...... 64 4.2 Identification of graphs ...... 65 4.2.1. Radial Progress ...... 67 4.2.2. Double Bar ...... 67 4.2.3. Donut Chart ...... 68 4.2.4. Scatter Plot ...... 69 4.2.5. Fill Gauge ...... 70 4.2.6. Line chart ...... 71 4.3 Other features ...... 72 4.3.1. Live ...... 72 4.3.2. Top menu ...... 73 4.4 Implementation details ...... 74 4.4.1. Technologies ...... 74 4.4.2. Main challenges ...... 75

5 Conclusion and Future work ...... 79 5.1. Conclusion ...... 80 5.2. Future work ...... 81

xi

Appendix A ...... 83

References ...... 87

xii

List of Figures

Figure 1.1 – Numbers tell a story: data storytelling is a structured approach for communicating data insights, involving a combination of three key elements – data, visuals and narrative...... 1 Figure 1.2 – Maslow’s hierarchy of needs ...... 2

Figure 2.13– Smart Home ...... 12

Figure 2.24– The BRIDGe Architecture ...... 13

Figure 2.35– ’s Bar Chart: Exports and imports of Scotland ...... 19

Figure 2.46– Variety of Data Visualization techniques ...... 23

Figure 2.57– Information visualization reference model and sources of dynamics at each stage ...... 26

Figure 2.68– CASAS: Activity trends for a smart-home resident ...... 27

Figure 2.79- PyViz: CASAS activity visualizer (on the left); PyViz: graphical numeric data (on the right)...... 28

Figure 2.810– CASASviz: Main Visualizer (a) and Mobility Heat Map (b) ...... 29

Figure 2.911– CASASviz: Activity Graph...... 30

Figure 2.1012– CASASviz: Power Usage Visualizer ...... 30

Figure 2.1113– Ubicare visualization of activity monitoring: toilet flush activation occurrences per day...... 31

Figure 2.1214 – Home Center 2: Fibaro system web dashboard ...... 33

Figure 2.1315– PiDome: mobile application dashboard ...... 34

Figure 2.1416– PiDome: a platform for Home Automation (devices list) ...... 35

Figure 3.117– Perception and cognition balance ...... 39 xiv

Figure 3.218– Representation of the visual processing system ...... 40

Figure 3.319– Typical visualization process ...... 42

Figure 3.420– Information-assisted visualization process ...... 42

Figure 3.521– Knowledge-assisted visualization with acquired knowledge ...... 43

Figure 3.622– Knowledge-assisted visualization with simulated cognitive processing 44

Figure 3.723– Several different palettes and their relationship to the hue wheel ...... 52

Figure 4.124– Pilot1SA house map showing sensors ...... 59

Figure 4.225– Use case diagram ...... 63

Figure 4.326– Radial Progress: current temperature ...... 67

Figure 4.427– Double Bar Chart: energy consumption in the last six weeks ...... 68

Figure 4.528– Donut Chart: appliances consumption ...... 69

Figure 4.629– Scatter Plot: location in the last week ...... 70

Figure 4.730– Fill Gauge: energy consumption in this week ...... 70

Figure 4.831– Multi-series interactive line chart: energy consumptions ...... 71

Figure 4.932– Live page: current situation in the house ...... 72

Figure 4.1033– Currently active (left) and broken lamps (right) ...... 73

Figure 4.1134– Top bar: home, notifications, batteries and user profile ...... 73

Figure 4.1235– Notifications (on the left) and batteries status (on the right) ...... 73

List of Tables

Table 1.1 – Ackoff’s definition of data, information and knowledge ...... 8

Table 3.12– Examples of information used in visualization ...... 43

Chapter 1

Introduction

“Numbers have an important story to tell. They rely on you to give them a clear and convincing voice.” Stephen Few

Figure 1.1 – Numbers tell a story: data storytelling is a structured approach for communicating data insights, involving a combination of three key elements – data, visuals and narrative.

2 Chapter 1. Introduction

Presently, we can experience a considerable expansion of the population in Italy. The Istat has gathered, inside its statistical yearbook, the most recent statistics about the country. As a result, it emerges that Italy has a continuously growing number of elderly; it is esteemed that within 2030, the number of older people could reach the 26.5% of the population. In the last 20 years, the rate of people over 80 has increased by 150%, and it will rise progressively [1].

The old age defines a new phase of a person’s life, as he starts facing physical, psychological and social changes. Most elderly remain in a constant state of anxiety, because they fear separation from their beloved ones, they fear not being able to perform activities as they did before, and they fear death. These transformations affect the emotional self and bring the person to a state of fragility, in which he finds himself unable to fulfill his basic needs.

Figure 1.2 – Maslow’s hierarchy of needs

In 1970, the American psychologist Abraham Maslow designed a classification of humans’ needs and life desires [2], shown in Fig. 1.2. In this motivational theory in psychology, he explains a five-tier model of human needs, often depicted as hierarchical levels within a pyramid. Maslow stated

1.1 The BRIDGe Project 3

that people are motivated to achieve certain needs and that some needs take precedence over others. Our most basic need is for physical survival, and this will be the first thing that motivates our behaviour. Once that level is fulfilled, the next level up is what motivates us, and so on. Every person is capable and has the desire to move up the hierarchy toward a level of self-actualization. Unfortunately, this progress often breaks up by a failure to meet lower level needs. Maslow noted that only one in a hundred people becomes fully self- actualized because our society rewards motivation primarily based on esteem, love and other social needs.

Fragile older people often find difficulties in performing Activities of Daily Living (ADLs) in a proper way. ADLs are the basic need actions that a person executes every day, such as bathing, dressing, grooming, working, doing housework and leisure. For example, an elderly might forget the procedures, feel insecure about his abilities to perform the ADLs or fail to complete important tasks.

A person’s health can influence his behaviour, relationships with others and quality of life. Older adults and people with disabilities prefer remaining in their dwellings even when their health situation worsens and the house cannot sustain their safety. However, although the risk of disease rises during the ageing process, it is possible to avoid health problems by ensuring the fragile people to live as healthy as possible for as long as possible. In order to achieve this objective, it is necessary to keep an up-to-date system that provides significant aid by collecting information detected through monitoring of elderly health conditions and other aspects of their life. The system provides the inhabitant’s security, independence and communication with caregivers, who can supervise and intervene in case of emergency.

Technological progress have allowed studies to move in the direction of Smart Home and Ambient Assisted Living (AAL) [3] systems with the aim of improving the life experience in the person’s dwelling, guaranteeing a sustained

4 Chapter 1. Introduction

social independence. Such structures allow tracking the state of health of the people living alone, so that it is possible to recognize the case of illness in real time, allow domestic support and reassure family members. AAL main goals include:

 To extend the time people can live in their preferred environment by increasing their autonomy, self-confidence and mobility;  To support the preservation of health and functional capabilities of the older individuals, and to promote a better and healthier lifestyle for individuals at risk;  To enhance security, to prevent social isolation and to support the preservation of the multifunctional network around the person;  To support caregivers, families and care organizations;  To increase the efficiency and productivity of used resources in the ageing societies.

The BRIDGe project (Behaviour dRift compensation for autonomous and InDependent livinG) [4] is a powerful structure that implements an AAL system, in collaboration with the Assistive Technology Group (ATG) [5] of Politecnico di Milano, for the technological part, and with CRAiS (Resource Center for Autonomy and Social Inclusion) [6] regarding the social part.

1.1 The BRIDGe Project

Behaviour dRift compensation for autonomous and InDependent living (BRIDGe) is an ambitious project being implemented by ATG. It is about developing an AAL system that connects, through a monitoring structure based on wireless sensors, a person living alone (IL – Independent Living) to the social environment (family, caregivers or organizations). The target users are elderly, people with physical or cognitive disabilities and those with pathologies that may compromise their autonomy or lifestyle; these people need supervision but

1.2 Problem Statement 5

still prefer to maintain their independence. BRIDGe proposes the installation of a system, inside the user’s dwelling, based on non-invasive and economic wireless sensors that allow continuous remote monitoring to verify daily behaviour of the person’s activities and evaluate health conditions. In this way, it becomes possible to intervene when abnormal behaviours or routine deviations occur.

The Assistive Technology Group (ATG) is a multi-disciplinary working group whose mission is to identify, forecast, implement and apply innovative methods and technologies for the development of sustainable solutions for disabled people, elderly, and people facing difficulties. The group aims at guaranteeing the recovery of functionality, social integration, equal opportunities, health, self-determination and quality of life, by also considering any significant aspect of digital inclusion.

The CRAiS – Resource Center for Autonomy and Social Inclusion – is a project that helps developing pathways of autonomy and participation for people in the condition of fragility and social vulnerability, and provides a support to their families and caregivers. For this purpose, CRAiS offers customized services and tools, managed by a multidisciplinary team with social, educational and technological skills.

1.2 Problem Statement

BRIDGe includes a system of different sensors, placed in an intelligent environment, that continuously monitor the inhabitant’s activities and behaviour; the amount of detected data is huge, and it becomes difficult to handle it. Moreover, it is very challenging for any user to comprehend such big amount of data presented in textual form. In the intent of optimizing the usability of BRIDGe, it is necessary to find suitable methodologies that would provide simplified clear information in visual form, in order to understand and

6 Chapter 1. Introduction

analyse the person’s behaviour in a lighter way. Data Visualization is the discipline that allows the representation of data in a visual form.

Previous thesis works related to the BRIDGe project have provided the extraction of necessary and usable information from data detected by the sensors [58]. However, as mentioned before, raw data1 is not suitable for being analysed by humans.

The necessities are, thus, the following:  To select meaningful visualization techniques, for providing perceptible knowledge to the user;  To build graphs based on the processed data;  To arrange those into a dashboard, for showing the final user a general situation of the fragile person, in terms of activities and important facts about his health conditions;  To provide a fully usable web application to let the user navigate, understand and measure the details of his behaviour during the arc of a day.

In our context, the range of end-users and their needs may vary from domain-specific experts (e.g., therapists) to caregivers (e.g., family) or the patient himself; accordingly, the visualizations should be adapted to the different users, so they need to be reliable and flexible. The choice of the correct visualization and its quality provides the key to a better comprehension of data, taking advantage of a more accurate analysis that influences the user’s decisions and performances.

Summing up, the aim of my thesis work is to take the processed data and make it available and comprehensible to the final users. For this purpose, it is

1 It is important to define the meaning of raw data in our context. Generally, raw data is a relative term, because once raw has been ‘cleaned’ and processed by one team of researchers, another team may consider this processed data to be “raw data” for another stage of research. In this way, the relevant information detected and processed during previous works are raw data for my work.

1.3 Data Visualization 7

essential to understand if the final user, in charge of analysing and taking decision based on the results, would really be able to figure out the representations of data in a fast and efficient manner.

1.3 Data Visualization

The fusion of research areas such as Computer Science, and Human Perception gives life to what is known today as Data Visualization.

Data Visualization is a modern equivalent of visual communication, i.e., the delivery of information through a graphical representation [7]. Its main goal is to use statistical graphs, plots and information graphics for communicating information, in the form of a quantitative message, in a clear and efficient way, so the data is more understandable, usable and accessible to common people. For this purpose, numerical data is represented using dots, lines or bars. There are two primary types of information displays: tables, generally used when users search for a specific measurement, and charts, or graphs, of various types that are used to show patterns or relationships in the data for one or more variables.

Data visualization has three key goals: providing a recording of information, communicating the information across an audience, and allowing information processing [31]. However, the extraction of information from data depends on the quality of information that is conveyed to the users, and on the way the human brain can extract this information and understand it. When referring to data visualization, three terms are commonly used: data, information and knowledge. Table 1.1 shows the definition of each word, according to Ackoff’s point of view regarding perceptual and cognitive space [44].

8 Chapter 1. Introduction

Category Definition Data Symbols Information data that are processed to be useful, providing answers to ‘who’, ‘what’, ‘where’ and ‘when’ questions Knowledge application of data and information, providing answers to ‘how’ questions

Table 1.1 – Ackoff’s definition of data, information and knowledge

The use of charts for visualizing large amounts of complex data is easier than the use of spreadsheets or reports, due to the way the human brain processes information. Data visualization is a fast and easy way to communicate concepts that can be grasped universally, and to experiment different scenarios by making minor adjustments.

Older adults may not be familiar with the detailed information generated by the technology and infrastructure that collect data and, often, this information requires clinical knowledge to be interpreted. Thus, appropriately designed data visualizations can bridge the gap between data and information. A well-designed visualization translates data from monitoring technologies to a comprehensible medium for elderly; in this way, it is possible to empower them within their personal care.

1.4 Thesis contribution

The main contributions of this thesis work can be summarized into three major points.

Firstly, I attentively reviewed the state of art for data and graphs, smart homes and AAL systems visualizations, along with data visualization techniques. Secondly, I analysed the human visual perception mechanism, and the way in which data visualization can take advantage from it; I also identified useful guidelines that helped me providing better visualizations.

1.5 Thesis structure 9

Finally, I designed and developed BRIDGeViz, a web application that helps monitoring elderly activities and behaviour in AAL systems; the application enriches the BRIDGe project by visualizing data, acquired through different sensors, using intuitive yet modern charts. BRIDGeViz is not a new name: a previous work on BRIDGe project describes the first version of the application [57]. The author presented a visualization framework composed of two visualizations: Layered Aggregated Radial Tree (LART), aiming pattern discovery and comparison, and Rich State Transition Graph (RSTG), describing transitions from one room to another; both illustrate data gathered from an AAL system, promoting data exploration and information seeking. In the current work, BRIDGeViz has been revised and extended to cover all the occurrences in BRIDGe.

1.5 Thesis structure

After having pictured the problem context, the next chapters will focus on the issues addressed during the realization of my thesis work. Chapter 2 focuses on presenting the status of BRIDGe project, along with related works in the fields of AAL systems, data visualization techniques and akin examples. Chapter 3 illustrates the most common visualization and information-seeking theories, together with the methodology applied in this work; relevant guidelines for designing visualizations are listed. Chapter 4 delineates the design choices and implementation techniques of BRIDGeViz application, while the conclusions and possible improvements of the system are pointed up in Chapter 5.

10 Chapter 1. Introduction

Chapter 2

State of Art

“Graphical excellence is that which gives to the viewer the greatest number of ideas in the shortest time with the least ink in the smallest space.”

Edward R. Tufte

This chapter provides the background information needed to better understand the topics discussed in this work. The research of the papers and content aims at learning if this kind of problems has already been addressed, and, eventually, how they have been solved. In the beginning, we dwell on the architecture of BRIDGe, discussing the usage of sensors and similar smart home case studies. Later on, we depict a general image of the concepts of graph and dashboard. Finally, we report few relevant Data Visualization techniques, together with examples of real AAL systems smart home projects.

12 Chapter 2. State of Art

2.1 Smart Home

A Smart Home is, by definition, an intelligent environment that uses a home-automated system to enhance the comfort, convenience and safety of the people living inside it. The term ‘home-automated’ refers to the use of automation systems to monitor and remotely control devices installed in the house. The American Association of Housebuilders firstly used the appellation Smart House, also called Smart Home, in 1984, to define the ‘wiring’ homes, built by hobbyists in the early 1960s, provided with extended functionalities [9]. According to Harper, what makes a home ‘smart’ is the interactive technology that it contains; this technology provides an environment that is sensitive and responsive to the user’s presence. Regardless of the technology, Smart Homes present compelling chances to develop the way people live and work, and, at the same time, to reduce the energy and water wastage.

Figure 2.13– Smart Home

Inside an automated smart home, we can find common practices of monitoring lights, temperature, security cameras, opening and closing of doors and windows, and many other smart features, as depicted in Fig. 2.1. This thesis will refer to a system monitoring an elderly living alone, providing him a

2.2 The BRIDGe Architecture 13

certain level of autonomy, and ensuring his well-being. Many of the common uses explained above are implemented inside BRIDGe; however, the system does not provide any camera functionality, so to preserve the user’s privacy, as it will be explained in the next paragraphs.

In order to monitor a smart home in the best way, the user must be able to access the system through dedicated interfaces, such as remote controls, wall- mounted touch screens or advanced keyboards, as well as other tools for remote management, such as smartphones, tablets and computers. In fact, the aim of this work is providing a web-application interface for the remote monitoring of the smart home.

2.2 The BRIDGe Architecture

The infrastructure of BRIDGe is divided into two subsystems (see Fig. 2.2): a local one and a remote one. The former consists of home automation devices, sensors and a local server; it connects the autonomous components of the smart home, to make them exchange information and to provide tools for the monitoring of the whole house.

Figure 2.24– The BRIDGe Architecture

14 Chapter 2. State of Art

The remote subsystem, instead, ensures long-term storage of data detected in the local subsystem, for later analyses over a long period. In addition, it ensures remote home monitoring for different kinds of users, and it provides relevant information to relatives and caregivers of the person living in the house. This subsystem is composed of three main layers: the User Authorization and Profiling, the User Interface and the Remote Service Provider. The latter contains a long-term data storage, containing data that is used for the visualization of aggregated information and for behavioural analysis. In order to identify potential behavioural drifts, the real-time data is compared against the historical recorded data.

BRIDGe provides four services:

. Home Control: installed sensors produce information about the house, e.g., temperature, humidity, opening/closing doors, etc.; installed actuators change the status of devices in the house, e.g., switching on lights, rolling shutters, etc.; . Social Media Notification: BRIDGe uses Twitter as a messaging system to submit notifications or warnings according to the necessity, . Vocal Interaction: BRIDGe uses VCI (Vocal Command Interface) for allowing vocal commands from the user, e.g., ‘open the door’ or ‘switch off the light in the living room’; . Indoor Localization: provides the current position of a specific person inside the house, through LAURA [10], a Radio-Frequency (RF) based IHL (Indoor Human Localization) system, able to identify if the person is standing, walking, laying or falling. The position data produced is a set of coordinates on the map and a confidence range.

2.3 AAL systems Smart Home case studies 15

2.2.1 Sensors in BRIDGe

The developers of BRIDGe have followed some common constraints, for the selection of suitable sensors, shared among other researches in literature. As per the rules, we should consider the total cost of the applied sensors, along with the non-invasiveness type of the same. Therefore, cameras and microphones, as well as wearable devices, are excluded from the project, due to their intrusive nature.

Below there is a list of the sensors implemented in BRIDGe:

 Consumption sensors (electricity, water and gas) keep track of the quantity consumed for each measure. Electrical power sensors can be inserted between the plug and the power outlet to detect when appliances are turned on, or to monitor the overall energy consumption.  PIR (Passive Infrared Sensors) measure infrared (IR) light radiating from objects in their field of view. Their typical uses include detection of people in motion, without the use of any camera.  Ambient sensors are used to observe temperature, humidity, luminosity or smoke. These kinds of sensors tend to have a certain level of error in their readings, indeed it is difficult to accurately measure the temperature or humidity.  Distance sensors keep track of the person’s presence when he approaches the object.  Contact sensors measure the opening and closing movements of doors or furniture doors. When the two components get in touch, the sensor returns a signal.

2.3 AAL systems Smart Home case studies

Literature provides some projects, proposed during the last years, that are similar to BRIDGe.

16 Chapter 2. State of Art

ARAS Activity Recognition with Ambient Sensing is a project for the automatic human ADLs (Activities of Daily Living) recognition, as described by Alemdar et al. [11]. The experiment consisted in two houses implementing 20 interaction-based binary sensors, communicating wirelessly using the ZigBee protocol, able to capture inhabitant’s actions and movements. As a result, dwellers recorded 27 different activities, generating as many labels referring to the ADLs.

CASAS The Center for Advanced Studies in Adaptive Systems is a project developed at the Washington State University aiming Activity Recognition studies [12]. Two main goals of this project are the maximization of the user’s comfort (recognizing, discovering, tracking ADLs) and the minimization of the costs (maintenance and energy saving). A software machine learning algorithm identifies when a person performs an activity; activity recognition maps a sequence of sensor data to a corresponding activity label, in real time.

Soprano Service-Oriented PRogrammable smArt eNvironments for Older europeans is a EU-funded project meant to develop an AAL platform to enhance fragile people’s life [13]. It uses pervasive technologies (e.g., sensors, actuators, smart interfaces) and artificial intelligence to create supportive home environments. It also provides additional safety and security, supporting independent living and social participation, improving the quality of life.

Casattenta Aware and smart environments: The Casattenta project is a system composed of fixed and wearable sensor nodes, aiming a more interactive and safer environment, providing elderly living alone with adequate and non- intrusive monitoring [14]. The system is able to recognize emergencies and dangerous events by monitoring the house, through fixed smart sensors, and

2.4 Graphical representation of data 17

the person’s health status, through wearable ones. In addition, Casattenta favours the elderly’s communication with the family and caregivers.

GerHome Multi-sensors Analysis for everyday Elderly Activity Monitoring is a project that aims at improving elderly life conditions and reducing the costs for long hospitalizations through a multi-sensors analysis that monitors elderly activities [15]. Three issues are considered: detecting dangerous events or situations (e.g., fall); assessing the person’s degree of fragility; identifying behaviour and usual activities of the person, taking care of any possible deviation. More precisely, it presents a video monitoring platform, composed of a network cameras and contact sensors.

Many of the mentioned projects are limited, not interoperable and tend to focus just on few technologies. Furthermore, some of them are not customizable, since they do not consider specific needs of the end user. On the other side, the architecture of BRIDGe is interchangeable and it can exploit different services conveniently combined together.

2.4 Graphical representation of data

A graphical representation is a visual display of data and statistical results. It is usually more compelling than presenting data in a tabular form, as it helps to quantify, sort and show information in a way that is understandable to a large variety of audience. When designed properly, graphical visualizations represent important resources that support data analysis and diffusion of information.

This section provides an overview of the basic concepts underlying the meaning of data visualization: the concepts of data and graph, describing some related principles from the literature.

18 Chapter 2. State of Art

2.4.1 Data

The concept of data represents a set of values of qualitative or quantitative variables, a simple illustration of an event or activity. Therefore, it represents something that a person can record, analyse and then rearrange. Examples of data include a sequence of bits, a table of numbers, the characters on a page, and so on.

It is possible to transform the elementary activity into data, which means converting it into a quantitative form for further processing and analysis. The latter steps allow obtaining important information, which becomes the representation of reality through technology. There are three main types of data that can be transformed into information: words, location and interactions.

In order to generate knowledge, it is necessary to own the adequate instruments to process, analyse and transform data into information, otherwise the available data becomes useless without a deep analysis and understanding.

2.4.2 Graphs

A graph is the representation of data through graphical symbols, such as lines, bars, pie slices, dots, etc. It represents visual abstractions of underlying data that can strengthen cognition, detect trends and promote insight. It is useful when representing a numerical data, as it can convey important information extracted from the same. A graphical design is an abstract description of an image, which aims at communicating the graphical details used to encode information; examples of such graphical techniques are colour variation or position of an element in the space.

William Playfair was the first to design and publish several types of graphs, such as the time-series line graph, the bar chart, the and the circle chart [16]. Fig. 2.3 shows an example of Playfair’s charts. Modern charts are almost identical to those published by Playfair. According to him, statistical

2.4 Graphical representation of data 19

graphs are able to aid human information processing by decreasing the load of the viewer’s attention, his working memory and long-time memory.

Figure 2.35– William Playfair’s Bar Chart: Exports and imports of Scotland

As explained by Edward R. Tufte, an American expert statistician, in one of his works [17], it is important to communicate a complex idea with clarity, precision and efficiency; this method is called graphical excellence. A graph should: . Show data and persuade the viewer to consider its content rather than the design, without altering what the data tries to express; . Display many numbers in a restricted space; . Ensure coherency of wide datasets; . Inspire the viewer to compare different items; . Provide different levels of data details.

Tufte describes five main goals of Data Visualization: . Focus on the content rather than the visualization technique; . Compare instead of describing; . Integrity;

20 Chapter 2. State of Art

. High resolution; . Utilization of classic designs and concepts.

To guarantee the integrity of the graphs, it is necessary for them to be truthful and not distorted. A graph does not produce distortions if the data representation is consistent with the numerical representation. In order to avoid the presence of distortions, it is useful to follow five principles of graphical integrity, as described by Tufte: . The representation of numbers should be directly proportional to the numerical quantities measured. . To avoid graphical distortion and ambiguity, it is important to use clear, detailed and accurate labelling. . Show data variation, not design variation. . The number of variables representing dimensions should not exceed the number of data dimensions. . Graphs must not report data out of context.

Other theories explained by Tufte refer to the use of ink: “Graphical excellence is that in which gives to the viewer the greatest number of ideas in the shortest time with the least ink in the smallest space”. Nowadays, the pixel replaces the concept of ink, but the rules and directions suggested by Tufte are still a valid approach. We can distinguish two types of pixels: data-pixel (analogous of data-ink defined by Tufte) and non-data-pixel. The former is the non-erasable and non-redundant pixel, representing the heart of a graph and corresponding to the variation of the numbers they represent; deleting data pixels means loosing information. The latter corresponds to the pixel that is not strictly related to the quantitative data (e.g., grids), and the one that is redundant (e.g., labels or shadows). Non-data pixels can be limited or removed when possible, if they do not give useful information about data.

2.4 Graphical representation of data 21

Often, it is stated that a picture is more than thousand words; indeed, a visual representation is easier to analyse with respect to a textual report. Relevant design guidelines, explained by Tufte, are reported as following:

. Choose a proper format and design; . Use words, numbers and drawings together; . Reflect balance, proportion and relevant scale; . Display an accessible complexity of details; . Keep a narrative quality (a story to tell about data); . Draw graphs in a professional manner, taking care of technical details; . Avoid content-free decoration.

Another important aspect is the colour selection. Its usage allows showing variation in the data, highlighting relevant information and distinguishing between dimensions. Significant guidelines will be presented in Chapter 3.

2.4.3 Dashboard

“Dashboards are not an appropriate venue for artistic impression.”

Stephen Few

Stephen Few is the author of many articles related to Data Visualization, as he has been working as an IT innovator since 30 years. In his book [18], he has explained a simple yet clear definition of dashboard:

“A dashboard is a visual display of the most important information needed to achieve one or more objectives, consolidated and arranged on a single screen so the information can be monitored at a glance.”

He further explains that ‘dashboard’ is simply a new name for the Executive Information Systems (EISs) first developed in the 1980s, whose purpose was to display key financial measures through a simple interface that ‘even an

22 Chapter 2. State of Art

executive could understand’. The purpose of a dashboard is to provide real-time (or periodically updated) results by aggregating and extracting values from data present in the database. A dashboard is a useful tool that takes advantage of visual perception for communicating bulky data in a clear and concise way.

Recently, in business intelligence (BI), the term “dashboard” has taken different applications, completely apart from what Few intended to convey. For example, new definitions explain a dashboard to be the latest fashionable term for the “customized views” of “analytics business intelligence software”; others define it as a synonym of “portal”. Distressed by these deviations, Few wrote an additional article [19] in which he explains about the correct and inappropriate meaning of the term. He believes that the real meaning of a dashboard is not based on any particular type of information (e.g., KPIs – key performance indices), but in the way it displays information to serve a particular purpose. Just as the dashboard of a car provides critical information needed to operate the vehicle at a glance, a BI dashboard serves a similar purpose. The mean is a single-screen display and the purpose is to efficiently monitor the information needed to achieve one’s objective.

Additional characteristics of a dashboard are specified by Few:  High-level summaries. The information quickly tells what is happening, but not why is it happening. Diagnosis requires further investigation and detail.  Concise, clear and intuitive display mechanisms. The message is clearly stated without taking up much space, so everything can fit a single screen.  Customized. The information on the dashboard are related to the requirements of a given person, group or function; otherwise it will not serve its purpose to help achieving specific objectives.

According to Few, a dashboard is not a technology but a presentation style that allows using dashboards to work faster and smarter, rather than focusing

2.4 Graphical representation of data 23

on what does not matter. He wrote an article about common pitfalls when designing a data visualization dashboard [20], in which he stated 13 frequent mistakes that provide a good start to dashboard design. He believes that the biggest challenge of dashboard design is to make all the information fit a single screen without creating a clustered mess. The common pitfalls, mentioned by Few, that I found considerable for my work are the following:

(1) Displaying excessive detail or precision; (2) Expressing measures indirectly; (3) Encoding quantitative data inaccurately; (4) Ineffectively highlighting what is important; (5) Cluttering the screen with useless decoration; (6) Misusing or overusing colour; (7) Designing an unappealing visual display.

2.4.4 Data Visualization Techniques

Figure 2.46– Variety of Data Visualization techniques

Data Visualization integrates design choices about data access, data transformation, visual representation and interaction. Many representation techniques are currently under research and development phase (see Fig. 2.4); therefore, the selection of the suitable visualization becomes a challenging task.

24 Chapter 2. State of Art

In this situation, it is fundamental to have a medium able to help identifying the correct methodologies for showing information. Visualization taxonomies support this matter, as they can serve two major purposes [21]:

 Guide users to find visualization ideas.  Guide researchers to find people doing similar work.

The scientific literature provides different taxonomies and methodologies for identifying the most suitable visualizations for representing information. The next paragraphs describe the relevant data visualization techniques that I considered suitable for my work.

Most visualization taxonomies are based on the type of data involved; according to Shneiderman [22] there are seven data types:

. 1-dimensional data: linear data types; . 2-dimensional data: planar or map data; . 3-dimensional data: real-world objects; . Temporal data: time lines; . Multi-dimensional data: relational and statistical databases; . Tree data: hierarchies or tree structures; . Network data: relationships among items.

The BRIDGe project relies on data varying from 1D and 2D, temporal and hierarchical types.

Many of the works found in literature, such as [23], [24], [25], [7], [26], [27], follow a common procedure for visualizing data, that can be summarized into the following six steps. I have followed this basic methodology throughout this work, and I will better explain it in Chapter 3.

(1) Acquire data and examine its nature; (2) Mapping: categorize data according to its meaning and decide a specific visual representation;

2.4 Graphical representation of data 25

(3) Filter: select data which is relevant and remove unnecessary data; (4) Represent: render the mapping and manage information according to the available space on the screen; (5) Refine: improve the basic representation; (6) Interact: allow data manipulation.

Mazza [27] focuses on the definition of the dimensions required to represent data, of the data structures and the type of interactions, while Ward [7] and Khan [25] give importance to usability, accessibility, expressiveness (e.g., the measure of information concentration) and effectiveness (e.g., the measure of information perception cost) of the visualization.

Slightly different is the methodology presented by Shneiderman: the Visual Information-Seeking Mantra [22], one of the most appreciated methodology for identifying an appropriate visualization, which consists of four main tasks (e.g., overview, zoom and filter, details on demand). The peculiarities of his approach are remarkable: there is the possibility to present detailed data upon the user’s request, or hide it otherwise; I made use of this solution to show possible malfunctions among the sensors. Additionally, Shneiderman suggests keeping a history of actions, so the user is able to replay what happened in the past and compare current statistics with older analytics. BRIDGe already adopts this concept by providing a time machine to replay the inhabitant’s activities during a selected period.

Mackinlay [28] and Lange [29] aimed developing interesting application- independent presentation tools that would automatically design optimal graphical representations of data and recommend a visualization based on data characteristics, but this matter remains out of scope for the current work.

It is possible to add dynamics to a visualization, meaning that the visualization changes over time, in terms of streaming data, animated or interactive elements. In his paper [30] Cottam presents a taxonomy for dynamic

26 Chapter 2. State of Art

data visualization, where he explains the impact of dynamic data: how data changes influence the interpretability of visual representations. As shown in Fig. 2.5, dynamics can arise at any stage of the visualization process; as we will see in Chapter 4, many of the implemented visualizations apply dynamicity (i.e., sensors updates, visualization based on selected dates, and so on).

Figure 2.57– Information visualization reference model and sources of dynamics at each stage

Cottam follows the model explained by Bertin [31]: the visual space is splitted into spatial variables, describing the position of an element as (x,y) coordinates in the space, and retinal variables, describing the size, value, orientation, texture, hue and shape of an element. In this way, visualizations can be organized according to the dynamics present in spatial and retinal dimensions. Cottam describes that spatial dimensions can be dynamic when existing values change or when the number of visual elements increase/decrease; therefore, it is possible to categorize them into (1) fixed, (2) mutable, (3) create and (4) create & delete. In a different manner, retinal dimensions do not affect the number of elements, but the way elements are perceived; they can be categorized into (1) immutable, (2) mutable on a defined and regular scale, (3) mutable on a defined but distinguished scale, and (4) mutable scale.

2.4 Graphical representation of data 27

2.4.5 Data Visualization in AAL systems

Data visualization research remains quite limited in literature when we focus on a specific older adult consumer. Since it is not possible to give a complete overview of all smart homes and AAL systems, I focus on studies related to my work and give an overview of enabling technology and visualization of domestic sensor data research.

The AAL systems that are going to be mentioned are based on ZigBee wireless communication technology, which is similar to Z-Wave technologies used in BRIDGe. According to Knight [31], Z-Wave and ZigBee are similar wireless standards, both designed for low power and providing low throughput; however, Z-Wave is considerably less robust than ZigBee.

CASAS

The CASAS project [12], mentioned in Section 2.3, distribute the monitored data as described further. It represents activity trends for a smart-home resident, divided into six graphs (see Fig. 2.6).

Figure 2.68– CASAS: Activity trends for a smart-home resident

28 Chapter 2. State of Art

The upper segment includes a plot of activity density, describing the number of sensor events over the time period (top left); daily levels of activity, sleep quality and time spent out of the house (top middle); comparison of socialization and sleep quality parameters for a time period (top right). The lower section focuses on occurrences of tracked activities (bottom left); time spent into different areas of the house (bottom middle); health trend over a time period, computed over the other parameters (bottom right).

Two application systems, PyViz and CASASviz, support the CASAS smart environment by representing and exploring residents’ behaviour patterns.

PyViz is a desktop application [33], developed using Python programming language and SVG2 format to provide a feature-rich method for visualizing real- time activities and historical trends. BRIDGe allows having a similar interface visualizing real-time environment and statistics as well as historical reviews of data. The CASAS activity visualizer (see Fig. 2.7) supports energy-efficient behaviour in the house and renders sensor events regarding the usage of resources, such as electricity.

Figure 2.79- PyViz: CASAS activity visualizer (on the left); PyViz: graphical numeric data (on the right)

2 The Scalable Vector Graphics is an application of XML-format that describes 2-dimensional vector graphics.

2.4 Graphical representation of data 29

It is worth noting that Python language provides rapid prototyping and ease of design; however, it presents some limitation when dealing with large volumes of historical data.

CASASviz is a web-oriented visualization system [34] that supports CASAS environment, implementing smartphones versions as well. It is an extension of PyViz that integrates monitoring, analysis and automated recognition of residents’ behaviour patterns in the smart environment. In particular, the system monitors the mobility of the residents in real-time, reviews the history of mobility and discovers long-term abnormal patterns during a defined time period. The collection of data in CASASviz is divided into four fields: date and time, sensorID, message and label (activity). In Chapter 4 we will see how BRIDGe data collection differs from this one.

CASASviz implements seven different visualization applications: a Main Visualizer (see Fig. 2.8a) that has a playback mode to show capture sensor readings for reviewing the mobility history, similarly to BRIDGe. A Mobility Heat Map (see Fig. 28.b) describes the frequency of the triggered events for different types of sensors (mobility, door and item sensors).

a) b)

Figure 2.810– CASASviz: Main Visualizer (a) and Mobility Heat Map (b)

An Activity Graph (see Fig. 2.9) is an annotated chart that represents the monitored activities. It is useful for identifying changes in behaviour patterns and searching for anomalies.

30 Chapter 2. State of Art

Figure 2.911– CASASviz: Activity Graph

A Power Usage Visualizer (see Fig. 2.10) expresses the energy fluctuations that occurred during the time the user defined. It is useful to identify trends and abnormalities of power consumption.

Figure 2.1012– CASASviz: Power Usage Visualizer

The remaining two visualizations are Long-term Pattern Visualizer, that discovers long-term and abnormal behaviour patterns of the resident, and Activity Feature Extraction, that uses machine learning techniques to extract relevant features. The latter can be used to predict activity recognition and energy consumption.

2.4 Graphical representation of data 31

UBICARE

Dasios et al. [35] established an AAL-based prototype system for elderly home care monitoring, named Ubicare. Partially similar to BRIDGe, Ubicare presents a monitoring based on the recording of environmental parameters, such as temperature, ADLs, usage of electrical appliances and plumbing components, and light intensity. The system issues alarms to authorized caregivers for improving security and immediate remedy; moreover, it makes no use of cameras or microphones so to avoid violating inhabitant’s privacy. However, the person needs to carry minimal equipment for activity detection. The structure supports remote monitoring through a web interface that exports statistics and creates dynamic graphs. Thus, it is possible to view current and historical data about the parameters mentioned above. Fig. 2.11 illustrates an example of activity monitoring visualization in Ubicare.

Figure 2.1113– Ubicare visualization of activity monitoring: toilet flush activation occurrences per day.

Other examples

In his research [36] Mulvenna provides commercial and academic examples of visualizations for AAL systems, where the collected information about

32 Chapter 2. State of Art

inhabitant’s movements is used to alert emergency incidents (e.g., fall) and unexpected behaviour, remind and assist ADLs. ADLife is a service with a user interface that represents data in the form of a table, showing the total activations of all the sensory equipment over a day, week and month. Each total number is represented in the form of bar charts, highlighting under and over usage. Mulvenna also describes QuietCare, a system organized around activities rather than specific sensors. The user can, through a specific button, access specific details for each activity in the last period and visualize related textual description.

Mynatt et al. [37] explain that it is important to maintain awareness of long- term health and well-being of elderly. For this purpose, they developed a Digital Family Portrait [38], a visualization of sensor activity collected from a smart home environment that aims at representing ADLs. The authors found differences in how older adults and family members use the visualization and concern about privacy and security.

The examples provided in literature can give us an overview of the current applications of Data Visualization in AAL systems. It is possible to extend the functionalities provided in BRIDGe to match and extend literature. For example, we can consider having different UIs for inhabitant and family members, differentiate between current and historical visualizations, provide data at different granularities (day, week, and month), remotely control the appliances through the web interface, or highlight under/over usage of appliances. Most of the mentioned projects use a limited and standard visualization; therefore, we focus on the need of representing data using a modern technology such as D3.js.

FIBARO

Literature proves us that it is possible to customize and adapt sophisticated and reliable Smart Home systems, commercially available to the wider

2.4 Graphical representation of data 33

community, for aged/disable people. A good example of such a system is Fibaro Home Automation system; as described by Lewis in [39], this system was successfully installed in the house of a person with disability and customized to his needs and preferences, with the aim of testing the practicality, efficacy and cost of such a system. Fibaro system can be controlled from anywhere in the world via browser-based graphic interface or native mobile application. It communicates with electronic sensors and devices located throughout the house using wireless and wired communications. It makes use of Z-Wave sensors and actuators, similarly as BRIDGe. Fig. 2.12 shows the web dashboard of the system.

Key points of the system are: efficient hardware architecture, low energy consumption, remote access through web page or mobile phone, simple and user friendly interface, SMS notifications, advanced recovery system, system backup attached to a pen drive, history of events.

Figure 2.1214 – Home Center 2: Fibaro system web dashboard

34 Chapter 2. State of Art

PIDOME

Apart from systems related to AAL, literature provides a big range of smart home applications; most of those I found during my research are mobile applications rather than web interfaces or portals. A worth considering one is PiDome [40], a platform for home automation based on the Raspberry Pi server, similarly to the BRIDGe project. The intention is to create a platform where users can plug existing or self-designed components, attach these to the server and monitor them via a web interface or a custom client. Key points of the system are: personalized dashboards for mobile clients and automated creation of graphs. Fig 2.13 and 2.14 show two screens of the PiDome web application.

Figure 2.1315– PiDome: mobile application dashboard

2.4 Graphical representation of data 35

Figure 2.1416– PiDome: a platform for Home Automation (devices list)

36 Chapter 2. State of Art

Chapter 3

Methodology

“The best software for data analysis is the software you forget you’re using. It’s such a natural extension of your thinking process that you can use it without thinking about the mechanics.”

Stephen Few

In this chapter, I describe the common visualization theories and the adopted methodology. The first part reports the concept of human visual perception, cognition and an explanation of how they work in the human brain. Then, I illustrate how data visualization can take advantage from these mechanisms. After describing the typical visualization processes, I give details about the procedure applied during this work, followed by some guidelines and best practices for designing better visualizations.

38 Chapter 3. Methodology

3.1 Human Perception and Cognition

In order to receive information from the environment, we are equipped with sense organs (e.g., eyes, ears, nose, etc.), each of which is part of a sensory system that receives sensory inputs and transmits sensory information to the brain. Then, sensory inputs are converted into perceptions (i.e., sight, sound, smell, taste and touch experiences) that are different according to the physical characteristics of the stimulus. The brain is, thus, able to extract knowledge thanks to the fact that the perceptions are interpreted in function to the previous experiences associated to the stimulus. In [41] Alexandre explains that visualization explores the human sense that is acquired fastest by the human brain: vision. The human vision system has parallelism capacity, which means that it can reach a wide surrounding whereas the eyes focus on one point.

In his book [42] Ware explains how visual perception works and how it applies to data representation. He claims that the human visual system is a pattern-seeker of immense capability and subtlety; the human eye can easily see patterns, which may remain invisible if presented in a different way. Following perception-based rules, it is possible to present data in a way to highlight the important and informative patterns; a deviation to the rules may lead to incomprehensible or inaccurate data.

Almost all data visualizations are created for human consumption; therefore, the knowledge of human perception and cognition becomes essential for designing intuitive visualizations. Cognition refers to actions such as perception, attention, learning, thought, concept formation, reading and problem solving. Human visual processing is efficient in detecting changes and making comparisons between quantities, sizes, shapes and variations in brightness. It is estimated that 2/3 of the brain’s neurons can be involved in visual processing. Proper visualization provides a different approach to show potential connections, relationships, which is not as obvious in non-visualized quantitative data.

3.1 Human Perception and Cognition 39

Human visual processes work essentially on two levels: automatic and controlled [43]. Automatic processes, which work on visual properties (i.e., position and colours), are strongly parallelizable but have limited power. Controlled processes, instead, work with texts, allowing powerful operations, but have limited capabilities. Stephen Few [44] adds that data visualization is effective when it shifts the balance between perception and cognition; visual perception (seeing) is extremely fast and efficient, while cognition (thinking) is much slower and less efficient (see Fig. 3.1).

Figure 3.117– Perception and cognition balance

To better understand the principles of visual perception, it is useful considering the Gestalt laws established by the Gestalt School of Psychology in the 1920s [42]. “Gestalt” is a psychology term meaning “unified whole”, and it refers to the theories of visual perception: perception of pure motion without any object motion. These theories attempt to describe how people tend to organize visual elements into groups or unified wholes when certain principles are applied. The most important principles are described below.

. Closure. A design technique that uses the ability of the human eye to see closed shapes even if an object is incomplete or if its interior space is not fully closed. . Continuation. A principle that draws users’ eyes along a path, line or curve, to create the illusion of a single continuous figure rather than separate lines.

40 Chapter 3. Methodology

. Figure/Ground. Using the idea of light and shade, this principle relies on the eyes’ tendency to view and separate objects from their surrounding background. . Proximity. The close arrangement of elements helps creating a group association between them. Different visual elements help achieving this principle. . Similarity. It allows users to believe that individual similar elements are part of a pattern or group, creating a single illustration from a series of elements. . Symmetry. The principle advocates the need to provide a sense of order and balance to save viewers’ time and ensure that they locate all elements and fix problems.

Spence [16] provides a schematic representation of how the visual system processes the huge amount of information that is available at any instant (see Fig. 3.2). Most of the low-level computation is done within the eye itself, whereas the higher-level processing takes place in several specialized areas of the visual cortex. It is important to realize that visual processing is not a one- way street; events at the lower level are continuously modified.

Figure 3.218– Representation of the visual processing system

3.2 Visualization Process 41

We can define two types of memory: working memory and long-term memory. The former one holds the objects of immediate impact, what we are seeing (e.g., position, shape, colour, texture information), while the latter one contains information we collect from everyday experience. The problem with working memory is that only few simple objects can be retained; however, the majority of visualizations will not be committed to long-term memory. The conclusions or understanding may be transferred to long-term memory, but the design itself will not. Therefore, most of the interactions between the user and a visualization will occur within the working memory; for this reason, I have chosen to show charts that represent chunks of information, instead of single values. In this way, the visual representation can be easily processed by the working memory, and it can offer more detailed insights.

3.2 Visualization Process

The visualization process is a function that maps the dataset to a visual representation; in this way, it provides a more efficient and effective cognitive process for acquiring information and knowledge.

Chen et al. describe that a visualization process is alike a search process [8].

Given a dataset Cdata, the user first makes some decisions about the visualization tools to be used for exploring the dataset. Then he experiments different control parameters Cctrl (e.g., styles, layout, viewing position, colour maps, etc.), until he obtains a satisfactory collection of visualization results, Cimage.

In visualization, the tools for the search tasks are usually application- specific (e.g., network, flow, volume visualization). Moreover, the decision space is normally huge since, for example, exploring many viewing positions can produce different results. Finally, when handling very large datasets, the user interaction can be very slow. This can be depicted in Fig. 3.3, which shows an example of typical visualization process where a large interaction box connects the user to the control parameters.

42 Chapter 3. Methodology

Figure 3.319– Typical visualization process

Chen et al. distinguish between information-assisted and knowledge- assisted visualization processes. The first one expands the visualization process by adding information abstracted from the data; the user is provided with a second visualization pipeline (see Fig. 3.4), which displays the information about input dataset, attributes of the process, properties of the results or characteristics of user’s behaviour. The users exploits such information to reduce the search space for optimal control parameters, hence making the interaction much more cost-effective. In fact, the degree of interactivity required is lower with respect to a typical visualization process (the interaction box in Fig. 3.4 is visibly shorter than the one in Fig. 3.3).

Figure 3.420– Information-assisted visualization process

Few examples of the information categories used in data visualization are specified in Table 3.2.

3.2 Visualization Process 43

Information category Example Information about the input dataset abstract geometric and skeletons, features, events temporal characteristics contour tree for volume data, vector field topological properties topology, tracking graph for time-varying data histogram, correlation, importance, certainty, statistical indicators and entropy, mutual information, local statistical information measurements complexity Information about the results colour histogram, level of cluttering Information about the process Interaction patterns, provenance Information about user’s perception response time, accuracy

Table 3.12– Examples of information used in visualization

Knowledge-assisted visualization, instead, considers the user’s knowledge as a fundamental part of the visualization process. The user is able to acquire knowledge about complex visualization techniques in a lighter way, because the domain knowledge is shared with him. Fig. 3.5 shows a visualization pipeline supported by a knowledge base (Cknow), which stores the knowledge representations captured from expert users; rule-based reasoning can be used to establish control parameters, in order to reduce the search space for the inexperienced users. However, there could be difficulties for expert users to transcribe their knowledge.

Figure 3.521– Knowledge-assisted visualization with acquired knowledge

44 Chapter 3. Methodology

An alternative approach is to establish a general-purpose visualization infrastructure that allows systematic collection, processing and analysis of data related to visualization processes, with the use of case-based reasoning (see Fig. 3.6). This kind of infrastructure can support multiple application domains but knowledge-assisted visualization is currently at early stages, whereas information-assisted one is evolving significantly.

Figure 3.622– Knowledge-assisted visualization with simulated cognitive processing

This work follows the information-assisted visualization framework by displaying useful information about the dataset, in order to improve the interaction between user and visualization. Additional information is displayed to provide meaning to the represented data; for example, colour helps in identifying useful differences among the values, and graphs for time-varying data are provided with a selectable range.

3.3 Applied Procedure 45

3.3 Applied Procedure

According to Ward, there are eight ways in which graphical objects can encode information: the eight visual variables [7].

o Position. It defines the placement of the representative graphics within some display space; in this work I made use of one and two-dimensional spaces. o Shape. Also called mark, it is the graphic primitive that represents data; for the purpose of this work I have used points, lines, circles and their compositions such as bars and donuts. o Size. It says how small or large a mark will be drawn; the implemented charts contain shapes of different sizes, according to the need. o Brightness. It provides relative difference for accurate mark distinction; I have used this feature to distinguish hovered elements. o Colour. It requires mapping data values to individual colours; in this work, shapes are accurately mapped to colours. o Orientation. Also called direction, it describes the rotation of a mark; this variable cannot be applied to all marks. However, I have used it for drawing horizontal bar charts. o Texture. It is a combination of other visual variables, but I have not applied any particular texture. o Motion. It describes the way a variable changes over time; this work presents different types of motions, such as small animation on charts load, or updatable graphs upon chosen parameters.

A correct design is the key to success for Data Visualization. The main problem in designing a visual representation lies in creating a visual mapping that reproduces the information codified in the data and facilitates the user in the predetermined goal. For this purpose, this work follows the common visualization technique mentioned in Section 2.4.4.

46 Chapter 3. Methodology

In the first step, I analysed the BRIDGe project dataset and identified the potential users and their needs; this was important for defining what has to be represented. The dataset presented variables of three types: continuous, such as temperature readings; binary, such as opening/closing of a sensor; consumption: electricity consumption readings.

In the second step, I classified the dataset by following the two dimensions, defined by Few [45], for mapping data: quantitative and categorical data. Categorical tells ‘what’ and quantitative tells ‘how much’; the latter without the former is useless. Quantitative data represents the numbers, or values, of the data to visualize, while categorical data identifies what these numbers measure. The latter consists of multiple items, called subdivisions of the category, that can be of three types, based on how each of them relate to one another, and can be arranged along an axis as a scale:

o Nominal scale, in which the elements do not have an intrinsic order or particular relationship to one another, they are just names; in this work, there are nominal categories such as days of the week, names of the rooms and list of appliances. o Ordinal scale, in which elements follow an intrinsic order and it would not make sense to arrange them out of order; in this work there are ordinal categories such as the past six weeks, days of the month or months of the year. o Interval scale, where elements are aggregated into smaller ranges (intervals); this work presents regular interval categories such as weeks, and irregular ranges such as dates selected from the user.

It is worth noting that a graph can include more than one set of categorical data; in fact, this work presents a grouped bar chart that includes two sets of categorical data: one shows the week and the other shows the days of that week.

3.3 Applied Procedure 47

Based on the different types of data, I analysed the variety of plots present in D3.js library, and then selected appropriate charts for each data type.

In the following steps, I found out what data is relevant for each visualization, and filtered out all the unnecessary noisy data. After implementing the selected charts, there was a need to improve the basic representation and adapt it to the purpose of BRIDGe application. For this reason, user interaction was made available. Mazza defines three categories of interactions [27]:

o static models, which are not modifiable; this work presents, for example, the energy consumptions in the last six weeks; o transformable models, that can undergo changes as the user vary some parameters; for example appliances consumption on selected dates range; o manipulable models, where the user can regulate the generation of the views; for example zooming into the data analysis graph for showing detailed granularity of values.

3.3.1 Guidelines

The data visualizations developed during this work follow some guidelines, the aims of which are to suggest the best practices in visual perception and to avoid misleading outcomes. In this way, it is possible to improve the communication of the results by using effective visualization. The guidelines are intended to address common pitfalls or provide simple ideas to be used by researchers and designers.

Principles of graph construction [46]

Defined by Cleveland, these principles can enhance the ability of a graph to show the structure of data; basic elements of graph construction are scales, legends, plotting symbols, reference lines, keys, labels, panels, markers and tick marks.

48 Chapter 3. Methodology

There are four major categories in the principles of graph construction: clear vision, clear understanding, scales and general strategy.

Clear vision.

 Make data stand out. Avoid superfluity.  Use visually prominent graphical elements to show data.  Use a pair of scale lines for each variable. Make the data region the interior of the rectangle formed by the scale lines. Put tick marks outside the data region.  Do not clutter the data region.  Do not allow data labels in the data region to interfere with quantitative data or to clutter the graph.  Avoid putting notes, keys and markers in the data region. Put keys and markers outside the data region and put notes in the legend or in the text.  Overlapping plotting symbols must be visually distinguishable.

Clear understanding.

 Put major conclusions into graphical form. Make legends comprehensive and informative.  Proofread graphs.  Strive for clarity.

Scales.

 Choose the range of the tick marks to include.  Subject to the constraints that scales have, choose the scales so that data fills up as much of the region as possible.  It is sometimes helpful to use the pair of scale lines for a variable to show two different scales.

General strategy.

3.3 Applied Procedure 49

 A large amount of quantitative information can be packed into a small region.  Graphing data should be an iterative, experimental process.  Many useful graphs require careful, detailed study.

Guidelines for effective visualizations [47]

Guideline 1 Create the simplest graph that conveys the information you want to convey (Tufte)

For simplified visualization, it is necessary to show distinction of properties, such as shape, colour and thickness, and to remove their redundancy; moreover, the ‘data-ink ratio’ (i.e., the amount of ink used to present non- redundant information) should be minimized.

Guideline 2 Consider the type of encoding object and attribute used to create a plot (Chambers et al., Cleveland et al.)

Information is displayed through graphical elements (e.g., points, lines and bars) and their attributes (e.g., position, length, colour and size). Length and position are better perceived than the other attributes, which are used for showing relative comparison or general patterns.

50 Chapter 3. Methodology

Guideline 3 Focus on visualizing patterns or on visualizing details, depending on the purpose of the plot (Few, Kosslyn et al.)

When searching for patterns, heat maps or bubble plots can be effective, even though extracting actual differences between values is difficult. Bar or line graphs should be used when individual values are important, as length and position.

Guideline 4 Select meaningful axis ranges (Robbins, Tufte, Strange)

Selecting a range for the vertical axis depends on the purpose and type of the graph. Displaying the absolute magnitude of the datasets, referenced to zero, ensures that the relative difference in size represented by the graph matches the actual relative difference in values.

Guideline 5 Use lines when connecting sequential data in time-series plots (Strange)

3.3 Applied Procedure 51

Plots that connect non-sequential data or values on either side of a period of missing data with a line imply a linear change between the points. Therefore, they should not be connected with lines.

Visual design principles [48]

 Visualizations should highlight and enhance data, making it easy to understand. Avoid unnecessary embellishments (e.g., drop shadows, outlines, etc.), chartjunks3 or data distortion.  Visualizations should encourage exploration by providing rich visual feedback. Use well-established interaction patterns, interface controls and clear system feedback.  Embody time-honoured design principles. Use established typographic and visual communication design principles to enhance form, readability and meaning.

Motion design principles [48]

 Motion follows stimulus. Visual elements should move in the same direction at the same rate. This applies to chart creation, transition between chart types, filtering or sorting, adding or subtracting data, resizing a chart.  Create a perception of causality. Presentation principles are: stage one thing at a time, presenting changes to axes before changes to data ink; stage elements in groups of no more than 4-5 objects, when they are moving at the same speed in the same direction.  Motion adds meaning. Animations increase user comprehension of changes to the data, provide context and act as non-verbal annotation layer. Motion should occur in a meaningful coordinate space of the visualization.

3 Chartjunk is a term for unnecessary or confusing visual elements in charts, elements which are not part of the minimum set of visuals needed to communicate the information in an understandable way. Examples of chartjunk include heavy or dark grid lines, ornamented chart axes and display frames, pictures or icons within data graphs and ornamental shading.

52 Chapter 3. Methodology

 Motion follows data. Preserve data mappings; if an area is tied to a measure, maintain that area in transition. Use similar animations for similar chart types.

Principles of Colour Design [49]

A proper colour usage can enhance and clarify a visualization, which can appear obscure, messy and confusing otherwise. The principles that define colour design are contrast and analogy: contrasting colours are different and draw attention, whereas analogous colours are similar and group elements. Three dimensions specify the colour: hue (i.e., its name), value (i.e., its perceived lightness or darkness, used for legibility) and chroma (i.e., its saturation).

In most design situations, the best results are achieved by limiting hue to a palette of two or three colours, and using hue and chroma variations within these hues to create distinguishably different colours. Such a palette is both aesthetically pleasing and functional. Fig. 3.7 shows three of such palettes, and their relation with the hue wheel.

Figure 3.723– Several different palettes and their relationship to the hue wheel

3.3 Applied Procedure 53

. Use filled colours for encoding small symbols, subtle lines or small dimension areas; . Use light colours for encoding big dimension area; . Guarantee an adequate light contrast to define important aspects; . Use subtle borderlines to help highlighting the forms.

General advice: designing for elderly [50]

Provide additional value. Seniors’ decision to use a specific product or technology depend on the perceived future advantages (e.g., safety, comfort) that they associate emotionally with the product or usage of technology. Thus, try to clarify how users can benefit from the product.

Provide adaptable support. The purpose of AAL solutions is to help aging people retain their independence, and not to do things that they can easily do themselves. In this way, it is important to find a balance between supporting individual users and activating them.

Keep it simple. Concentration and memory decrease with age. Learning and usage requirements can be reduced by providing a limited number of functions and avoiding complexity and distraction.

Enable a joyful experience. AAL solutions need to appear easy to use, which enhances the intention to use them. Since emotionally positive experiences become more important as people grow older, enjoyment should be considered when designing for senior users.

54 Chapter 3. Methodology

Chapter 4

Design and Implementation

“The essential test of design is how well it assists the understanding of the content, not how stylish it is.”

Edward Tufte

This chapter depicts the main characteristics of BRIDGeViz web application; in the beginning, I provide a detailed analysis that reveals the objectives and requirements of the system and highlights the sensor data types and considered variables. Then, I emphasize the description and behaviour of the implemented charts. In the end, I explain the technology I used to implement BRIDGeViz and major challenges I faced.

56 Chapter 4. Design and Implementation

4.1 Analysis

4.1.1 Objectives

The goal of the BRIDGeViz web application developed in this thesis work is now clear: to convey perceptible knowledge, in visual form, about the health condition and activities of a fragile person living alone, thus to optimize the usability of the BRIDGe system. Moreover, we want to ensure a healthier life, a better situation for this kind of people at risk and to increase their autonomy, self-confidence and self-control. It is important to notice that this web application will be able to enhance the inhabitant’s security and to prevent his social isolation. Finally, it is fundamental to support the family, caregivers and organizations, which care for the fragile person, by providing them the necessary information.

4.1.2 Target users and constraints

As mentioned in Section 1.1, the target users of BRIDGeViz are elderly, people with physical or cognitive disabilities or pathologies that may compromise autonomy or lifestyle. If we provide these people a continuous monitoring, it is possible to reduce the costs for their frequent medical visits or hospitalization. Older people cannot be treated as homogeneous population, but we should arrange them into subgroups [50]. The basic differentiation is between the third and fourth ages.

The third age (young old – 65 to 80) describes older adults’ healthy and active life phase. Personal achievement and fulfillment characterize this stage.

The fourth age (oldest old – 80 onwards) is associated with fading health and independence. High age often leads to slower movements and diminished physical activity. Biological and psychological dysfunctions emerge during this stage.

4.1 Analysis 57

Since the web-application developed in this work is addressed to fragile people and related caregivers, we can aggregate all users into three major groups:

Primary end-users. This group defines the main actors of the application, since the whole system is based on their behaviour and activities. Various primary users are: . Elderly living alone who are unable to seek help in emergencies (unconsciousness, falls, strokes, cardiac infarct, etc.); . Disable people who suffer from cognitive (e.g., Alzheimer disease, dementia) and/or physical (e.g., hearing, mobility, speech) impairment; . People who suffer from chronic disease (e.g., diabetes, cancer, cardiovascular disease, asthma, etc.); . People who need help in daily life to perform personal care activities (e.g., eating, toileting, getting dressed, bathing, etc.) and instrumental activities (cooking, medication and doing laundry);

Secondary end-users. These are the people in direct contact with the primary end-user; we can distinguish between two types of secondary users: . Informal carers, such as family members, close friends and trusted neighbours; . Formal carers, such as caregivers for the elderly or disabled, care organizations.

Tertiary end-users. This group includes institutions and private or public organizations that are not in direct contact with the primary user, but somehow contribute by organizing, sponsoring or enabling the services.

An additional user is the administrator of the system, who aims at assessing the quality of delivered data and checking its performance evaluation and maintenance; this user accesses technical details, he can detect any malfunction in the system, and subsequently acknowledge the person in charge of it.

58 Chapter 4. Design and Implementation

It is worth noting that most of the primary end-users do not have the capability to consult and use a web-application; therefore, among the primary group, mostly elderly will use the developed application, particularly third age ones.

Scientific literature is still limited regarding the visualizations designed specifically for older adults. Reeder et al. [51] explain that the needs of an older adult are different from a caregiver’s ones. Indeed, the former emphasizes a high-level overview of data for identifying long-term changes in health, while the latter uses visualizations at a finer level of granularity for diagnostic intents.

We can now define relevant constraints regarding the access to BRIDGeViz that different user groups have. Normally, primary users are able to access all personal details and performances. However, if the monitored person is a third- aged or disabled person living alone, at least one secondary user (e.g., a family member, a trusted friend or neighbour) has the right to fully access the same content in order to monitor possible emergencies or wrong behaviours. In general, the third-aged person living alone, capable of consulting a software, can choose privacy rules for showing contents to the secondary users; the latter can see an overview of the inhabitant’s well-being and acknowledge any emergency or wrong behaviour. Tertiary users are the most restricted ones, as they cannot view any personal content related to the monitored person, they just visualize a general progress of his health.

4.1.3 Case study

Currently, BRIDGe is supervising a single house, named “Pilot1SA”, that is a smart environment equipped with sensors reporting the state of the environment; Fig. 4.1 shows the map of the house, which displays the available sensors. Below, I report a list of those sensors with their related functionalities.

4.1 Analysis 59

Figure 4.124– Pilot1SA house map showing sensors

Binary contact sensors detecting the opening and closing movement of the following doors:  DoorIngresso, the main door of the house;  DoorFrigo, the door of the fridge;  DoorPiatti, the door of the shelf containing plates.

Binary PIR (Passive Infrared) sensors detecting the person’s presence in a room:  PirIngresso, the presence in the entrance room;  PirSoggiorno1 and 2, the presence in the two parts of the living room;  PirCucina, the presence in the kitchen;  PirCorridoio, the presence in the corridor;  PirBagno, the presence in the bathroom;  PirCamera, the presence in the bedroom.

Consumption sensors detecting the power consumption (in W) of the appliances installed in the house. Each power-consuming object is connected to a relay that activates and deactivates the switch: when the switch is on,

60 Chapter 4. Design and Implementation

power is detected; when the switch is off, power is equal to zero. The consumption sensors are:  PowerPC, the power consumption of the PC situated at the entrance;  PowerCaffe, the power consumption of the coffee machine;  PowerCappa, the power consumption of the kitchen hood;  PowerTV, the power consumption of the TV in the living room;  PowerLampada, the power consumption of the lamp in the living room;  PowerLavatrice, the power consumption of the washing machine.

Ambient sensors measure the detected temperature or luminosity in the house:  TempSoggiorno1, the temperature in the house;  LuxMeterSoggiorno1, the luminosity in the house.

Events are generated as a result of changes in sensor statuses:  BatteryChargeChangeEvent: describes the percentage of the battery recharge of each sensor device;  UserChangeAreaEvent: detects when the user changes room; it provides three values: the previous area, the duration he stayed in it, and the current area;  UserOutEvent: recognizes when the user goes out of the house, from the main door, providing a binary value: 0, the user is inside, and 1, the user went outside;  UserPositionEvent: gives information about the current position of the user, in terms of (y,x) coordinates;  ValueChangedEvent: specifies when there is any change within any sensor (e.g., the TV was switched on); therefore, based on the considered sensor, the value gains different meanings and units of measure.

According to the mentioned sensors implemented in BRIDGe, we can identify three types of variables: continuous, binary and consumptions related.

4.1 Analysis 61

Continuous variables are those that change continuously in time, and are used to represent the temperature in the house. Binary variables are used for displaying two types of data: the one detected by PIR sensors (0 is non-present, 1 is present) and the one detected by the door sensors (0 is closed, 1 is open). The variable showing consumptions detect the value of energy consumption of the appliances installed inside the house.

Based on the variables described above, we can distinguish three data types to be displayed: punctual data, history data and aggregate data. Punctual data describes the state of a variable in a particular instant of time, such as the current state of temperature in the house, the current state of the lamps, the current energy consumption status for each appliance, and the current state of binary sensors. History data displays a record of data, for example the daily temperature, or daily energy consumption, both displayed within a month or year period. Aggregate data describes the computed data, like monthly/yearly temperature, monthly/yearly energy consumption, maximum or minimum temperature in the current day, current week or average energy consumption, weekly/monthly appliances consumption, total time spent in each room during a selected day, time spent in all rooms for latest seven days and total opening time of a sensor.

4.1.4 Requirement Analysis

Requirement gathering and analysis phase is an important phase of any software project, because it defines what the system is able to do. Usually, this phase collects the functional and non-functional requirements of the business process; among the latter, we have the system requirements and operational requirements.

The functional requirements define the functional level of the application, meaning the specification of the functions that the system must perform. They focus on what the system specifies, rather than how it will deliver the content.

62 Chapter 4. Design and Implementation

First, the displayed visualization charts must be simple and clear in order to convey the correct behaviour of each measure. The visualization should consider two types of data to be displayed: a live section, containing the live map (what is happening right now: where is the inhabitant, what are the active sensors), along with recent statistics and health alerts, and a data board section, displaying general statistics and progress of activities and consumptions. In particular, based on the data types defined in Section 4.1.3, the system must show the following visualizations:

. The currently active appliances; . The current temperature in the house; . The current week energy consumption; . The current state of lamps in the house (active, inactive); . The currently broken sensors; . The temperature and consumptions statistics at different granularities of day, week, month and year; . The major energy consumer appliances; . The total time spent in each room, within a selected day or for the latest seven days.

It is important to mention that the system should show few of the recent notification messages inside a specific section, so they remain available for some time, in case of possible need. Moreover, it could be useful to show the status of the battery of each sensor.

Additionally, the application needs to satisfy the common system requirements, such as intuitiveness (the system should provide content and navigation facilities in a standard way, so the user can easily guess the steps for moving around the application); learnability (the efforts in learning the application should be minimized); performance (it should be equal for the expert and non-expert users; system potential (it should always be maintained);

4.1 Analysis 63

reusability (the user should be able to reuse the application even after long time of inactivity).

Fig. 4.2 shows the use case diagram of BRIDGeViz, specifying the different user types and their related tasks.

Figure 4.225– Use case diagram

64 Chapter 4. Design and Implementation

The operation requirements focus on how the users will operate the system. In order to have access to the web application, the user must have a registered account on the BRIDGe portal and an Internet connection. The system must allow intuitive navigation throughout the application; in this way, the user should be able to navigate between the live section and the different data sections, one by one. Each user will have access to his house only, the one he is registered to. The administrator, instead, will have access to all the houses he manages.

4.1.5 UX Design

UX stands for User Experience, the experience, in terms of emotions and attitude, that a system or service creates for the people who use it [52]. It includes the practical, experiential, affective, meaningful and valuable aspects of human-computer interaction and product ownership. Additionally, it includes a person’s perception of system aspects, such as utility, ease of use and efficiency. UX design focuses on the aesthetic and functional aspects of the UI (i.e., User Interface) elements and how they work in the context of the rest of the application. The UI is what determines the user’s interaction with the system, perceived as the set of elements composing the application.

The user interface of this application should be menu driven: it must provide a top menu bar that facilitates navigation within the application. Dropdown menus and clickable elements are available to show extra information. Moreover, the live section displays statistics arranged in a dashboard, in order to provide at a glance overview of the monitored data, whereas the data board section has a navigable side menu to access the different visualizations. Dropdown lists allow viewing the notification messages, the sensor battery status and the user account settings.

In order to maintain the concentration and patience of the user, it is important that each screen appears on the monitor within few seconds after

4.2 Identification of graphs 65

the user clicks to access it. The application should ensure usability and the interface should be kept simple and model-oriented, pretty and easily understandable. The system should be easily maintainable and should ensure software modularity.

According to the constraints defined in Section 4.1.2, the system should display different content for the different groups of users. Upon registration, the user should be able to select the group he belongs to, so it becomes easier to update the coherent information to visualize. The basic application developed in this thesis work limits to the visualization of the full content, as it should be seen by the primary user, without any user group filter.

4.2 Identification of graphs

In order to identify suitable charts for representing data in our case study, I explored the wide range of graphs presented in the D3.js library (see Section 4.3). Using the Data Visualization Catalogue [53], I was able to classify the visualizations based on their functionalities:

 Bar Chart, Circular Area Chart, Line Chart, Scatter Plot and Bullet Chart are suitable for comparing data values.  Pie Chart, Stacked Bar Chart, Area Chart and Waterfall Chart are useful for showing the composition of something, meant as how individual parts make up the whole.  Distribution charts like Scatter Plot, Line Chart and Bar Chart help to understand the distribution of data, the normal tendency and the range of information in values.  Line Chart, Dual-Axis Line Chart and Bar Chart allow analysing trends of the dataset (i.e., how the dataset performed during a specific time interval).  Scatter Plot and Bubble Chart allow to better understand the relationship between value sets (i.e., how one variable relates to other variables).

66 Chapter 4. Design and Implementation

Later on, I selected some visualizations that could be appropriate for representing data related to the case study: Bullet Chart, Stream Graph, Gapminder Chart, Heatmap, Scatter Plot, Fill Gauge, Temperature Gauge, Spiral Plot, Redial Line Chart, Donut Chart, Radial Progress, Bubble Chart, Double Bar Chart, and Line Chart. Many of the selected charts were dropped, because they were not easy to understand, were conveying too many information, or were not easy to digest for the selected target users (e.g., Bullet Chart, Gapminder Chart, Heatmap). Other graphs were not suitable for the provided data (e.g., Stream Graph), were making the comparison difficult (e.g., Spiral Plot), or were confusing and not precise enough (e.g, Temperature Gauge, Redial Line Chart). BRIDGe current visualizations already comprehend Bubble Chart and Line Chart, but I selected a slighter different version of the Line Chart that will be explained in the next sections.

The choice of the relevant data visualizations has been influenced by few researches presented in literature, which I report in the following lines. Spence [54] explains that out of eight display types (i.e., horizontal and vertical lines, bars, pie and disk slices, cylinders, boxes and table entries), the bar, box and cylinder displays allow for fast and accurate comparison between numerical quantities. A similar result was the output of some experiments conducted by Simkin et al. [55], which considered in input the chart types of simple bar, stacked bar and pie chart. The authors concluded that the simple bar chart is the most accurate for comparison judgements, followed by stacked bar and pie charts. Instead, for proportion judgements, the pie chart is equally effective as the bar chart.

Below I present a detailed analysis of the implemented charts; the information and images are taken from [56] and [53].

4.2 Identification of graphs 67

4.2.1. Radial Progress

A Radial Progress Bar is like a normal progress bar, but displayed in a circular form. It is designed to show numeric values within a minimum and maximum range. I have used this plot to display the current temperature in the house (see Fig. 4.3). If the temperature in the house is greater or equal to 40°C, the bar turns red; in this way, we can see how colour plays a good role within a visualization. The bar progresses up to the expected value on page load, showing a motion behaviour.

Figure 4.326– Radial Progress: current temperature

4.2.2. Double Bar Chart

It is a horizontal Bar Chart contained inside another one. The outer bar chart describes the group performance, while the inner one specifies the details of a single group. The outer bar chart will be a sum of each inner one. The classic Bar Chart uses either horizontal or vertical bars (also known as Column Chart), to show discrete, numerical comparison across categories. Bar Charts are different from Histograms, as they do not display continuous developments over an interval.

I have used this chart to display the energy consumption within the last six weeks (see Fig. 4.4); each bar within the inner chart represents the days of the week, from Monday to Sunday, whereas each bar in the outer chart represents the sum of the energy consumption in that week. On page load, the bars grow towards right until they fill the expected values.

68 Chapter 4. Design and Implementation

One major flow with bar charts is that labelling becomes problematic when there is a large number of bars. However, I managed to keep them understandable and added tooltips that explain values of each bar.

Figure 4.427– Double Bar Chart: energy consumption in the last six weeks

4.2.3. Donut Chart

A Donut Chart is essentially a Pie Chart with a cut out centre area. However, a Donut Chart has a slight advantage with respect to the Pie Chart, that is often criticized for focusing on relative dimensions over the total and for causing legibility problems. A Donut Chart addresses this issue by de- emphasizing the use of the surface, thus allowing the user to focus on the change of values. In fact, this visualization reads the length of arcs rather than the proportions of a Pie Chart. Moreover, a Donut Chart may occupy a smaller space that the Pie Chart, using the space in the centre for showing useful information, such as KPI (Key Performance Indicators).

4.2 Identification of graphs 69

I have used this chart to display the appliances energy consumption (see Fig. 4.5); in particular, it changes dynamically, based on the user’s selection of date range. Tooltips help viewing the selected dates and the chart is updated on the pressure of the ‘update’ button. On page and date load, the arcs circularly grow clockwise.

Figure 4.528– Donut Chart: appliances consumption

4.2.4. Scatter Plot

A Scatter Plot uses a collection of points placed using Cartesian coordinates to display values from two variables. By setting a variable in each axis, it is possible to detect if a relationship or correlation between the two variables exists. An additional variable determines the size of each point. This visualization is ideal when there is a pair of data and we want to see how one variable influences the other.

70 Chapter 4. Design and Implementation

I have used this plot to display the number of hours the inhabitant has spent in each room of the house, during the antecedent week. The size of each dot represents the number of hours spent in the room in the corresponding day, and tooltips help viewing the time period (see Fig. 4.6).

Figure 4.629– Scatter Plot: location in the last week

4.2.5. Fill Gauge

The Fill Gauge plot is a sort of circular progress that represents a value. I have used it to represent the energy consumption in the current week, meaning from Monday. On page load, the filling grows from downwards, until it reaches the expected value. If the value is greater or equal than 85 kW, the filling turns red, so to alert the user that the limit is reaching the maximum value (see Fig. 4.7).

Figure 4.730– Fill Gauge: energy consumption in this week

4.2 Identification of graphs 71

4.2.6. Line chart

The Line Chart is used to display quantitative values over a continuous interval or time period. Most frequently, it is used to show trends and analyse how data has changed over time. In particular, I have used a diversified version of the same: a multi-series interactive line chart (see Fig. 4.8), able to show different measures at the same time, in the same plot, in order to enhance the easiness of their comparison. This graph allows an overview of the general trend of the inhabitant’s behaviour.

Figure 4.831– Multi-series interactive line chart: energy consumptions

The measures I have considered in this chart are temperature and appliances energy consumption. Motion is the key behaviour of this plot, as the bottom bar allows a smooth selection of date range, through zoom-in and zoom-out, that provides a supervision of the details; moreover, the measures can be selected or deselected for visualization. The y-axis, showing the values in C° for the temperature and in W for the energy consumption, readapts to the maximum values shown in the currently selected range. On the mouse movement, a vertical bar marks the corresponding day on the x-axis, while the legend shows the related y-value.

72 Chapter 4. Design and Implementation

4.3 Other features

This section describes the additional characteristics and behaviour of BRIDGeViz application.

4.3.1. Live

Figure 4.932– Live page: current situation in the house

This part of the application represents a dashboard composed by panels with different visualizations showing the current situation in the house (see Fig. 4.9). It shows the current temperature, expressed in °C, and the accumulated energy consumption, expressed in kW, since Monday of the current week. Moreover, there are alerts displaying broken sensors, such as lamps, PIRs or doors; if any sensor is broken, the icon turns red, so to catch the user’s attention. It is possible to click on any active icon to view which is the broken sensor (see Fig. 4.10, on the left). The live section brings along the map implemented in the existing version of the BRIDGe portal, which displays what is the inhabitant’s location right now. Finally, a panel shows the currently active appliances and the time since they are active; this panel dynamically

4.3 Other features 73

shows only the active appliances. By clicking on the lamp icon, it is possible to view which lamp is active (see Fig. 4.10, on the right).

Figure 4.1033– Currently active (left) and broken lamps (right)

4.3.2. Top menu

Figure 4.1134– Top bar: home, notifications, batteries and user profile

The top bar contains link to the home page and dropdown menus with different functionalities (see Fig. 4.11).

Figure 4.1235– Notifications (on the left) and batteries status (on the right)

The first dropdown shows the latest notifications from the system, such as opening/closing of any door, switch on/off of any lamp or appliance, and PIR

74 Chapter 4. Design and Implementation

sensors activations (see Fig. 4.12, on the left). The second dropdown presents the battery charging status of each sensor (see Fig. 4.12, on the right), whereas the third dropdown contains information related to the user, such as viewing the user’s personal details, changing the access details or logging out of the session.

4.4 Implementation details

4.4.1. Technologies

BRIDGeViz application is implemented using HTML and JavaScript, together with related libraries such as jQuery and mainly the Data-Driven Document (D3.js) [56]. D3 is a JavaScript library widely used in web-based interactive visualizations that combine different technologies (i.e., HTML for page content, CSS for aesthetics, JavaScript for interaction and SVG for vectorial graphics). These technologies share the Document Object Model (DOM) representation of the page; since D3 allows the data-driven manipulation of the same, it becomes easier to combine all these technologies together. In order to provide powerful visualization components, D3 selectively binds input data to DOM elements.

The standardized representation of D3 improves the expressiveness, accessibility and performance of the system and enables animated transitions. The library is based on the concept of selection: the identification of a set of elements using simple predicates; then the selected elements undergo transformation processes through the application of some operators.

The application is meant to accept input data defined in JSON structures, which easily integrate with JavaScript. An example of a JSON file can be viewed in Appendix A, which reports code examples written for the implementation of charts available in BRIDGeViz.

4.4 Implementation details 75

4.4.2. Main challenges

In this section, I report the various challenges that I faced during the development of BRIDGeViz.

In the first place, I performed an attentive study on the current trend of data visualizations: what are the commonly used graphs? How do modern home automation dashboards look like? What kind of data analytics do applications in other fields provide? In addition, how do they arrange the visualizations of those data? After choosing D3.js library for designing charts, for the good reasons described in the previous section, I explored the huge variety of graphs and charts available in the library, trying to figure out the possible techniques suitable for showing the different data types of BRIDGe.

Once I classified the data types of the measures detected in the BRIDGe project, I started matching possible representations (one or more) for each type, choosing from a portfolio of traditional (i.e., frequently used) and innovative (i.e., non-frequent but eligible to show the data thanks to their structure) visualizations. After some trials and recalls, I selected the appropriate visualizations, one for each type of identified variable. Another challenge then came up: implementing the single charts and adapting them to the needed form. This was one of the most time consuming task, as it took me some time to grasp the mechanism of D3.

Later on, I arranged the selected charts in a dashboard and in other pages of the web application. However, it took some trials to find a better and final layout for BRIDGeViz.

Another major time consuming task was the adjustment of the donut chart visualizing the appliances consumptions; this implied two subtasks: the loading of different data according to the selected date range and the subsequent calculation of the average value to display. First, a range slider is provided to

76 Chapter 4. Design and Implementation

allow the user selecting the preferred time period to visualize consumptions. This was implemented using the jQuery UI slider range component.

Next, there was the need to define an algorithm that could read the consumptions data stored in the JSON file, the start and end dates provided by the user, and return the sum of the consumptions related to days between the provided start/end dates. For this purpose, I implemented a mapping that binds data to a more easily usable object: var mappedData = Object.keys(root).map(function (day) { return { date: day, appliances: Object.keys(root[day]).map(function(appliance) { return { appliance: appliance, value: root[day][appliance] }})}; }); Then, I created an object to store the sum of all consumptions: var finalData = [ {"name": "Washing machine", "percent": 0}, {"name": "Hood", "percent": 0}, {"name": "PC", "percent": 0}, {"name": "Lamps", "percent": 0}, {"name": "TV", "percent": 0} ];

and summed up the values of the days satisfying the condition: var count = 0, sum = 0; for (m in mappedData) { var myDate = new Date(mappedData[m].date); var appliances = mappedData[m].appliances; if(myDate >= fromD && myDate <= toD) { var i = 0; while(i < finalData.length){ finalData[i].percent += appliances[i].value; i++; } count++; } } Afterwards, I computed the averages of the obtained values, and then transformed them into percentages: for (j in finalData){ finalData[j].percent = finalData[j].percent/count; sum += finalData[j].percent; } for (p in finalData){

4.4 Implementation details 77

finalData[p].percent = (finalData[p].percent/sum)*100; finalData[p].percent = Math.round(finalData[p].percent*100)/ 100; } This algorithm is stored inside a function that is called at the page loading and each time the start/end values change. For precision purposes, the function is called upon the click of an update button.

Since I have loaded the complete application to the web, it is possible to have a glimpse of it at the following link:

bridgeviz.byethost24.com.

78 Chapter 4. Design and Implementation

Chapter 5

Conclusion and Future work

“The goal is to turn data into information, and information into insight.”

Carly Fiorina

This final chapter describes the conclusions we have drawn from this research, the observations and limits related to the proposed methodology and possible future developments and improvements of the system.

80 Chapter 5. Conclusion and Future work

5.1. Conclusion

The main objective of this thesis work was to improve the accessibility of smart environments technology from the elderly living alone, by creating a user-friendly visualization interface that would allow easy access to the information gathered from the smart home. For this purpose, I implemented BRIDGeViz, a web application for the monitoring of elderly behaviour. The preeminent issue was how to represent massive data in order to understand and extract knowledge from stored information, which was not a straightforward task.

The work was splitted in two major parts: in the first one, we focused on the inspection of the application domain by searching information related to the usage of data visualization in the context of AAL systems. After an exhaustive examination of the state of art, we performed a research on the human visual perception benefits for patter recognition tasks, and how this can be exploited in data representation. Later on, ensued the second phase, a more practical approach towards the identification of system requirements and appropriate visualizations that could stimulate the human visual perception, in order to get an insight of the represented data.

However, inside the BRIDGe project, BRIDGeViz is just a starting point that can grow in many different directions, overtaking the current limitations. At present, the application is at its initial state: it can be seen as a full-proof prototype that is ready to be attached to the huge dataset of BRIDGe, as it is designed to host a grand amount of data. This web application has the ability to integrate with any type of smart home monitoring system for AAL, without the risk of fragmenting data. Nonetheless, security issues still need to be taken into consideration in an accurate way.

The following section will depict some possible extensions of the base version of BRIDGeViz.

5.2 Future work 81

5.2. Future work

BRIDGeViz is now implemented in its basic version, so we can think of expanding it in many ways and for contrasting situations; there is a lot that can be done in the short-term period. For example, we can tie the application to the BRIDGe dataset and see how it evolves. Since BRIDGeViz does not distinguish among the different types of users, another short-term achievement could be to differentiate between the various users defined in Chapter 4. It could be interesting to know what primary users would like to visualize in the application and what their family and well-wishers would be keen to acknowledge about their loved one.

In a different approach, we can enrich the web portal in a way so that the family members could set their preferred target intervention needs, and receive direct notifications on their smartphones about important messages regarding the elderly’s health status.

Considering the long-term period, we could spread the application with visualizations regarding the inhabitant’s health monitoring study; to achieve this, we could capture systolic, diastolic and heart rate data using a wrist wearable device, and design appropriate plots conveying these information. Dealing with such a broad application, we could think of accommodating a wider user selection, expanding BRIDGeViz to the usage of common people (i.e., non-AAL interested) who would like to monitor their smart homes activities.

In the future, we could opt for allowing the work to grow in the field of audio communications, therefore to provide an audio interpretation of the information represented through visualizations.

82 Chapter 5. Conclusion and Future work

Appendix A

This chapter is considered to present some source code examples for implementing D3 charts. In particular, I present the implementation of the Double Bar Chart (see Section 4.2.2), consisting of Javascript and JSON source code, together with the HTML code relevant for displaying the chart. All the JSON files are similar to the one presented, while the JavaScript file shows relevant D3 specific actions that are common between all the charts.

84 Appendix A

A1 JSON file structure

{ "Last week": { "2017-10-23": 2887, "2017-10-24": 4660, "2017-10-25": 2888, "2017-10-26": 1486, "2017-10-27": 4452, "2017-10-28": 3347, "2017-10-29": 1200 }, "2 weeks ago": { "2017-10-16": 5207, "2017-10-17": 7317, "2017-10-18": 2881, "2017-10-19": 1249, "2017-10-20": 4100, "2017-10-21": 3600, "2017-10-22": 4000 }, "3 weeks ago": { "2017-10-09": 2450, "2017-10-10": 2390, "2017-10-11": 1778, "2017-10-12": 1411, "2017-10-13": 1300, "2017-10-14": 1947, "2017-10-15": 1360 }, "4 weeks ago": { "2017-10-02": 4372, "2017-10-03": 2727, "2017-10-04": 2510, "2017-10-05": 5930, "2017-10-06": 1652, "2017-10-07": 2747, "2017-10-08": 1450 }, "5 weeks ago": { "2017-09-25": 3397, "2017-09-26": 1351, "2017-09-27": 2927, "2017-09-28": 1854, "2017-09-29": 2500, "2017-09-30": 1647, "2017-10-01": 1100 }, "6 weeks ago": { "2017-09-18": 1000, "2017-09-19": 1351, "2017-09-20": 2927, "2017-09-21": 1241, "2017-09-22": 2500, "2017-09-23": 1647, "2017-09-24": 1347 } }

A2 JavaScript code

//Define margin, width and height for the SVG var margin = { top: 20, right: 20, bottom: 30, left: 100 }, width = 800, height = 500; //Define scales for the bar chart var y0 = d3.scale.ordinal().rangeRoundBands([height, 0], .1); var y1 = d3.scale.ordinal(); var x = d3.scale.linear().range([0, width - 50]); //Define the colour scale var color = d3.scale.ordinal().range(["rgb(70, 160, 255)", "rgb(163, 163, 163)"]); //Define the axes var yAxis = d3.svg.axis().scale(y0).orient("left").tickSize(0, 0); var xAxis = d3.svg.axis().scale(x).orient("bottom").tickSize(height) .tickFormat(d3.format(".2s")); //Create the SVG with the defined margins var svg = d3.select(".data-container").append("svg").attr("width",

A2 JavaScript code 85

width) .attr("height", height + margin.top + margin.bottom).append("g") .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

//Accepts a date string that is recognized by the Date.parse() method function getDayOfWeek(date) { var dayOfWeek = new Date(date).getDay(); return isNaN(dayOfWeek) ? null : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][dayOfWeek]; }

//Read data from the JSON file var data = []; d3.json("data.json", function (apidata) { //Map data to a usable object var data = Object.keys(apidata).map(function (week_name) { return { name: week_name, days: Object.keys(apidata[week_name]).map(function(day) { curr_day = getDayOfWeek(day); return { name: curr_day, date: day, value: apidata[week_name][day] }})}; }); //Define the domains var days = ['Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']; y0.domain(data.map(function(d) { return d.name; })); y1.domain(days).rangeRoundBands([0, y0.rangeBand()], 0.15); x.domain([0, d3.max(data, function(week) { return d3.sum(week.days, function(d) { return d.value; }); })]); //Set a tooltip for the single bars var tip = d3.tip().attr('class', 'd3-tip').offset([-10, 0]) .html(function(d) { var data = new Date(d.date); var myDate = data.toString("dd-MM-yyyy"); return d.name + " " + myDate + " : " + d.value + " W"; })

//Set a tooltip for the total bars var tipT = d3.tip().attr('class', 'd3-tip').offset([-10, 0]) .html(function(week) { var data1 = new Date(week.days[6].date); var myDate1 = data1.toString("dd-MM-yyyy"); var data2 = new Date(week.days[0].date); var myDate2 = data2.toString("dd-MM-yyyy"); return "start: " + myDate2 + "
end: " + myDate1 + "
consumed: " + d3.sum(week.days, function(d) { return d.value; }) + " W"; })

86 Appendix A

svg.call(tip); svg.call(tipT); svg.append("g").attr("class", "y axis").call(yAxis); svg.append("g").attr("class", "x axis").call(xAxis) .append("text").attr("x", width).attr("y", height + 5) .attr("dy", ".71em").style("text-anchor", "end");

//Setup the total bars var totals = svg.selectAll(".total_bar") .data(data, function(d) { return d.name; }) .enter().append("rect").attr("class", "total_bar") .attr("height", y0.rangeBand()).attr("x", 2) .attr("y", function(d) { return y0(d.name); }) .attr("width", 0) .on('mouseover', tipT.show) .on('mouseout', tipT.hide) .style("fill", "#96CFFF");

//Add motion on chart-load totals.transition().duration(600).ease("linear") .attr("width", function(week) { return x(d3.sum(week.days, function(d) { return d.value; })); });

var weeks = svg.selectAll(".week") .data(data, function(d) { return d.name; }) .enter().append("g").attr("class", "week") .attr("transform", function(d) { return "translate(0," + y0(d.name) + ")"; });

//Setup the bars var bars = weeks.selectAll(".bar") .data(function(week) { return week.days; }, function(d) { return d.name; }) .enter().append("rect").attr("class", "bar") .attr("height", y1.rangeBand()).attr("x", 2) .attr("y", function(d) { return y1(d.name); }) .attr("width", 0) .on('mouseover', tip.show) .on('mouseout', tip.hide) .style("fill", function(d) { return color(d.name); })

//Add motion on chart-load bars.transition().duration(600).ease("linear") .attr("width", function(d) { return x(d.value) }); })

A3 HTML code

Inside the HTML page, the chart will be contained in a

element enclosed in the tag:

References

[1] Istat, Istituto Nazionale di Statistica – Anziani. http://www.istat.it/it/anziani [2] Maslow, Abraham Harold, et al. “Motivation and personality.” Vol. 2., 1970. [3] AAL (Ambient Assisted Living Program). http://www.aal- europe.eu/about/objectives/ [4] Mangano, Simone, et al. "Bridge: Mutual reassurance for autonomous and independent living." IEEE Intelligent Systems 30.4 (2015): 31-38. [5] Assistive Technology Group (ATG) of Politecnico di Milano. http://atg.deib.polimi.it/ [6] CRAiS – Centro Risorse per le Autonomie e l'Inclusione Sociale. http://www.crais.eu/ [7] Ward, Matthew O., et al. “Interactive data visualization: foundations, techniques, and applications.” CRC Press, 2010 [8] Chen, Min, et al. "Data, information, and knowledge in visualization." IEEE Computer Graphics and Applications 29.1 (2009). [9] Harper, Richard. "Inside the smart home: Ideas, possibilities and methods." Inside the smart home (2003): 1-13. [10] Redondi, Alessandro, et al. "An integrated system based on wireless sensor networks for patient monitoring, localization and tracking." Ad Hoc Networks11.1 (2013): 39-53. [11] Alemdar, Hande, et al. "ARAS human activity datasets in multiple homes with multiple

residents." Proceedings of the 7th International Conference on Pervasive Computing Technologies for Healthcare. ICST, 2013. [12] Cook, Diane J., et al. "CASAS: A smart home in a box." Computer 46.7 (2013): 62-69. [13] Wolf, Peter, et al. "SOPRANO-An extensible, open AAL platform for elderly people based on semantical contracts." AITAmI'08, ECAI 08, Patras, Greece. 2008.

88

[14] Farella, Elisabetta, et al. "Aware and smart environments: The Casattenta project." Microelectronics Journal 41.11 (2010): 697-702. [15] Zouba, Nadia, et al. "Multi-sensors analysis for everyday activity monitoring." Proc. of SETIT (2007): 25-29. [16] Spence, Ian. "William Playfair and the psychology of graphs." Proceedings of the American Statistical Association, Section on . 2006. [17] Tufte, Edward R. "The visual display of quantitative information." (2001). [18] Few, Stephen. “Information Dashboard Design: Displaying data for at-a-glance monitoring.” Analytics Press, 2013. [19] Few, Stephen, and Perceptual Edge. "Dashboard confusion revisited." Perceptual Edge (2007): 1-6. [20] Few, Stephen. "Common pitfalls in dashboard design." Perceptual Edge (2006). [21] Tory, Melanie, et al. "Rethinking visualization: A high-level taxonomy." INFOVIS 2004. IEEE Symposium on. IEEE, 2004. [22] Shneiderman, Ben. "The eyes have it: A task by data type taxonomy for information visualizations." Visual Languages, 1996. Proceedings., IEEE Symposium on. IEEE, 1996. [23] Fry, Ben. Visualizing data: Exploring and explaining data with the processing environment. " O'Reilly Media, Inc.", 2007. [24] Freitas, C. M. D. S., et al. "A methodology for selecting visual representations in scientific and simulation applications." SIBGRAPI’93 (1993): 89-97. [25] Khan, Muzammil, et al. "Data and information visualization methods, and interactive mechanisms: A survey." International Journal of Computer Applications (2011): 1-14. [26] Robertson, Philip K. "A methodology for choosing data representations." IEEE Computer Graphics and Applications 11.3 (1991): 56-67. [27] Mazza, Riccardo. Introduction to information visualization. Springer Science & Business Media, 2009. [28] Mackinlay, Jock. "Automating the design of graphical presentations of relational information." Acm Transactions On Graphics (Tog) 5.2 (1986): 110-141. [29] Lange, Susanne, et al. "Problem-oriented visualisation of multi-dimensional data sets." Proceedings of the International Symposium and Scientific Visualization. 1995.

89

[30] Cottam, Joseph A., et al. "Watch this: A taxonomy for dynamic data visualization." VAST, 2012 IEEE Conference on. IEEE, 2012. [31] Bertin, Jacques. "Semiology of graphics: Diagrams, networks, maps (WJ Berg, Trans.)." Madison, WI: The University of Wisconsin Press, Ltd (1983). [32] Knight, Miya. "How safe is Z-Wave?[Wireless standards]." Computing and Control Engineering 17.6 (2006): 18-23. [33] Thomas, Brian L., et al. "A demonstration of PyViz, a flexible smart home visualization tool." PERCOM Workshops, 2011. IEEE, 2011. [34] Chen, Chao, et al. "CASASviz: Web-based visualization of behavior patterns in smart environments." PERCOM Workshops, 2011. IEEE, 2011. [35] Dasios, Athanasios, et al. "Hands-on experiences in deploying cost-effective ambient- assisted living systems." Sensors 15.6 (2015): 14487-14512. [36] Mulvenna, Maurice, et al. "Visualization of data for ambient assisted living services." IEEE Communications Magazine 49.1 (2011). [37] Mynatt, Elizabeth D., et al. "Increasing the opportunities for aging in place." 2000 Conference on Universal Usability. ACM, 2000. [38] Mynatt, Elizabeth D., et al. "Digital family portraits: supporting peace of mind for extended family members." ACM, 2001. [39] Lewis, Greg, et al. “The Home Automation Project.” (2015). [40] PiDome – A platform for Home Automation. http://www.pidome.org/ [41] Alexandre, Dulclerci S., et al. "Introduction of human perception in visualization." International Journal of Imaging and Robotics (2010): 60-70. [42] Ware, Colin. “Information visualization: perception for design.” Elsevier, 2004. [43] Shiffrin, Richard M., et al. "Controlled and automatic human information processing: II. Perceptual learning, automatic attending and a general theory." Psychological review 84.2 (1977): 127. [44] Few, Stephen. "Data visualization for human perception." The Encyclopedia of Human- Computer Interaction, 2nd Ed. (2013). [45] Few, Stephen. "Enie, meenie, minie, moe: selecting the right graph for your message." Intelligent Enterprise (2004): 13.

90

[46] Cleveland, William S., et al. "The elements of graphing data.” Monterey, CA: Wadsworth Advanced Books and Software, 1985. [47] Kelleher, Christa, et al. "Ten guidelines for effective data visualization in scientific publications." Environmental Modelling & Software26.6 (2011): 822-827. [48] Office Development Center. https://dev.office.com/docs/add-ins/design/data- visualization-guidelines [49] Stone, Maureen C. “Choosing colours for Data Visualization.” Peters Ltd (2006). [50] Nedopil, C., et al. "Knowledge Base: AAL Stakeholders and Their Requirements." Ambient Assisted Living Association (2013). [51] Reeder, Blaine, et al. "Comparing information needs of health care providers and older adults: findings from a wellness study." Studies in health technology and informatics 192 (2013): 18. [52] Garrett, Jesse James. “Elements of user experience, the: user-centered design for the web and beyond.” Pearson Education, 2010. [53] Severino Ribecca. The Data Visualization Catalogue. www.datavizcatalogue.com/ [54] Spence, Ian. "Visual psychophysics of simple graphical elements." Journal of Experimental Psychology: Human Perception and Performance 16.4 (1990): 683. [55] Simkin, David, et al. "An information-processing analysis of graph perception." Journal of the American Statistical Association 82.398 (1987): 454-465. [56] Bostock, Michael, Vadim Ogievetsky, and Jeffrey Heer. "D³ data-driven documents." IEEE transactions on visualization and computer graphics 17.12 (2011): 2301-2309. [57] Bogni, Diego. "Design and implementation of an interactive data-driven Web based visualization framework for sense making of elderly daily life." (2015). [58] Motta, Tommaso. "Ambient assisted living: indicatori quantitativi per monitorare la routine di una persona." (2016).