Keywords

1 Introduction

Research on information technologies has shown in the last twenty years a very fast growth with an increase of attention to the development of solution able to satisfy people with different characteristics and needs. At the present time, one of the main research topics aims at the definition of technologies and tools in accordance to the “design for all” approach. The term Design for All, or Universal Design in Europe [1], is defined as “The design of products and environments to be usable by all people, to the greatest extent possible, without the need for adaptation or specialized design. Hence the extended user concept, which seeks to consider the different characteristics and individual experiences, including the multiplicity of physical, motor, cognitive and contextual, in order to find (as possible) fits-all solutions. Design according to D4ALL means satisfy the seven fundamental principles of universal design. These seven principles may be applied to evaluate existing projects, guide the design process and educate both designers and consumers about the characteristics of more user friendly products and environments. These principles are: Equitable Use: The design is useful and marketable to people with diverse abilities; Flexibility in Use: The design accommodates a wide range of individual preferences and abilities; Simple and Intuitive Use: Use of the design is easy to understand, regardless of the user’s experience, knowledge, language skills, or current concentration level; Perceptible Information: The design communicates necessary information effectively to the user, regardless of ambient conditions or the user’s sensory abilities; Tolerance for Error: The design minimizes hazards and the adverse consequences of accidental or unintended actions; Low Physical Effort: The design can be used efficiently and comfortably with a minimum of fatigue; Size and Space for Approach and Use: Appropriate size and space is provided for approach, reach, manipulation, and use regardless of user’s body size, posture, or mobility. In an inclusive and accessible smart environments context the implementation of the “for all” method presents several critical issues. In fact, the universal design represents a difficult challenge for the designer because it depends on the complexity of human intentions in a particular time and place.

A first criticality is represented by the complexity of the users, in terms of physical, cognitive, socio-cultural and attitudinal diversity. The second criticality is represented by the environment complexity; it includes the environment/device typology, context definition and the definition of functional requirements of the environment. Finally, the third criticality, is represented by the complexity of environment interaction.

Therefore, the use of a “design for all” method, today, involves the choice of guidelines that do not effectively support the definition of the design solutions. For this reason, we propose a new approach that aims to support the design of inclusive environments by improving the user-environment interaction. This can be achieved developing an appropriate system that works on three levels: The first level is the technological adaptation that consists of a system custom design into the initial setup which can continuously monitor the user’s behavior and mode. The second level are the utilities resulting from the correspondence between the activities performed by the user. This level consists in a study of the proposed service in terms of satisfaction of needs and user’s expectations, as well as the technical implementation of specific functions. The last level is the simple and pleasant usability that is based on User-Centered design to create usable products and services.

2 Research Background

Several studies show that exists a certain category of users (i.e. elderly, disabled, user with some limitation) that has a greater number of usability problems than “average” user. However, improving the usability of a program or interface enhances users’ efficiency, whether young or old [2]. Requirements and recommendations for human-system interaction have been introduced also by International Organization for Standardization with the ISO 9241-210:2010 [3]. These methods facilitate the design of more effective interfaces better adapted to user’s’ specifications, but often the outcomes are multiple interfaces for the different types of users. Design for All, as it is called Universal Design in Europe [1], has been introduced in the design of the interfaces as a method by which designers provide their products to be used by the widest possible audience, independently of their age or abilities [4]. It refers to the conscious and systematic work to apply the “Principles of Universal Design” [5] and the related methods and tools [6], in order to develop products and services which are accessible and usable by many people as reasonably possible, avoiding thus the need for later adaptations, or specialized design. Realize successful universal projects is a very big challenge: it means designing products that while having “special functions” result equal or more attractive and usable than common products, so that they are desirable for the average user.

To support the design of products able to accommodate users’ variability, the approach known as Ability-based Design has been developed in the context of ICT products [7]. Unlike physical products, computer technology can observe users’ performance, model it, and use those models to predict future performance, adapting or making suggestions for adaptations or customization, if automatic adaptation is unwarranted or undesirable [8]. Ability-based design promotes the development of personalized user interfaces that adapt themselves or can be easily adapted by the human user. Langley [9] defines an Adaptable User Interfaces (AdUIs) as “a software artefact that improves its ability to interact with a user by constructing a user model based on partial experience with that user”. They are able to alter aspects of their structure or functionality, in order to accommodate different user needs and their changes over time [10]. To achieve this, they have to identify the conditions that necessitate adaptation, and therefore, select and actualize an appropriate course of action. Accordingly, AUIs are able to modify itself at runtime, according to an adaptation state [11].

