Friday 30 March 2007

HCI Extended - Christos Yiacoumis - Context Aware Systems

Id:544851

Context-Aware Systems

In the past, hardware and software were considered as units of processing data which were provided by the user in order to produce some outcome. However, as users become more aware and familiar with systems, their expectations rise and they don’t just want a system that produces some sort of outcome on their behalf but demand that this adjusts to user preferences and habits as well. This need calls for systems that carry some sort of intelligence and know how to manipulate context in such a way that they help users on carrying out their tasks, thus a need for context-aware systems.

Context is defined as any information that can be used to characterize the situation of entities that are considered relevant to the interaction between a user and an application[1].Context-aware systems make use of technologies such as sensors with the help of heuristics and other semi-intelligent means[2] to predict what the user wants. A stated goal of context-aware systems is to reduce the overhead when it comes down in executing some tasks. If the system can create and provide the user with shortcuts in doing things (i.e. writing txt messages on mobiles) that are of great importance then the system learns from its user. Situational awareness can be used then to reduce the amount of input the user is required to supply the system with.
Every person has its own way of doing things. We follow different patterns to achieve a goal. It is not the possible to have one system that fully satisfies each user individually unless this system senses or remembers information about the user, records and ‘understands’ the emotional and physical situation in order to reduce effort.

Design of context-aware systems is thus based on sensing and modeling situations and recognizing rules of engagement. These systems are driven by models of the task, user and system. User model consists of information concerning the background of the user in doing tasks. The user model has two important elements that need to be fulfilled: user comfort and user congruency. The first one affects usage while the latter has to do with the compatibility between a user’s preference and the designed artifact[1][2].The system model refers to the system’s ability to carry out a task according to the capabilities it consists.
In context-aware systems we have the software but also the hardware side to consider. In the software side agents are used to monitor and understand the intentions of the user in order to improve the manipulation of the system. However, this may sometimes lead to inconsistencies between what the user wants and what the system understands. In other cases the users adopt strategies in order to protect themselves against errors[5]

Dix,Finlay,Abowd,Beale suggest that context-aware applications should follow the principles of appropriate intelligence[3]:
1. Be right as often as possible and useful when acting on these correct predictions
2. Do not cause inordinate problems in the event of an action resulting from a wrong prediction.

On the hardware side, the improvements made in sensor devices reduce the computation needed. However, a big challenge is how these hardware devices filter out the data that are unnecessary and process the ones that are worth for each task.
In designing such systems an important factor that needs to be considered is the aesthetics of the system. Aesthetics affect user’s perception of the system and is as important as the system’s ability to carry out a task.

As it was mentioned earlier the context data need to be processed using some sort of intelligent way. This is referred to as context-reasoning. In the “Reasoning in Context-Aware Systems” four perspectives of approaching the context-reasoning problem are suggested[4]. These are:

a) low-level approach
b)
application view approach
c)
context monitoring
d)
model monitoring

Each of these is explained in more detail in the paper mentioned before.

Conclusion

This brief essay has looked at some of the basic concepts of Context-Aware Systems. The importance of such systems is high and a lot of research is carried out in developing systems that can help users accomplish their tasks but also learn from the user. The systems must be designed in such a way that they fit in users’preferences and habits. The ultimate goal of these systems should be to reduce the communication barriers between user and system and in no way interfere or obstruct users from executing their tasks.

References

[1]Context-aware design and interaction in computer systems by T. Selker and W. Burleson - http://www.research.ibm.com/journal/sj/393/part3/selker.html

[2] Out of context: Computer systems that adapt to, and learn from, context http://www.research.ibm.com/journal/sj/393/part1/lieberman.html

[3] Human Computer Interaction by A. Dix,J. Finlay,G.Abowd, R.Beale -3rd Edition

[4] Reasoning in Context-Aware Systems, P.Nurmi,P.Floreen (Helsinki Institute for Information Technology)

[5]
D. A. Norman, “Some Observations on Mental Models,” Mental Models, D. Gentner and A. L. Stevens, Editors, Lawrence Erlbaum Associates, Hillsdale, NJ (1983), pp. 15­34.

[6] HCI 2 course website: http://www.cs.bham.ac.uk/~rxb/Teaching/HCI%20II/index.htm

[7] Context-Aware Computing – Thomas P.Moran(IBM Almaden Research Center), Paul Dourish(University of California,Irvine)

[8]User-Centered Task Modeling for Context-Aware Systems, Tobias Klug, Technical University of Darmstadt, Germany

No comments: