Anchored conversations are maintained by a conversation coordinator that
retrieves an anchor position from an artifact and maintains a position of
a conversation client relative to the retrieved anchor position. The
conversations are synchronous and asynchronous communications. The
anchors, and hence the conversations may be moved within the artifact or
to other artifacts. The conversation clients include detach and re-attach
buttons that allow a conversation to be detached and reattached from/to a
corresponding anchor. The conversation coordinator manages conversations
anchored in any number of different applications. Each conversation is
accessible either by invoking an associated anchor within a corresponding
artifact (embodied as an ActiveX control, for example), or via the
conversation coordinator. A database is connected to each conversation
and is a silent participant maintaining a record of the conversation and
any metadata regarding the conversation. The database is available for
query by a user and/or the conversation coordinator.