- From: Sarven Capadisli <info@csarven.ca>
- Date: Fri, 24 Jan 2025 00:07:06 +0100
- To: public-swicg@w3.org
- Message-ID: <f3f2a1c0-f84b-4928-8971-ae7ca2f55f51@csarven.ca>
On 2025-01-23 22:19, Evan Prodromou wrote: > It would definitely be interesting to re-use existing work on annotations. > > In using Web Annotations, do you think it's better to maintain all the > different aspects of the system, like the annotations server and the API > endpoint, or just borrow the type and properties from the vocabulary and > fit them into the ActivityPub API and federation protocol? > > Evan Evan, as I see it: a minimal AP system (whether clients and/or servers) can simply use the Web Annotation (WA) vocabulary and run with it. This can be done *today*. WA server is not required. A client (like https://dokie.li/ ) that wants to speak with AP or WA or Solid or whathaveyou can decide for itself. I shared a general status update on "decentralised annotations and activities in dokieli" back in November: https://lists.w3.org/Archives/Public/public-swicg/2024Nov/0037.html Let me quote myself (because the alternative is like yelling at the cloud for me at this point in time): >This dokieli feature demonstrates how articles and annotations can be published and shared in a fully decentralized manner, creating a social layer on top of the document layer: >* content creators and readers can use online identities they control >* creators can store and protect their content anywhere they have access >* readers can discover relevant interactions from their contacts' >This feature, particularly when used within the context of a browser extension, is useful in scenarios in which the interactions on top of documents among individuals and communities are completely decoupled and private. With this feature in place, we are eager to further explore its potential to contribute in the fight against misinformation using annotations to fact-check articles and claims. This aligns with the goals of dokieli, including current and future features, which provide contextual insights that help enrich the experience of reading and creating content on the web. What I'm saying is that the blue pill has been kinda fun and useful. See the screencast and list of specs - AP/AS2/LDN/WA etc. - that are glued together to accomplish various parts of that to be interoperable with different systems. It is not all or nothing. When a user signs in, dokieli discovers their outbox. When the user annotates a target, dokieli sends an AS2 Activity where the object describes an Annotation about the target. dokieli did its part as an AP + WA client. The server can do its part and "distribute" or keep it still. If dokieli discovers that the target of the annotation has its own WA annotationService, then it gives the user the option to send a copy there. This is in addition to the possibilities of sending the canonical annotation to their storage, outbox, or elsewhere. dokieli's integration of all this stuff goes back to the Social Web WG where I also provided an implementation report (c. 2018?) [2] (see the implementation details section.) As you may recall, even the example I authored in the AS2 spec includes a bit of WA: https://www.w3.org/TR/activitystreams-core/#example-using-multiple-vocabularies That wasn't a coincidence. I included it to show that remixing useful or interesting vocabularies was possible - even back then. Sure, that giant example might not be entirely "realistic" but the main point of that section was to highlight the potential for combining vocabularies. From my perspective, combining AP / AS2 with WA (and other systems) has always been a possibility. It's exciting to see more people exploring this approach, and I encourage further work in this direction. There is no one spec to rule all specs. Enormous amount of energy went into people thinking about various aspects of our social activities on the web, so we ought to try to reuse / mix and match what we can or need. LDN explains how any resource can have an inbox. This makes it possible for any AS2 object to have its own inbox, independently controlled and hosted anywhere on the web. This opens up possibilities like enabling any WA annotation or AS2 object to have its own inbox - supporting threaded replies and annotations. (Also implemented in dokieli.) But can also be as simple as using shared, trusted, community or whatever inboxes. Needless to say authentication and authorization remain as major challenges. I won't bother getting into that in this email but who gets to post what and where and who gets to annotate what, and how that's all discovered can get complicated. It is a PITA, right up there with servers (or lack thereof) participating in CORS. (I mean, I can't even use dokieli to reply to a post on Mastodon in 2025 and I thought we were supposed to have flying bicycles by now!) Any way, if anyone read this far, you can treat yourself to a yet another dokieli screencast ( only 8 seconds! ): https://w3c.social/@csarven/113464158549364043 Here the user loads an annotation (from their personal storage / outbox) that targeted an AP Note (on w3c.social / Mastodon). Source of the activity + annotation: https://linkedresearch.org/annotation/csarven.ca/%23i/a4d2e7c2-50a9-48c0-a09d-1c29b70ea0e3 If the big bad ugly human- and machine-friendly HTML+RDFa looks scary to anyone, one can of course do: curl -H'Accept: application/ld+json' https://linkedresearch.org/annotation/csarven.ca/%23i/a4d2e7c2-50a9-48c0-a09d-1c29b70ea0e3 | jq Okie dokie, -Sarven https://csarven.ca/#i
Attachments
- application/pgp-keys attachment: OpenPGP public key
Received on Thursday, 23 January 2025 23:07:14 UTC