It kind of makes me think of how odd it would have been if many of the old forums named themselves like bookclub.phpbulletin.com, metalheads.vbulletin.net, or something.
There’s nothing wrong with doing that, obviously, but it’s struck me as another interesting quirk of fediverse instances/sites. Generally as soon as you visit them you can tell by the site interface or an icon somewhere what software they’re using.
No, no, no. I don’t care that the server on the other side is running Lemmy, kbin, mastodon, wordpress or some dude running his own scripts. The only that should matter is that everyone uses the same protocol. The server should be nothing but a detail.
If this whole threadiverse thingie ever takes off, It’s highly likely that Lemmy will not be a good fit for the majority of users. We will likely have servers working only to validate and relay messages from clients, and data will be fully distributed (instead of replicated to every instance). Any substantial growth will quickly show the limits of the current architecture.
You do care, though. Mastodon is a social network. You want to know if this server is part of that social network. Lenny is the same, even if “social network” doesn’t apply to it in the traditional sense.
Not all the networks on the fediverse interoperate, and that’s not even the goal with activitypub. All servers of the same network should interoperate, but Pixelfed doesn’t and shouldn’t need to integrate with Lemmy, for example.
Hard disagree. There are no separate social networks, and it is not the software that makes the network. That is the whole point of the Fediverse. I shouldn’t care about the identity of the servers, all I should care is about the having a common language and a way to identify the actors.
If a user can not post a picture on Pixelfed and other people can not vote on it, then it’s a shortcoming of the software, not an integral quality of the system. I could switch my Lemmy server to, e.g. Takahe with extensions to support voting and you would be none the wiser.
Idk what to tell you then. Not only is that not how activitypub works, not all fediverse networks even use activitypub. Idk where you’re getting your definition of fediverse, or how you think that’s even possible. You can’t have every app/network support every feature of every other.
Imagine I make a fediverse MMO turn based RPG. How is a Lemmy app support to present that? How am I supposed to consume that from a mastadon server? Mastadon shouldn’t need to support turn based MMORPGs, and MMORPGs shouldn’t need to support streaming video.
There is not only is there no common API for fediverse networks, there isn’t even a common protocol.
You don’t.
There is no place that says that a client needs to process every message that is received on an actor inbox. It doesn’t mean that one client should support only one specific type of activity, or even servers for that matter.
Maybe I don’t understand your position then.
Fediverse doesn’t make any claims for SSO or shared user accounts between server types. And servers aren’t required to interoperate with servers of other types. And clients aren’t required to interoperate with multiple server types.
It’s nice when servers and client do Interop between types (what I’m calling networks for lack of better word), but that’s not really fundamental to the fediverse, and is pretty rare. Afaict the only requirement is that servers of the same type can interoperate with eachother and user accounts from other servers of the same type are addressable.
That is the problem. Assuming that we need different “server types” is a mistake made by Mastodon that benefitted them in the short term but screwed the developers who were looking at activitypub as a simple protocol for bidirectional exchange of data.
What we need is smarter clients and let the servers be completely dumb relays. Instead of thinking of “Mastodon API” or “Pixelfed API” or “Lemmy API”, we could be looking at a single browser extension that could talk Activity Stream directly with the server, let the client be responsible for signing messages and know how to present the context when/how to serve the different activity types.
Isn’t this just the difference between an API and a protocol?
The payload of a message for one social network will be different based on the capabilities of that type. There are API architectures that are discoverable, like HATEOAS, but that only gets you so far (and that example is based on HTTP not Activitypub).
I don’t really see anything wrong, in the absence of a standard body, for each social network to define its own activity type, since they typically have some degree of unique capabilities anyways.
Maybe? I don’t know. Is that a relevant distinction on a decentralized system where the application logic can live on whatever side of the network?
Because they are constrained by the “client-server” paradigm. If you spend some time working with decentralized apps that assume that data is available to any nodes on the network, all your “protocol” really needs to do is to provide the primitives to query, pull and push the data around. I kinda got to write about it on an old blog post