• 0 Posts
  • 3 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle

  • That’s not really the protocol’s job though. We use HTTP as the protocol for APIs on the web, but HTTP does not require any specific endpoints – that’s up to the application itself. Ultimately I think this is a pain point caused by the relative immaturity of the ActivityPub ecosystem, and over time I suspect the way that services define their APIs will become more uniform (likely with the help of libraries/interfaces that define common functionality or help bridge the gap between different implementations). In the meantime it’s pretty rough going though, and we’ll see if some big players joining the space (Meta is rumored to be working on a Twitter competitor using ActivityPub) help define de-facto standards to make it easier.


  • I’m not an expert, but based on my understanding the Communities tab (as well as things like your user profile) are special to Lemmy, and stored on a given Lemmy instance. ActivityPub basically provides a shared language for how various services/clients can ask for and send each other data (posts, comments etc) in a totally agnostic format. Lemmy renders this data as posts and comments, but Mastodon renders them as toots and so forth. And that’s an oversimplification, because there’s no guarantee that two pieces of software (Lemmy and Mastodon in this example) will operate with the same ActivityPub types, so the way content is displayed is inconsistent or possibly entirely incompatible. If you want to create a generic Fediverse reader, you would need to keep an up-to-date representation of every type that every common ActivityPub software uses for its content, which could work but I imagine would be quite tedious and prone to breaking. That being said, I was imagining something like this existing myself, and I suspect over time as different types become common “building blocks” for different types of social networks this will be more solidified and straightforward.

    To your mention of content not being accessible from everywhere, it sounds like maybe you’re expecting a centralized directory of information, but that’s the big difference with true decentralization/federation. No single Lemmy instance know of every other Lemmy instance, they only know the ones they’ve talked to. All of the data is accessible if I know the hostname of a Lemmy instance, I just need to know the hostname first, and unless we build a centralized repository of every instance, we will never know of every single one. In the meantime, larger Lemmy instances have a large enough list of federated servers to get you most of the way there in terms of a directory, so maybe that’s a reasonable stopgap.