(This topic was originally posted to Decentralised Group and moved to its own separate discussion topic)
Hello,
I’m new to all things activity pub so please forgive me for my possibly novice opinions.
While I feel that this FEP is a step in the right direction, we could peruse a more flexible approach for exclusive namespaces for actors.
Rather than adding only two new special characters, we can allow for a list of characters that can be legally used in machine generated[0] actor identifiers. This allows for a more richer description of actors.
For instance, when describing the function of buildings in a city, hospital identifiers can have a !
for prefix, $
for restaurants and ^
for houses. By treating identifiers opaquely, actors won’t have to commit to any interfaces beyond other than the ones defined in the base actor class but it will enable the host instance to extend actor base class without having to deal with namespace collisions.
Additionally, opaque identifiers will enable implementers express richer relationship rules using just identifers. An organization with PR and development departments and each department having a separate admin group can describe them as !<org name>$<department name>^<group name>
(with !
, $
and ^
being special characters for organization, department and group respectively). We could express this relationship in the actor document but a hierarchical identifier will also assist the user to quickly determine the entity an identifier represents. An alternate approach with context-aware identifiers would result in namespace exhaustion and unwieldy identifiers like <org>-<department>-<group>
which will be assigned on first-come-first-serve basis.
[0]: user provided being the one the user enters during registration. I chose @realaravinth
for my username on this platform and so I’ve been assigned the same but if I were to create a group called “friends”, the program can generate an identifier for that group similar to <special character>friends
. The difference being, the user didn’t choose <special character>
.