mastodon.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
The original server operated by the Mastodon gGmbH non-profit

Administered by:

Server stats:

348K
active users

1/

This is how a Fediverse Labeler could work.

In particular, This is how a Fediverse Labeler could be represented as ActivityPub / ActivityStreams / JSON-LD data.

2/

A Fediverse Labeler would output a separate ActivityStreams "Profile" Object for each thing it wants to label.

Each of these should be at a separate URL.

3/

The "describes" field would point to the thing being labelled.

The "attributedTo" field would point to the person or machine that create these label.

And the "attachment" field would be a list of labels.

The (top level) "icon" field would be an icon that would be shown next to the label in the user-interface (UI).

4/

Note that even in this example, that there are different types of labels!

I have some examples of text labels.

But I also have some examples of Icon labels.

(Other types of labels could exist, too.)

@reiver Hey, I loved this discussion when it landed, and I've stumbled back onto it now.

Did you make any more progress using as a ?

I think I'm starting down this road soon (as a way to implement endorsements) so I'd love to build on existing work that's out there.

@reiver ⊼ (Charles) :batman:

@benpate

I have done some of the implementation work.

Still have more to do.

...

How were you thinking of using a Labeler?

@reiver I’d use a labeler an a Fediverse version of Community Notes, or a federated version of universalnotes.org

In my primary project - emissary.dev - I want to mark/comment on a misinformational post without helping to spread the misinformation.

UniversalNotesUniversalNotes - Community Notes for every websiteUniversalNotes is an open source non-profit browser extension that brings Community Notes from Twitter / X to the rest of the internet.

@benpate

I will write a thread about how to look-up a URL, to get its labels.

I.e., if you have the URL:

http;//example·com/~joeblow

How you get the labeler server URL that will give the labels (for the original URL).

(But, after I sleep.)

@reiver @benpate why not just use the Web Annotations Protocol? Why several new constructs at the AP/AS2 level?

If you're interested in working on this, the ActivityPub Trust & Safety Taskforce also is: github.com/swicg/activitypub-t

The way I solved the discovery problem in an experimental Web Annotations service was to use the SHA256 of the object ID as the key for looking up collections of data from the annotations server (i.e., some known URL construction where you avoid URLs in URLs

self-labeling of content moderator-labeling of content annotations vs hashtag-style labels having followable actors that apply labels to content (this is very likely annotations, not labels) standa...
GitHubIdea: Annotations / Labeling of content · Issue #4 · swicg/activitypub-trust-and-safetyBy ThisIsMissEm

Just found Web Annotation protocol from your links, thank you!

w3.org/TR/annotation-protocol/

After a quick read, it seems like a good starting point (though in need of clarification, like most of ActivityPub)

Charles, if IFTAS is working on something, it’s definitely worth joining that effort. The key to success is in getting apps to implement the labeler, and IFTAS has the best chance to make that happen.

@thisismissem @reiver

www.w3.orgWeb Annotation Protocol

@benpate @reiver not IFTAS, but the ActivityPub Trust & Safety Taskforce — part of the Social Web CG / SWICG

@benpate @reiver I have an experimental web annotations server I've been working on

@thisismissem @reiver

Thanks for the clarification. Sorry I conflated the two.

And this just strengthens the case for doing this alongside the SWICG.

We’re all going in the same direction: use ActivityPub collections, inboxes, and outboxes to distribute notes about content without “boosting” it.

@thisismissem - do you know of any other implementations in the wild? My search only returned one app from 5 years ago.

@reiver - how much change would it take for your app to support this? Would you just need to switch “Profile” for “Annotation”? Or is it more complicated than that?

@benpate @reiver all you'd really need is some way to "follow" something producing Web Annotations, which should be possible as it's all just JSON-LD, web annotations context can just be added to @/context along side AS2

@thisismissem @benpate @reiver
I would also want a way to query annotation services for historical objects, and for things to be able to carry verifiable annotations for themselves (so that queries are not always necessary).

@thisismissem @benpate @reiver
And I hate to get all linked data-y, but in this case it would also be nice if it was easy to determine equivalence between annotations from different sources.

For example, it's fine for anyone to self-assert their own pronouns, but it would be so much less helpful if that's just done in free text. And at the same time, it's conceivable that organizations like the SPLC and lambda legal might each run a labeler for hate speech. Knowing which is which, is important. And so is distinguishing between those and say, an annotation server run by the KKK.

@jenniferplusplus @benpate @reiver these are all things we'd love to discuss and work on in the ActivityPub Trust & Safety Taskforce!