Mastodon, der Mikroblogging-Dienst der kein Elefant im Porzellanladen ist
Mastodon, der Mikroblogging-Dienst der kein Elefant im Porzellanladen ist

Zugegeben, ich tat mich am Anfang schwer mit Mastodon. Ein Dienst der dezentral Betrieben wird. Das heisst: verschiedene Server, von Privatpersonen, Vereinen oder sonstigen Stellen in eigenverantwortlich betrieben.

Vor Jahren tauchte Mastodon inmitten der vielen sozialen Netzwerke auf. Es wurde belächelt, und eigentlich keine Chance gegeben. Doch das Blatt hat sich meiner Meinung gewendet.

In den letzten Wochen, seit der Chief Twit (anm. d. red: Twitter-Besitzer) für ein Chaos sorgte, Spezialisten und ganze Teams entliess, Verifizierungen änderte, fragwürdige Entscheidungen Umsetze und Schlussament noch die API in ein Bezahlmodel (Vorlaufzeit 1 Woche) ändert machte das ganze nicht einfacher. Es ist wohl eine Frage der Zeit das man von Tweets auf Toots (tröten) umzusteigt und bei einem Retweet einen "Boost" machen. Ich habe mir die Zeit genommen und den Mikroblogging genauer angeschaut.

Die Architektur

Das föderierte Netzwerk, das aus Tausenden von Servern besteht, funktioniert anders als Twitter, aber es ist einfach genug, um umzusteigen.

Das soziale Netzwerk Mastodon wurde im Jahr 2016 von Eugen Rochko aus Jena gegründet. Hinter Mastodon steht keine Firma und kein Profit-Gedanke, es handelt sich um ein Open Source Projekt. Der Quellcode von Mastodon ist frei auf Github einsehbar und ist von einer Docker-Instanz nicht mehr weit entfernt.

Das in Ruby geschriebene Applikation, PostgresSQL als Backend und Redis als MemoryDB/Cache Aufgaben ist kein Mikroservice. Das ganze ist monolithisch Aufgebaut. Ist für kleine Instanzen kein Problem. Sollte man aber Skalieren wollen muss man etwas in die Trickkiste greifen. So kann man zwar Memory für die Redis Instanz erhöhen, aber primär profitiert nur die SQL DB von mehr Memory. Grosse Server, grosse Probleme. Kommt eine Instanz an seine Grenzen kann man entweder in mehr Ressourcen investieren oder man schliesse das ganze für neue Benutzer (z.b. Zeitweise mastrodon.social). 

Das ganze ist eine Sache der Mathematik. Der Datenverkehr eines 0815 Benutzers die eine einigermassen normale Anzahl von Followern haben kann ein Server ohne Probleme bewältigen. Haben wir nun Konten die eine grosse Reichweite haben dann kommen wir in eine andere Liga. Wenn zum Beispiel ein Account 500k Follower hat, die auf 20k Server verteilen, so erstellt ein einziger Post 20k Jobs (Um diese an seine Verfolger zu übermitteln). Wird diese dann wieder verteilt Multipliziert sich diese und haben wir noch ein 2-3k Favoriten haben, muss der Server das ganze koordinieren und abarbeiten. Daher würde ich empfehlen seinen Home-Instanz gut zu wählen, der die Reichweite/Interessen des Accounts repräsentiert. Darum ist Mastodon (noch) kein Twitter Ersatz, den ein grosser Server der das Twitter-Universum darstellt wird so schnell nicht kommen.

Android Apps

Folgende Apps habe ich getestet:

Beide Apps machen das was sie können müssen. Man kann nur jeweils 1 Instanz Verbinden. So muss man mehrere Apps Installieren wenn man mehrere Accounts hätte.

Die Rest-API Schnittstelle

Damit man die Schnittstelle zugreifen kann muss man unter Development eine Applikation hinzufügen. Dabei wird ein Token generiert (Your access token). Diesen sollte man sorgfälltig in einem Passwortmanager ablegen.

Eine Übersicht über die API kann man sich auf der Mastodon Seite verschaffen. Die Schnittstelle ist gut Dokumentiert.

Powershell

Der wohl einfachste Weg einen "Tooth" zu machen, ist das Rest Cmdlet zu verwenden:

Konstante

Für wiederkehrende Aufgaben oder wenn man mehre Instanzen hat, lohnt sich die Werte in Variablen auszulagern:

$instance="mastodon-domain.social"
$accesstoken=""

Neuen Beitrag verfasse

Der Aufruf ist sehr Einfach. Man muss lediglich den Token im HTTP Header mitschicken und kann so einen neuen Beitrag posten.

Invoke-RestMethod "https://$instance/api/v1/statuses" -Headers @{ Authorization = "Bearer $accesstoken" } -Body "status=Hello, My Test with Rest-API" -Method POST

Der Rückgabewert gibt an ob das Absenden erfolgreich war.

c# Mastodot - Mastodon API library for C# (.NET)

Ich habe mir diese mal einfach gemacht und mich direkt nach einer Dot.Net Library umgeschaut. Dabei bin auf Mastodot gestossen. Zwar ist der Code seit 6 Jahren nicht mehr verändert, aber recht brauchbar. Bei meinen Tests habe ihn funktionstüchtig gemacht. So konnte ich eine neuen Beitrag erstellen und ein Bild hochladen.

string instance = "domain.ch";
string Token = "[access token]";
RegisteredApp registeredApp = await ApplicationManager.RegistApp(instance, "MyRestApiApp", Mastodot.Enums.Scope.Read | Mastodot.Enums.Scope.Write | Mastodot.Enums.Scope.Follow);
	
var url = ApplicationManager.GetOAuthUrl(registeredApp);
MastodonClient client = new MastodonClient(domain, Token);
client.PostNewStatus(status: "Hello Mastodon! Send over Mastodot");

Fazit

Technisch ist sie für kleinere Interessensgruppen aufgebaut. Die Dezentralität hat seinen Reiz und zeigt das es auch anders gehen kann. Was ich mir aber etwas schwierig vorstelle wie kann man damit Geld verdiehen? Ein Betreiber einer Instanz wird wohl gerne grosse Follower Gruppen haben wollen. Den das muss ja finanziert werden. Was in meinem Augen auch noch nicht klar ist, wer kontrolliert alle Posts? Wer hat die Zeit um das ganze zu moderieren? Daher bin ich vorsichtig um dies als Twitter Ersatz zu sehen.

Auf jeden Fall ist es aber eine gelungene Alternative eine offene API und sollte sich jeder mal anschauen und sich selber ein Bild davon machen. Ich werde sicher das eine oder andere testen und ausprobieren. Ideen habe ich schon sehr viele was ich Umsetzen will.

Nichts gefunden

Es wurde zur Story Mastodon, der Mikroblogging-Dienst der kein Elefant im Porzellanladen ist kein Kommentar gefunden

Information

Werbung oder Ähnliches sind nicht erlaubt, daher wird jeder Beitrag geprüft und freigegeben.
Advertising, etc. are not allowed, so any contribution is reviewed and approved.
Facebook-Webadress are not allowed, Facebook als Webadresse ist nicht erlaubt


* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number
Ihr Kommentar
?
?
captcha Image?
?
 
×

...auch noch interessant

Tippsammlung

Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.

Archiv

JahrArchiv
Tag(s):