Fediverse-Serie - Foundkey: nicht nur Microblogging

  Johann150   Lesezeit: 13 Minuten  🗪 3 Kommentare

Foundkey ist eine Microblogging-Software, die aber nicht nur Microblogging kann.

fediverse-serie - foundkey: nicht nur microblogging

Der Autor ist Maintainer von Foundkey

Gegenüber dem derzeit bekanntesten Microblogging-Dienst des Fediverse bietet Foundkey einige zusätzliche Funktionen: Das Standard-Zeichenlimit ist 3000 Zeichen (und konfigurierbar), es sind Emoji-Reaktionen, Quoted Posts, längere Umfragen und vieles mehr möglich.

Vieles davon ist von Misskey "geerbt", denn Foundkey ist ein Fork von Misskey (siehe auch einen früheren gnulinux.ch-Artikel zu Misskey). Der Fokus von Foundkey liegt im Vergleich mit Misskey mehr auf dem Community-Umfeld in der Ecke des Fediverse, in der es genutzt wird. Auch wenn mir das Wortspiel mit Miss- und Foundkey natürlich gefällt, war in Anlehnung daran auch der Name "Friendkey" in der Überlegung, im Sinne von "eine Software für unsere Freunde".

Warum (noch) ein Fork?

Misskey wurde und wird zu einem großen Teil in Japan entwickelt.

Dazu ein kleines Stück Geschichte als Kontext:
Im Sommer 2021 gab es eine gewisse Explosion in der Anzahl von Misskey-Instanzen aufgrund von verschiedenen Umständen, unter anderem eine "Entwickler-Krise" bei Pleroma. Somit gab es einige neue und nicht-japanische Nutzer für Misskey. Im Rahmen dessen habe ich auch meine erste Fediverse-Instanz aufgesetzt und wenig später auch angefangen, mitzuentwickeln.

Dass Misskey wie gesagt in Japan entwickelt wurde, machte es manchmal etwas schwierig, an der Entwicklung teilzunehmen, oder auch die Interessen der neuen Nutzergemeinschaft einzubringen. Mein Japanisch endet z.B. nach der Begrüßung, und da der hauptsächliche Entwickler Japanisch und leider nicht Englisch sprach, mussten maschinelle Übersetzer zur Kommunikation herhalten. Die Kommunikation war so also nicht ganz so einfach, und auch die kulturellen Unterschiede erschwerten sie weiter.

Ein weiterer sozialer Aspekt war die Problematik, dass der hauptsächliche Entwickler syuilo offenbar zum einen durch seine Tätigkeit für Misskey überlastet war, zum anderen sich aber auch nicht davon überzeugen ließ, dass jemand außer ihm bspw. einen Pull Request mergen könnte. Auf mehrfache Hinweise und Bitten wurde ausweichend reagiert.
Als Kombination aus beiden Aspekten kann man auch sehen, dass es mitunter schwieriger war, Wünsche aus der Nutzergemeinschaft außerhalb Japans einzubringen.

Es gab auch unterschiedliche Vorstellungen bezüglich technischer Aspekte. So sollte in Misskey etwa ein nicht abschaltbares Loggen von IP-Adressen eingebaut werden, oder es wurde eine Künstliche Intelligenz verbaut, die ähnlich der durch die EU-Urheberrechts-Novelle befürchteten Uploadfilter funktionieren sollte, bezogen allerdings auf "NSFW"-Inhalte (diese sollte allerdings zumindest konfigurierbar sein).

Diese und weitere Gründe führten dazu, dass schlussendlich dieser Fork entstand. Die Entscheidung wurde nicht auf die leichte Schulter genommen. Es gab schon vorher verschiedene Forks, z. B. weiter maintainte frühere Major-Versionen ("Meisskey"). Ein Fork bedeutet ja logischerweise auch immer eine Aufteilung der Community, was nicht nur positive Effekte hat. Ein Punkt des Bedenkens, und warum der Fork noch das ein um das andere Mal herausgezögert wurde, war die Anzahl von Leuten, die Willens wären, bei solch einem Fork mitzuhelfen. Als die Entscheidung dann aber doch getroffen wurde, hatte jemand anderes wohl auch ähnliche Gedanken, wodurch ein weiterer Fork entstand ("Calckey", jetzt "Firefish"), was leider zu einer weiteren Aufteilung von potenziellen Mithelfern führte. Schlussendlich ist die aktuelle Bilanz, dass ich eigentlich allein an Foundkey arbeite. (Selbstwerbung: Weitere Helfer sind gern gesehen 😁)