They can modify all the characteristics, but generally, adaptation is implemented to one of the interface subsystems such as information lay-out (i.e. spatial arrangement, color scheme, image, or text presentation, information content), human-computer dialogue language, and navigation support. According with the nature of adaptation that they provide, adaptive systems are classified into adaptive and adaptable [12]. Adaptable user interfaces are customized directly by the user (i.e. some internet portals in which users can modify the size of characters), while adaptive user interfaces are automatically adapted by the system without direct commands. Adaptive user interfaces are especially interesting for people whose physical or cognitive performance changes over short periods (for instance throughout the day), but however, it should be mentioned that currently there exists only some systems (i.e. health applications) that support this functionality [13].

3 The Design Approach

Designing an adaptive user interface means to define an interactive system able to manage its knowledge about the user (i.e., who is using the system) and the environment (i.e., the context in which the user-system interaction takes place), in order to provide information content, functions, and interaction modalities, in the most adequate way, according to different users and context of use. Therefore, the requirement of a systematic process (flow) which may include alternative decisions making procedures able to accommodate the resulting diversity of individual users, is necessary. To achieve this objective, it is necessary to adopt a design approach which supports the definition of polymorphic design solution, for each system functionalities, so that it allows the definition of how the system should support different users in different contexts of use.

For this purpose, in order to develop our smart adaptive system, a new design approach to adaptive interface has been applied. In particular, the Design of an Adaptive Interface requires to make three fundamental choices:

  1. 1.

    The first level is the choice of the User targets, of the Interface Role and of the Environment Definition. To understand the end-user’s capabilities and needs (i.e., user task that need to be supported by the system) and identify the main functionality that the system should have, the Personas method is used [14]. The Personas method is a plain and effective tool useful for designers and developers allowing to gather the strengths and objectives of the user profile. For each profile background, needs and behavior were identified. The interface role and the environment definition are represented by the context of use and by the environment typology and characteristics.

  2. 2.

    The second level consists in the definition of the adaptation goals and rule, the definition of the interaction level and the definition of adaptation variable. The Adaptation goals and rules are intended for those particular objectives we want to pursue due to the process of adaptation (e.g. in order to minimize the number of errors, optimize efficiency and effectiveness, in accordance with the type of application and user for which the final system is intended). Finally, the interfaces adaptation should be activated by several factors, in particular it is necessary to define the “adaptation variables” that consist in the definition of context of use, goal to reach and user expertise.

  3. 3.

    The third level consists in the choice of the adaptation mechanism to use. There are several methods to achieve this level; the most used are the fuzzy logic, the Artificial Neural Network and the Bayesian Networks.

Once defined the three fundamental levels, a new methodology for human-machine interaction and for user interfaces, according to the “design for all” paradigms have been developed. The adaptation system is based on the knowledge provided by three information models: the User Model, the Environment Model (or Domain Model) and the Interaction Model. The system structure allows to:

  • Recognize the user;

  • Store user needs and preferences;

  • Extract information from the human-computer interaction;

  • Provide a logic level and task correct interpretation;

  • Make more accessible interaction with the environment;

  • Define types of events to be triggered (Fig. 1).

    Fig. 1
    figure 1

    The adaptation system: user model, the environment model and the interaction model

4 The Proposed Adaptive System

The global architecture is based on three functional modules, continuously connected each other’s: the Database Management System (DBMS), the Application Core and the User Interface (UI). The DBMS provides to store all information about user profile and context data, the Core can easily manage the application routine and apply the adaptive rules implemented by Adaptive Engine. Finally, the user interface allows users to interact with the application functionalities and can be reconfigured according to Core Directives. In Fig. 2 the overall architecture is shown.

Fig. 2
figure 2

Proposed adaptive system

4.1 Database

The Database Management System (DBMS) is designed to achieve a large set of structured data inputs and processes the amount of data requested by numerous users; the information is structured in four semantic areas. (1) User Features Profile (i.e. the User Profile such as personal data and health-related information). This data helps to define an accurate profile decode user’s abilities and functionalities according to ICF Model [7]. (2) User Use Profile, where all the user interactions are stored and his/her overall interaction history can be reconstructed. It includes all the context information defined in the User Model. (3) Log Adaptation Actions, that is the collection of all the adaptations provided by the Adaptive Engine during the application usage. Finally, (4) Context Data, where all data related to the context of use are stored (devices status, sensor measurements, time info).

4.2 Application Core

The brain of the application is represented by the core layer that provides to manage the application logic. Besides managing the application routine activities, in the application core the adaptive engine is developed, aimed to make adaptive the proposed system.

The Adaptive Engine represents overall adaptive system pivot: it is composed of an adaptive mechanisms and a monitoring system of changes. Adaptivity consists of change mechanisms which include all dynamic features, such as preferences based on history of user’s interaction, information contents, icons, layout, etc. In particular, the adaptive mechanism is based on the Bayesian Belief Network (BBN). Nowadays, Bayesian networks are one of the most comprehensive tools and more consistent for the acquisition, representation and exploitation of knowledge in conditions of uncertainty. A BBN is a probabilistic graphical model that represents a set of stochastic variables with their conditional dependencies through use of a directed graph; each node in the graph represents a random variable, while the edges between the nodes represent probabilistic dependencies among the corresponding random variable.

