this post was submitted on 15 Nov 2024
58 points (98.3% liked)

Fediverse

28475 readers
477 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 2 years ago
MODERATORS
 

Wouldn't that be better? Let me see if I can explain what I mean. Here on the fediverse each server is kind of restricted to what the user can post.

@Mastodon@mastodon.social is for notes

@pixelfed@pixelfed.social for photos (wouldn't be surprised if it used a note too)

Lemmy only for article objects.

Peertube for videos.

You get the idea.

This way of developing the #fediverse where each server only receive one kind of the objects accepted by #ActivityPub makes it more fragmented it, right? A server should send and receive all kinds of objects and should be up to the client to how to processes those objects.

If an user wants an Instagram-like app just create an account on any service and use and app with that UI, of lager they wanted to see more kinds of objects they should just use another client that supports Note, Article, etc. with the same account on the same server.

Ideally all server should have a shared API.

This fixes #fragmentation, the need to have multiple accounts if you are into multiple kinds of objects/content.

you are viewing a single comment's thread
view the rest of the comments
[–] hperrin@lemmy.world 1 points 6 days ago* (last edited 6 days ago)

I didn’t say basic. I said bad. HTTP 1 is a good protocol. ActivityPub is not. Read both the specs if you don’t believe me. I have.

There’s not a single point in HTTP 1 that I thought, “what the fuck does that mean?” There are several in ActivityPub. ActivityPub also has several areas that are ambiguous. Ambiguity is bad in a specification.

ActivityPub tries to support everything, and has no defined behavior for when a client doesn’t support whatever thing it just received.

It also uses JSON-LD, which isn’t necessarily bad, but defeats the purpose of JSON by making it too complicated to easily write by hand.

This is not easy to write, read, or parse, or build:

{
  "@context": {
    "name": "http://xmlns.com/foaf/0.1/name",
    "homepage": {
      "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage",
      "@type": "@id"
    },
    "Person": "http://xmlns.com/foaf/0.1/Person"
  },
  "@id": "https://me.example.com",
  "@type": "Person",
  "name": "John Smith",
  "homepage": "https://www.example.com/"
}