Re: about CritLink and annotation systems in general

On Fri, 27 Aug 1999, Bjarni R. Einarsson wrote:
>
> The proxy I was suggesting just rewrites the pages, by inserting
> new links and/or decorations - it doesn't need to alter the URLs
> since the user is using the browser's built-in proxy feature to
> pass all requests through it anyway.  Therefore it doesn't have
> any problems whatsoever with the current URL space.

Actually, the reason Crit is *not* a proxy is exactly what you
described.  If you tell the browser to use Crit as a proxy, then
you run into precisely the problem that comes from the distinction
in meaning between "proxy" and "mediator".  That is, the browser
will cache the pages as returned because it expects the "proxy" to
reflect the state of the Web exactly.  But Crit is not a proxy --
so telling the browser that it is leads to confusion.

Similarly, all the browsers i know of permit only one proxy to be
specified, and treat that proxy as the window on the whole world.
That's perfectly okay if you are, in fact, dealing with a real proxy;
but if Crit were implemented as an HTTP proxy, no one could use it
from behind a firewall because they need to use their company's proxy
to get out to the Net.  There's no configuration setting in browsers
for a "proxy" *and* a "mediator".

In short, Crit and other mediators do not obey the "proxy" contract,
so they don't qualify to be called proxies.

That said, let me make clear that i think your emphasis on "local"
is quite correct -- the use of the term "proxy" is a different issue.

> This is in fact a key point - these protocols could be trivial.
> Really, really trivial.  The location protocol could simply
> involve adding a single tag to web-page or HTTP headers, which
> points to a preferred annotation service for the file requested
> (the pointer could be a WWW URL). The data transmission protocol
> could simply be HTTP requests to the specified URL, and an
> agreed-upon format for the reply.

Crit already supports a (*very* simplistic) data transmission protocol
for querying its database of annotation links, which was implemented
so that CritMap could get the information it needs to make a map.  Try:

    http://crit.org/links.cgi/http://mozilla.org/?backward=1

The fine-grained linking syntax, designed to be backwards-compatible
with existing links, is specified in a draft RFC on the Crit website:

    http://crit.org/draft-yee-url-textsearch-00.txt

> It's an idea so simple that a prototype could coded in a matter of
> days in Perl - assuming the protocols were finalized.

Funnily enough, the first version of Crit actually was written in a
matter of days in Perl. :)

> Ping:  If you're listening.. please consider this a feature request?

I'm not sure what the feature is that you're requesting.  If what
you want is a Perl script that can be run on your local machine which
knows how to contact arbitrary annotation servers using some yet-to-
be-defined protocol and mediate the pages you see in your web browser --
then yes, i quite wholeheartedly agree that this would be a useful and
interesting solution.

But such a solution isn't really just a "feature"... the desire for such
an animal has been on my list forever, and involves trickier problems which
are really why we're here discussing this in the first place.  E.g.:

    1.  You said that pages can be served with a tag or a header
        pointing to a preferred annotation service.  But this means
        that you now have to wait for the co-operation of the author
        before you can make annotations.  This co-operation could be
        a significant hurdle, since the author would either have to
        edit all the pages or reconfigure the web server in some way.

    2.  When you post an annotation, where does it go?  How does it
        get distributed to all the other annotation servers?  Or,
        conversely, how do all the other annotation servers find out
        that it exists, and know where to get it from?  Who pays for
        storing the annotations?

    3.  Are annotations a special kind of object apart from documents?
        Can the content of an annotation be annotated?

    4.  Do annotations live forever?  How can a user keep annotations
        private?  Can annotations be private within a group of users?

    5.  Can annotations be attached to private documents?
    
    6.  How can users know when someone has attached an annotation
        to their page?

Crit has its own answers to all of these questions, but of course
it's not yet clear that its answers are all the *right* ones.  Still,
it's a lot better than any of the other Web annotation systems i've
seen which don't even *try* to answer these questions.

And, naturally, i'm sure there are a lot more questions.  Ask away!


-- ?!ng

Received on Sunday, 29 August 1999 02:29:57 UTC