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.