WordPress.org

Make WordPress Core

Opened 5 years ago

Last modified 4 years ago

#40031 reopened feature request

Consider Adding Web Annotations to WordPress

Reported by: MikeSchinkel Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Comments Keywords:
Focuses: ui Cc:

Description

This is a strawman ticket published to generate discussion and hopefully concensus.

The W3C has standardized Web Annotions to decentralize annotations across the web ("annotations" being a superset of commenting.)

As WordPress' mission is to "Democratize Publishing," and as WordPress is by far the most widely used tool for publishing content on the web that also allows other people to comment on said content, it would seem fitting (at least to me) that WordPress would empower users of WordPress to control their own annotations across the web, moving forward.

How might to work? WordPress could offer three (3) new and yet related features:

  1. Add enhancements to the commenting system to accept references to annotations.
  1. Enable a WordPress site to be an "Annotation Server." This would likely leverage the existing comment system where the comments could be associated with a new custom post type where each inidividual post could collection annotations for and represent one "persona" of a given registered user as well as how that persona could be presented to the outside world in the form of a URL that represents the user.
  1. An "Annotate This" feature similar to "Press This" which can store annotations at the user's own WordPress site where the Annotate This UI could become the UI for commenting on all future WordPress websites (and potential non-WordPress sites) that offer feature 1. For those that doesn't offer feature 1 this UI could provide functionality to more easily transfer the comment to the foreign commenting system (such as copying it to the clipboard on user request) and possibly even implement commenting for specific well-known services (Twitter, Facebook, LinkedIn, Disqus, Medium, etc.)

Note that some people's first reaction to this idea might be "that's plugin territory" -- which I can appreciate -- but there are four (4) reasons why I think this is core territory instead:

  1. It is reasonable to assume that 80% of WordPress users would want to maintain their own comments in addition to their own posts,
  1. This idea only really has benefits if it can become ubiquitous, e.g. If the 3 features are all available. If a plugin then an individual can only ever control one side of annotations thus dooming their implementation to obscurity. Note that a "Feature Plugin" slated for a future version of WP core is not "plugin territory" that I am arguing against.
  1. It is a W3C recommendation, not some startup 3rd party service so it is likely to be adopted by many if not all of the web in the next few years. Why should WordPress not be the tool that helps define for the world how annotations should best be utilized, before some walled-garden like Facebook establishes the defacto-approach ahead of WordPress?
  1. And finally, WordPress's mission is to "Democratize Publishing" and I cannot think of many other feature requests that are more "on-mission" than this one,

Thoughts?

Change History (27)

#1 @MikeSchinkel
5 years ago

  • Summary changed from Consider Add Web Annotations to WordPress to Consider Adding Web Annotations to WordPress

#2 follow-up: @jdgrimes
5 years ago

I'm rather new to annotations, so I may not understand this proposal fully yet. At first I just assumed that this was about having WordPress support in-post comments, but now I realize that it is about the completely other end of annotations: storing the comments that a website owner leaves as annotations anywhere else on the web. I guess being a CMS, and annotations kind of being content, that makes some sense. But this sounds like basically adding support for an entirely separate class of content than WordPress is currently built for, mostly under-the-hood. Or whatever UI it did have would require some modification from what is in core now. Are we even talking about actual annotation management being provided through WordPress, or essentially just storage? I'm also not clear whether we're talking about possibly having WordPress display annotations, like as a list of "things I've been annotating recently", kind of like a blog, or whether that is outside scope here as well.

Honestly, although I like the idea of annotations, I'm not comfortable with the idea of decentralization if it completely ignores the wishes and copyrights of the publisher of the annotated content. I'm not sure it would be entirely unjustified to say that this ticket is trying to turn WordPress into a glorified content-scraping and republishing engine. Not saying that's really accurate, but doesn't implementing this require us to scrape and store the annotated piece of content in some way, or at least a portion of it? If the publisher hasn't specifically granted that right, eventually folks should get into legal trouble, it seems to me. (Though of course, I'm not a lawyer.) Maybe it isn't that much different than Press This, but then, maybe that's just to say that Press This can be abused to. The difference though is that with annotations the entire type of content is designed around this by definition.

