Chapter 6. A collection of clients: the mail reading application

Table of Contents

A scenario
Cast of characters
Setting up Mobs

While SharedPad was a single client, many applications using MICA have several clients involved in the process. In this chapter we discuss the mail reading application, which involves four different MICA clients: a learning agent, an e-mail agent, a user interaction agent, a natural language processing agent and a debug agent.

A scenario

Imagine that in 2006, a user (say Aki) has the WhizBang 3000 PDA. The user carries it around with him everywhere. The PDA has some pretty cool technology on board. In particular, it has GPS, speech recognition and speech synthesis. It also interacts with sensors in the environment that let it know things like: the ambient noise level, whether the user is at home, in the car, or in the office, and what other people are around.

One funny thing about the WhizBang is that it does not have a screen, or a microphone, or even a speaker. Instead, it is just a small box that Aki carries in his briefcase. It knows how to communicate with its environment, so will use the car's speaker and microphone if it has one, and the desktop computer's screen if Aki is in the office or even the Bluetooth headset that Aki sometimes wears.

Now, since the PDA is so smart: the device can be used in the car, at home or in the office. However, one issue is to learn what modes the user prefers to use, depending on these factors. For example, if Aki receives e-mail, should it be read aloud to him using the car's speakers, or displayed using the in-dash LCD?

Ideally, we'd like the WhizBang to learn what Aki likes to do. It will learn, for example, that if Aki is in the car and it's not noisy, then it should read the e-mail out loud. But, if Aki's in the office, it should display them on his monitor.

In this chapter, we mock up some of the infrastructure, and show how such an application could be implemented.