@toxi how interesting! We have a task force on aggregation and remixing that covers some of these topics. I think that work is a level up from tags.pub, though -- I think it might be another service that uses tags.pub as a source.
@evan recognition of the fact that even with the same name, tags are still differentiated by their host.
Encouraging the wider fediverse to treat them as such.
@mariusor that's an interesting idea that is not reflected in any other ActivityPub software. Maybe yours?
@toddsundsted initially it can only be through some color disambiguation. This version can be modified locally, this other one can't... or something like that.
The fact that a tag can be an object, also means it can have recipients, so when the users of your software add a tag to their communication, you can add said recipients to the outgoing list.
I don't know all the cool things that can be done with it, but I be there's a couple.
@evan no, not really.
I'm just annoyed that the fediverse is treating any object as belonging to a global namespace when that's simply not true.
What I do do is to give tags an actual HTML representation, where there's details and what not. (See something like https://releases.bruta.link/tags/New )
And I plan to use them this way in the different instances of the brutalinks link aggregator. On it local tags can be used to differentiate between actor roles on each instance: moderators as an example.
@mariusor it feels like a stretch to say that hashtag linux on social.tchncs.de is entirely different from hashtag linux on mstdn.ca. I think that different communities use the same hashtag differently, but I don't think those communities break down cleanly on server lines.
@evan they might point to the same referent/idea at a semiotics level, but individually they are distinct is what I mean.
I don't want to deny a community's right to redefine what "hashtag linux" means to them. I feel like there's some unexplored potential here. I guess you disagree, but I in the end that's fine.
@mariusor So, are you talking about how the generated links are on different servers, like this?
```json
{
"type": "Hashtag",
"name": "linux",
"href": "https://social.example/tag/linux"
}
```
@evan well, yes, but I was thinking more of where the href points to, in my opinion that's would be the Hashtag itself.
I don't remember seeing anywhere that it should be a Link not an Object.
For my projects hashtags are still Objects with an empty type, as at the point I wrote the vocabulary data types, there was no "Hashtag" type value yet, and I think it's still not there in the published versions of the Activity Vocabulary spec.
@evan related tag groups: aka #fediverse and #fediversum together as one concept.
@liaizon I think that's a really good feature, but it might be too high-level. I'd like to have a server that lets you aggregate search terms, individual accounts, and hashtags, but tags.pub might be one-feed-per-tag.
Some definitions:
- Trending tags: tags which have increased in frequency the most lately
- Co-occurring tags: tags that appear together in posts most often, like EvanPoll and poll
- Global stats: total subscribers, total publishers, total number of posts shared, total number of unique tags by day/week/month/year/whatever
- Tag of the day: an interesting curated tag, with a description
@evan I'd love to see hashtags treated as sets and support for set operations. See here: https://github.com/thi-ng/blog/blob/main/2025/20251107-tags-are-sets.md
blog/2025/20251107-tags-are-sets.md at main Β· thi-ng/blog