As a new user to all these sites, I’m confused about they interact with each other. For example, on Lemmy, I can view a Mastodon account, but I can’t view that account’s posts. This makes sense, as sorting your home feed by “all” could hypothetically result in your feed getting flooded by popular Mastodon posts.

On the other hand, I understand that Mastodon users can see, reply to Lemmy threads, and subscribe to Lemmy communities. This flow of content makes far more sense than if Lemmy allowed Mastodon posts to be visible.

With all that said, how does Lemmy know to not show Mastodon posts? How does ActivityPub even work? How does ActivityPub understand that certain posts are from certain sites? Aren’t all these sites just different UIs that advertise different servers? I’m not gifted with technical knowledge, but I’m dying to understand how this whole thing works.

  • Leraje@lemmy.world
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    1
    ·
    edit-2
    1 year ago

    Lemmy’s federation code is not as mature as Mastodon’s. Mastodon is probably the most mature codebase in the fediverse. This means that a Mastodon user sees a Lemmy community as just another user, so they can ‘subscribe’ to that community and post to it and join in the comments section of posts they’ve created.

    So it’s not so much that Lemmy knows not to show Mastodon content, it’s more that right right now it’s not able to (in a Lemmy-to-Mastodon direction), Lemmy federates very well with other Lemmy instances but not so well with non-Lemmy instances. That will improve as Lemmy gets developed further.

    The other thing to bear in mind is that Mastodon and Lemmy present content differently. Mastodon is a microblogging service like Twitter whereas Lemmy is a link aggregator like Reddit. This means that Lemmy content is usually longer and has a title whereas Mastodon content is shorter and has no title. All these things will need to be ironed out as integration deepens.

  • copygirl@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    25
    ·
    edit-2
    1 year ago

    On Mastodon, when you follow another user on another instance, your instance will send a request to the other, to be notified of new posts made by that user, as well as posts they’ve boosted. When such a new post arrives, a copy will be created on your instance so it can be displayed without nagging the original instance again for the post’s content and such.

    Lemmy is similar of course, since it uses the same underlying protocol (ActivityPub). Think of communities as “special users”. Whenever someone creates a post or reply, the community will boost it, so it ends up on every instance where a user has subscribed to that community.

    This part I’m not entirely sure on but I believe it’s how things work: The other way to send messages around other than subscription is obviously to send messages directly. In ActivityPub there’s a field that specifies the recipients of a message. When such a message is created, it is pushed to the instances of the recipients. On Lemmy, the recipient is the community you’re posting to. On Mastodon, the recipients are filled with all the users that you @-mention in the contents of the message. So for a Mastodon user to post to Lemmy, they have to mention the community, which is why you see some posts that contain the community’s handle.

    Because you can’t follow / subscribe to users on Lemmy, the posts of Mastodon users that don’t involve Lemmy never end up being “federated”, meaning Lemmy instances don’t get notified of these posts, so they don’t end up being “copied”. This is the same on Mastodon by the way. Unless your instance sends out a request to fetch posts from an unknown user, it doesn’t know about their posts, since nobody so far has cared about them.

    This makes sense because if you were to try and store all the content from the fediverse you would need a LOT of storage for little gain. Similarly it would be bad to never store the content and always fetch it, because that would generate a bunch of additional traffic, which especially small instances would suffer from.

    To summarize: Lemmy doesn’t display Mastodon posts because it doesn’t have a mechanism to subscribe to those users.

    • oweaux@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      This genuinely helped me understand everything I wanted to know. Thank you tons

  • Resol van Lemmy@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    1
    ·
    1 year ago

    We’re basically early adopters of this newfangled fediverse technology, it’s not gonna work 100% as intended straight away. I just think that it’s a lot more difficult to execute such a grand idea on a wide scale. I’m sure in a couple of months (maybe a year or two) we’ll see Mastodon posts on Lemmy and be able to interact with those from Lemmy. Who knows? Maybe I’ll even have an excuse to use the Threads application by this point. Or maybe not, because fuck Meta.

    • Leraje@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 year ago

      A Mastodon user can subscribe to a Lemmy Community in the same way they can Follow a Mastodon user e.g.

      • Mastodon user: @username@mastodoninstance.org
      • Lemmy Community: @communityname@lemmyinstance.com

      So they could now post to that Community and see every direct reply to that post and reply to those replies but they can’t currently just stumble across Lemmy Communities in their federated timeline because Lemmy can’t do that yet.