Foundkey-Logo: eine Eule, die einen Schlüssel hält (Bildquelle: https://akkoma.dev/FoundKeyGang/FoundKey/raw/branch/main/logo.svg)

 
Und was ist in Foundkey anders?
Nun, zunächst wurden die zuvor angesprochenen und kritisch gesehenen technischen Veränderungen von Misskey natürlich nicht umgesetzt. Und wie auch schon gesagt, liegt der Fokus darauf, was sich "die Community" wünscht. Dauerbrenner ist dabei natürlich allgemein gesagt die Verbesserung der "User Experience" aber auch (insbesondere für Admins) die Performance. Aufgrund der Maintainer-Situation liegt der Fokus aber auch darauf, wie an der ein oder anderen Stelle verschlankt werden kann, im Optimalfall natürlich, ohne dass Funktionalität verloren geht.

Einer solchen Verschlankung sind bspw. Galerien zum Opfer gefallen, die im Artikel zu Misskey vorgestellt wurden. Dadurch geht allerdings meines Erachtens keine Funktionalität verloren, denn eine ähnliche, vielleicht sogar bessere Funktionalität lässt sich mittels Clips erreichen. So gibt es dann auch Kommentare, die es in Galerien nicht gab.
Es wurden aber natürlich nicht nur Dinge entfernt, sondern auch einige Verbesserungen vorgenommen. Sichtbare Verbesserungen wären z. B. Verbesserung der Datei-Verwaltung mit Suche und Sortieren oder erweiterte Such-Möglichkeiten für Notizen und Benutzer. Es gibt nun die Möglichkeit, z. B. nur nach Notizen (d.h. Beiträgen) eines bestimmten Benutzers oder von einer bestimmten Instanz zu suchen.

Auch geht Foundkey mit nicht angemeldeten Benutzern besser um als Misskey. Unter Misskey erhält man den Hinweis, dass man sich anmelden soll. Sich anzumelden ist aber gar nicht möglich, wenn man auf einer anderen Instanz beheimatet ist. Stattdessen erhält man einen Dialog wie diesen:

Ein modaler Dialog, der darauf hinweist, dass die gewünschte Aktion nicht ohne Anmeldung funktioniert.


Es gibt aber auch einige nicht so offensichtliche Änderungen in Foundkey, von denen ich ein paar hier beispielhaft auflisten möchte:

  • Lösch-Aktivitäten werden an alle bekannten Server gesendet, damit die Löschung hoffentlich überall ankommt
  • Empfangen von Account-Umzügen von Mastodon (das Senden ist auch schon im Issue Tracker)
  • verbessertes Stummschalten von Unterhaltungen
  • Einbau von OAuth für Apps
  • Optimierungen bei der Wiederholung von fehlgeschlagenen Zustellversuchen
  • ein sichererer Hashing-Algorithmus für Passwörter (`argon2`)

Apps
Im oben verlinkten Misskey-Artikel wurde die schlechte Anbindung mittels Mobile-Apps angekreidet. Dem setze ich entgegen, dass bereits Misskey als Progressive Web App installierbar war und mir deshalb nicht ganz klar ist, warum unbedingt eine App her muss. Eine App selbst zu entwickeln ist für mich aber so oder so außer Frage, und in der aktuellen Situation als alleiniger Maintainer sowieso. Und da vermutlich noch nicht alle breaking changes zu Misskey durchgeführt wurden, kann es durchaus sein, dass die App-Unterstützung sich eventuell noch weiter verschlechtern wird. So ist nach dem Einbau von OAuth etwa die Überlegung, einen der zwei weiteren Mechanismen für die Authorisierung zu entfernen, den Misskey zur Verfügung stellt, da es Bedenken hinsichtlich der Sicherheit dieses Mechanismus gibt.

Es gibt auch bereits Apps, die mit der Misskey-API interagieren, aber aufgrund von Änderungen nicht mehr mit Foundkey kompatibel sind. Deshalb möchte ich an dieser Stelle keine bestimmte App empfehlen, da ich nicht weiß, wie lang diese Information aktuell bleiben würde.

Allgemein ist eine bessere Dokumentation und eventuell eine besser verständliche Umgestaltung der API ein interessanter Punkt, den ich grundsätzlich weiter verfolge. Auch wenn ich die Weiterentwicklung von Misskey nicht direkt verfolge, bekomme ich doch ab und an etwas davon mit. Manchmal wundere ich mich dabei, wenn ich z. B. von "Achievements" höre, manchmal wundere ich, dass Misskey KaTeX-Formatierung entfernt hat, und manchmal freue ich mich auch darüber, dass Commits aus Foundkey auch den Weg zu Misskey gefunden haben. Für die technisch Interessierten sei z. B. darauf hingewiesen, dass Misskey fast ausschließlich das HTTP-Verb `POST` verwendet, wogegen aber für ein "Anlocken" von App-Entwicklern eine üblichere Gestaltung à la REST sicher hilfreich wäre.


Wie kann man Foundkey ausprobieren?
Die meisten Foundkey-Instanzen erlauben aktuell keine neuen Registrierungen. Es gibt aber z. B. https://mk.absturztau.be und https://minidisc.tokyo, die, während dies geschrieben wurde, neue Registrierungen erlauben.

Außerdem ist es natürlich möglich, eine eigene Instanz auf die Beine zu stellen. Dazu benötigt man allerdings etwas technisches Wissen. Es gibt auch eine (englische) Installationsanleitung.

Zur Fediverse-Artikelserie

Dieser Artikel ist Teil einer Artikelserie zu Fediverse-Diensten: Serie – Fediverse-Dienste: Die Idee
Bisher sind darin erschienen:

Microblogging:

Macroblogging:

Content-Aggregation/ Forum

Spezialisierte Dienste:

Blogging mit Fediverse-Anschluss

Tags

Fediverse, Artikelserie, Foundkey, Misskey, Mastodon, Microblogging, Calckey

kamome
Geschrieben von kamome am 14. August 2023 um 13:25

Danke für Deine Arbiet und den Artikel! Wenn eine PWA gut gemacht ist (kein fettes Code-Monster), schlägt sie eine native ohnehin (es sei denn, es wird noch irgendwas (Sensor, Payment …) nicht unterstützt, aber das wird doch heute selten).

maps.google.com.np
Geschrieben von maps.google.com.np am 25. Oktober 2023 um 09:27

maps.google.com.np

https://www.lmzh.top/
Geschrieben von https://www.lmzh.top/ am 29. Februar 2024 um 18:51