Anyway, like I said, I'm fairly new to annotations, but that's my initial thoughts.

#3 follow-up: @dshanske
5 years ago

I think this is the wrong approach for WordPress Core in the short term. if WordPress wants to start with annotations, how about we enhance the comment system to support annotations?

Annotation to me sounds like a type of comment where you are specifying a specific part of a post to comment on. It would therefore not be displayed at the bottom, but inline in some fashion.

In WordPress, remember that comments themselves are a type of comment(referring to the comment table). If you look at the current WordPress design. While support for custom comment types is a 'blessed' task, we still don't have that. We have the built-in ones, and some custom ones built without full Core support for registration.

So, having annotations as a built-in comment type would allow someone to annotate a post/page/etc. Now, that's initially a local implementation, not a distributed one. But from the perspective of site owners, you should always have a local implementation of a feature before you start fetching stuff from other sites. A base feature should be built in, and only enhanced by an outside site or service.

Once you have the support for storing and displaying annotations on a post, you can add support for someone to create them on the front-end, then work on receiving them in a distributed manner.

I may be on a completely different line of thought than the initial proposal, but I feel strongly about local first as a building philosophy.

#4 follow-up: @dshanske
5 years ago

Read the entire ticket a third time. Have to add....

If someone wants to annotate a URL on another site, that should be a custom post type. The post type would be associated with their user...so there is authorship of the annotation. It doesn't need to have anything to do with the comment table.

Then the annotation server merely serves to translate the custom post type posts into the format that other systems can understand...the Annotation spec.

If someone wants to annotate something on the same site they have a user on, that can be a comment type.

#5 follow-up: @chrisaldrich
5 years ago

Mostly to provide some additional resources to the conversation I'll add the following:

Web Annotation Working Group's three recommendations and two additional notes

Prior to the WPTavern post which motivated the conversation, there was a post written by Dan Whaley of Hypothes.is who worked extensively within the group. This post has some interesting overview, but those interested in a fully implemented annotation platform (presumably using many of the pieces of the proposed standard) should take a quick look at Hypothes.is, what it is and what it allows. Their front page has a pretty useful video introduction.

Keep in mind that some of the standard is geared specifically toward browsers and browser vendors, though WordPress could certainly implement some of the pieces from the CMS side.

#6 in reply to: ↑ 2 ; follow-up: @MikeSchinkel
5 years ago

Replying to jdgrimes:

"I'm rather new to annotations"

I only learned about them ~12 hours before you. Before posting this ticket I read the three recommendations in full . I'd highly recommend if you or anyone else is interested in this ticket -- pro or con -- to read at least the data model spec so you can come fully up to speed on what annotations are and what they are not.

"storing the comments that a website owner leaves as annotations anywhere else on the web."

Yes, that is a mostly correct characterization.

"But this sounds like basically adding support for an entirely separate class of content than WordPress is currently built for, mostly under-the-hood."

All we need is already in WordPress core as an existing class of content. We already have the tables needed in the standard WordPress database schema: wp_comments and wp_commentmeta. Had this concept required new tables or even table modification it would have been a non-starter because of WordPress.com and so I would never have proposed it.

"Or whatever UI it did have would require some modification from what is in core now."

