Larry's Nightmare Scenario -- A call for User-level programming and debugging

Many pervasive computing papers and research efforts are driven by some hypothetical scenario of the future. I would be remiss without one:

Many mornings, John can be seen racing through his house looking for his wallet. He often arrives late at work and other events, because it takes him so long to find his wallet. For John's birthday, Susan decides to get him a ``wallet-locater.'' When John cannot find his wallet, he simply asks the locater (actually, a pervasive computing software application) in ordinary language and the system tells the location of the wallet. The locater works by simply recording and analyzing any scene in the house that changes. Wireless spy cameras installed in each room of his house constantly recording any physical changes to the environment. To communicate with the user, the system makes use of any available speakers and microphones in house. It is adaptive, so if the TV is in use, it will automatically output on the radio, or if that is turned off, it can use the telephone.

Unbeknownst to Susan, in order to install the wallet-location system, John has to hire an agency to configure the system: calibrate and name all the cameras, build a detailed 3-d map of his entire house, draw-up a list of everyone who might want to use the system, define all possible utterances that can be used to query the system, as well as configuring a host of other tables and database entries. Of course, for a modest sum, a yearly service contract provides for up to three modifications and a new wallet once every five years.

Susan had thought that John only had to show his wallet to the camera, like one lets a dog smell a piece of clothing before the dog can track down a lost child. But what is really happening is the system is overflowing its storage capacity by keeping track of every movement of John's dog, Wally.

Unfortunately, sometimes when asking for the location of his wallet, the system locates Wally, the dog. But worse is in the middle of the night, when John snores. the system thinks he is asking for more information. So, the location system finds an output device near John. It takes control of the bedroom television, reporting that ``Wally is currently lying on the kitchen floor licking his fur.'' Sally awakens John and makes him turn off the TV. This is detected and the system automatically switches to the radio. Turning off the radio causes the telephone to ring, once again giving a up-to-date progress report on Wally's activities. Unplugging the telephone merely causes the voice-mailbox to overflow, prompting the system to try to reach John on his cell phone. When the cell phone battery dies, the system sends messages to John's wireless headphones. After pulling out the batteries, the system mistakenly routes messages that triggers the car alarm waking up all the neighbors.

John smashes the PC in his house, but the fault-tolerant system quickly detects the failure and restarts the application on a remote server, seamlessly continuing processing after retrieving configuration information from the persistent network storage. The robust, adaptive system continues to outwit and plague John each night.

Sleepless nights and frustration causes John to lose his job. Huge costs in hiring someone to disable the system, results in the desired effect -- John has no more money and no longer races around the house looking for his wallet. Problem solved. -- thanks to pervasive computing.