This paper introduces a software infrastructure that enables handling context similarly to handling input from a smart environment.
- Context: any information that can be used to characterize the situation of an entity, where an entity can be a person, place, or physical or computational object;
- Context-aware: applications that use context to provide task-relevant information and/or services to a user.
- The infrastructure:
- Context widgets encapsulate a single piece of context and abstract away the details of how the context is sensed;
- Context servers are used to collect all the context about a particular entity;
- Context interpreter interprets context (i.e., makes sense of it).
- The important difference between input handling and context handling:
- Source – ‘the source of user input is a single machine’ while context usually comes from multiple sources;
- Abstraction – input handling requires more abstraction as the ‘raw form’ is usually not what the applications want;
- Independence of widgets – with user input widgets inhabit applications while context widgets are independent of applications;
For writing and presentation:
- “We describe the benefits of our infrastructure through applications that we have built” -> If an idea is used in a familiar scenario, people will question “why bother”, “is it really any better”; but if it is used in an unfamiliar scenario, i.e., creating new experience, people will try to accept it as ‘novel stuff’ (as opposed to improvements)
- “Application developers choose the technique that is easiest to implement, at the expense of generality and reuse” -> a lightweight way of saying ‘Xis best for something and worst for something else’
- “Analogy of Input Handling to Context Handling” -> a good way to say A is similar to B
- “It is important to note that the infrastructure provides scaffolding for context-aware computing. By this we mean that it contains important abstractions and mechanisms for dealing with context, but it is not a complete solution, nor is it meant to be.” -> a good way to say, our system illustrate ideas, or simply provide mechanics, etc.
- How about the other way round: analogy of context handling to input handling?
- Learn the concept of ‘notifying’ and ‘polling’:
- With ‘notifying’, an independent notifier is responsible for observing meaningful input events / context information and notify the application accordingly;
- With ‘polling’, the application is responsible for requesting anything it wants.