Overlapping taxonomies and the audience property

yeah, that’s correct. and technically the webfinger is optional (well, we’re getting there, anyway).

there would indeed be a username conflict. you have a couple of options:

  • pick a unique username at time of creation (e.g. tag.hashtagname instead of hashtagname)
  • use the actual id for tags and don’t use webfinger (in which case, they will not be followable via mastodon at present time, but may be in the future?)

or…

this is actually not part of webfinger. what lemmy does is actually they allow conflicts. when you resolve acct:name@domain.tld you get multiple self-links and they lead to different actor ids. lemmy differentiates them with a weird hack by specifying in properties a property of https://www.w3.org/ns/activitystreams#type and a value of either Person or Group: https://lemmy.world/.well-known/webfinger?resource=acct:technology@lemmy.world

i can’t recommend doing the same, as this is at best a very confusing way of doing things. there is no property as:type, as type is just an alias for @type. also, if anything should be a uri, it should be the values of https://www.w3.org/ns/activitystreams#Person and https://www.w3.org/ns/activitystreams#Group, not Person and Group. and furthermore, there is nothing inherent to the type that implies the handling that they receive – that’s not what “Person” and “Group” mean. one alternative is to use a prefix property instead, and have its value be @ or !. this is somewhat better but still not ideal, because it relies on an otherwise-undefined convention that all relevant projects have to agree upon (and support for “bangtags” is not universal). but at least it doesn’t rely on abusing the type declaration, i guess?

there is a tangential point here in that it is hard to reify exactly what is meant by @, !, # as these are just microsyntaxes and in fact have no semantic meaning – they’re all just signals that some link should be created when parsing plain text input. you could just as easily use + instead of @ (as google+ did), or @ instead of #, or so on. you could have entirely different interpretations where @ is a “public mention” and ! is a “private mention”. or that some symbol is interpreted as to, and some other symbol is interpreted as cc.

this sounds like it won’t work nicely with 1b12 as 1b12 seems to assume a single Group actor in audience. so putting multiple values in there might not violate the letter of the FEP, but it seemingly violates the spirit of it. my personal opinion is that there is a deeper categorical error being made by assuming that some actor must be a Group, but that’s besides the point for now. either you generate one activity per 1b12 actor (contrary to your point 1), or you generate one activity period (which gets forwarded to other, “non-primary” actors who don’t own the thread per se, they just Announce the thread or whatever – there’s wiggle room for determining the exact protocol here by which these “downstream actors” make their followers aware of new threads that aren’t managed by them. the debate is largely between Add and Announce, of course.)

2 Likes