Introduction
Imagine that while commuting home you receive an email message on your pager from your spouse asking you to pick up some milk on your way home. Compare this with commuting home and receiving an email message on your pager from a coworker with a monthly reminder to use the recycle bins at work. One of these messages would likely be relevant to you at that particular point in time, while the other would not be. It would be nice if it was possible to automatically decide which messages to send to the pager in such a way that the first message would be forwarded and the second one would not. Furthermore, it would be nice if such forwarding could take place in a transparent fashion for the people sending and receiving the email. For example, it would be desirable to have a single, centralized email address to which email would be sent, and some software agent residing at that location could then forward each message to where the receiver would like to read it, eliminating the need for both receiver or sender to figure out where to read a message from or send a message to. Ideally, this agent would work in a way much akin to a secretary, knowing where the user is and knowing which messages to forward to where. Thus, for example, if the user had a palmtop device with a wireless data service, a pager, a computer at home, and a desktop at work, the agent would need to decide where a message should be delivered, based on a number of factors, such as what the message is about, and when and where the user would want to read this message. Obviously different people would have different preferences even in identical circumstances, so the agent must tailor itself the user's email-reading preferences. We call such an agent an EmailValet, in that it provides "valet"-like functionality to help users manage email.