The previous section discusses the
related work for my
public annotation system design paper.
Public Annotation Authoring
This section discusses how to make annotation
authoring as easy as possible. In order to be
as specific as possible, I focus on annotation
authoring using Mosaic. I discuss private annotation
authoring first, followed by public annotation
authoring.
Private Annotations in Mosaic
Once the user has found a document to which they
wish to attach a public annotation, the act of
authoring the new annotation should be made as
easy as possible. Easy annotation authoring
requires some support from the user's Web browser.
For this design I will focus on supporting public
annotations from the popular Mosaic browser and
leave the task supporting public annotations in
other Web browsers to other interested parties.
In Mosaic, private annotation authoring is
done by:
-
navigating Mosaic so that it is displaying
the document to be annotated,
-
clicking on the [Annotate]=>[Annotate...] menu
item accessible via the menu bar to cause the
annotate window to pop up,
-
typing the annotation title and contents into
the annotate window, and
-
clicking on the [Commit] button in the annotate
window
Once a user has authored a annotation, they should
be able to just as easily edit or delete the the
annotation. In Mosaic this accomplished by following
the link to the private annotation and using the
either [Annotation]=>[Edit This Annotation] menu item
or the [Annotation]=>[Delete This Annotation] menu item.
For private annotations, the relevant information
is stored in user's ~/.mosaic-personal-annotations
directory. Each annotation is stored in an uniquely
named file of the form `PAN-number.html'
where `number' is replaced by a decimal
number that identifies the personal annotation.
In addition, the file labeled `LOG' in the same
directory contains a number of lines, where each line
has the format of `{URL} {Number_list}';
{URL} is the URL being annotated and
{Number_list} is the numbers of the personal
annotations associated with {URL}.
Extending Mosaic for Public Annotations
Since Mosaic was designed from the start to support
public annotations, the desired modifications to
enable public annotations are quite simple. There
is a selection item in the annotate window that can
have one of three values [Private Annotation]
[Workgroup Annotation] and [Public Annotation].
At the moment, both the [Workgroup Annotation]
and the [Public Annotation] are both greyed out.
(It is possible to enable [Workgroup Annotation],
but that is not germane to this discussion.)
By enabling the [Public Annotation] selection
in Mosaic, the user will be able to specify either
private or public annotations.
For public annotations, the same basic directory
format will be used as private annotations.
They will be installed in the user's ~/public_html
directory, in a sub-directory called
`public_annotations'. By putting them the public
annotations in that location, other remote users
are able to access them via a URL of the form
`http://machine/~username/public_annotations/PAN_#.html'.
The Mosaic code modifications required to move the
public annotations over to another sub-directory
should be quite modest.
When the user clicks on the [Commit] button for
a public annotation, a program will be forked off
to actually install the public annotation on the
remote machine. The reason for forking off another
program is to keep the modifications to Mosaic to
a workable minimum. The name of the program to
fork off will be specified via a Motif resource
variable.
One of the limitations with the current Mosaic
annotation authoring window, is that it only allows
the user to type in raw text. It turns out
that further HTML can be entered, if the first
line in the annotation is `</Pre>'.
A more desirable situation would be to allow users
to enter their annotations using the HTML authoring
tool of their choice. It should not be too difficult
to modify Mosaic to have an [Invoke HTML Editor]
button that would invoke an HTML editor specified
by the user's resource file. The HTML editor could
be as simple as a vi text editor, EMACS text editor,
or a full SGML editor.
Additional modifications to the Mosaic annotate
window are necessary to support in-line annotations.
The desired modifications are discused in the
section on in-line annotations.
Work-arounds Until Mosaic Extensions are Deployed
Until such time as support for public annotations
is implemented and widely deployed in Mosaic, it is
useful to have some alternative ways of entering
public annotations. One of the simplest work-arounds
is to provide a program that is accessible from the
command line that will convert a private annotation
into a public one; I have implemented this command,
it is called `post_public', and it does the following:
-
It scans the user's ~/.mosaic-personal-annotations
directory looking for the annotation that has
changed most recently.
-
The annotation contents are moved from the user's
~/.mosaic-personal-annotations directory
to the user's ~/public_html/public_annotations
directory. A symbolic link is installed from the
old private annotation file name to the new
public annotation file name.
-
The ~/mosaic-personal-annotations/LOG file is
scanned to determine the URL of the document
being annotated.
-
Using the HTML forms protocol, the server that
has the document being annotated is told to add
a reference to the new public annotation in
the user's ~/public_html/public_annotations
directory.
-
The resulting response message from the server
is displayed on the user's current version of
Mosaic.
In addition, if the user adds a -e option to the
`post_public' command, the user's EDITOR environment
variable is used to invoke the user's preferred
editor on the annotation rather than the primitive
text editing facility provided by Motif.
With the `post_public' command I have reduced the
public annotation authoring process down to:
-
Navigate Mosaic to show the document to be
annotated,
-
Use the Annotate Window to author a private
annotation,
-
Type `post_public' in a shell window to cause
the private annotation to be a public annotation.
The -e option allows the user to use their
preferred editor to author the annotation.
Thus, the barriers to producing public annotations
have been reduced to a tolerable minimum. The
`post_public' step can be eliminated by modifying
Mosaic to directly support public annotations to
further reduce the effort required to publish
a public annotation.
Summary
(Don't use past tense!)
This chapter discussed the support fro private
annotations that is already present in Mosaic
and how to extend Mosaic to fully support public
annotations. In addition, some work-arounds
are presented that allow people to use the existing
private annotation system in Mosaic to author
public annotations.
The next section discusses the
publishing aspects of remote annotations.
This file, version 1.5 of authoring.html, was last updated at
21:24:47 on 95/09/15.
Copyright (c) 1994,1995 --
Wayne C. Gramlich. All rights reserved.