Skip to content
This repository has been archived by the owner. It is now read-only.

Notify page authors of annotations #120

Closed
BigBlueHat opened this issue Nov 12, 2014 · 34 comments

Comments

Projects
None yet
9 participants
@BigBlueHat
Copy link
Contributor

commented Nov 12, 2014

OGP.me, FoaF, Schema.org, and Dublin Core (etc, etc) all have ways to do this...

Simplest would probably be a rel="author" on a <link /> or <a /> that points an email address or author's URL that can receive notifications / messages. 馃樃

Barring some sort of consistent discovery method, folks would have to know to care / check (like they do on Facebook, Twitter, etc)...but then we're back to another centralized thing to check inside of...and more profiles...and more accounts... 馃槱

馃捇 馃敤

@BigBlueHat BigBlueHat added the Idea label Nov 12, 2014

@dwhly

This comment has been minimized.

Copy link
Member

commented Nov 12, 2014

Simplest would probably be a rel="author" on a or that points an email address or author's URL that can receive notifications / messages.

We used reply-to for webplatform, right?

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Nov 12, 2014

We used reply-to for webplatform, right?

Yes. That was an invention of Doug's, IIRC, and not a registered link relation.

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Nov 12, 2014

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Nov 12, 2014

Probably part of this story needs to be a way for people to subscribe to notifications for certain authors, in whatever representation. That would be a way for me to say, "Hey, Hypothes.is, my username is 'tilgovi' and I'm interested in subscribing to annotations where rel=me is https://twitter.com/tilgovi or where there's an ORCID of XXX-XXXX or where the rel=author is 'Randall Leeds'", etc.

Notification systems like relify/webmention/pingback are great when people are self-publishing or having their work hosted by a publisher that knows their email and can implement those notifications. For those with content syndicated to places where they lack an account, there's no way to notify them. An email address in a link tag would work, but then exposes the author's email address. If the author could just sign up for Hypothes.is and tell us which names they use, we could notify them directly ourselves.

@JakeHartnell

This comment has been minimized.

Copy link

commented Nov 13, 2014

A thought: To flip this problem on it's head, do we have to notify them? Can't they just watch us? To elaborate, if we build a feature that allows them to easily subscribe to annotations on a certain domain in their stream, or to be notified whenever a page or domain is annotated publicly, this could solve the problem giving authors a way to find out if there content has been annotated, and would be useful to others.

Potential User Story: As a user I would like to be able to watch a page or domain for annotations and receive notifications or have them appear in my stream.

@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Nov 13, 2014

馃憤 to @RawKStar77's suggestion.

It's annoying (as an author) to have to try and hunt down all the places where I might be being talked about (Twitter, Facebook, Hypothes.is), but that's the Web we live in, kids. 馃槩

Should we open a separate issue for "following / subscribing to URL's and domains"? or do we already have one?

@dwhly

This comment has been minimized.

Copy link
Member

commented Nov 13, 2014

This feature request already exists. Hunting....

On November 13, 2014 10:21:28 AM PST, BigBlueHat notifications@github.com wrote:

馃憤 to @RawKStar77's suggestion.

It's annoying (as an author) to have to try and hunt down all the
places where I might be being talked about (Twitter, Facebook,
Hypothes.is), but that's the Web we live in, kids. 馃槩

Should we open a separate issue for "following / subscribing to URL's
and domains"? or do we already have one?


Reply to this email directly or view it on GitHub:
#120 (comment)

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Nov 13, 2014

@RawKStar77 that's exactly what I'm saying:

Probably part of this story needs to be a way for people to subscribe to notifications for certain authors

I'm proposing exactly what you've said, but with some implicit subscriptions that come from linking your account with other social media sites. Add your G+ account to Hypothes.is and we'll automatically notify you of annotations on pages attributed to that identity.

@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Nov 13, 2014

k. Since this things now got two heads, I'd vote for closing this one, and
creating two more in its place:

  1. subscribe to URL's / domains (an issue may already exist for this)
  2. use linked social network notification systems to auto-subscribe via 1.

Sound right?

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Nov 13, 2014

I like that route.

@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Nov 13, 2014

@tilgovi does Web Platform use reply-to or in-reply-to? If it's the later, then there's an RFC attached:
http://tools.ietf.org/html/rfc4685#section-3 (Atom Threading--intended for comments btw 馃槈)

@JakeHartnell

This comment has been minimized.

Copy link

commented Nov 13, 2014

I'd vote for closing this one, and creating two more in its place: 1. subscribe to URL's / domains (an issue may already exist for this) 2. use linked social network notification systems to auto-subscribe via 1.

馃憤

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Nov 13, 2014

