Sunday, November 2, 2008

Ubiquitous Computing

Ubiquitous Computing: A Short Response Essay

The article Charting past, present, and future research in ubiquitous computing (Abowd, G. & Mynatt, E., 2000) (cited as "(Chart, 1997)") from this week's readings provides an excellent framework for the topics discussed in the other papers. For this reason, this short response essay will be structured around Abowd, G, et al.'s piece.

Technical Premises

The first topic to consider is the use of natural interfaces for computing interaction. This refers to employing more specialized and meaningful artifacts in greater numbers, rather than a few very general-purpose---and consequently, less intuitive---interfaces for computers, such as the keyboard, mouse, fixed-screen design underlying `modern' computers(Chart, 1997). If the interactions are carried out by artifacts that have a close coupling with "first-class natural data types" such as using a pen to simply mark on a pad, the system is more usable than if it tries to abstract away: for example, converting the handwriting into text(Chart, 1997). Abowd, G, et al. also note that recognition-based interaction is inherently error-prone. Since recognition tasks are necessary at times, this problem should be addressed in three stages. First, designers should strive to refine and improve interfaces wherever possible to reduce errors in the first place(Chart, 1997). In the space where these efforts are insufficient, the system should notify the user of its error discoveries (which can be fed from historical statistics, explicit rules, or confidence threshold triggers)(Chart, 1997). Once the user is apprised of the error, there must obviously be a reasonable error-recovery infrastructure through which they can produce the desired input(Chart, 1997).

The second major topic is computing context-awareness. Context-awareness entails knowledge of who the user is, what the current interaction is, where it is taking place, the current time, and what other things are temporally proximal to an interaction(Chart, 1997). With these cues, an ideal system would be able to establish the most important (as well as most difficult) context---why a user is doing what they are(Chart, 1997).

Establishing context raises a new, non-trivial question---how does one uniformly represent context(Chart, 1997)? Abowd, G, et al. suggest that a "context fusion" provides the right solution by drawing on disparate systems depending on the availability, reliability, and relevance of the constituents in each context(Chart, 1997).

Context is Key by Coutaz, J., Crowley, J., Dobson, S., & Garlan, D. (2005) (cited as "(Context, 2005)") focuses entirely on the topic of context. They first point out that context is not a state, but rather it is entangled in processes(Context, 2005). Failing to regard changes in state can result in surprising and undesirable results, such as a moving person finding a printout spread across each printer he passed because each was the nearest during the transmission of their respective pages(Context, 2005). This suggests that a holistic context is important to consider(Context, 2005). In this model, the printers could estimate where the person would be as the printout completed and therefore route all pages to that printer(Context, 2005). A third concern is the potential for user model deviations from system models(Context, 2005).

To address these issues, Coutaz, J. et al. propose a "Conceptual Framework for Context-Aware Systems." The basis of the framework is a set of finite-state automatons where each state (i.e. each node) represents a context and each transition (i.e. each edge) corresponds to a shift in context. This FSA is altered by a system modeled upon three levels of abstraction(Context, 2005). The lowest, the "sensing" hardware, feeds data to the next, the "perception layer," which in turn produces data for the top layer, the "situation and context identification layer"(Context, 2005). By drawing upon both the current state reported by lower layers and history (as well as other systems), the model can produce a good, useful context in process(Context, 2005).

Key Applications

Assuming this "context fusion" is properly constructed, one of the possible applications would be the provision of "augmented reality," a state in which real-time information is streamed to a user in response to the environment(Chart, 1997).

The natural extension of this ubiquitous computing application is automatic recording, capture, and access to live experience (Chart, 1997). Omni-present video input devices enable hassle-free recording whenever desired, and live exchange of these video feeds can power tele-brainstorming or formal idea exchanges(Chart, 1997). When the video is just fed into a computer, it can power a real-time video overlay in the user's view featuring labeling/status, reference diagrams, or even easy-to-follow situational instructions(Chart, 1997).

Further Considerations

When using computing like this every day, there are special considerations to note. First, many daily uses lack a discernible beginning or end; communication in general is a life-long activity---sub activities should respect this nature either by forgoing discreet-activity-oriented tasks or by minimizing cognitive load so as to avoid interfering with the user's flow of activity(Chart, 1997).

In Tangible Bits: Towards Seamless Interfaces between People, Bits, and Atoms by Ishii, H. & Ullmer, B. (1997) (cited as "(Tangible, 1997)"), the authors devoted considerable space to this problem of peripheral awareness. The authors explore couplings between digital states and reality including: a vibrating string that represents packets of network traffic; heated metal seats that represent the presence of another person near a microphone/speaker link; and a room equipped with light, water flow, and ambient sound peripheral cues(Tangible, 1997).

For computing to accommodate universality, it must be able to cope with task interruption, which is common and probably unavoidable(Chart, 1997). This means at least saving states of incomplete tasks for later resumption and reminding users of the unfinished task if necessary(Chart, 1997). Related to this, support for multiple concurrent activities is essential; users are variously concious of elements of their environments and a computer must leverage this to integrate well into a user's mental space(Chart, 1997).

When organizing information, it is important to provide associative models when not working on well-defined tasks (which integrate well with hierarchical models)(Chart, 1997). There was an interesting paper on (before Hans Reiser went to jail) that discussed the importance of not imposing artificial structure on data because it will destroy accessibility. The user must learn an arbitrary structure (arbitrary for them) to access the data, which is unreasonable. Unfortunately, the paper seems to have disappeared in recent months.

Ubiquitous computing raises a number of social questions. Ownership and control of information that must span numerous contexts, physical and digital, suggests serious conflicts between utility and privacy(Chart, 1997). Additionally, the likely preservation of any recordable action can have a chilling effect on freedom of speech and public participation(Chart, 1997).

A final consideration is how to evaluate ubiquitous systems. Designers must form a compelling user narrative for fulfilling a perceived or real need to justify the system, and more importantly, as a metric by which the system's impact can be measured(Chart, 1997). Further, establishing an authentic context of use for an evaluation is exceedingly difficult, considering the cutting-edge nature of ubiquitous computing, which can confound testing(Chart, 1997). Because of the non-finite-span of daily use (discussed above), task-oriented evaluation techniques are clearly not appropriate tools(Chart, 1997).

Personal Thoughts

Having quite embarrassed myself with my last short response's erroneous criticisms, I have decided to focus on just having an overview of the readings followed by these very tempered questions:

The idea of peripheral context information seems interesting, but I would like to see some research on the psychological effects of exposure to extra stimulus like that compared to being given a quiet, calm workspace.

Also, I wonder if there isn't an advantage to mastering generalized controls for efficiency over the more "natural" physical interfaces. For example, I can type far faster than I can write, and coupled with the shortcuts/functions of vim I believe I can trounce a user who is tied to physical manipulations to interact with an editor. Perhaps an approach more like what's in Vernor Vinge's Rainbows End is closer to the ideal.

No comments: