Mastodon is server/instance centric and permanently anchors your identity to a given server. On Bluesky, you can use any domain you control DNS for as your handle, since content hosting and identity management are decoupled at the protocol layer.
On top of that, hosting is also decoupled from aggregation/discovery, which allows for things like global search that are intrinsically hard on Mastodon.
What does this mean? I can host my own fediverse instance, and have, three times.
Even the "Client-to-Server" AP spec is written in a way where the "client" does not interact with the outside web, but always initiates every interaction through the outbox hosted by the server.
I'm not saying this just for pedantry. I'm saying this because I actually wrote a server that implements ActivityPub according to the spec [0], and realized that identity portability is not possible unless you deliberately break away from the AP spec.
Nothing says you can't extend an actor to provide for a did: based identity which gets stored wherever you want to. I think the main dev of Mitra[1] is someone that's exploring very strongly in this direction.
How would incompatible servers know to trust a server foo.com to publish posts for an account bar.com? How would they know where to look for bar.com's posts when their users search for it?
We are talking about ActivityPub tying identity to the server. ATProto is designed from the ground to separate user data from your identity (through its Personal Data Servers), so the answer to your question is "many. There are many servers out there."
Bluesky has many issues (and I for one still think it has fundamental flaws that still make me prefer AP), but identity coupling is not one of them.
and then what? i can take my identity and do what with it? change PDS? but bluesky itself shows everyone that i am the same person?
i didn't move the goalposts, i just don't get the distinction everyone is making here with "identity", of course if i prove i own a domain i can verify, but i can do that on mastodon, too, I can add the below to my domain that will checkmark my username on mastodon. I assume if i move servers and want people to follow me, i will just do the same on that server, too; they know it's me because the service says so.
> <a rel="me" href="https://fosstodon.org/@picofarad">Mastodon</a>
that is all i have to do to prove i own that username on that instance - put that on a domain i own and add it to one of the user editable fields on my public profile.
so maybe you understand my confusion. i never received a bluesky invite nor do i want to pay (a couple mentions here of paying for it).
> Verifying your identity on Mastodon is for everyone. Based on open web standards, now and forever free. All you need is a personal website that people recognize you by. When you link to this website from your profile, we will check that the website links back to your profile and show a visual indicator on it. The link on your website can be invisible. The important part is rel="me" which prevents impersonation on websites with user-generated content. You can even use a link tag in the header of the page instead of <a>, but the HTML must be accessible without executing JavaScript.
i can also export all my followers, so when i join a new instance, i can direct message them all and let them know i've moved, and they can see it's the same person because the service says so, because i own the same domain.
If ActivityPub had actually portable identities, you would be able to move instances without losing/moving your handle.
You as an user might have moved servers, but your identity did not.
How can we make an analogy? Let's say that you want to have a domain and you are hosting it on some cheap VPS provider. You just take your data, upload to their server and point the domain to their IP address. Let's say that six months later the cheap VPS goes down and you completely lose access to the server. You want to move. What do you do? You sign up to another VPS provider, upload your data (assuming you have backups) and you simply change the DNS to point to the IP address of the new server.
If you want to do that anything like that with ActivityPub, you can only do it at the server level. If you are a "mere" user on instance mastodon.one you do not own, you are at the mercy of the admin. You can not take "genewitch@mastodon.one" and use it as a handle anywhere else. Conversely, you can not go to mastodon.social and sign up with your own domain or any other method of authentication. The only way they can serve anything for you is if you use the handle they assigned you.
With ATProto, identity is based on DIDs (decentralized identifiers), so you can change your PDS without having to change your identity. You can have a handle under your own control and tell Bluesky to host it for you, and you don't need to ask permission to them in case you change your mind and decide to move elsewhere.
That’s a high bar compared to just registering a domain and updating a DNS record.
Imo that's a complete killer to adoption. The vibe people get from it is that it's always down, they don't care that "oh just switch to another shard" that's too much effort
On the other hand, ask the average social media user to try to do the below tasks on Mastodon/ActivityPub, and you'll quickly see how half-baked and disjointed of a user experience it is.
- Search for posts or a user.
- Interact with a Mastodon post that's on a different instance than the one they're registered to.
- Figure out what to do if one day, they wake up and their instance has shut down.
This was all quite early though and i'm sure i misunderstood things. Just answering the question as i personally perceived Mastodon.
On the non-tech side, i find Bluesky's model for moderation to be really neat. I hope it continues to expand in features/implementations.
https://github.com/bluesky-social/proposals/tree/main/0008-u...
But, now they have network effects; > 30 million users -- that's a big market to build for.
Has a great and free API.
Now, Bluesky has this great API that allows you to do cool automated things on top of it. Twitter had it too, but they decided in the last 2, maybe 3 years, to play with the API so many times that there are no new coding tutorials that use Twitter API as an example. So except social media platforms, there are probably no more tools built on top of Twitter API as they damaged their reputation among developers. And they deserve it being so unfriendly towards developers.
You can't search across instances nor can you (afaik) maintain identity across them.