What are you thoughts about this?
Well, one thought is that this blog post is from January 2019, and that a lot has changed since then. Among them is that a lot of different ActivityPub implementations have become a lot more mainstream than Diaspora.
The author’s stance might of course not have changed, but it seems to me this post is a bit too outdated to enter into a current discussion. Interoperability between ActivityPub services is working fine, at least in my opinion.
I’m not sure ActivityPub is suitable for implementation of Lemmy/Kbin. ActivityPub seems to be a push (with retry) protocol, where if a message gets lost, the protocol doesn’t seem to have a means to recover synchronization. Theoretically, instances could verify synchronization on a periodic basis, but that would be a massive increase in traffic.
Kind of. My observed behavior of Lemmy, combined with comments from some developers (I haven’t read the code):
Post goes up on community hosted on instance A, Message goes out to B and C: “here’s a new post”
User x@B comments on post. Message goes from B to A saying “here’s a new comment”. A adds the comment, then sends a message to C “here’s a new comment”
User y@C upvotes the comment. Message goes from C to A, then A sends a message to C.
Each of those messages are confirmed by the recipient, and there are timed retries. However, there have been plenty of cases where one of those messages get lost, and the communities get out of sync. As I understand it, the message traffic is only changes. They don’t talk to each other to see what the current state of the content is. So whenever a sync break happens, it is permanent. New content/changes are fine, but stuff that gets lost in transit is lost for good.
that makes sense
federation between kbin.social and my instance lemmy.sdf.org seems to be awful and I couldn’t tell where the breakdown was occurring because the issue is intermittent/partial federation
I’m not a web developer so I can’t really say what solutions are best, but I have faith there are people smarter than me working on robust solutions
At least for Lemmy, you can “force” it to sync a particular post or comment by pasting the url into your instance’s search bar.
This was a good read and it’s something I’ve wondered about. The fediverse is sorta built on this promise that everyone will be able to interact across any implementation of ActivityPub.
But that’s not really true. The different types of social media have wildly different implementations, where we have to rely on developers communicating and cooperating with other implementations for everything to work even a little bit
Yea probably similar to how Lemmy and Kbin are theoretically compatible. ActivityPub doesn’t guarantee that, it’s only because they happen to use ActivityPub in the same way. If one of them changes their implementation, compatibility breaks.
I do often wonder how much it matters that all these platforms use ActivityPub
I think it might be good to create specific protocols in the ActivityPub documentation for the various types of social media to ensure interoperability.
No hard rules, but a guideline for how to ensure you are maximizing compatibility, maybe.
If one of them changes their implementation, compatibility breaks.
And that’s why you want a healthy spread of users across both (and even a third one, one day) platforms. That way they have to keep compatibility with each other to not lose a major share of the userbase
You’d also break compatibility with the previous version of your software, so your users wouldn’t be able to see any threads posted on any server that wasn’t updated.
If you had a really good reason to make this change, chances are this reason would apply to both services and they would move together. If either developer does it out of spite, nobody is going to upgrade their instance and the project would be forked.
And if they were the type to break ActivityPub integration of their service out of spite, why would they use it in the first place? It just makes no sense. I’m not particularly worried.
As a kinda layman, I am still flipping between kbin and lemmy(.world) alot, kbin also because it has no released mobile app (yet), and I just read a post complaining that kbin is missing a lot of content from lemmy, so there is definitely still “federation issues” there
It doesn’t really matter what they use. As long as it’s open source and decentralized, avoiding big tech running the servers, it’s a huge win.
There is no peaceful existence with big tech when it comes to this. They will turn it into ads and tracking and that’s not compatible with the moral values of the open source community.
It’s Microsoft culture vs Linux culture.
Their arguments still hold up pretty well as far as I can tell. If anything “improved” since then, you could argue that what the biggest platforms decided to use (Mastodon, Lemmy) became the de-facto dialect in use, but you still have to explicitly refer to how certain projects do things if you want to implement ActivityPub, which can be pretty demotivating for developers, and doesn’t makes the user experience any better.
…and nothing prevents new apps such as Threads from using ActivityPub differently, being incompatible with existing apps and further dividing the space
Just off the top of my head, my initial reaction is that it really seems like activitypub is just not suitable for implementation as the base layer in diaspora.