A user interface architecture wherein user content and user interface are
composed of documents with links. Links have properties that indicate how
links should be displayed. Link display may depend upon characteristics of
the linked-to frame. Commands are implemented as links that link to
command code. The display format of a document page depends upon the path
a user navigated in order to get to the displayed page. User content
documents and user interface documents are both displayed in a single
viewing frame. A non-linear navigation history is maintained such that a
user can navigate along a first path, back up using a previous link,
navigate along a second path, back up along the second path using the
previous link, and re-navigate along the first path again using a next
link. Every document page to which a user navigates is saved in the user's
navigation history. Users can query their navigation histories and view
their navigation histories in various ways. A flexible selection model is
supported allowing users to select the object of a command either before
or after the command itself is selected. A Guide Book includes command
descriptions and active instances of the described commands, implemented
as links. Users can access, annotate, and customize the user interface in
the same manner in which users access, annotate, and modify user content
documents.