Comment on "ActivityPub not suitable for implementation as the base federation layer in diaspora"
effingjoe@kbin.social 1 year agoI think the link blog post author's point isn't that there can't be interoperability, only that there's no standard for that. You have to seek out each implementation and ensure that your implementation interoperates with theirs, on a case by case basis for every implementation.
sab@kbin.social 1 year ago
Which is of course true - if you want to develop an activitypub service that works with the fediverse at large, you'll have to look around and see how it could integrate with other services.
The dilemma of boosts vs. favourites for upvotes in the threadiverse is a good example. In kbin, boosts used to be preferred: they are used to promote visibility in Mastodon and similar microblogging services, and the counts are spread through the fediverse to a greater degree than what favourites are. On the other hand, people are more trigger-happy dealing out favourites, it matches the intent of an upvote, and, importantly, it fits the implementation that was already in place over at Lemmy.
In theory, downvotes could be matched with a specific emoji response in Firefish and other services that support the technology. They don't however, and I'm not sure anyone would really want them to either.
While these questions and challenges exist for the developers of Fediverse platforms, it just doesn't seem to be much of a problem. There are several ways of doing things, and sometimes you might not even want a feature to be interoperable. Last time I checked downvotes in kbin are not federated at all, by design. Lemmy users cannot boost content at all as far as I'm aware, and it's not holding them back. Developers are completely capable of looking to past implementations and make informed decisions about interoperability in whatever way they see best fit. You don't have to look to every implementation - you might just be interested in text and favourites, in which case you can feel pretty comfortable using the same implementation as Mastodon (or anyone else).
It's like David Hume's point about norms and the state of nature. At some point everyone will begin driving on the same side of the road even without some authority enforcing it, just because it benefits everyone.
Maybe this wasn't clear in 2019, but in 2023 I'm communicating with people on kbin without having any idea which of many ActivityPub implementation the person on the other end is using.
effingjoe@kbin.social 1 year ago
As I understand it, this is the exact complaint from the blog post. This is great for devs; it's not great for users. I am referencing this part:
I, perhaps foolishly, assumed that ActivityPub was more structured than it actually is. Though, to be fair, as you point out, this is an older blog post, so there's some chance that things have improved on that front-- I admit I'm no expert on ActivityPub-- but notably, "there are only a few different implementations, so it's easy to dig around and make your new implementation compatible" isn't an improvement. It doesn't scale. It's practically begging for the now infamous EEE to happen to it, because whatever is the most popular implementation sort of becomes the standard.
sab@kbin.social 1 year ago
I think it is great for users. Ernest, the developer of kbin, actively wanted not to federate downvotes because he thought it would be better for the user experience. It is of course open for debate, but it's a decision made with users in mind, not related to the ease of development.
Of course, there is a dimension if the critique that rings true. If I talk to someone using Firefish they might respond to me using a emoji response, which I will of course not see over at kbin. I just can't think of a devastating real world example.
Regarding EEE, nobody owns the right to any specific implementation. Sure, Threads could use activitypub but use a different logic for favourites than Mastodon does, and they wouldn't be able to communicate favourites with each other. We could imagine the entire fediverse jumping after Meta, desperate to see the hearts added by Threads users. And then... what exactly? The extinguish step is a bit unclear to me.
effingjoe@kbin.social 1 year ago
Is this articulated somewhere because I was under the impression that everything was federated, and this plays right into the point. Why should this be up to the devs? Or, perhaps better worded, what information does the "ActivityPub" label actually tell an end user, right now? Seemingly nothing at all, from a functional standpoint. It's possible for two ActivityPub-labeled implementations to be completely incompatible, right? Does that sound good for users?
Why is this your chosen metric? Wouldn't "this might make the users confused" be a better metric?
Once they're the de facto standard they abandon it altogether and the users, who care little about the nuts and bolts of this, get frustrated and make an account on Threads (using your example).
It's worth keeping in mind that we're not talking about normal software. A hypothetical technically perfect solution is still a failure if there isn't a critical mass of users to make it "social".