Annotation tools on the web are somewhat fragile. They depend upon complex XPath queries and other anchoring technologies to ensure that annotations are keyed to known positions.
The problem is that often, even where content is stable in one sense (e.g. in an academic journal article), redesigns of the page itself can lead to serious problems for annotation keying. This creates orphan annotations.
Alex Gil, Ben Armintor, and I sat down this morning at Columbia and decide to do something about this. We have now created a proxy application, Cemmento, that redirects users to a canonical version of a document for shared annotation on the first known stable edition.
URLs to Cemmento take the following form: https://cemmento.org/https://www.martineve.com/2016/12/09/the-thing-thats-gone-missing-in-the-revisions-to-the-ref-consultation-between-february-and-december-2016/
Cemmento does the following:
When a URL is passed, it checks whether a version exists in the storage backend (in this case, the Internet Archive) with the querystring ?cemmento.
If a version does not exist, Cemmento requests the internet archive to store a copy.
Cemmento redirects the user to the earliest copy on the internet archive, using a Via service to automatically load a commenting/annotation engine (in this case, Hypothesis).
There are several assumptions behind this:
- We are dealing with material that is stable and that design changes are causing orphan annotations. Scholarly communications generally fall in this category.
- That we therefore want to redirect users to an archived copy for annotation to maximize collaboration and stability at the same time.
We have tried to write Cemmento so that alternative storage, query, and redirect modules can be substituted in without too much difficulty. A sample proxy version is available at cemmento.org.
The default expected behaviour is that users will be redirected to an internet archive version of the requested URL with the hypothesis annotation sidebar loaded.