There is a lot bluesky gets right, and a lot it gets wrong, the same is true with Activitypub.

(Some) strengths of Atproto

Atproto is content-addressed, and portable. This means that posts can exist independantly of their original server.
Instead of giving posts a https uri, which will stop working if a user moves servers or their server disappears, they give them at uris.
For example, this post on bsky.app: https://bsky.app/profile/ponder.ooo/post/3lk4yrmyugc2f
Has the at:// link is: at://did:plc:i4bfh2tyxihe2ksplmtcoopk/app.bsky.feed.post/3lk4yrmyugc2f.
The post does exist over https at https://porcini.us-east.host.bsky.network/xrpc/com.atproto.repo.getRecord?repo=did:plc:i4bfh2tyxihe2ksplmtcoopk&collection=app.bsky.feed.post&rkey=3lk4yrmyugc2f.


Atproto is very easy to build apps on. For example, tangled.sh, frontpage.fyi and flushes.app are all apps built on atproto.
Atproto allows more flexibility in what an app can do, as opposed to lemmy or mastodon’s api.


Atproto is better documented. The ActivityPub spec leaves a lot up to the reader.


Atproto has some really good moderation tools for users. People can make public blocklists of users, and people can subscribe to labellers, people or services which give users/posts a label.

Weaknesses of Atproto

almost everyone is on bluesky’s PDSes. I thought mastodon.social and lemmy.world were bad, but the people on alternate PDSes altogether adds up to only a few thousand.

Its decentralised identifiers are actually completely centralised! DID:PLC, their DID method, originally stood for placeholder, but they renamed it to Public Ledger of Credentials.
To use it, you have to use plc.directory.
You can use a DID:WEB DID, but if your website linked to it goes down you lose your identity.
(I find it extremely funny that its not actually a requirement for a decentralised identifier to be decentralised. )

Everything on the network has to be public to work.
since relays have to be able to collect all the information on the network for Appviews to be able to make use of that information, anyone can find out who’s blocking someone, or who is on a list, or who’s following who, with no way of hiding that information.
Private accounts and posts are impossible to do on atproto.

Since everything is public, DMs (for now) are centralised. They do seem like they want to change that though.

Strengths of ActivityPub

AP (ActivityPub) is better distributed. While it has large servers (like mastodon.social or lemmy.world (and threads, but we don’t talk about threads)) the majority of users are not on those servers. There is no single point of failure. If bluesky disappeared tomorrow, atproto would still exist, it would just have a negligable amount of users.

One node in the network lets you do everything, as opposed to bluesky which has three parts (You can do stuff without a relay though). This means you can trust a lot less of the network.

ActivityPub scales better than ATProto. Atproto scales quadratically, meaning that having a lot of nodes in the network harms performance.
AP scales horizontally, meaning it works better with a lot of small servers.

ActivityPub can keep stuff private, like blocks and posts.
Though, a lot of implementations can leak posts.

Weaknesses of ActivityPub

The spec leaves so much out. They didn’t propose a way to make sure requests between servers are validated, so mastodon chose HTTP signatures.
They didn’t add any way of looking up handles, so mastodon chose webfinger.

A posts’s id is its https uri, this means thatif a server goes down, stuff can’t be fetched. A user can’t move their followers if their server goes down (you can on ATproto). There is a standard to fix this, FEP-ef61, but it breaks compatibility with a lot of implementations.

Missing information is a problem. Its not really a problem on lemmy, but on mastodon likes and replies from other servers may not make it to your server at all (you can fetch replies in newer versions of mastodon though).


All this aside, I do think the two can coexist. I don’t see anything like lemmy working on atproto. ActivityPub seems closer to social networking, as opposed to social media.
Something like facebook would be impossible to make on atproto, because not everything is made to be public.

I am hoping for a bridge, but good (bridgy is opt-in, making it useless).

      • LumpyPancakes@piefed.social
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 day ago

        Hmm.

        PieFed is ActivityPub compatible, but has some features that Lemmy doesn’t. I’m just wondering if it has any differences that might go into your strengths and weaknesses assessment as a result. It’s a bit like how kbin / mbin are similar to Lemmy but not quite the same.

        • irelephant [he/him]@lemmy.dbzer0.comOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 day ago

          Ah, right.
          Well, this is just AP in general.
          Though, piefed having community moving is great, since communities aren’t trapped on their host server. I don’t think lemmy.world would be as big a problem if they could move communities there.

OSZAR »