Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 1 (14) Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interface Task leader: Igor San Vicente Fagor Electrónica, S. Coop. (FEL) isanvicente@fagorelectronica.es Abstract This appendix summarizes the work done within Task 2.2 for the development of first generation Human Machine Interface. The associated Production Objects are described in detail. ARTEMIS Innovation Pilot Project: Arrowhead THEME [SP1-JTI-ARTEMIS-2012-AIPP4 SP1-JTI-ARTEMIS-2012-AIPP6] [Production and Energy System Automation Intelligent-Built environment and urban infrastructure for sustainable and friendly cities]. The research leading to these results has received funding from the ARTEMIS Joint Undertaking and from the national programs/funding authorities. Grant agreement no: 332987. Project Coordinator: Professor Jerker Delsing | Luleå University of Technology www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 2 (14) Table of contents 1. Introduction ...................................................................................................................................... 3 2. Zoom on 2.2-041 HMI - Analysis of the design of the application ...................................................... 3 2.1. Zoom on 2.2-042 HMI – Information architecture, Wireframes, Mockups ............................................7 3. Zoom on PO 2.2-044 HMI – User experience testing ........................................................................ 10 4. Zoom on PO 2.2-045 HMI - Software design and implementation ................................................... 10 4.1. Basic energy efficiency data structures ................................................................................................11 4.1.1. Consumption storage database ....................................................................................................... 11 4.1.2. System configuration database ....................................................................................................... 12 4.2. Consumption storage bundle........................................................................................................... 13 4.3. Emulated HEC service bundle .......................................................................................................... 13 4.4. HMI bundle ...................................................................................................................................... 13 5. Zoom on PO 2.2-046 HMI - Integration and system testing ............................................................. 13 6. Revision history ............................................................................................................................... 14 6.1. Amendments.........................................................................................................................................14 6.2. Quality Assurance .................................................................................................................................14 www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 3 (14) 1. Introduction As planned, for the first pilot generation of the Eco-sufficient Home (Task 2.2) different systems have been developed. One of them is the Human Machine Interface (HMI). The HTMI present to the end-users reports, alerts, recommendations and other consumption information available within the demo. Each user has access only to information and devices authorized to their profile. Usability and user experience will be optimized in order to achieve a higher impact regarding user empowerment and energy use awareness. These applications will be consumed in different devices such as computers, tablets, smartphones or Smart TVs. Security and privacy aspects will be analysed and implemented depending on the requirements. HMI’s associated POs for generation 1 are as follows: PO 2.2-041 HMI - Analysis of the design of the application PO 2.2-042 HMI – Information architecture, Wireframes, Mockups PO 2.2-044 HMI – User experience testing PO 2.2-045 HMI - Software design and implementation PO 2.2-046 HMI - Integration and system testing PO 2.2-047 HMI – User manual In the following, this appendix will concentrate on the description of these POs: PO 2.2-041, PO 2.2-042, PO 2.2-044 and PO 2.2-045 HMI. 2. Zoom on 2.2-041 HMI - Analysis of the design of the application The aim of this PO is to provide the different agents that take part in the process of software development a common understanding of the application and its objectives. To do so Personas, Scenarios and Use cases have been used. For HMI development User Centered Design approach has been followed. The chief difference from other product design philosophies is that user-centered design tries to optimize the product around how users can, want, or need to use the product, rather than forcing the users to change their behavior to accommodate the product. This will improve the User Experience and thus maximize the impact and the adoption of these technologies. There are a number of tools that are used in the analysis of user-centered design, mainly: persona, scenarios, and essential use cases. Persona: During the user centered design process, a Persona of the user's need may be created. It is a fictional character with all the characteristics of the user of an application. Personas are created after the field research process, and the character depicts a "typical" stakeholder, not an "average" individual in the primary stakeholder group, and is referred to throughout the entire design process. Scenario: A scenario is a fictional story about the "daily life of" or a sequence of events with the primary stakeholder group as the main character. Typically, a persona that was created earlier is used as the main character of this story. Scenarios create a social context to which the personas exist in, and also create an actual physical world. It provides context to the persona. www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 4 (14) Use case: A use case describes the interaction between an individual and the rest of the world, the SW, the application and the platform in our case. Each use case describes an event that may occur for a short period of time in real life, but may consist of intricate details and interactions between the actor and the world. It is represented as a series of simple steps for the character to achieve his or her goal within the application. The following Personas and Scenarios have been defined. Name: Maite Age: 46 Location: Arrasate Occupation: Unemployed Fotograph: 1 Income: Maite's income is minimum as she's unemployed, so she lives mostly from her savings and gets some extra money cleaning other peoples houses from time to time. It's her son, Iker, that pays the bills with the money he earns working at a small car garage. Iker lives with Maite, and is 19 years old. Home: Maite's home is old – about 40 years – and has never been renewed. It has three bedrooms, a living room, a bathroom and a kitchen. Most of the furniture and electrical appliances are almost as old as the building itself. Luckily the water pipes and the electrical installation are in good condition. There is no gas installation at the building. In the kitchen there's a fridge/freezer, an old cook, an oven, and a microwave oven. There's a washing machine in the bathroom and a television on the living room. Apart from that there's a pair of standard lamps, which use conventional bulbs, just like the rest of the house. Life: Maite spends most of her time at home, cleaning and cooking. She also spends some time surfing the net in search of a job or watching TV, though she's giving up the latter. She's developing interest on reading as it's more interesting than watching TV and is a cheap hobby – she borrows books from her friends and needs no electricity during the day. Motivations: 1 Image from https://www.flickr.com/photos/tinfoilraccoon/4772548734,with Creative Commons CC BY 2.0 license (https://creativecommons.org/licenses/by/2.0/). Image cropped from the original. www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 5 (14) Maite's main motivation to use such a system is money. Environmentalism is okay for her, and she actually recycles her waste, but she wants to reduce her energy consumption mainly because of it's money costs. Scenario: Maite would use the system in a weekly basis. Every Sunday she would access the web interface through her phone to check whether she managed to lower the energy consumption and think about how she could lower it even more. Once she gets to a low enough consumption she would still use the system to make sure it stays low and stable. She would monitor the lighting of the house as well as the appliances where she could lower the consumption notably, e.g., the washing machine or the ovens – the fridge has a stable consumption that can't be easily lowered, as it's running constantly. Name: Ion Age: 28 Location: Zaldibia Occupation: Shopkeeper Fotograph: 2 Income: Ion's salary at a local grocery store is enough for his lifestyle considering he owns his home and is renting two of it's rooms to other people. Home: Ion's home is quite big. It has three bedrooms, two bathrooms and a big kitchen. It also has a huge living room with a TV and a good hi-fi system – his tenants are both audiophiles. There is a fridge/freezer combo, a modern inductive cook, a fume extractor, an oven and a dishwasher. There's also a washing machine at home, and all the bulbs used are low-consumption. Life: Ion spends most of his time at work, hanging out with his friends or or mastering the art of photography, which is his main hobby. He has a good printer at home, for the digital pictures he takes. He also has a darkroom at home to develop the pictures the old school way, as he enjoys using old cameras the most. Motivations: 2 Image from https://www.flickr.com/photos/svenjajan/6989378163,with Creative Commons CC BY 2.0 license (https://creativecommons.org/licenses/by/2.0/). Image cropped from the original. www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 6 (14) Ion is an environmentalist activist. He's conscious of the importance of nature and works to keep it. He recycles every piece of waste and tries to consume as little water as possible. He is trying to reduce his electrical energy consumption too, and this system could help him find out how to to be more efficient. Scenario: Ion would let the system run unattended for one or two months, to gather data enough to find out what's consuming the most on the long run instead of focusing on shot term consumption spikes that could mask the real offenders. He would repeat that cycle as long as he's using the system – monitoring as many appliances as it's possible. He would use his powerful computer to access the web interface, as he uses it daily for photo editing and it's more comfortable using it than using the phone. Name: Iker Age: 35 Location: Bergara Occupation: Car driving instructor Fotograph: 3 Income: Iker lives with his wife, Ane, and their two children, Naiara and Leire. He's got a decent salary at his job and Ane works for a transportation rental business. They'd like to have more spare money but can pay for all the expenses of their two children without much worry. Home: Iker's home is big enough for the family, though it may feel smaller when the children grow up. There are two bedrooms – one for the parents and the other for the children –, a small kitchen – equipped with a fridge/freezer, a microwave oven, a small old cook, a dishwasher and a washing machine –, a bathroom and a living room with a TV and game console. There is a mix of low consumption bulbs and their higher consumption ancesters. Life: Iker and his wife spend most of the time working. When he's not working he's looking after his little girls at the park or at home. He used to play the flute before being father, but now has no time for it and only plays it once in awhile to entertain his daughters. 3 Image from https://www.flickr.com/photos/25440132@N03/2398534914,with Creative Commons CC BY 2.0 license (https://creativecommons.org/licenses/by/2.0/). Image cropped from the original. www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 7 (14) Motivations: Iker is passionate about plants, animals and anything related to nature. He wants his daughters to feel the same way and to be conscious of how nature is being beaten to death. At the same time, he'd like to be able to save some money for when the little girls grow up. Scenario: Iker would use the system to monitor the lighting and the small appliances his two children could use: the television and the computer. He's education his little girls about the importance of nature and would like to show them the impact they have on nature when leaving on the lights or watching TV for long periods of time. 2.1. Zoom on 2.2-042 HMI – Information architecture, Wireframes, Mockups The design process has made use of the following: The information architecture of an application labels and organizes data to develop user experience, usability and structural aesthetics. It involves a model or concept of information, which is used and applied to activities that require explicit details of complex information systems. More concretely, it involves the categorization of information into a coherent structure, preferably one that the intended audience can understand quickly, if not inherently, and then easily retrieve the information they need. The information architecture is built upon a hub and spoke pattern (see Figure 1). A hub and spoke pattern gives you a central index from which users will navigate out. Users cannot navigate between spokes but must return to the hub, instead. This has historically been used on desktop where a workflow is restricted (generally due to technical restrictions such as a form or purchasing process) however this is becoming more prevalent within the mobile landscape due to users being focused on one task, as well as the form factor of the device, making a global navigation more difficult to use. Hub and spoke patter is good for multi-functional tools, each with a distinct internal navigation and purpose, but care must be taken if the final users of the product want to multi-task (in which case this pattern is not the most useful one). A wireframe, also known as a page schematic or screen blueprint, is a visual guide that represents the skeletal framework of an application. The interaction designers, who have broad backgrounds in visual design, information architecture and user research, create wireframes for the purpose of arranging elements to best accomplish a particular purpose. The wireframe depicts the page layout or arrangement of the content, including interface elements and navigational systems, and how they work together. The wireframe connects the underlying conceptual structure, or information architecture, to the surface, or visual design of the application. Wireframes help establish functionality, and the relationships between different screen templates. An iterative process, creating wireframes is an effective way to make rapid prototypes of pages, while measuring the practicality of a design concept. The wireframe usually lacks typographic style, color, or graphics, since the main focus lies in functionality, behavior, and priority of content. A mockup is a prototype if it provides at least part of the functionality of a system and enables testing of a design. Mock-ups are used by designers and developers mainly to acquire feedback from users. The most common use of Mockups in software development is to create user interfaces that show the end user what the software will look like without having to build the www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 8 (14) software or the underlying functionality. Software UI mockups can range from very simple hand drawn screen layouts, through realistic bitmaps, to semi functional user interfaces developed in a software development tool. Again Figure 1 shows the wireframes for the initial mockup upon which generation 1 HMI demonstrator has been built. An interactive mockup, developed using Balsamiq tool, can be accessed and played with at http://bit.ly/1lblt4Q www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 9 (14) Figure 1: Information Achicture for the Generation 1 HMI www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 10 (14) 3. Zoom on PO 2.2-044 HMI – User experience testing User experience must be tested during the development process. User experience (UX) includes Usability as a central property but not only. These tests must be planned and reported if improvements are to be materialized. The most common factors measured in usability testing include: Effectiveness: a user's ability to successfully use an application to find information and/or accomplish tasks. Efficiency: a user's ability to quickly accomplish tasks with ease and without frustration. Satisfaction: how satisfied the user is with the application. Error frequency and severity: how often users make errors while using the system, how serious the errors are, and how users recover from the errors. Memorability: a user’s ability to remember enough to use the application effectively after his or her first use. User experience testing is being currently carried out with two different student groups at Mondragon University. One of the groups comprises students that use the common room environment in which the demonstator is installed, and are thus familiarised withe the project goals. The other group is comprosied of students that do not know about the project. This will allow to detect those elements of the HMI design that are lacking or not sufficiently usable or clear. 4. Zoom on PO 2.2-045 HMI - Software design and implementation The HMI offers three energy efficiency services to the user. 1) Show evolution of the household energy usage On the one hand, with the service of the evolution of the household energy consumption, the user will visualize the values of the total household energy consumption (in KWh), household energy cost (in Euros) and household carbon footprint (in kg of CO2).This values correspond to the last day, last week, last month and the period of the present year that the user selects. This information is displayed using a graphic that divides this data into different timeslots. If the user wants to see the household energy consumption, energy cost or the carbon footprint of the last day, this graphic will divide this value into timeslots of one hour. Instead, if the user wants to see the household energy consumption, energy cost or the carbon footprint of the last week, month or another period of time of the present year, the graphic will divide these values into timeslots suitable for those periods. Apart from this information, the user can also visualise a comparison of the household energy consumption, energy cost or carbon footprint value that has selected compared to the value of the previous same period (e.g., when displaying the energy consumption of this week, a comparison with previous week consumption will be displayed). 2) Show energy usage of household devices This service will be similar to the previous one, with the difference of the graphics that are shown in this section. In this service, the values of the household energy consumption, energy cost and www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 11 (14) carbon footprint are classified by the type of the devices which they belong to. Initially, there will be two categories: Home appliances: this category includes all home appliances which are connected to commercial metering plugs (in this generation demonstrator, socket plugs from CurrentCost). Rest of the home devices: this category will include all categories of the devices whose consumption is measured by commercial metering clamps in the electrical panel (in this generation demonstrator, electric metering clamps from CurrentCost). Furthermore, the user will also have the chance to visualize the household consumption, cost and carbon footprint of each home appliance. Ultimately, the user will can also see the categories that are included in the category “Rest of devices” and whose consumptions are measured by CurrentCost clamps. 3) Configuration of the system Finally, before the graphical interface starts operating, the user must specify what home appliances are connected to each CurrentCost socket plug. Especifically, the user must introduce the name of the home appliance and the energy class which it belongs to. 4.1. Basic energy efficiency data structures The data structure of the basic energy efficiency services includes two databases and one bundle that have been added to the embedded system emulating the HEC functionality (a commercial GuruPlug device). 4.1.1. Consumption storage database The consumption storage database is a Round Robin Database or RRD (using the RRDTool library) that receives the hourly accumulated consumptions of the different CurrentCost sensors. Thus, this database has one DataSource for each CurrentCost socket and clamp. Using a Round Robin database allows us to store the amount of data we want for a fixed time span, with a constant database size. The trick behind this kind of RRD is storing the data with variable resolution depending on the time span. For example, we can store 10 second resolution samples for the last 48 hours, plus 5 minutes resolution “samples” (averaged from the 10 second resolution samples) for the last 7 days, plus 30 minutes resolution “samples” (again averaged from the 10 second samples) for the last 2 years. To estimate the size of the database, let's say we have 10 different values to store (say 10 different energy measurements). And we get a new data sample for each of the 10 values every 6 seconds. If we want to store all the samples for the last 24 hours (i.e., have 6 seconds resolution), and also store the average value of the samples with 1 minute resolution for the last 48 hours, also the average value of the samples with 5 minutes resolution for the last 7 days, also the average value of the samples with 15 minutes resolution for the last 30 days and finally the average value of the samples with 1 hour resolution for the last 2 years, we only need to use 9,543,424 bytes (aprox. 9.5 MB). And the database will not grow in size once it is created (the database has to be created before any samples can be stored in it). www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 12 (14) In order to store the hourly accumulated consumption of each DataSource, this database is composed of two RRA (“samples”) archives: RRA1: this archive stores the consumption of the last 48 hours divided into timeslots of one hour. Thus, the consumptions are stored as they are introduced in the database. It is necessary to store the last 48 hours consumption because the user has the chance to see the last day consumption classified by one hour timeslots. If the RRA archive stored the consumption of a lower period of time, the information of the last day would be overwritten. RRA2: this archive stores the consumption of the last two years classified in timeslots of one day. In order to group the hourly values into daily ones, this archive adds 24 hourly values that are introduced in the database. In this manner, the graphical interface will be capable to show the energy consumption energy cost and carbon footprint of the periods of time that have been defined in the design of its sections. 4.1.2. System configuration database In order to complete the information stored in the Round Robin Database, it has been implemented the following SQLite database, to hold the configuration information of the system about the monitored appliances and systems. Figure 2 shows the structure of the system configuration database: Figure 2: System Configuration database structure www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 13 (14) Firstly, this database specifies which DataSource of the Round Robin database corresponds to each sensor and channel. This information is used by the CurrentCost bundle to store the energy consumptions in the Round Robin Database. On the other hand, this database contains all the information (the name and the energy class of each home appliance connected to CurrentCost sockets. Furthermore, the SQLite database specifies which Round Robin DataSource corresponds to each home appliance. Finally, this database contains the information of home devices categories which consumption is measured by CurrentCost clamps. Initially these categories are: rest of devices and the household total consumption. Furthermore, the database specifies which Round Robin6 DataSources correspond to each category. 4.2. Consumption storage bundle In order to store the energy consumption sent by CurrentCost sensors in the Round Robin database it has been developed an OSGI Java bundle, which has been added to the GuruPlug device. This GuruPlug device is running a stripped version of Debian GNU/Linux, with an OSGI Java implementation. This bundle reads the instant consumption of each CurrentCost sensor every 6 seconds and calculates the hourly accumulated consumption of each channel of each sensor. Finally, the bundle stores this value in the Round Robin database with the timeslot it belongs to. 4.3. Emulated HEC service bundle A second OSGI Java bundle has been developed to emulate the HEC service offering energy consumption data, using an Arrowhead Framework compliant implementation. It implements the service described in ”Common Design Repository\02. FOR_REVIEW\04. Design\07. Services\01. Application SD-IDD\Arrowhead (SD) Home Energy Consumption Monitoring Service (Fagor) v1.docx” document and associated template documents. This service provides energy consumption data in HP-XML format (as described in the service Sematic Profile document) 4.4. HMI bundle A third HMI OSGI Java bundle has been developed to provide the end-user HMI application service. This bundle uses the Emulated HEC service to gather the energy consumption data and transform that data in the format need to implement the final HMI service. The final HMI service is implemented as a HTML5 + CSS3 application, which guarantees that the service is available on any platform that provides an HTML5 and CSS3 compliant browser. Thus the multiplatform requirement is fulfilled. The web application uses D3.js javascript library to implement energy consumption graphics and animations, and jQuery to implement a responsive web design implementation. 5. Zoom on PO 2.2-046 HMI - Integration and system testing As stated before, the different components of the HMI have been deployed on the GuruPlug and have been tested internally. Additionally, the User Experience testing is still being carried out and if any fault or error are detected, they will be fixed as soon as feasible. From the HMI point of view, any usability or accessibility problems will considered as faults that have to be fixed. www.arrowhead.eu Document title Author Version Arrowhead D2.3 Appendix 2.2b POs related to Human Machine Interace Iñaki Arenaza (MU) 1.0 Date Contact Status 2014-06-20 iarenaza@mondragon.edu Final Page: 14 (14) 6. Revision history 6.1. Amendments No. Date Version Subject of Amendments Author 1 2014-06-16 0.1 Document Created Iñaki Arenaza (MU) 2 2014-06-20 1.0 Consolidated version Iñaki Arenaza (MU) 6.2. Quality Assurance No. 1 2 3 www.arrowhead.eu Date 2014-06-20 Version 1.0 Approved by Igor San Vicente (FEL)