Context-aware computing is an effort to use sensed attributes of an environment to provide enriched support for activities. For example, an application might provide relevant services based upon your location or the identity of your companions. As low-level architectural support for context-aware computing matures [1,2], we are ready to explore more general and powerful means of access to context data. Information required by a context-aware application may be spread across a number of different repositories, partitioned by any number of physical, organizational, or privacy boundaries. What is needed is a mechanism for context-aware applications to issue context-based queries without having to explicitly manage the complex storage layout and access policies of the underlying data.
To address this need, we are developing Liquid, a distributed query processing system intended to both simplify and enhance the next generation of context-aware applications. Liquid will allow applications to issue long-standing queries in a simple declarative language and to monitor continuously changing query results. Our system is targeted at supporting two primary features: (1) continuous (persistent) queries sensitive to the dynamic nature of context (e.g., issuer changes location), and (2) queries with approximate results, where result substitutions can be made by exploiting relationships between repositories (e.g., a floor's temperature data is substituted for missing room temperature data). It is our hope that the Liquid system will provide a solid base for building advanced context-aware applications.
The field of ubiquitous computing (Ubicomp) is still at its inception. Within the field, there is no standard set of methodologies to evaluate Ubicomp systems. System designers benefit from performing multiple iterations, and having functionality in a system before the final implementation to get feedback on design issues. This gives rise to different prototyping techniques such as Wizard of Oz. Insight is a set of tools to support the Wizard of Oz prototyping of Ubicomp systems and the evaluation of the those systems, using data collected in user studies. It is composed of the context event logger, a tool for allowing a wizard in a Wizard of Oz scenario to simulate a sensor network that captures events in its environment, and the context event analyzer, a tool for showing higher level aggregates of lower level context data.
Our plan is to use the logger and analyzer in evaluating two iterations of an application for industrial-sized kitchens that tracks and helps users locate food items. In the first iteration, we applied paper-prototyping techniques along with Wizard of Oz simulation of sensor input using the logger. Our second iteration will involve an interactive prototype that will still depend on simulating actual sensors, but which will have networked computer screens and a simple database to actually respond to users without the need for a person (wizard) to simulate application behavior. After user studies of the prototype from each iteration, we will employ the analyzer and examine the events logged, looking for events that identify design flaws. Our goal is to collect evidence demonstrating the strengths and flaws of both methods in Ubicomp design and evaluation.
The fluid, everyday communication of natural language that many of us take for granted eludes many persons with disabilities. People inflicted with conditions such as ALS (most notably Stephen Hawking) must depend on text-entry and speech synthesis systems to communicate. An integral component of such systems is word prediction software. By attempting to guess the speaker's intended word before it is completed, word prediction systems hope to reduce input time and accelerate communication.
Word prediction based on language modeling (e.g., trigram models) has proven quite useful for reducing the number of keystrokes needed by disabled users. We hypothesize, however, that by taking into account the user's context, further improvements in word prediction might be realized. In particular, we propose modeling a conversation as a dynamic topic-driven process, using both linguistic history and sensed context data (such as location and time of day) to infer the most likely topics. Words, in turn, are then predicted by the inferred topics as well as the conversation history. In essence, we hope to capture (in some small part) both the sequential regularities of language and the underlying semantics.
Our goals are to realize improved models for word prediction and to explore the use of probabilistic reasoning as a tool for modeling and performing inference on sensed context data. While our primary emphasis is on augmented communication, we believe our work will also have relevance to related efforts in context-aware computing, language modeling, and speech recognition.
Healthy cities ambient display is a project where we will design a public ambient display to be put in a busy plaza, public transportation center, or a market that shows the "health” of the city as characterized by various statistics. Ambient displays are ubiquitous computing devices that give a continuous stream of information in a peripheral, non-obtrusive way. We have interviewed and surveyed a number of Berkeley residents to gain a better understanding of what they think a “healthy” city is. From these responses, we will create a display that will monitor the status of information sources relevant to the health of the city, and display this information to the residents of Berkeley.
Ambient display research is a new but burgeoning field studying the design and evaluation of systems that provide non-critical information to the periphery of human attention . Different displays receive their input from different sources and display output in a variety of ways. However, as little middleware exists to support ambient display development, developers must rewrite from scratch code used to translate input to output. To correct this problem, we are designing, implementing and evaluating an ambient display toolkit. We approach this problem by first outlining the design space of ambient displays, classifying several previously built displays by input and output type. We then look at code used in those displays to determine additional patterns. Next, we develop an architecture and a library of functions to support these patterns. As a final step, we rebuild a few existing ambient displays using the toolkit to evaluate its effectiveness and then iterate the toolkit design based on our findings.
We are investigating the role of usability in everyday privacy, which signifies an individual's regular exposure to and control over the disclosure of personal information in ubiquitous computing environments. The near-continuous and sensitive nature of everyday privacy necessitates usable, consistent interaction mechanisms for managing it. Toward that end, we are designing and evaluating a user interface for managing everyday privacy in ubicomp. Our design is based on the notion that the identity of the information recipient is the primary determinant of the quality and quantity of personal information an individual prefers to disclose and, further, that an individual's disclosure preferences regarding a given recipient can vary by situation.
Ambient displays are a new type of pervasive computing device that give information in non-critical ways, allowing users to get information in the periphery of their attention. These devices are useful because they do not demand attention, so a person can be aware of more information without being overburdened by it . Getting information from an ambient display requires little thought, allowing people to focus on other tasks. The very characteristics that make ambient displays a useful interface innovation also make them difficult to evaluate. Traditional evaluation techniques used in human computer interaction do not apply well to ambient displays. Our goal is to assess the pros and cons of different evaluation techniques for testing the effectiveness of an ambient display, and then to determine the best techniques for evaluating these displays by conducting evaluation studies. The process we will follow to accomplish these goals begins with a literature survey and analysis of the various evaluation techniques available. In parallel, we will design an ambient display that addresses the needs of people who must continuously monitor many sources of information. One example is a display that allows restaurant servers to see the status of food preparation by quickly glancing at a visual display that represents remaining preparation times. With an ambient display and knowledge of evaluation methods, we will select one or more techniques to use in a summative study of the ambient display. The design and results of the study will guide further research on the evaluation of ambient displays and improve our ability to design effective displays.
Since its introduction in 1996, the use of instant messenger tools has grown exponentially. Instant messenger (IM) supports two key human needs: presence information and instant communication. However, users of IM only have access to these key needs when their select peers have the technology available. Limiting factors include people who do not have computers, people who do not have a continuous connection at home, and lastly, people who do have a continuous connection but are not sitting in front of their computers at all times. Our goal is to provide people with access to awareness information and instant messages via tangible objects. These tangible objects are devices that users can carry with them while mobile or can situate throughout their environment to provide information as users move in it. We are investigating a number of display techniques for these devices including fabric and paint that change colors when exposed to heat or light, physical objects with mobile parts, and tiny displays.
The emergence of context-aware applications, those that take into account the context of the user and environment, has shown the ability for rich interaction with the surrounding environment. Such applications prove challenging to construct and control, both for users and programmers. While a deployed application may take advantage of real-time data sensed in the environment, during development such data is often not available. It can be cumbersome and error-prone for a programmer to manually manage the access and retrieval of available data. During run-time it can be unclear how an application is configured and usually it will be difficult or impossible to change that configuration.
We are investigating approaches to mitigate these problems in context-aware application development and usage. Our objective is to establish a working and usable environment to support programmers as they build and prototype context-aware applications. This would involve developing new interaction techniques for developing applications either through a graphical user interface (GUI) or other tangible means, and an interface into a real or simulated system.
Existing low-level infrastructures promote reuse of sensors and provide heterogeneous access to environment data . Using this existing research, we are building prototyping tools that allow developers to rapidly build and simulate context aware applications with or without access to an actual instrumented environment. There are many technical challenges to be addressed in a prototyping system, ranging from a specification language, interface methods, distributed computing issues, and exposing functionality of a complex sensor-based system to programmers and end-users. The tools we are constructing integrate with rule-based primitives that manage all interaction with low-level infrastructures on behalf of an application. Rules may be inspected and modified at run-time to allow feedback and control of applications, again managed on behalf of applications with no explicit additional programming.
Our goal is to provide high-level primitives in context-aware infrastructures that will make applications easier to build, maintain, and modify by both programmers and end-users.