In order to achieve a proper adaptation action, a Decision Making Algorithm (DMA) is developed [15]. After mapping the net with the UI information and exploiting the power of the Bayesian Network, that allow to obtain inferences about the most probable state from its nodes, the algorithm defines a threshold in order to trigger the adaptation event of the corresponding node. The adaptation routine provides to manage two different information: a real time upgrading of the correlate information to the user interaction, and a storage of complex user interaction flow to track his/her interaction history.

In this way, the system can dynamically adapt the UI configuration and, at the same time, keep track of the user behavior and interface usage. The interaction with the interface items can infer deterministic finding on the mapped node of the net; this event triggers the updating routine of the stochastic distribution of the children nodes. The DMA can be performed and if any probe node returns a dominant state, the corresponding information on interface is automatically updated. Then, when a complete task is completed (i.e. oven setting), the overall findings are stored on database to track the interaction history of the user.

The described mechanism forms the adaptive engine able to define a detailed user use profile and trigger the proper actions in order to minimize the effort and to optimize efficiency in user’s interaction.

4.3 User Interface

The User Interface is the module between the system and the end user and, it enables the control of the smart home devices. It has been designed to support the user in the main domestic tasks: the meal preparation, interaction with the appliances and the home environment control. The UI are managed by the Application Core that controls the adaptivity of interface. The adaptation mechanism can operate both (a) on the graphic features and (b) on the contents of the interface. The graphic features (e.g. colour, text and buttons dimension, image size, etc.,) are uniquely related to a disorder (i.e. colour blindness, visual disturbances, motor problem) and they are being designed on the loss of body functionalities with the aid of existing guidelines.

The contents concern the quantity and type of information that the interface gives to the user and they are designed on the abilities of users. In particular, with the aim to support the greater number of end user into management of a smart home, two different modes of information presentation were realized: (I) a Normal Setting for users without cognitive dysfunction and characterized by a good technology attitude and (II) a Wizard Setting for users who have not familiarity with technology and/or have some cognitive dysfunction. Starting from the basis of the standards, guidelines and success criteria contained in the Recommendation of the World Wide Web Consortium [16], the Normal mode is designed to optimize the user interaction. Instead, the Wizard mode is designed in order to simplify the tasks: starting from the Normal mode, the UI has been implemented by the decomposition of the task in more simple and basic actions. In this way, the user must not manage and understand all the information of the appliance or a recipe’s procedure. In this case, the system tries to make up for the lack of some user ability and it help him/her to accomplish the activity of daily living independently.

The adaptive system can act during the run time user interaction: if the user chooses, for example, an oven program and the probability of all child nodes of BBN (e.g. temperature, duration, etc.,) exceeds the threshold value, the system automatically sets the most probable values for that oven program, enhancing the interaction efficiency.

5 Conclusion

This paper is the description of an innovative approach to support the design of inclusive environments to improve the user- interaction.

This approach is intended to help the designer to plan environments for smart homes suitable to the requirements of different user groups and contexts of use. It is based on an adaptive system which studies the information provided by three models: the User Model, the Environment Model (or Domain Model) and the Interaction Model. Through this information, the rules and the adaptation mechanisms of the system are established according to the user’s skills, expertise and disabilities.

The proposed design approach has been applied to a smart kitchen environment aiming to support users with several impairments (visual, cognitive, motor related) in performing cooking tasks. A decision making algorithm is proposed to manage adaptive behaviour of smart adaptive systems according to the output of the User Model, based on BBN. The validity of the decision making algorithm has been tested through simulation of real users’ case scenarios. The results highlight that the proposed decision making algorithm is able to readapt the interface in a reliable and efficient manner [15].

The results of a qualitative experimentation with final users has shown that the proposed interface is suitable for “fragile” users such as elderly with mild to moderate dementia and adult persona with moderate retinopathy and rheumatoid arthritis. In general, it emerged that the proposed adaptive system is able to improve the usability of household appliances, such as oven and dishwasher, as regards the programming and controlling operations. At the same time, it shows how the introduction of smart technologies in the kitchen environment can support users also with unusual attitude to technology [17]. However, the work is not ultimate: the proposed adaptive system has to be evaluated with a greater number of users in order to verify this first qualitative evaluation.

Moreover, it will be necessary to carry out a field study to assess the ability of adaptable features of interface to improve the system usability, as to assess the effectiveness of system to enhance the user’s’ skills related to cooking activities and to improve users’ independent living.