Because of the fact that a lot of research is being done in the field of agents, and because many like to field-test theories (i.e. implementations), a lot of agents are active on the Internet these days. Comparing them is not an easy task as their possibilities and degree of elaboration vary strongly. Add to this the fact that there still is no well-defined definition of what an agent is, and it is easy to see how difficult it is to judge whether or not a piece of software may be called an agent, and (if it is judged to be one) how good (or "intelligent") it is.

Still, four examples from the broad variety of agent applications and agent systems have been selected to be given a closer look.
The two agent applications serve as examples of what is currently being done with agents in (relatively small) commercial applications. The agent systems are still more or less in the development (i.e. research) phase, but judging by what is said in their documentation, both are to be developed into full-fledged systems which may or may not become commercial products.
The chosen examples are to be seen as examples of what can be done with agents in actual practise. The choice for these specific agent implementations should not be seen as some kind of personal value judgement.



Open Sesame! is a software agent that learns the way users work with their Macintosh applications. "It streamlines everything you do on your desktop. It eliminates mundane, time-consuming tasks so that every minute you spend at your computer is productive". Open Sesame! uses a learning agent which observes user's activities and learns which tasks are repeated again and again. It then offers to perform those repetitive tasks for the user automatically.
Open Sesame! can also automate crucial maintenance tasks the user may (easily) forget, such as rebuilding the desktop.

Some of the features of Open Sesame! are:
It learns work patterns and generates instructions that automate tasks;
It automatically performs tasks at specified times;
It automatically performs two or more tasks that the user would otherwise have to perform separately;
It gives the user shortcuts for opening or closing a related group of folders, applications and documents;
It arranges windows of scriptable applications so the user can work with multiple applications more efficiently;
It offers power users the option to expand Open Sesame! with AppleScript [1] applets and macro utility mini-applications.

Open Sesame! uses Apple events to learn a user's patterns and to automate them. It is not a replacement for AppleScript: while the former provides a subset of the commands (such as opening documents and applications), it also provides functionality not available in the latter. However, sometimes it can be useful to use them together as AppleScript applets can be used as applications in Open Sesame! instructions.
One big advantage of Open Sesame! over tools such as Applescript is that it generalises the intent of a user's actions, and does not merely record every stroke and mouse click without any inference or generalisation.

Open Sesame! uses two types of triggers: time-based and event-based. Time-based triggers will execute certain instructions at a given time, whereas event-based triggers cause it to execute an instruction in response to a desktop action such as opening a folder, quitting an application, start-up, shutdown and so on.



The second example is SandPoint's Hoover, which "provides a single user interface to multiple information media, including real-time newswires, on-line databases, field intelligence, and corporate computing resources. Hoover automatically organises selected information according to the context of the user's need or function. Designed for groups of users, Hoover currently works with Lotus Notes. Support for other groupware solutions is under development."

Hoover's applications can be divided into five areas:
1. Current Awareness:
Hoover has an information agent that delivers two types of current awareness: real-time news and full-text premier publications. For the first type of current awareness, Hoover can organise news in many different ways: by company, industry, government category, dateline, region, and more. Back issues of publications are stored on the Hoover server, enabling the user to review a past story or track of a certain development. The second type enables full-text word searching, enabling deep searches in news articles;
2. Research:
Based on the type of information the user wants, such as information on companies, people, places, and markets, Hoover's research agent will search for information based on the appropriate context. Searching through news feeds and on-line databases in real-time is a further possibility. The thus retrieved information can be updated automatically as often as necessary;
3. Information Enabled Applications:
Hoover offers so-called "information enabled applications" which "accelerate workflow and deliver specific information for decision making support";
4. Corporate Intelligence:
Some of the most valuable sources of information for a company are the people working for it. With this part of Hoover, a place can be provided for team members to contribute what they've learned for knowledge-sharing. "Volumes of important ideas and observations - an essential part of the intellectual capital of a company - will be available for everyone. And neatly integrated with authoritative external sources";
5. Internal Databases:
This part of Hoover unites internal and external information. It can draw from information in internal databases because of the open system architecture of the Hoover Scripting Language Tool Kit. "Now you can unite internal information with the Electronic Ocean outside [...]".

Hoover is able to meet about 75% of common information needs. Additions, such as a research centre, can be used for the more complex searches.

[1] AppleScript allows a user to write small programs, or scripts, and uses Apple events to execute the program.

 previous page  next page  to the chapter's TOC  to the main TOC

"Intelligent Software Agents on the Internet" - by Björn Hermans