Experience with Adaptive Interfaces By D. Benyon & Dianne Murray Presented by Tonya Beers Note taker-Marcia Crosland Introduction System composed of: -Many tasks -Many users (consider individual differences) -System designers(outside of the system) -Interface(the part of the system which the user comes into contact with physically, conceptually, & perceptually) Must take into consideration that "...user change their behavior from a primarily problem-solving activity to a routine skill as their understanding of a system grows."(P. 465) Important questions for designing adaptive systems: - What aspects of the user should the system adapt to? (Skill level, personality, cognitive style, color preferences, etc.) - How often should it adapt? - Should the user be in control of the adaptivity or should it be automatic? (should user just be able to override or to say, not now, but when I'm done with this project. should the user be able to choose to go back to a previous level) -How can the necessary knowledge be elicited and represented in the system?(questionnaire,#errors). - How effective will an adaptive system be? (user satisfaction/performance) Adaptive Interfaces Types of adaptivity: (p.466) - (Automatic) adaptation- system provides response to another, human considered as system, - Customization-action by one system alters state of another - Non adaptation-designed for a specific purpose - Evolution- adaptivity over time, inheritance of preferred characteristics - Adaptability-flexibility (used for many purposes), but purposes can't be changed Taxonomy of Adaptivity: - Level 1: output change results in input change - Level 2: evaluation function used to select from outputs -Level 3: ability to monitor effect of strategy on environment, and alter evaluation appropriately - Level 4: internal model of environment and evaluation; predictive capability - Level 5: evolution Components of Adaptive Interfaces User Model - system must adapt when individual characteristics are resistant to change Task model - Consider logical versus physical parts of the system - Specify task model in terms of: - Purpose and goals of system - What is does (logical concepts & functions) - How it works (above relationships) - How it's done (physical concepts, functions, & relationships) Interaction model -use system to perform task to achieve goal; changes with environment, social pressures, etc. Using the Prototype Objectives: - To establish feasibility of adaptation - To identify user characteristics appropriate to adaptation Discoveries: - Adaptivity feasible at physical level; difficult to capture at conceptual level - Some cognitive factors- working memory, seems appropriate to adaptation - Dialogue presented to individual can improve performance, suggest that adaptivity is useful - Bottlenecks in building adaptive interfaces: knowledge elicitation & representation Question 1: If the capability existed, would it be better to provide individual interfaces for each user, or to simply provide some flexibility which allows users to interact with an available interface? How accommodating should designers and systems be to individual users? How realistic is it for every individual to have his or her own preferences met? It may depend on the system, for instance a secretary may want her own interface but if you only use an application once a month, it would be easier to adapt to it. What is the cost to the company may be the question to ask. If the system is user by multiple people at the same time to interact, how can you insure that they are seeing the same thing? Perhaps you should rephrase the question. If I use the system every day then I can adapt. If not, I need it to adapt. If you have your own individual tool, you can customize it. You could have a system that has 5 or 6 flavors, then for experts have more serious adaption. If you have a group of systems, CSCW, to work together, how can you talk if his screen looks different. You must have a fallback position for interface. If what you see is only related to what I see, you cannot compare it. Question 2: What aspects of the user should the system adapt to? Should we be putting a lot of effort into such things as personality and cognitive factors, or should the emphasis be on skill level? I think that for long term use, the strong points of adaptivity consider ergonomic effects. These have been under addressed. You must have a strategy to prevent injuries such as carpal tunnel syndrome. You could have health & safety built into adaptation. Perhaps, you could help someone to slow down. Production lines force breaks. What if you are working on a paper & have a thought and then the interface changes? That could be bothersome. The system could just change the input, to voice recognition for instance. But, what if you were near the end of the paper? You could be given a 10 minute warning. Many people document systems and do not need to be interrupted. What about cognitive and personality factors? How do these factors influence performance? If it is a fixed system, it may not be an issue. How far are you willing to go to get the information? Is it a child in kindergarten or a computer scientist? It is easier to customize system to skill level. To find out cognitive factors to adapt, could ask are you "word centered or space oriented"? Who knows what this means? Maybe just make system fixed, not adaptable. Is there no good reason for effort to develop adaptive system? People are good at adapting to the environment. Look at the evolution of systems over the last 20 years. There is not a good, well- defined domain of systems with canned-good interfaces that are rigid. The choices are not great. Perhaps if you had a good fixed system then maybe this would be good enough. What if the new system makes things worse? Form based vs graphical interfaces, you get more possibilities to get things to run. When you can choose many colors, then system color will be degraded. But most people will readapt even if system color choice is wrong. What are your hardware and software constraints? Ask if you could have the ideal, good software language & new unlimited hardware, what would you design then? Maybe we should go beyond what is available. Question 3: Adaptivity and customization seem to be considered as two separate entities. Should they be considered more in conjunction with each other? Adaptable vs adaptive systems take the burden off the user model. Just deal with the certainties. Customizations- good information to user model. You could have group customizations, something is changes then the system could offer similar solutions to others. Well, if you customize something for yourself, it's alright. But you don't want to affect everyone. Interface customization is tightly coupled to user acceptance. Worldwide web, if I customize things, it does not look good. It makes things worse. Make hot lists then save everything. Emacs has folders. You may have a previous folder, but now I don't know where the folder is. I am an expert. How do people function who are not experts? Paper offices can do the same thing. You must make sure that the interface remain controllable. What is worse, the dejection at the end when you changed too many things, when you can't change something, or it won't allow it? How much control do you want? I want all control. Some don't want control or the power to change, so just have a rigid interface for them. Question 4: Benyon and Murray say that using something other than the preferred working style may require a significant effort by the human, or may make things difficult to learn. Isn't it a positive thing for people to be able to do things in more than one way? People have different cognitive styles, Some people never figure things out. Others bang in code until they find the answer they are looking for. You can learn from mistakes sometimes. In Emacs if you hit the wrong key, you lose all the information which could be a 2-4 page letter. You should not let people get frustrated. They will throw away the machine. Some people can only do things one way. It is a good thing to know how to do things differently. If you want to change the macros at an unfamiliar computer, it would be okay if you have a default to resort to. You could take your interface "soup card" and just slide it into the computer. It has your user model and technically this is now possible. What should be modeled? Do you need a standard? If Microsoft decides you will have a "user model card", you will have one. Question 5: A hierarchy of stereotypes is mentioned on p. 468. How functional do you think this would be?(See Kay papers). TIME OUT.