-
It might clarify things a little to be aware that there are two modes of "compatibility" on the Fediverse, the "Mastodon API" which allows GUI clients to connect to servers and display a Mastodon feed specifically, and ActivityPub which is the API that the "real Fediverse" runs on. In principle you could make a GUI client with the ActivityPub protocol alone, but generally people do not (and people making non-Mastodon-like Fediverse apps tend to loudly complain that people do not do this).
-
It probably makes the most sense if you think of ActivityPub as "RSS with push". Several of your questions become clearer if you mentally edit out "The Fediverse" and substitute "RSS". ActivityPub, like RSS, is a primitive more complex software can be built on. Why do some ActivityPub features only work with some methods of accessing ActivityPub? Because those are application-specific extensions to ActivityPub. (In RSS one understands that there can be nonstandard extensions for special clients but you degrade to a more basic form of operation when they're not in use.) Why use ActivityPub at all, if you may not be able to take advantage of those application specific features? Because the least-common-denominator form of operation is often useful, because there is always the possibility for your application to grow those application-specific features later, and because even for the most incompatibility-heavy extensions of AP modeling your distributed application atop ActivityPub saves time over designing it from scratch. (With RSS we saw multiple quasi-RSS standards, including total reinventions like Atom, pop up using RSS as just a base.)
-
There really isn't a single "Fediverse". There are several fediverses, the Mastodon verse, the Pleroma verse, the Pixelfed verse, the Lemmy verse. The Mastodon and Pleroma verses mostly interoperate, the others maybe not so much. I think this is okay because "Fediverse" is kind of bad branding to me, it sounds like the alternate plane of existence the video game "Control" is set in
-
"some of this can be easily chalked up to very different modes of interaction but if that's the case, why advertise as being part of the fediverse when that's only somewhat true?" Because most people talking about the Fediverse this way are interested only in the "Greater Mastodon" community of Twitter-like services, and within "Greater Mastodon" there pretty much is reasonably full interoperability— you're more likely to see two servers within that "application" unable to speak to each other for moderation reasons than because of feature incompatibility, and a server being blocked off for moderation reasons is ostensibly a "feature". And, of course, there's an assumption that even if some applications can't interoperate well, they will be able to in future; in principle those "least common denominator" apps like Mastodon should eventually be able to support, if not full app interoperability, the ability to intake anything another app publishes as a subscribable linear feed (remember, ActivityPub is RSS with pubsub; one doesn't expect to be able to use a web app fully through RSS, one just expects to be able to use it to subscribe to linear feeds). Any failure to do this will probably be treated as a bug and eventually fixed, in the Pleroma/GTS branches if not the Mastodon-dot-social branch. (There's already some interesting quirkmode features toward that end in basic Mastodon servers, for example, Mastodon-dot-social is able to render rich-text posts from servers that support that, even though Mastodon-dot-social is not able to create such posts.)
-
"even some sort of shared identity system would do a lot to mitigate this!" I want to linger on this. At present, there is a real problem in ActivityPub software where instances bundle together being an application provider with being an identity provider. I believe all of the Fediverse's most significant practical and UX frustrations are downstream from this problem. If you have an account @you@mastodon.social then mastodon.social is not just your domain name, mastodon.social is the application you use to access the fediverse (and any additional GUI client you might stack on top of that, an iPhone app or something, are just frontends/skins to that application). You aren't using ActivityPub; your instance is doing it on your behalf. It is (notionally not literally) like if your email server had to individually support each type of attachment you might want to add to an email. This feels deeply unnatural and is difficult to explain to end users without trying to explain what's happening at the code/protocol level, which is not something you should have to do with end users.
However if application provider and identity provider were delinked, like they are in (for example) BlueSky, then you could have a single shared login and use it to log in to both mastodon.social and pixelfed.org, and get Mastodon application features from mastodon.social and Pixelfed application features from pixelfed.org while (a) presenting the same username on both and (b) not having to commit to create an entire new "account" just to try out a thing or two on Pixelfed. There are proposals that could get us to this point (for example Christine W.L. who was an editor on the ActivityPub standard, has a proposal for attaching DIDs [the standard BlueSky uses an extension of] to ActivityPub) but at present they are not being adopted and getting to the point they are adopted will be a challenge (and worse, it's a community-building challenge rather than a technical challenge— IE, the hard kind). As a Fediverse-software developer I spend a lot of time thinking about how to make this work happen and I don't currently have an answer I feel confident in.
-
"but if i want to use pixelfed, i need a pixelfed account in addition to my mastodon account. how, other than the general "free software" shit, is this better UX than having an instagram account and a twitter account" I don't know how to use Pixelfed so I'm going to answer substituting Lemmy (that's Fediverse Reddit). At the moment, the advantage of using Mastodon instead of Twitter is that Mastodon cannot get bought by Elon Musk, go berserk, and ban all third party GUI clients, and the advantage of using Lemmy instead of Reddit is that Lemmy cannot decide to go IPO, go berserk, and ban all third party GUI clients (or instead of banning third party GUI clients substitute any other wild thing Musk has done in the last year). Or rather— Mastodon.social can go berserk in this way, or Lemmy.ml can go berserk in this way, and you might actually have to abandon your account on one of those servers and move somewhere else. But the community is not on any one server, it is on the agglomeration of the servers, so you have the option of switching to another server. Lemmy.ml (the "main" Lemmy instance) actually is going through an interesting thing where the moderators are taking some… let's say "interesting" stances with regard to politics discussions, and so people are moving away from Lemmy.ml. But moving away from Lemmy.ml is relatively low cost, so this has little effect on the overall community. It would definitely be nicer if there were a migration feature so I wouldn't lose my post history, and even nicer than that if DIDs or something existed so I don't lose my handle/address, but even without those nice hypothetical features I am able to move from Lemmy.ml to Beehaw and my experience of using Lemmy does not noticeably change, because the community is in ActivityPub, not on Lemmy.ml. Whereas if I stop using Reddit, I… I stop using Reddit. That's it. The only way to switch from Reddit to Lemmy is to completely abandon one community and join another.
You may have noticed this doesn't answer your question. That's because the answer to "How is a Mastodon and a Lemmy account better UX than having a Twitter and a Reddit account?" is "it is not better". One can argue that having a Mastodon account is individually better than a Twitter account and that a Lemmy account is individually better than a Reddit account. But at present, we are not at a place where the Fediverse is getting real benefit from Mastodon and Lemmy, or any two sufficiently dislike ActivityPub-based applications, having least-common-denominator interoperability.
(In order to get there, we need to either do the identity-application delink I propose above [5], or Mastodon and Lemmy would both have to individually do work to integrate their applications better [unlikely given Eugen's approach to product management, but maybe either Lemmy can make it easy or Lemmy can better document how to make use of whatever least-common-denominator features already exist], or every single Fediverse user would have to start hosting their own instance so that they can add whatever feature plugins they want [untenable] [although CalcKey is trying to make it happen].)
-
"no one has done an especially good job explaining why the fediverse is better than centralized solutions" I am not interested in making a persuasive argument to anyone on this particular point. I am okay with simply losing the argument if that is the argument that is happening