@BigBlueHat it uses "reply-to". The semantics are different. "in-reply-to" says that the subject is in reply to the object. "reply-to" says that the object is the requested destination for posting replies.

@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Nov 17, 2014

@tilgovi good call. /me blames head cold...

@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Jun 16, 2015

Did some digging on this idea. Here's some options--the best one is last. ;)

FOAF OnlineAccount

This could work, but would require the author to generate some fairly complex metadata likely in the form of RDFa somewhere within the page. At the very least, it requires the splitting of the account URI into two values:

Pro:

  • splits the account name into two bits which doesn't look like an email address, so it may decrease email-based spam at that user account address

Con:

  • splits the account name into two bits...
  • making the markup we'd suggest far less...legible...and a far more complicated setup

Open Graph Protocol

Slightly simpler. Could be reduced to a single <meta />, but it does imply that the page it's on is an article (or book)...which it may not be. Additionally, it's unclear what the value should be. Facebook (unsurprisingly) wants URLs to Facebook Profiles. Other sites expect an author's full name... (some interesting chatter on the Jetpack WordPress plugin discussion thread--which in theory could be used for publishing this metadata...if we went this route).

At best, we could attempt something like...

<meta property="article:author" content="acct:bigbluehat@hypothes.is" />

which uses RFC 7565 acct: URI's (typically used with WebFinger).

Pros:

  • pretty commonly used pattern for stating authorship

Cons:

  • pretty commonly and diversely used pattern--so more implementation overhead
  • publishers may be adding incorrect metadata for their content--which could cause social sharing strangeness

HTML5 author Link Relation

Check it! It's been there this whole time!! HTML 1.1 actually used the rev attribute (which has been deprecated) of made to do this exact thing. 馃槃

So...it would look like this:

<link href="acct:bigbluehat@hypothes.is" rel="author" />

It's clear ('cause these are ancient semantics) that the URI is for the author of the current resource (who's type is declared elsewhere--not in this metadata).

In the example above, I've used the acct: URI pattern again--'cause we use that internally, atm.

Pros:

  • proven to work
  • clear(er) authorship semantics
  • could use various URI or URL identification schemas--with less risk than article:author above

Cons:

  • various ways of identifying authors will need to be parsed (or ignored)
  • we'd need to pick one and stick with it--even if we change later

Conclusion

I'm 馃憤 for the SimplestPossibleThingThatCouldPossiblyWork--which seems (to me) to be rel="author".

Steps to use it would look like:

  • parse out rel="author"
  • narrow to @hypothes.is info (for now)
  • send notification to author via the hypothes.is notification system already in place

In future, we could consider parsing out mailto and acct and possibly handling profile docs (eventually) if someone uses an HTTP URL (of one shape or another).

But for now, we keep it simply, yeah?

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Jun 16, 2015

Nice digging, @BigBlueHat.

I happen to like the acct scheme. I know it was a bit controversial. I remember having a conversion with Blaine Cook about how much he disliked it. In any case, it's an RFC now and it makes our accounts seem very at home in an href attribute.

The biggest issue I see is that authors that may have little control over their markup.

Where we can give users a lot of control is with their user profiles. I imagine once we have profiles for users one could either link to their FB (without loss of generality) profile, possibly done implicitly through a delegated sign-in, and then we would recognize the metadata when we see an author attribution that points to a user we know, even if it doesn't point to an Hypothesis account directly.

As for simplest thing that could possibly work, using rel=author for publishers that can control the markup and pointing directly to Hypothesis accounts seems totally tenable.

@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Jun 17, 2015

So...it's a sad truth that too few WYSIWYG editors (and their ilk) don't provide rel="author" editing. That said, the rel="author" attribute can exist on a as well as link, so putting into the content of the page (vs. "just" in the <head>) is an option also.

We could certainly sniff out and leverage other values of rel="author" besides the acct:(.*)@hypothes.is" pattern. We could certainly leverage Facebook URLs (+ a stored association on our end), but even sooner than that, we could leverage amailto:` to then look up a hypothes.is account. However, since you can have N number of hypothes.is accounts for per email address, picking the right one might be tricky...but since the notification comes over email, perhaps it's not a problem.

So...in preferred ordering, we could look up the author's account using:

  1. the acct prefixed value (if present)
  2. or http prefixed value (assuming "social" URL such as Facebook, etc)
  3. or mailto prefixed value looking for any verified account using that email address

Then we notify the author based on them having (based on that look-up strategy) a verified hypothes.is account.

Sound safe?

This way authors wouldn't need to displace any extent rel="author" values that === a URI or URL. Or so it seems. 馃槈

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Jun 17, 2015

This is all a bit tricky and needs to be thought through carefully with consideration paid to spam vectors, markup in the wild today, our identity strategy, etc, etc.

Maybe we can punt on this and start with an explicit watch toggle in the UI. That enables notification for authors and non-authors, both requested features. It wouldn't be automatic, but it would step around all these issues for the time being.

@dwhly

This comment has been minimized.

Copy link
Member

commented Jun 17, 2015

Maybe we can punt on this and start with an explicit watch toggle in the UI. That enables notification for authors and non-authors, both requested features.

Heartily endorse this as an initial step. It's something that we need regardless.

I think the markup idea is great too, particularly as a feature of an H. wordpress plugin that could automatically add it, and make notifications automatic for pages. For instance, with our own site, it would be great if I author an article, I'm automatically notified of annotations. But perhaps as a follow-on feature?

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Jun 17, 2015

But perhaps as a follow-on feature?

Precisely what I'm suggesting.

@jeremydean

This comment has been minimized.

Copy link

commented Jun 17, 2015

You had me at "explicit Watch toggle in the UI"

On Tuesday, June 16, 2015, Randall Leeds notifications@github.com wrote:

But perhaps as a follow-on feature?

Precisely what I'm suggesting.


Reply to this email directly or view it on GitHub
#120 (comment).

Dr. Jeremy Dean
Director of Education

@dwhly

This comment has been minimized.

Copy link
Member

commented Jun 17, 2015

You had me at "explicit Watch toggle in the UI"

You had me... meaning "what the heck are you talking about?" :)

