=Paper=
{{Paper
|id=None
|storemode=property
|title=Building Supportive Multimodal User Interfaces
|pdfUrl=https://ceur-ws.org/Vol-828/SUI_2011_paper2.pdf
|volume=Vol-828
}}
==Building Supportive Multimodal User Interfaces==
Building Supportive Multimodal User Interfaces José Coelho Carlos Duarte LaSIGE, University of Lisbon LaSIGE, University of Lisbon Campo Grande Edifício C6 Piso 3 1749-016 Campo Grande Edifício C6 Piso 3 1749-016 Lisboa, Portugal Lisboa, Portugal +351 21 750 05 32 +351 21 750 05 19 jcoelho@lasige.di.fc.ul.pt cad@di.fc.ul.pt ABSTRACT reality in GUIDE. Additionally, pointing interaction using a In this paper, we describe and discuss solutions capable of video based gesture tracking sensor is helped by cursor helping in the development of supportive multimodal user adaptation techniques which makes easier the selection of interfaces. Based on the specifications and design of content on the screen, also helping in supporting European Union funded project GUIDE (Gentle User interaction. Interfaces for Elderly People), we show how it is possible This diversity of devices and modalities of interaction, will to use several modalities of interaction as well as adapting offer users the flexibility to use whatever medium they find UIs, as a mean of providing users with ideal interaction in more appropriate given a specific context, at the same time every application, and preventing or resolving errors as they benefit from visual (text, images, video and resulting from missed or wrong user-device inputs. animations), audio (speech, and other sounds) and haptic Keywords feedback (vibration). These multimodal capabilities are in Supportive multimodal user interfaces, adaptation, GUIDE, fact, the first step to a supportive interaction. UI translation. Considering the variety of differences present in elderly INTRODUCTION users and their preferences when using a system like this, In this paper we are going to introduce some mechanisms GUIDE will cluster it’s users in different User Profiles present in the ongoing GUIDE project and which are (UPs) - transparent to every user - where data concerning intended to help developers in the implementation of preferences and constraints of interaction are saved. By supportive user interfaces. making use of each UP, GUIDE will try to adapt User GUIDE Project Interface (UI) elements to fit every user. GUIDEi aims to offer multimodal interaction to elderly In addition to providing supportive use, GUIDE framework (and disabled) users with the goal of simplifying interaction supports UI adaptation for every application running. with a television (TV) and set top box (STB) based system. Moreover it aims at providing this support requesting By pointing to the screen, making gestures, issuing speech reduced extra effort from developers. Since it is not commands, interacting with a Tablet PC, using the remote expectable to have developers providing different versions control, interacting with an Avatar or simply making use of of applications for users with different characteristics user intuition for combined interaction with several of these GUIDE will develop tools to “translate” a “standard” UI modalities, the GUIDE framework makes fitting interaction into tailored UIs for every type of user. The extra effort to users’ characteristics and preferences, possible and also asked of developers consists in identifying each UI for impaired users to interact with the TV. interactive component using WAI-ARIA ii semantic tags. In what concerns supportive interaction, the use of Avatars With that information, GUIDE will abstract UI is explored with the goal of offering users, a persona with characteristics, and save them in an Application Model whom they can relate to, while interacting with the system. (AM) (one for every application), making adaptation of UI The Avatar will work like someone who explains to users components possible at run-time. the interaction steps to be done in order to execute tasks, Problem Description and will help them getting out of “trouble” after an error Nowadays, most UIs lack capability in guiding users to an has been generated while using the system. More, the adequate and efficient interaction [1], when ideally “the UI existence of generic, as well as content-specific, speech must guide the user in accomplishing a task the application commands as a possibility of interaction makes intuition a was designed for” [4] by providing help and appropriate feedback about features, tasks, modalities and contexts of interaction. If a user is not capable of perceiving an LEAVE BLANK THE LAST 2.5 cm (1”) OF THE LEFT application and reacting to errors while interacting, more COLUMN ON THE FIRST PAGE FOR THE sooner than later he or she is going to abandon its use, and COPYRIGHT NOTICE. adopt a more usable application. Unsatisfied users are going to prefer a better supportive interface which can fit and adapt to his or her characteristics. If this is true for the perform different gestures, informing the user of the set of so called typical users, for elderly users this is even more speech commands he or she can issue for achieving typical relevant. Because these users are usually characterized by tasks, and providing instructions about how to interact with having one or multiple impairments (example: hearing other components of the system like the Avatar engine, the difficulties, visual incapacity, motor constraints, etc.), Table PC, etc.. In all this process the user has an active adequate interaction is only possible when the system is role, learning by experimentation of every interaction capable of adapting its UI components and modalities of modality and device. interaction to these users’ specific characteristics. How to know your users? Therefore, in the development of supportive multimodal For the users to understand an interface and know how to user interfaces for elderly or impaired users, several interact with it, it really helps that the interface knows the questions need to be answered so that an appropriate user in advance. Only knowing beforehand what are the application and interaction can be implemented: users preferred ways of interacting as well as the users’ impairments and difficulties makes it possible to build or How to let your users know how to interact? adapt the interface for appropriate and efficient user How to know your users? interaction. For example, if the system doesn’t have enough How to help users after a mistake has been information about the user to know that he or she is blind identified? and presents a visual interface to him or her, no interaction How to present content and interaction will occur at all, and the system will not be used. In a possibilities in the most suitable way to the users? second example, if the user prefers to interact using In the remainder of this paper, we describe the approaches pointing and the system presents a simple visual interface followed in GUIDE to try to offer solutions to the questions that only receives remote control input, he or she will be identified above, by supporting multimodal interaction and less motivated to use and adopt that system (and a higher UI adaptation for elderly users when using a TV and STB probability of making errors during interaction exists). based system. Special interest also goes to the way this GUIDE will try to collect information about its users before framework provides every application with the possibility they get to interact with any of the system’s applications. of adapting to different contexts of interaction, and to the To this end, the UIA will also be used for collecting data presentation of ideas on how it could be possible for these about users. Every time a new user starts using the system, types of users to personalize UI presentation and interaction the UIA is presented on the screen combined with audio while preserving usability. output (covering possible situations of severe audio or ANSWERING THE QUESTIONS visual impairments) and the user is asked to perform a How to let your users know how to interact? series of tasks concerning his or her capabilities. In a first For an efficient interaction to be a reality, users need to instance, the user is “registered” in the application using have knowledge about the available ways for performing name, and facial and vocal characteristics, so that from that each task. They have to know to the full extent all the point on, every time he or she wants to use the system the possibilities and modalities when confronted with different correspondent UP can be loaded based on these properties. difficulties and contexts of interactions. Only by Next, the application tries to understand if the user has understanding how they can interact, they can make the some visual impairment by presenting text on the screen most of the interface being presented and understand how and asking for user feedback (figure 1) (e.g. presenting a to use all the features provided by the application. For sentence and expecting for user to adjust the font until he example, if a visual interface with a menu is presented on feels comfortable reading, and then asking user to read the the screen, and the user doesn’t know he or she can speak sentence out loud to make sure he is in fact seeing it well). the name of a specific button for making a selection, a lot If the user passes this test, different configurations of text of time can be lost by performing the task using alternative font and buttons, as well as several background and text modalities (the only ones the user has knowledge about) colors, are tested out to understand his or her preferences like selecting the button by pressing remote control keys in regarding visual interfaces. If the user fails the test, the text a certain sequence or by pointing to the screen with the font size is raised in a screen-by-screen basis until there is remote control. the understanding of how severe is the user visual GUIDE will try to instruct the users before they start impairment. interacting with any of the framework applications. For this, it will use an application called the User Initialization Application (UIA) to give the user a clear understanding of the possible ways of interaction. Users will be guided through the experimentation of the various modalities of interaction available in the framework, like pointing to the screen, issuing speech commands, pressing remote control buttons, etc.. For this purpose, the UIA will present on the screen a tutorial with scripted animations of how to users will also lose interest, and will not want to use the system. User information can be collected explicitly with the UIA, but also implicitly through run-time analysis of the user interaction logs. After the user has gone through all the UIA process, he or she starts interacting with different applications. Information concerning every task performed and modality used is saved by the system in logs. A rule- based inference motor will analyze this data and makes conclusions about user preferences and difficulties (for example, if the user makes consecutive errors when pointing to the screen for selection of a menu button, the Figure 1: UIA prototype. Example of visual test where the system concludes he or she has difficulties using that user has to read out loud the text presented on the screen, modality and tries to increase the size of the buttons before and increase or decrease the text size to his or her suggesting a change in the modality of interaction). These preferences. conclusions enrich the data collected in the first process. For every other modality of interaction, similar tests are All data collected by the UIA and run-time processes are presented to the user, and data about user impairments and saved in a user model and used to adapt every application preferences is collected. For example, the user is asked to running on the framework [2]. perform different gestures, or asked to point to different How to help users after a mistake has been identified? locations on the screen to understand motor capabilities, to A supportive UI is one which tries to be aware at all times repeat out loud what he heard to understand hearing if a user is lost in the interaction, or if he or she is having capabilities (figure 2 top), and asked to play memory and too many interaction errors to be enjoying an efficient use interpretation “games” with the goal of testing his or her of the application. Accordingly, one of the biggest cognitive capabilities (figure 2 bottom). challenges when guiding the user in the interaction, it’s how to identify or perceive that the he or she is lost and when is the application or interaction generating errors. Only after identifying that, the application can then try to help the user and suggest alternative ways to achieve a desired goal. This is, however, a difficult task because at run-time a lot of dimensions are involved. If the user mistakes or misinterprets the interface structure and meaning, it can by itself result in interaction mistakes. There are also a lot of possible errors caused by changes in the context of the interaction, like the physical and social aspects of the environment. For example, if a user is interacting using speech input and the noise in the room increases, the system can fail to interpret the command issued because of the background noise, or a wrong command can be recognized instead (this can also happen when another person is speaking to the user at the same time of interaction). Interaction mistakes will be identified in GUIDE by analyzing the interaction in run-time and by watching for unrecognized inputs. Because in this framework users can interact with UIs through different modalities (and devices), in a singular way or in a combined fashion, the system has to be alert for many different errors like: Unrecognized commands issued when speech Figure 2: UIA prototype. Examples of audio (top) and input is performed. cognitive (bottom) tests presented to GUIDE users. Selection of meaningless coordinates (coordinates From the results obtained in GUIDE user trials and from not related with any UI interactive content) when discussions with developers, we also know to be extremely pointing with finger. important that UIA application must be presented to users Unrecognized gestures performed by the user. in form of a simple and quick tutorial, so that elderly don’t Errors resulting from remote control commands. feel like they are being evaluated. If UIA takes too long, Repeated errors when interacting with each interaction and showing how to use them when a change in device or modality (consecutive errors could the context of interaction happens, showing information suggest a switching of modalities is required). related with the task they are performing every time there Long periods with no selection registered but with are errors in the recognition of modalities or long pauses in screen navigation occurring (may suggest that the the interaction (for example when the user is pointing and user is lost, or doesn’t know what to do). trying to select an area on the screen where there are no Errors resulting from incomplete fusion of input interactive UI items, show him or her where the buttons are modalities. by highlighting them). However, GUIDE main focus is Contradictory instructions from simultaneous helping users proceed with the interaction in an alternative input of different modalities. way even when it’s not possible to detect the cause of the No input received after system started a task error. requiring user feedback. Finally, every time an error occurs, the Avatar engine will Additionally, every time a change in context of interaction also be called for a more “personal” interaction between the occurs, the system has to be alert for periods of inactivity or system and the user (meaning, the Avatar presents the for unexpected inputs, and using the interaction logs the explanation of the error to the user, shows how changing system tries to prevent some errors from happening when modalities can solve the problem or just points the user to there is clear understanding of what are the causes. using an alternative modality when an error arises). In this way, it’s almost like together they can find a solution to the A supportive UI has to be capable of helping the users problem or “find a way out” of the mistake. every time there is a mistake in the interaction [4]. However, in modern applications help is a capacity How to present content and interaction possibilities in the most suitable way to the users? “created ad-hoc” [4] meaning it was previously generated The main problem with developing interfaces for elderly or and it does not cover run-time situations not originally disabled users is the great diversity existing in terms of user foreseen by the designers. For this reason, UI design does characteristics and user impairments. It is common for an not cover every situation where a user needs help for elderly user to have more than one impairment (for responding to UI or interaction difficulties. Therefore example, poor hearing and poor vision), as it is usual to helping the user is not something easy to do in a predefined observe a lot of differences between each of these users. manner before the user starts using the system, and requires This means that what is good for one user can also, and at some run-time “intelligence” from the supportive system or the same time, be inappropriate for several others. For interface. For example, if a user is using speech input for example, an elderly user with hearing difficulties can menu navigation and his or her dog enters the room and interact with a visual interface without any problem, but starts barking, the system will receive a series of one with severe visual impairments cannot, and need an consecutive unrecognized inputs and the user will be in a interface with audio input and output for efficient situation that was not taken care off in the design process, interaction. However it is not expectable that developers which can result in aborting the interaction with the will implement different versions of the same application, application. so the framework has to ensure the ways of interaction are As it is strongly based on multimodal interaction, one of adapted to the user characteristics. GUIDE’s ways of helping users after a mistake has been GUIDE will offer elderly users adaptation mechanisms identified will rely on suggesting to the user a change in the capable of adapting UI elements to each user modality of interaction. This change is however, based on characteristics. After the user has gone through the UIA each user preferences and characteristics firstly identified and the system has collected enough information, the user by the UIA and logs of interaction, as well as it is based in is assigned to one UP [1]. Using the information about each the context of interaction and task being performed at that user, GUIDE adapts each UI to fit the UP interaction moment[2]. So, as the user has already “ranked” modalities patterns. This is only possible because GUIDE asks for of interaction by preference (and based on constraints), extra information in each application development, so every time an error results from repeated errors interacting every UI is implemented using HTML, JavaScript, and with one single modality, another is suggested to the user, CSS languages to what the developers add WAI-ARIA ii who accepts it (or rejects it) in order to continue the annotations providing semantic information about UI interaction. This will also be the procedure every time a components. In this way, for every application, GUIDE change in the context of interaction happens [2] (for will derive and keep an Application Model (AM), which is example, when the dog starts barking, the system won’t nothing more than an abstract interface that saves recognize the barks as speech commands – rather, barks information about the structure of the UI and identifies will be interpreted as background noise - and will suggest each UI element present. This facilitates adaptation to to the user continuing interacting using pointing). different interaction contexts as well as to different types of Another way of helping users is to present to them relevant users (users that belong to different UPs), because every information related with the context of the error they have time a user calls for an application, the system uses its just made, like presenting alternative modalities of application model and considering the interaction context and user characteristics, modifies UI elements not CONCLUSIONS appropriate for the user. For instance, when a user with For the development of supportive multimodal user visual impairments calls for an application formed by a interfaces to be a reality, we have to make sure that the visual menu and some text content, GUIDE consults its user’s characteristics are known to the application. As well, AM and “knowing” the user characteristics as well as the application has to be capable of instructing the users “observing” no change in the interaction context, loads the about all the ways of interacting with it, and make sure that UI increasing the size of the buttons originally defined and adaption and UI help is presented to users in a personalized uses audio and visual output modalities. fashion. GUIDEs UIA, multimodal interaction and UI In what concerns the developers control over this UI translation and adaption, were presented in this paper as possible solutions which can help in the deployment of adaptation, GUIDE will adopt one of three adaptation supportive user applications without asking much more schemes depending on the level of freedom given by the additional effort from the developers. developer to change the application original properties (CSS and HTML): In “Augmentation”, GUIDE won’t be able to change any UI components, only making some REFERENCES overlay of output modalities (for example, adding audio 1. Biswas, P., Langdon, P.: Towards an inclusive world – output to a visual interface); in “Adjustment” GUIDE has a simulation tool to design interactive electronic permission to adjust UI component parameters as well as systems for elderly and disabled users. Proc. SRII, also making “augmentation” (for example, adding audio 2011. output to a visual interface and also changing UI colors for 2. Coelho, J., Duarte, C.: The Contribution of Multimodal a higher-contrast); and finally in “Replacement” the Adaptation Techniques to the GUIDE Interface. In: developer gives total control to GUIDE, making possible Stephanidis, C. (ed.): Universal Access in HCI, Part I, the substitution of UI components as well as HCII 2011, LNCS 6765, pp. 337-346. Springer, “augmentation” and “adjustment” (for example, adding or Heidelberg (2011) removing buttons, as well as adjusting colors and adding 3. Garcia Frey, A., Calvary, G. and Dupuy-Chessa, audio output to a visual interface). S. Xplain: an editor for building self-explanatory user Additionally, all interfaces must be capable of listening for interfaces by model-driven engineering. In Proc. of the user commands at any time of the interaction so that 2nd Int. Symp. on Engineering Interactive Computing modifications to the interaction and presentation can be Systems: EICS 2010, pp 41-46, ACM. Berlin, Germany, done at run-time, if the user is not satisfied with the current June 19-23, 2010. configuration. For example, if a user says “bigger buttons” 4. Myers, B. A., Weitzman, A. J. Ko., and Chau, D. H.. or makes a gesture to increase the volume, the interface Answering why and why not questions in user must adapt and reflect these changes (by reloading the UI interfaces, in CHI’06: Proceedings of the SIGCHI or modifying output parameters). conference on Human Factors in computing systems, pages 397-406, New York, NY, USA, 2006. ACM i GUIDE– Gentle User Interfaces for Elderly People. http://www.guide-project.eu/. ii http://www.w3.org/WAI/intro/aria