Passive and reactive user assistance are relatively well-understood categories of user support, although they become increasingly sophisticated as our knowledge of computer-human interaction grows and new implementation tools become available. The final category, proactive assistance, is very much the new kid on the block and very few systems currently implement it.
The principle behind proactive user assistance is simple: The computer system monitors users' actions and acts proactively to assist, either by making suggestions for more efficient use of the system or by undertaking tasks on the users' behalf. The Microsoft Office Assistant gives proactive assistance by offering users tips based on their actions.
One type of proactive assistance currently receiving a great deal of attention is the intelligent agent. An intelligent agent is a piece of software to which users can delegate a task. Intelligent agents are most often implemented as a specialized Web user interface that answers such requests as "Find me the best price for this item" or "Suggest a book that I might like to read." But nothing restricts them to the Web environment. You might, for example, implement an agent that assists students in organizing a class schedule based on their preferences"Don't schedule any math before noon, and I prefer language courses in the evening."
Microsoft provides two tools for creating interfaces based on animated characters, the Microsoft Office Assistant and the Microsoft Agent. Most people are familiar with the little bouncing paperclip representing the Microsoft Office Assistant (the character can be changed by a user), but not everyone realizes the Office Assistant has a programmable interface. The Office Assistant is available only within Microsoft Office applications, however, and can't be distributed with the Access runtime engine.
If you're working in Access (or in any other development environment that can use Microsoft ActiveX controls, including Visual Basic), you might want to download the Microsoft Agent SDK from the Microsoft Web site. It's quite a bit more powerful than the Office Assistant.
Microsoft Agent is a very cool toy. You can design and animate your own characters in addition to the ones provided in the SDK. Microsoft Agent also supports speech recognition, which has fascinating potential for database applications. I'd love to see a Microsoft Agent interface to the Microsoft English Query tool (which provides natural language processing of SQL queries) included in Microsoft SQL Server. Imagine representing the database itself as a Microsoft Agent character.
Be forewarned, though. Neither the Office Assistant nor Microsoft Agent provides any direct support for you to monitor and react to user actions. They provide simple interfaces to sophisticated character interactions with users, but when it comes to actually implementing the intelligence in your intelligent agent, you're strictly on your own.