I’m developing a new site where bidirectional fediverse discovery is crucial to UX.
What is the current State of the Fediverse wrt discovery? Is there a consistent protocol for ActivityPub? Is it all passive (i.e. requiring connections or interactions for discovery to happen)?
Can a new server somehow announce their users and groups?
I don’t want to limit to ActivityPub either. @macgirvin would you mind explaining how the directory has evolved since Hubzilla? Is it part of Nomad now? Is it separate like OWA? Unfortunately all of my knowledge of Zot is prepandemic and it seems a lot has happened in the interim.
Originally it was a separate codebase which only provided the directory function and was centralised (this was back in 2010).
In 2012 we moved to mirrored and synced directories and let you choose what directory provider you wanted. To solve the issue of dead account detection, every channel on every server “pinged” their directory server once a month as proof of life.
There is no longer a separate directory service. It turned into a spam magnet, because spammers discovered they could open an account on any of our servers and be listed in the directory which was common to all sites.
So now the directory is now just a collection of “local knowledge” wherein the site admin ultimately controls the discovery reach.
We crawl the “following” collection of our site members and their friends (where permitted) and ignore entries that wish to be unlisted. There is an index parameter which can be site on each site to limit the crawl breadth and depth and hence how much disk space you want to spend on discovery. Low numbers will let you quickly build a reasonable social graph of those around you (friends of friends). High numbers will discover pretty much the entire fediverse, but use up exponentially more resources. So there’s a balance between being totally passive and aggressively crawling and discovering ; and each site gets to decide what works best for them.
1 Like
Thanks. I thought I had seen new sites with no connections that have a full directory? How does it get started?
Hubzilla and Friendica still use an external directory. Newer projects do not. There’s some stuff in streams where I’ve been exploring “extended discovery” across community clusters but it’s a bit premature to talk about those efforts.