The existing comment UI in the admin would not need trivial enhancements to support this proposal. Add a new core post type persona and then associate the annotations to the persona for the person making the comment (a person may choice to comment on the web using different persona's; e.g. "legal analyst", "father of daughters", "soccer fan", et. al. so the persona post type would allow them to keep track of annotations for a specific persona. But in most cases people would have just one persona, at least to start with.

Note I recommend a Persona post type because wp_comments has a comment_post_ID field so we'd need an ID from a record in wp_posts to occupy this foreign key and one or more personas for an individual would be a great way to address this.

"Are we even talking about actual annotation management being provided through WordPress, or essentially just storage?"

I am not sure what you specifically mean by "actual annotation management" so I cannot yet answer.

"I'm also not clear whether we're talking about possibly having WordPress display annotations, like as a list of "things I've been annotating recently", kind of like a blog, or whether that is outside scope here as well."

Yes, definitely. But for that I am really only seeing the need for an addition to the template hierarchy rules, a few rewrite rules, and possibly a new theme template page in the current default theme.

"Honestly, although I like the idea of annotations, I'm not comfortable with the idea of decentralization if it completely ignores the wishes and copyrights of the publisher of the annotated content."

Conveniently (in the absence of a legal contract that assigns copyright) copyright of creative works always rests automatically with the creator of the work. If @jdgrimes writes and posts a comment on NYTimes.com it is you @jdgrimes that holds the copyright, not The New York Times (unless NYTimes.com has an egregious click-thru agreement, but that's an edge case and one in which I expect public pressure would quickly correct if this proposal were to become a reality in WordPress code, so let's assume they have no such agreement.)

So the wishes of the publisher are actually moot because the publisher does not own the copyright nor the moral rights to your comment. You have simply implicitly agreed to allow them to publish it but you have not given up legal right to it (unless as I said they have an egregious legal agreement in place.) Also I would think that worrying about the publisher vs. the author is the opposite of "Democratizing Publishing" (although I could have my own view of that which is different than the WordPress project's at large? If so, please enlighten me.)

"I'm not sure it would be entirely unjustified to say that this ticket is trying to turn WordPress into a glorified content-scraping and republishing engine."

To say that would be entirely unjustified. Content scraping and republishing assumes taking other people's content. This proposal only concerns itself with the content that is created by author of the work. This proposal assumes the comment would first be posted to the author's own WordPress site first (via an API of course) before it ever gets posted to a 3rd party publisher's site. So no scraping or republishing whatsoever.

Also, in the case of an organization that gains copyright of commenters work by click-thru agreement, and they won't budge even the case of public pressure, realize that a minimum Web Annotation is just three (3) URLs:

  1. URL to the item being annotated, e.g. the web page being commented on,
  2. URL to the annotation text, e.g. the fragment pinpointing the comment on the web page being commented on,
  3. URL to the annotation JSON file containing these three (3) URLs.

So even in those cases maintaining an annotation being 3 URLs would not violate any ill-gained publisher's copyright, it would just be a link to said publisher's page and the comment contained therein and courts have upheld that linking does not violate copyright.

Anyway, like I said, I'm fairly new to annotations, but that's my initial thoughts.

I had a different idea a first until I read the data model spec; highly recommend you at least review it if this ticket continues to interest you.

#7 in reply to: ↑ 3 @MikeSchinkel
5 years ago

Replying to dshanske:

"Annotation to me sounds like a type of comment where you are specifying a specific part of a post to comment on. It would therefore not be displayed at the bottom, but inline in some fashion."

Annotations can be either of those. And they can be many other things too. Highly recommend reading about the Annotations Data Model if this ticket continues to interest you.

"I think this is the wrong approach for WordPress Core in the short term. if WordPress wants to start with annotations, how about we enhance the comment system to support annotations?"

I am assuming you made this comment because of an assumption that Web Annotations refers to being able to select a section of content and then comment on that content?

Yes, that use-case is addressed by Web Annotation, but Web Annotations is (IMO at least) more about establishing a JSON format for linking between annotation and the subject of the annotation, and thus about enabling additional storage the fact that such an annotation exists in a location different than where the annotations or the subject of the annotation is currently stored.

Or in less abstract terms, Web Annotations is about enabling a website to serve a feed of Web Annotations one of which might look like this:

{
  "@context": "http://www.w3.org/ns/anno.jsonld",
  "id": "https://david.shanske.com/annotation-3264",
  "type": "Annotation",
  "motivation": "replying",
  "body": "https://david.shanske.com/2016/11/28/cbss-elementary-gets-kosher-wrong/",
  "target": [
    "https://david.shanske.com/2016/11/28/cbss-elementary-gets-kosher-wrong/#comment-3264",
    "https://www.facebook.com/dshanske/posts/1188775184544354?comment_id=1188793234542549"
  ]
}

"While support for custom comment types is a 'blessed' task, we still don't have that."

No reason this ticket could not be the catalyst to make that blessed task a higher priority. It might even inform the design of comment types by providing some insight into use-cases.

"So, having annotations as a built-in comment type would allow someone to annotate a post/page/etc. Now, that's initially a local implementation, not a distributed one. But from the perspective of site owners, you should always have a local implementation of a feature before you start fetching stuff from other sites. A base feature should be built in, and only enhanced by an outside site or service." ... I may be on a completely different line of thought than the initial proposal, but I feel strongly about local first as a building philosophy.

You have made an philosophical argument but it is too abstract to prove or disprove. And thus I think debating it distracts from the specific use-cases and requirements we could be discussing.

Let us first make sure we all understand what is being proposed and what the goals of the proposal are and then discuss if those goals are appropriate before we debate philosophy of implementation? The former really should inform the latter. Otherwise we'll just be talking past each other.

#8 in reply to: ↑ 4 @MikeSchinkel
5 years ago

Replying to dshanske:

"If someone wants to annotate a URL on another site, that should be a custom post type. The post type would be associated with their user...so there is authorship of the annotation. It doesn't need to have anything to do with the comment table."

I would instead argue "It doesn't need to have anything to do with the posts table" because posts are conceptually source documents and comments are conceptually annotations to a source document. So wp_comments is a better fit than wp_posts.

And as comments have the user_id field, authorship is addressed.

"the annotation server merely serves to translate the custom post type posts into the format that other systems can understand...the Annotation spec."

The prior notwithstanding; yes, this is the thinking of the proposal.

"If someone wants to annotate something on the same site they have a user on, that can be a comment type."

And that is another reason to make all annotations comments; it is more D.R.Y. than having the same logic attached to both posts and comments.

#9 in reply to: ↑ 5 @MikeSchinkel
5 years ago

Replying to chrisaldrich:

Mostly to provide some additional resources to the conversation I'll add the following:

Excellent! Thanks for commenting and providing the additional background.

Also, may I burden you to explain to @jdgrimes how you use your own website to first publish all your comments, to allay concerns regarding copyright expressed by @jdgrimes?

#10 @MikeSchinkel
5 years ago

Here is the video that @chrisaldrich referenced as well as a more specific one about Hypothes.is and it would be really helpful for people who have not been immersed in the Web Annotations discussion:

https://www.youtube.com/watch?v=QCkm0lL-6lc

https://www.youtube.com/watch?v=deOlFn6q01Y

#11 in reply to: ↑ 6 ; follow-up: @jdgrimes
5 years ago

Replying to MikeSchinkel:

Replying to jdgrimes:

"I'm rather new to annotations"

I only learned about them ~12 hours before you. Before posting this ticket I read the three recommendations in full . I'd highly recommend if you or anyone else is interested in this ticket -- pro or con -- to read at least the data model spec so you can come fully up to speed on what annotations are and what they are not.

Thanks. I haven't read through the whole thing, but just glancing at the section on selectors was informative. (See below.)

"But this sounds like basically adding support for an entirely separate class of content than WordPress is currently built for, mostly under-the-hood."

All we need is already in WordPress core as an existing class of content. We already have the tables needed in the standard WordPress database schema: wp_comments and wp_commentmeta. Had this concept required new tables or even table modification it would have been a non-starter because of WordPress.com and so I would never have proposed it.

I understand that it can fit into the same generic under-the-hook comment types. By "class of content", I was thinking more in terms of what that content means to the user, how it would be presented, etc. More like, the purpose and function of the content. Obviously, WordPress can handle most any class of content, but usually that is through plugins, not part of core. It just seems like a shift in WordPress's core purpose at present, if one that is in the general sentiment of its mission. On the other hand, perhaps it is not much different that the trackback support that is currently languishing in core.

"Are we even talking about actual annotation management being provided through WordPress, or essentially just storage?"

I am not sure what you specifically mean by "actual annotation management" so I cannot yet answer.

By this I meant letting the user edit their annotations, delete them, etc.

"Honestly, although I like the idea of annotations, I'm not comfortable with the idea of decentralization if it completely ignores the wishes and copyrights of the publisher of the annotated content."

I think I chose poor wording here, by "publisher" I was actually meaning "author". See below.

"I'm not sure it would be entirely unjustified to say that this ticket is trying to turn WordPress into a glorified content-scraping and republishing engine."

My concern was that specifying the part of the content that an annotation relates to would be done primarily through saving a copy of that part of the content. After reading the selector spec, I realize that there are actually many other options for specifying this, and there's a warning there against this particular "selector":

Note
If the content is under copyright or has other rights asserted on its use, then this method of selecting text is potentially dangerous. A user might select the entire text of the document to annotate, which would not be desirable to copy into the Annotation and share. For static texts with access and/or distribution restrictions, the use of the Text Position Selector is perhaps more appropriate.

This is what I was concerned about, and what I was referring to by "content-scraping" (which is essentially what this selector method can work out to). As long as use of this selector method is minimized/restricted, my fears about copyright issues are allayed, and I am happy with the concept of annotations. (Well, maybe not entirely happy, I still question the fundamental premise of some people's arguments in favor of some uses of annotations, but that is a rabbit hole that this ticket probably doesn't need to go down.)

#12 in reply to: ↑ 11 ; follow-up: @MikeSchinkel
5 years ago

Replying to jdgrimes:

"By "class of content", I was thinking more in terms of what that content means to the user, how it would be presented, etc."

Understood. Web Annotations encompass a lot more than just comments. But in order to keep it within the scope of what already exists in WordPress I kept my proposal limited to just comments, which core could easily do, and then let the other types of Web annotations be handled by plugin authors.

"It just seems like a shift in WordPress's core purpose at present, if one that is in the general sentiment of its mission. On the other hand, perhaps it is not much different that the trackback support that is currently languishing in core."

Maybe it would be helpful to explicitly define "WordPress's core purpose at present?" You and I (as well as many others) may each have a different view of what that is and without a shared idea of purpose we'll just talk past each other.

To me WordPress' core purpose is to "Empower end users to publish the content they author." And as comments I write on other sites very much fit into the definition of "content I author" then capturing them and allowing me to control one location where they are published seems perfectly in line with that core purpose.

So rather than extending WordPress' core purpose, I feel like this proposal fills in the gaps that has stopped WordPress from achieving its core purpose as well as it can.

"By this I meant letting the user edit their annotations, delete them, etc."

Okay, then yes. But it seems to me that WordPress already excels at comment editing so I don't see much of any new functionality that would be needed for this.

"As long as use of this selector method is minimized/restricted, my fears about copyright issues are allayed, and I am happy with the concept of annotations."

Cool.

My primary motivation for this ticket was to see WordPress lead the industry in how Web Annotations are used rather than wait until others impose their world view upon us in ways that may not favor WordPress. Whatever works to allow us to "dip our toes into the water" here and get started with Web Annotations in core would cause me to feel this ticket was a success. I don't feel the need for this ticket to be adopted exactly as I described, hence my describing it as a "strawman proposal."

#14 follow-up: @dshanske
5 years ago

I had looked at the specification before I commented. I certainly could stand to read it a few more times as there is a lot there to discuss. I agree working toward annotations in WordPress is an admirable goal and support it, especially since too many active members of the community seem to be focusing on business use cases. We may be at odds as to ways to go about it, which is fine.

To the more practical aspects of it, I am approaching it from the perspective of where annotations are stored and where the subject of annotations are stored because I think it is a prerequisite to storing the relationship between the two. I think those two actions should be taken with the third in mind.

You want persona, which is a form of identity, to be the post type so it can have comments attached to it. There is nothing inherently wrong with that. Menus are post types. Changesets are now post types. The post table is used to store different types of data. But there is also the user table, which is where WordPress has designated identity is to be stored.

We can debate this back and forth, and to your point. The hope was, by your initial statement, to encourage discussion and consensus. I'd like to see what others have to say on the matter as well. My ideas are often on the outside of things to begin with. I'm the one who is usually advocating for a different W3C standard, Webmentions(which, by the way, is also an option for notifying another site that there has been an annotation)

#15 in reply to: ↑ 14 @MikeSchinkel
5 years ago

Replying to dshanske:

"I agree working toward annotations in WordPress is an admirable goal and support it, especially since too many active members of the community seem to be focusing on business use cases."

+1

"To the more practical aspects of it, I am approaching it from the perspective of where annotations are stored and where the subject of annotations are stored because I think it is a prerequisite to storing the relationship between the two. I think those two actions should be taken with the third in mind."

We are in agreement along those lines, at least in the abstract.

In specific it would see to me that annotations for comments made on another site could easily be stored in wp_comments, and the subject of the annotation would be stored by wherever it is published. To be explicit though, the annotation includes links to both the annotation and its subject so storing that info in a Web Annotation JSON format in wp_comments would seem appropriate to me.

"You want persona, which is a form of identity, to be the post type so it can have comments attached to it."

To be more precise I proposed persona as one way this use-case could work seamlessly with the existing data schema and existing UI, with only minor tweaks. There may be other equally appropriate solutions though.

"But there is also the user table, which is where WordPress has designated identity is to be stored."

So over the past several years almost every WordPress site we have worked on has needed to present information about people on the front-end so I have dealt a lot with people-as-content vs. people-as-users. Our conclusion has been that the User system in WordPress is optimized for authentication but not for presentation, and that Post Types are best used when there is a need for presentation.

Thus "Personas" as proposed would be related to presentation and not as authentication so they seem more appropriate as Post Types than as Users. And Users do not handle different email addresses well -- which is more closely aligned with the concept of a persona; for that you'd have to create a different user for each email address and then loose the natural association with a single logged in User.

Still, this implementation is the least important aspect of this proposal. And I only argue for wp_comments because I think that would reduce the scope of seeing this come to life vs. using wp_posts.

As an aside, I think the choice of post type for Menu Items was one of the most regrettable legacy decisions ever made for WordPress. But I have yet to work with Changesets so really can't speak to the wisdom of using post types for that. FWIW.

"I'd like to see what others have to say on the matter as well."

Agreed.

"I'm the one who is usually advocating for a different W3C standard, Webmentions"

I am only vaguely familiar with Webmentions but the reading I just did tells me they are effectively more modern trackbacks? If no, what am I missing?

If yes then I am not seeing the same value in those as I see in Web Annotations. That said, Webmentions seem orthogonal and complementary to Web Annotations so maybe this proposal, if accepted could incorporate both.

#16 follow-up: @dshanske
5 years ago

Well, trackbacks begot pingbacks which begot webmentions yes. Trackbacks were not verified(security issue) and they set what they expected the remote site to display. Neither trackbacks or pingbacks have been used effectively in WordPress, because the displaying of both is less than useful.

Webmentions are a way of notifying one site that you've linked to it, like its predecessors, but let's take Annotations. You could use webmention as a medium to tell another site that it has been annotated. The receiving site(the one being annotated), would then retrieve the data, even if in the JSON format outlined, parse it, store it, and display it.

It is a core piece of the Indieweb, whose website you cited above, except that group(of which I am a part), uses microformats as opposed to JSON or such. So, basically HTML is our API.

#17 in reply to: ↑ 16 @MikeSchinkel
5 years ago

Replying to dshanske:

Well, trackbacks begot pingbacks which begot webmentions yes.

Thanks. It does sound like I expected.

I personally don't feel a burning need for them for the use-cases I would like to see enabled, but I also personally am more than happy to see them incorporated into WP core if they can benefit others. Not that I have any control over that one way or the other, you understand. :-)

#18 @dshanske
5 years ago

I know. Neither do I. On either matter. I just have learned from my own attempts that in order to get a big project, you need a lot of support. Smaller projects not as much.

#19 @PeterRKnight
5 years ago

I think this idea of this being part of core has a lot going for it. A WordPress site should be able to be a digital home for persons and even businesses. Comment activity involves content authorship which can be as valuable and noteworthy as any post. Comments in WordPress still are a 2nd class citizen. Today most comments are lost to unappealing systems (such as Discus), closed gardens (Facebook) and lost in ephemeral streams (such as Twitter), or chained to platforms that are bound to fold (Medium being next in line after projects like posterous, friendfeed, Wave etc) and in each of these examples the comment author has little to no control. It has also always bothered me that it's hard to look up a site authors comment activity on other sites.

On another front, if WordPress gets ahead of the curve on annotation features, it will be a boon for professionals who produce content in teams as well as opening up new ways of inviting reader contributions and tapping into crowdsourced improvements to content.

Compared to other notable platforms, only WordPress really takes the mantle of acting as a worthy digital home. Attention to annotations will do much to amplify that underlying strength.

Last edited 5 years ago by PeterRKnight (previous) (diff)

#20 in reply to: ↑ 12 ; follow-up: @jdgrimes
5 years ago

Replying to MikeSchinkel:

"It just seems like a shift in WordPress's core purpose at present, if one that is in the general sentiment of its mission. On the other hand, perhaps it is not much different that the trackback support that is currently languishing in core."

Maybe it would be helpful to explicitly define "WordPress's core purpose at present?" You and I (as well as many others) may each have a different view of what that is and without a shared idea of purpose we'll just talk past each other.

To me WordPress' core purpose is to "Empower end users to publish the content they author." And as comments I write on other sites very much fit into the definition of "content I author" then capturing them and allowing me to control one location where they are published seems perfectly in line with that core purpose.

That definition seems too broad, at least in terms of what users expect from core. I don't think that people see WordPress as a tool for managing comments that they post on other sites (though I realize annotations are kind of broader than that, I guess). Sure, many people might want to use it that way, but right now (perhaps partly due to the novelty of the annotation technology) I find there to be a gulf between that and what WordPress does now. Perhaps that is just the psychology of how I personally perceive it, but I see managing my blog and managing my comments on other people's sites as being two different things probably better suited to different tools. I'm not saying that is necessarily true, but I suspect that unless and until web annotations really become popular, many average users would perceive this as wasting time to make WordPress a tool for something that 80% of users aren't going to use.

So I'm not really saying that WordPress couldn't do this or that it would contradict its mission. I'm just saying that, at least personally, I don't have the expectation that my blogging software (or any of the millions of other things WordPress is used for/perceived as) will now handle storing my annotations for me. I might want it to do that, and I might not.

And as I think about it, I doubt that I would want to enable that feature on any of the half-dozen sites that I currently run (well, maybe my personal blog), because it would just be something totally distinct from what I am using WordPress to do.

That said, when/if annotations become popular and I begin using them, I would probably find it nice to have control over my content, and a familiar interface like WordPress (and also with the benefit of its extendable code) would be something I'd definitely consider using as my annotation storage/management tool. But I just don't think that that is going to be something that the average existing WordPress install is going to want. It is in this sense that I see it as being kind of outside the scope of what people see as WordPress core's purpose, what they expect it to do "out of the box".

This may not mean that making WordPress into an annotation server has to be confined to plugin territory, but I feel at this point that it is kind of like WordPress would then be two different things: most people would be using it to set up a traditional website, and other people would be using it to set up an annotation server, possibly more-or-less linked to a traditional website. Many people might use it for both. I just doubt that many people will use it for both in a single install, which is kind of what gives me pause.

So this is why it seems to me like using your WordPress website as an annotation server ought to be plugin territory. Unless we are just gambling on the prediction that most people are going to want to turn their websites into annotation servers, after annotations gain traction. It's probably too early to tell, but I don't really see that happening, at least in terms of the broad range of website types that many people build with WordPress. What percentage of WordPress sites are really personal blogs? (I'm assuming that most other types of websites, like storefronts, etc., aren't going to want to use this feature.) Does this pass the 80% rule, or does it cause people to see WordPress as mainly catering to blogging by sticking more features into core that mainly appeal to that use-case for it?

What are you and others envisioning as to how this would fit into the way that people are currently using WordPress? Why will this be a good feature for them? Why does everybody need it? Or is this more of a desire to get it into core mainly because that way it will be done right and maintained, and carry WordPress's authority, whereas none of that would necessarily be the case with a plugin?

#21 in reply to: ↑ 20 ; follow-up: @MikeSchinkel
5 years ago

Replying to jdgrimes:

I had a longer reply, but I cut it down to just this:

"most people would be using it to set up a traditional website, and other people would be using it to set up an annotation server, possibly more-or-less linked to a traditional website."

I actually agree with you, regarding features 2 and 3. Those features could even be plugins if WordPress ever implemented "core" plugins vs. just one of 50,000+ from the repo.

But feature 1 needs to be on all sites that support WordPress comments, and features 2 and 3 need to exist in a form that most WordPress users will trust (e.g. a "core" plugin) or this entire proposal really becomes moot.

Last edited 5 years ago by MikeSchinkel (previous) (diff)

#22 in reply to: ↑ 21 @jdgrimes
5 years ago

Replying to MikeSchinkel:

I actually agree with you, regarding features 2 and 3. Those features could even be plugins if WordPress ever implemented "core" plugins vs. just one of 50,000+ from the repo.

But feature 1 needs to be on all sites that support WordPress comments, and features 2 and 3 need to exist in a form that most WordPress users will trust (e.g. a "core" plugin) or this entire proposal really becomes moot.

I think that we are largely in agreement then. I think it probably will make sense for WordPress's comments to accept annotation references out of the box, since annotations are a now a web standard. I guess most of my concern was about 2 (and possibly 3).

Could you explain why you think that it is so important for 2 and 3 to exist in a "core" plugin/form most users will trust? As opposed to so many other features (forums, storefronts, etc.). (If you've already done that, then apparently I'm just not listening, so don't bother repeating yourself. :-)

#23 @johnbillion
4 years ago

  • Version trunk deleted

#24 @jaswrks
4 years ago

Hello annotators ;-) I've been working on a WP REST API controller for annotations and it follows the W3C model for selectors. I was unaware of this open ticket until now. Love the discussion!! Agree on many points, and I have been participating in some discussion with the hypothes.is community also.

I'd like to invite any feedback I can get on the open PR for this.
If interested, please see: https://github.com/WordPress/gutenberg/pull/4685
A work-in-progress draft of the documentation for the API is here: https://speca.io/jaswrks/wp-annotations

It uses a custom comment type to establish private backend annotations for Gutenberg, but as others have mentioned, this feels like it would make a great addition to core. My feeling is that a good first step would be to make custom comment types more flexible; e.g., register_comment_type() and register_comment_status().

#25 @johnbillion
4 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #35435.

#26 @dshanske
4 years ago

  • Resolution duplicate deleted
  • Status changed from closed to reopened

@johnbillion This is not a duplicate. Webmentions and Web Annotations are two completely different standards. There is potential for them to work together, but they aren't the same thing.

#27 @netweb
4 years ago

  • Milestone set to Awaiting Review
Note: See TracTickets for help on using tickets.