There has been much recent interest in the idea of "intelligent interface agent" software. An intelligent agent is software that can take independent actions in the interface on behalf of a user's goals, without explicit intervention by the user. Examples of such agents include Apple's hypothetical "knowledge navigator" [Apple 89], programming by demonstration systems [Cypher 93], mail and news...