So, I’m new to the fediverse and Lemmy, and I’m still trying to wrap my brain around it all. I’m sure people have talked about this, but by far my biggest issue so far has been finding communities. I specifically didn’t want t to join a large instance, but that has led to issues of finding communities. I often need to go to lemmy.world or lemmy.ml and search for communities there because searching on a smaller instance won’t yield results if no one’s subbed to that community, even if the instances are federated.

Which leads to the point I’m trying to get to. It feels almost to me like if I’m trying to search for a URL but the DNS says it doesn’t exist because no one on that DNS tried accessing that URL before so I need to query another DNS for it. But in reality, if I ask my DNS for a URL, if it doesn’t know it, it’ll ask other DNSs in turn until a result is determined. Why can’t something like this exist for searching for communities? Does something like this exist at all, or is it impossible / a limitation of activity pub? But I feel searching for a community in one instance should in theory, if it doesn’t know that community yet, be able to query federated instances if they know, until a result is returned.

Apologies if I’m unintentionally beating a dead horse. Or if there was a better community to post this to other than this one. See aforementioned community finding issues, lol.

  • wmassingham@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    Let’s say every lemmy instance has a “memes” community, and you want to find them. Unlike DNS, where there’s one authoritative record for memes, to find all the different communities for memes, the local instance would have to send a search request to each other federated instance, wait for the results (what if the remote instance is offline?), figure out how to sort them, paginate them, and display them to the user.

    Would it be possible? Yes, but it’s probably more of a headache than the devs want to implement. If you check the issue tracker, you might find some discussion about it.

    • Skips@pawb.socialOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Hmm. I hadn’t thought of this. I realize now that asking a DNS for a URL is predicated on there being one and only one IP address that maps to that URL. That wouldn’t be the case when looking for a community, so the propogation of the query can’t stop once a single result is found.

      • shagie@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        DNS is a poor example to use as there are multiple IPs that can map to one name.

        % nslookup www.yahoo.com
        Server:		192.168.1.1
        Address:	192.168.1.1#53
        
        Non-authoritative answer:
        www.yahoo.com	canonical name = new-fp-shed.wg1.b.yahoo.com.
        Name:	new-fp-shed.wg1.b.yahoo.com
        Address: 74.6.231.20
        Name:	new-fp-shed.wg1.b.yahoo.com
        Address: 74.6.143.25
        Name:	new-fp-shed.wg1.b.yahoo.com
        Address: 74.6.143.26
        Name:	new-fp-shed.wg1.b.yahoo.com
        Address: 74.6.231.21
        

        You might be interested in looking at something like Usenet News and NNTP where there is one and only one group with the name rec.games.roguelike.nethack ( https://groups.google.com/g/rec.games.roguelike.nethack ) and the contents of that group is federated out to every NNTP server that subscribes to it (not all do). Note that this is a different model and every server contains all the data for the groups that they subscribe to and may exchange those posts with any other server that they federate with (this also solves the “what if Lemmy.world goes down” problem where if the sponsoring server goes down, no one’s comments are exchanged outside of the instance they are on).

        https://www.eternal-september.org/hierarchies.php?language=en

        But this is a fundamentally different model than Lemmy uses.