Ich mache mir ja schon seit riniger Zeit Gedanken, über die immer wieder sehr kaputte Föderation der vielen Dienste im Fediverse.

Jedes Service hat immer nur rinen Teil der Features implementiert, und diese passen oft nicht zusammen.

Mir schwebt eine Lösung, ähnlich wie sie bei Datenbanken vor Jahren beschritten wurde, vor.

Viele Dienste haben die Föderation und/oder Activitypub erst später zu ihrem bestehenden Projekt hinzugefügt. Auf die Schnelke falken mir da Lemmy, Funkwhale, Pixelfed und Friendica ein.

Wenn es jetzt einen oder mehrere Implrmentierungen rines Föderation-Services gäbe, auf den eine Anwendung - ganz ähnlich wie bei den Datenbanken - zugreift.

So ein Dienst kann in verschiedenen Sprachen implementiert sein, oder einer ist mittels Plugins um weitere Protokolle erweiterbar, der andere hat sie direkt eingebaut…

So ein Dienst kann von der Applikation mit einem Protokoll oder einer API angesprochen werden. Die Applikation kann das volle Featureset nutzen, oder nur einen Teil. Wichtig ist, dass die Föderation mit anderen Services korrekt und vollständig abgebildet wird.

Das soll heißen, wenn Friendica ein “article” an Service X schickt, dann kommt das dort korrekt an. Und Service C schickt ein Dislike an Service D. Usw. usf.

Was das Zielservice dann mit diesen Events/Verben macht, bleibt dem Zielservice überlassen. Stellt es die Kommentare dar, oder nicht, gibts einen Kalender oder nicht… egal. Das Fediservice stellt sicher, dass die Anwendung diese Features auch später implementieren kann, aber vorher die Server2Server-Kommunikation schon korrekt abläuft.

Die Applikationsentwickler können dann ihre ganze Energie ins Frontend, die Authentifizierung, Bildverarbeitung, Videodarstellung und was auch immer stecken. Die Föderation wird funktionieren. So wie die Datenbank auch immer funktioniert. Egal ob mysql, mariadb oder postgresql oder gar sqlite verwendet wird.

Kroeg übrigens ist ein in C geschriebener Activitypub-Server, der das ganze Protokoll als einziger kann. (Siehe https://activitypub.rocks/implementation-report/ )

  • @nutomicA
    link
    32 years ago

    Ich glaube nicht, dass so etwas wirklich helfen wird. Es ist ja schön und gut, wenn das Backend alles versteht, was valides Activitypub ist. Aber wenn das Frontend nicht in der Lage ist, diese Sachen anzuzeigen, dann macht es für den Nutzer im Endeffekt keinen Unterschied.

    • Jakob :lemmy:OP
      link
      fedilink
      22 years ago

      Nimm den Vergleich mit den SQL-Datenbanken oder Webservern her…

      Es mach für den Nutzer auch keinen Sinn, wenn der Webserver BasicAuth kann, dies aber nicht benötigt wird.

      Aber für den Dev machts einen Unterschied.

      Heute implementiert ihr Devs Activitypub. Und wenn es nicht funktioniert, muss immer mit jedem anderen System abgestimmt werden, wo der Fehler liegt.

      Ich habs selbst bei Friendica und Lemmy, Friendica und Mobilizon, Lemmy und Peertube (aus Usersicht) erlebt.

      Ich muss als User feststellen “geht nicht” darf als admin bugreports verfassen, darauf hoffen, dass beide Seiten diese anschauen, sich absprechen und dann hoffentlich fixen.

      Gibts einen Daemon der activitypub vollumfänglich kann, kann ich als dev an einer Schnittstelle bei mir debuggen.

      Sendest du eine Nachricht an den Fediserver, nimmt der sie an,wenn alles da ist, was er für die Föderation benötigt, und sendet sie nur dann weiter.

      • @nutomicA
        link
        12 years ago

        Okay das macht Sinn.

          • @nutomicA
            link
            12 years ago

            Ja das ist bekannt. Mussten Bilder vom Server löschen weil der Speicherplatz voll war, und wir zu der Zeit im Urlaub waren. Dauert jetzt eine Weile, das Backup wieder hochzuladen.