hypothesis / vision

Envisioning the future of the Hypothesis.
https://github.com/hypothesis/vision/issues/
40 stars 8 forks source link

Retain annotations if page is redirected to a new URL #202

Closed robertknight closed 6 years ago

robertknight commented 8 years ago

Scenario

  1. A user creates annotations on URL A
  2. The maintainer of URL A later changes the URL to B and sets up a redirect that points from A to B
  3. A user visits URL A wishing to view the page with their annotations, they are then redirected to URL B and the annotations no longer appear

In this case the site maintainer has done the correct thing, but we're not surfacing the annotations and from the user's point of view, they have lost their data.

Thoughts on solutions

  1. When navigating to a page with Via or a browser extension, both could be aware of the fact that they have arrived at the current URL via a redirection and they could provide that information to our service.
  2. If the URL of a page changes but the content remains substantially the same, then a lookup based on the page's content could still succeed. This would also handle the normal case where the user arrived at URL B directly via a navigation link on the site rather than by visiting the old URL.
blackforestboi commented 8 years ago

I saw this problem as well, when annotating comments on facebook. As soon as the comments have to be expanded (and loaded) to see the annotation, it is lost.

Maybe it makes sense to surface any annotation for a given link in any case on the sidebar. And the user would still see his annotated quote and his notes. Otherwise, like @robertknight mentioned, it seems like it is lost.

judell commented 6 years ago

I've done a quick proof of concept of #1 for the extension. Looks promising. I think that approach is complementary to https://github.com/hypothesis/product-backlog/issues/203 and both will be important, but that this should come first, for the extension, and then for via.

klemay commented 6 years ago

Closing to consolidate conversation - see https://github.com/hypothesis/product-backlog/issues/203