"Topics" and Services we can subscribe to

In some talks we see the concept of topics -
for example
SkoHub: Supporting topic-based content syndication & discovery in a federated environment

People mostly follow people in ActivityPub.
But there are many people with many topics …
Let us discover how ActivityPub users can follow their interests

2 Likes

I’d be interested in this as well, as I’m currently working on a post relay and storage system for ActivityPub that won’t be federated but distributed. (#software:hash2pub)
It’d be interesting to talk about how to achieve stuff like relay actors at the protocol level and how to expose this to servers. After a discussion with lain I figured it might be possible to do stuff similar to the current relay actors.

As I volunteered as a moderator, I am proposing this

Roadmap

brief introduction of participants

different kinds of “topics” and their use cases

  • categories
  • keywords/ hashtags
  • controlled vs. uncontrolled/ ad-hoc vocabulary

existing approaches

  • relay actors
  • groups
  • hashtags

desirable properties

ActivityPub integration


This is just a quick braindump of what I think would make sense, we can of course deviate from it in any direction of course.

At the end of the bof session I had a question about the type Hashtag and where it comes from. I was curious as we where thinking about adding another type (e.g. Category) to refer to a topic from a controlled vocabulary.

Taking an example toot one finds the following in the JSON:

{
   "@context":[
      "https://www.w3.org/ns/activitystreams",
      {
         "ostatus":"http://ostatus.org#",
         "atomUri":"ostatus:atomUri",
         "inReplyToAtomUri":"ostatus:inReplyToAtomUri",
         "conversation":"ostatus:conversation",
         "sensitive":"as:sensitive",
         "toot":"http://joinmastodon.org/ns#",
         "votersCount":"toot:votersCount",
         "Hashtag":"as:Hashtag"
      }
   ],
   "tag":[
      {
         "type":"Hashtag",
         "href":"https://octodon.social/tags/apconf2020",
         "name":"#apconf2020"
      }
   ]
}

Hashtag is mapped to as:Hashtag but I can not find this in the ActivityStreams vocabulary, neither with $ curl -LH "accept:application/ld+json" https://www.w3.org/ns/activitystreams# | grep -i hashtag nor looking at https://www.w3.org/ns/activitystreams.

So, it looks like it is not standardized yet. (EDIT: Indeed, it is listed in the Mastodon doc under ActivityStreams extensions that have been proposed but not officially adopted.) One could add a type for a controlled term and a hashtag in one go, then…

Shared Notes from the session

Roadmap

brief introduction of participants

  • Sebastian, redaktor CMS pretty much plans to use topics (hashtags and controlled), controlled will be in UI like #!controlledTopic

  • Adrian, librarian, skohub

  • schmittlauch: interested in global federation of hashtags
    had a Talk in the 2019 Conf :
    “Decentralised Hashtag Search and Subscription in Federated Social Networks” – Schmittlauch - ConfTube

  • lanodan: a Pleroma developer, like schmittlauch we’re interested in fixing hashtag federation/distribution

  • Michael: friendica dev, interested in hashtag federation as well (?)

  • Hamish: “federation as a network of trust” approach, using folksonomies, thinking about using categories and rules to forward tags to categories (e.g. kittens->cats)

  • Mayel, commonspub: I’ve been exploring this topic and have prototyped some code where topics are actors which you can at mention and which redistributes those activities to followers of the category. But also working on functionality to make categories fork able (meaning the category is clone to the forkers instance,with a sameAs reference to the original

different kinds of “topics” and their use cases

  • categories
  • keywords/ hashtags: permissionsless, non-authorized, good for spontaneous acitvities
  • controlled vs. uncontrolled/ ad-hoc vocabulary
    • fixed set of topics
    • can be defined and published in SKOS and then be federated
    • problem: easy to censor

existing approaches

  • relay actors (as:Service)
    • mastodon/ Pleroma relays
    • Friendica does this
  • groups
  • hashtags

schmittlauch’s paper “Decentralised Hashtag Search and Subscription for Federated Social Networks”: https://git.orlives.de/schmittlauch/paper_hashtag_federation

seeAlso https://www.w3.org/TR/activitystreams-vocabulary/#microsyntaxes

desirable properties