- From: Ka-Ping Yee <ping@lfw.org>
- Date: Tue, 19 Mar 2002 06:31:45 -0600 (CST)
- To: Marja-Riitta Koivunen <marja@w3.org>
- cc: Nick Kew <nick@webthing.com>, <www-annotation@w3.org>
At 01:37 AM 3/18/2002 +0000, Nick Kew wrote: > > As soon as I had a working prototype, it became abundantly clear that > there is a deep and fundamental flaw in Annotea: we construct long > and detailed pseudo-xpointers, but these become totally useless as > soon as a page is updated. And annotea has no mechanism for dealing > with this, nor indeed even to detect that a page has changed. This fundamental flaw was clear to me and the other members of the Crit project group as soon as we read the early specifications for XPointer. We responded by suggesting that XPointer adopt a simple text-based pointer scheme, using whitespace-insensitive string matching, but our request was ignored. Instead, XPointer grew more complex, adding even more features that were perhaps academically interesting, but few people would use (or even understand) -- while neglecting to add the simplest, most basic, and most usable method for anchoring annotations. I find this extremely unfortunate. It is vital that annotations be anchored in a manner that the *user* understands. It is not sufficient even to invent a fantastically intelligent algorithm for re-anchoring when the document is modified. The re-anchoring must be so simple and predictable that a typical user can learn to figure out what is going to happen when the document changes. Given that all the user gets to see in a rendered document is the textual content, it follows that the textual content must drive the anchoring of annotations. This is how Crit works. See http://crit.org/. Crit has worked this way since 1997 when it was first introduced, and while it has some other problems -- it is slow and its current implementation doesn't scale very well at all, for example -- we have never had a problem with anchoring annotations to changing documents. When the string target is unchanged, the annotation sticks; when the string target is no longer present, the annotation falls off. This is easy for people to understand. Users can reattach annotations themselves after they fall off, if they are still relevant. Until we achieve Xanadu-style live editing of annotated, versioned documents, i don't think it is really possible to do much better. See http://crit.org/http://crit.org/draft-yee-url-textsearch-00.txt for the specification of the anchor protocol that Crit uses. -- ?!ng
Received on Tuesday, 19 March 2002 07:31:47 UTC