- From: Herbert Van de Sompel <hvdsomp@gmail.com>
- Date: Thu, 27 May 2021 11:17:24 +0200
- To: David Bokan <bokan@chromium.org>
- Cc: Gerben <mail@treora.com>, public-openannotation <public-openannotation@w3.org>, Herbert Van de Sompel <hvdsomp@gmail.com>
- Message-ID: <CAOywMHfjZi7sAGgdOHBGq2S_ucWDTaq0=zBFwyFAzSPv-71OLw@mail.gmail.com>
On Thu, May 27, 2021 at 6:52 AM David Bokan <bokan@chromium.org> wrote: > (also, another challenge not mentioned in the explainer: the web lacks > versioning or history, hence annotations can become ‘orphaned’) > > +1, I've been thinking about this. I've noticed this as a major issue with existing annotation tools - aggregator pages and feeds suffer from this the most where the page changes rapidly and is customized to the user. Maybe pages need a way to mark themselves as "frequently changing" (I think this could be useful in other ways)? Or have more granular ways of referencing particular items (as you mention above). Agree this needs more thought. A few remarks with this regard: * The W3C Web Annotation Data Model provides hooks to address this issue by expressing the Time State of the annotated resource, see https://www.w3.org/TR/annotation-model/#time-state: "A Time State resource records the time at which the resource is appropriate for the Annotation, typically the time that the Annotation was created and/or a link to a persistent copy of the current version." * In essence, the idea is that a snapshot of the resource is created (in a web archive or resource versioning system) at the time of annotation. And that the URI of the snapshot and the datetime are recorded along with the annotation. * If the annotated resource has changed to the extent that the annotation can no longer be meaningfully attached, the idea is that it can then still be attached to the snapshot of the resource. That snapshot resource can be discovered by means of the URI that was recorded in the Time State. * If the snapshot is not accessible (for example, because the system in which it resides is down) or was not created in the first place, then the datetime recorded in the Time State and the URI of the annotated resource can be used to find an appropriate snapshot in one of many public web archives. The Time Travel infrastructure (see http://timetravel.mementoweb.org/guide/api/) that provides Memento datetime negotiation (RFC7089) functionality across many public web archives supports doing so. * In the special case that the annotated resource is hosted on a resource versioning system, that system itself automatically creates snapshots as the resource evolves. As one typically wants to create annotations on the basis of the generic URI of a resource rather than on a specific version URI, recording the Time State when annotating remains relevant in these cases too. But, here, recording the datetime is sufficient because most resource versioning systems have bespoke APIs that allow retrieving a specific resource version using the generic resource URI and a datetime. For resource versioning systems that support the Memento protocol (RFC7089), accessing a specific resource version can uniformly be achieved using HTTP datetime negotiation. Rob Sanderson and I described/demonstrated the latter in our 2010 paper "Making Web Annotations Persistent over Time" (see https://arxiv.org/abs/1003.2643). * In the common case that the annotated resource isn't hosted on a resource versioning system, automatically creating a snapshot can be done by means of "Save Page" APIs that some web archives offer. These services typically have the capability to detect cases where a previous identical snapshot was already created. As such, a new snapshot will only be created when the resource has effectively changed. The Robust Links service and API (see https://robustlinks.mementoweb.org/) allows creating on-demand snapshots in multiple web archives and returns HTML snippets intended to help combat link rot for links in HTML pages (see https://journal.code4lib.org/articles/15509). One could similarly imagine a service that creates snapshots of resources as they are being annotated and returns Time State information intended to keep the annotations usable over time. Greetings Herbert > On 12/05/2021 17.42, David Bokan wrote: > > Hi everyone, > > Myself and a few colleagues from the Chrome team have been considering > ways to bring some annotation use cases to the browser by default. This > requires a lot of thought about what kind of APIs and controls are given > to page authors and users as well as the broader implications on the web > ecosystem (e.g. security, privacy, UI, etc.) > > We want to do this in a way that's open and integrates with existing specs > and work on annotations. We've put up a public explainer > <https://github.com/bokand/web-annotations>; there's no concrete proposal > yet, it's all very early stages. There are a few rough ideas though and > explains how we're thinking about the challenges. We'll continue to develop > the ideas there if you'd like to participate or just follow along. > > Given this group's interest in annotations, I'd like to invite thoughts > and feedback, particularly if anyone has any experiences with similar > efforts in the past. > > Thanks! > David Bokan > > -- ================== Herbert Van de Sompel https://hvdsomp.info https://orcid.org/0000-0002-0715-6126
Received on Thursday, 27 May 2021 09:18:50 UTC