A watch toggle would mean that anyone could signal they wanted to watch any page, whether there were annotations on it or not. Then we can begin to layer additional notifications on.

@jeremydean

This comment has been minimized.

Copy link

commented Jun 17, 2015

Yes. I know. I love the idea of that feature is what I meant. It's a
reference jerry McGuire.

On Tuesday, June 16, 2015, Dan Whaley notifications@github.com wrote:

You had me at "explicit Watch toggle in the UI"

You had me... meaning "what the heck are you talking about?" :)

A watch toggle would mean that anyone could signal they wanted to watch
any page, whether there were annotations on it or not. Then we can begin to
layer additional notifications on.


Reply to this email directly or view it on GitHub
#120 (comment).

Dr. Jeremy Dean
Director of Education

@dwhly

This comment has been minimized.

Copy link
Member

commented Jun 17, 2015

My cultural references ended somewhere around All In the Family.

@hubgit

This comment has been minimized.

Copy link

commented Jun 17, 2015

Allowing a user with a hypothes.is account to manually opt-in to receiving notifications when a particular URL is annotated seems like a good idea.

At another level, might it be possible for a service to register an endpoint as a listener for any annotations of documents in a particular domain (e.g. "when a URL with domain peerj.com is annotated, send that annotation to webhook endpoint https://peerj.com/hooks/annotations"). Then the service, which knows who the authors of that document are, could handle notifying them by email.

Indeed, as @tilgovi mentions at the start of this thread, that endpoint could even be specified in the document using a link relation. However, that wouldn't allow services that don't own the document to subscribe for notifications - which might be useful for other reasons?

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Jun 17, 2015

WebHooks are a great idea, as well, and would be great for integrations. User subscription is great for individual users.

Both can be made better through discovery.

Let's try to keep all these steps separate as we create concrete issues for implementation.

@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Jul 1, 2015

Some stories:

  • As a Hypothes.is account holder, I want to watch / follow pages I visit and be notified of annotations made on them, so that I can (re)join the conversation if someone annotates there.
    • this is any URL
    • no "authorship" implied
    • all users have the same opportunity
  • As a web site owner, I want Hypothes.is to tell me when my pages are annotated, so that I don't have to follow ever URL I post or get notified on everything at a certain URL or under a certain URL space.
    • example: author installs the Hypothes.is WordPress extension which adds some metadata to the site for embed.js to extract
  • As an author of content in a system I don't control (read: most of the Web), I want to watch for annotations on a domain, URL "space" (i.e. twiter.com/bigbluehat/*), or specific URLs, so that I can engage my readers without requiring permission / technology changes from my publisher.
    • most users don't own / host their code
  • As an author of content using a CMS that supports a notification system (pingback, trackback, webmention), I want that system to be used (as it is already) when someone posts content related to my original post, so that I can know about the conversation and join it at my discretion.

These are four stories that all seem to have some appearance in this thread. I'm trying to winnow them into actionable separate tasks that can be tackled...separately. None of these options cover all the desires authors (or annotators) have around being notified; nor should they.

I'd love another set of eyes on those four stories, and addition of any stories that clearly explain another variation (I expect there probably are more). The follow-up action will be to create (or find) separate issues for each of these and tackle them one at a time. 馃悩 馃嵈

