| Sponsor | Gregory Abowd
abowd@cc.gatech.edu 380 CRB |
| Area | HCI, Software Engineering and Future Computing Environments |
Problem
Currently, most computer interfaces require the user to interact with
the computer in ways that gives the computer precise, accurate data about
user actions (e.g., a button press). More natural input methods, such as
handwriting and speech, cause difficulties and misunderstanding between
humans. This problem only gets worse when a computer programming is trying
to interpret such naturally ambiguous input. The computer usually deals
with the resulting uncertainty (is it the number "1" or the letter "l"?)
by acting as if it is certain ("1" is 2% more likely, so "1" it is ). This
results in frequent errors on the part of the computer.
We are defining a new research area in HCI: how to design interfaces which help the user to handle computer-caused errors and uncertainty. One example of such an interface is automatic URL completing in the recent versions of Netscape: Since the URL suggested is often wrong, netscape allows the user to keep typing as if no prediction had been made unless the predictions is right. When it's right the user can "accept" if by typing a single key (Return) rather than all the characters in the URL. There is one problem. Return is overloaded (it also means load page) and when the user thinks they're done but netscape is showing prediction, Return does the "wrong" thing from the user's point of view. This example illustrates some of the tradeoffs in one example of such an interface.
The purpose of this project is to implement one of what will eventually be a library of interface techniques for handling uncertainty in pen-based interfaces. We will provide you with a list of techniques falling into two major categories: explicit and implicit techniques. You may pick one or design your own, and implement it, Techniques for handling uncertainty are interface level; the gesture-recognition of highly structured documents project is an example of one. Your implementation may assume as much as necessary in order to demonstrate your technique. For example, if you choose to annotate a letter with alternate interpretations, you can focus on how to draw theannotations given a letter and alternates, and how to make the alternates interactive (does clicking on one change the letter?) without implementing a gesture recognizer, editor, sequencing etc.
Background