One can speak about context only with reference to something (no definition of context out of context): the context of an object, the context of interaction, the context of problem solving, etc. Here, however, only the context of interaction between agents seems of interest because it is in this context that other contexts are referenced or evolve . For example, if an object, such as a telephone, could provide you the context in which the person called is free, in a meeting, using the phone on voice recorder, you could balance your wish to establish your communication versus the availability of the person called.
Several domains have already elaborated their own working definition of context. In human-machine interaction, a context is a set of information that could be used to define and interpret a situation in which interact agents. In the context-aware applications community, the context is composed of a set of information for characterizing the situation in which humans , applications and the immediate environment interact [Dey, 1998]. In artificial intelligence, the context is what does not intervene directly in a problem solving but constrains it [Br zillon, 1999a].
The community interested by the context can be divided into two families, " tangible computing" and "social computing" according to the terms [Dourish, 2001]. The interest of social computing is the development of context-based representation of knowledge and reasoning (e.g. see the example of the contextual graphs in [Br zillon, 2001b]). Such formalisms provide the system with natural capabilities of learning and explanation generation. This approach is essentially based on the user and includes the dynamic dimension of the context. Tangible computing is more concerned with the technical aspects of context that are immediately useable, particularly through an exploitation of data. The focus is mainly on mobile computing (context-aware applications, smart devices, ubiquitous computing, communicating objects, etc) in domains as different as tourism and e-maintenance. Context in tangible computing is often limited to location and time, and the information on the user is often ignored or very limited. This is a type of device-oriented approach and context is supposed to evolve only through changes of state.
Clearly, none of these two approaches is totally right and it is necessary to find a generalisation taking into account the advantages of both approaches, avoiding their respective weaknesses. This is supposed to:
Manage data, information and knowledge that evolve as a function of time and/or coming from heterogeneous sources.
Take into account the user (from his interaction with the system).
Develop distributed software with a central part and personalised extensions for users.
Such challenges can be faced by an explicit use of the context, mainly in the design and development of communicating objects. These objects could be then real intelligent extensions of a central repository of data, information and knowledge, repository updated in real time.
In this chapter, we present first the meaning that we give to the notion of context, and then present what seem to us some challenges that can be faced by combining the two approaches, "tangible computing" and "social computing".