@jeremydean

This comment has been minimized.

Copy link

commented Jul 1, 2015

Does this user story add anything to the mix? (Or bring up a completely
different issue: following users/sets of users rather than URLs?):

  • As an "administrator" (teacher, group organizer) of a group, I want to
    be able to watch/follow URLs annotated by the group and receive
    notifications of group activity--maybe even beyond designated URLS, that is
    following the user/member annotations wherever they are online.

Aside from that added use for following/notifications, I would just say
that your first bullet point is the most critical and should be a
priority--seems a lot of the latter bullets could be accomplished if we had
a page follow feature--just asking a little more of users. Though I love
the ideas for the other issues!

On Wed, Jul 1, 2015 at 10:26 AM, BigBlueHat notifications@github.com
wrote:

Some stories:

As a Hypothes.is account holder, I want to watch / follow pages I
visit and be notified of annotations made on them, so that I can (re)join
the conversation if someone annotates there.
- this is any URL
- no "authorship" implied
- all users have the same opportunity
-

As a web site owner, I want Hypothes.is to tell me when my pages are
annotated, so that I don't have to follow ever URL I post or get notified
on everything at a certain URL or under a certain URL space.
- example: author installs the Hypothes.is WordPress extension which
adds some metadata to the site for embed.js to extract
-

As an author of content in a system I don't control (read: most of the
Web), I want to watch for annotations on a domain, URL "space" (i.e.
twiter.com/bigbluehat/*), or specific URLs, so that I can engage my
readers without requiring permission / technology changes from my publisher.
- most users don't own / host their code
-

As an author of content using a CMS that supports a notification
system (pingback, trackback, webmention), I want that system to be used (as
it is already) when someone posts content related to my original post, so
that I can know about the conversation and join it at my discretion.

These are four stories that all seem to have some appearance in this
thread. I'm trying to winnow them into actionable separate tasks that can
be tackled...separately. None of these options cover all the desires
authors (or annotators) have around being notified; nor should they.

I'd love another set of eyes on those four stories, and addition of any
stories that clearly explain another variation (I expect there probably are
more). The follow-up action will be to create (or find) separate issues for
each of these and tackle them one at a time. [image: 馃悩] [image:
馃嵈]


Reply to this email directly or view it on GitHub
#120 (comment).

Dr. Jeremy Dean
Director of Education

@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Jul 1, 2015

I think I'm seeing this breakdown:

  • Follow Hypothesis activity with Hypothesis
    • User page watches
    • User search watches
      • This is the "site owner" and "administrator" case
  • Follow Hypothesis activity with insert federated protocol here
    • Pingback, trackback, webmention
    • This also covers site owners who can support these protocols, like CMS administrators
@tilgovi

This comment has been minimized.

Copy link
Contributor

commented Jul 1, 2015

Single page watches should be relatively easy with a decent notification system in place. @judell and @BigBlueHat we should work to get a first task of reviewing our current notification system and banging it into some greater generality, cleanliness and testability. Then, users could watch pages. We'll deal with search later, because we should write a percolation (prospective search) worker and use it for pushing real-time updates, too. Same issue (persistent search), different notification mechanisms (WebSocket and Email), though not mutually exclusive when background notifications are surfaced in the UI as well as email.

Prerequisite:

  • Notification system prep and house cleaning

First feature:

  • Single page email notifications

In Parallel, and with the work @nickstenning has been proposing around fixing our URI analysis:

  • Pingback, trackback, webmention sent from our API

Next generation:

  • Persistent search
  • Unified notifications for clients and email
@BigBlueHat

This comment has been minimized.

Copy link
Contributor Author

commented Jul 1, 2015

馃憤 for that plan.

@judell

This comment has been minimized.

Copy link

commented Jul 1, 2015

Good, thanks. I've added this context and the first few steps to our tracking card in Up Next.

@pyrho

This comment has been minimized.

Copy link

commented Jun 19, 2017

I've checked the trello page but I can't find any mentions regarding progress on this, are there any updates ?

I realise RSS has been implemented, but I'm talking specifically about this (mentioned above):

  • As a web site owner, I want Hypothes.is to tell me when my pages are annotated, so that I don't have to follow ever URL I post or get notified on everything at a certain URL or under a certain URL space.
    example: author installs the Hypothes.is WordPress extension which adds some metadata to the site for embed.js to extract

I love the web annotation approach to web site comments, but I'd also love to be notified of new comments on my website without having to subscribe to N rss feeds (N being the number of posts).

Thanks you !

@klemay

This comment has been minimized.

Copy link

commented Aug 1, 2018

Closing in favor of hypothesis/product-backlog#196

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can鈥檛 perform that action at this time.