Mastodon: Wie Heise einen föderierten Social-Media-Dienst integriert
![Stuttgart,,Germany,-,09-24-2022:,Mobile,Phone,With,Webpage,Of,Open-source](https://heise.cloudimg.io/width/700/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/4/3/1/9/8/7/5/shutterstock_2217118437-3952e0310a8260e8.jpeg)
(Bild: T. Schneider/Shutterstock.com)
Die Webentwicklung von heise online berichtet über die technischen Herausforderungen, Mastodon zu den Social Media Diensten hinzuzufügen.
Mastodon gibt es zwar schon seit einigen Jahren, doch vor etwa einem Jahr bekam der Dienst besonders viel Aufmerksamkeit, da X (damals Twitter) an Elon Musk überging. Anfang 2023 startete auch heise online eine eigene Mastodon-Instanz und wir begannen Mastodon als Dienst neben all den anderen Social-Media-Plattformen zu integrieren. Jedoch ist etwas bei Mastodon anders: Der Dienst ist föderiert und das erforderte ein paar andere Lösungen als bei den bisherigen, zentralisierten Diensten.
Die eigene Instanz
Unsere ersten Schritte machten wir mit heise-online-Accounts auf anderen Mastodon-Instanzen. Es stellte sich bald heraus, dass wir „all in“ gehen wollten und da bot sich eine eigene Instanz an, alleine schon der Unabhängigkeit bei den Einstellungen der Instanz wegen. So starteten wir Anfang 2023 social.heise.de [1] – eine öffentliche Mastodon-Instanz, die alle Accounts von heise sammelt, jedoch nicht zur offenen Registrierung gedacht ist. Seitdem wurden dort diverse Accounts eingerichtet, die teils von echten Menschen, teils automatisiert befüllt werden. Auch bei der Automatisierung wurde einiges ausprobiert und auf Rückmeldung der Community reagiert [2].
Inhalte teilen
Auf unseren Artikel-Seiten (und diversen anderen Stellen) ermöglichen wir, dass man den Inhalt mit anderen Menschen teilen kann. Bei bisherigen Social-Media-Diensten gab es da einfach eine Sharing-URL, die immer gleich war, denn es waren ja zentralisierte Dienste. Das Konzept ließ sich so jedoch nicht auf Mastodon übertragen, da es zig Mastodon-Instanzen und damit diverse unterschiedliche URLs zum Sharing gibt.
Wir bauten also die Möglichkeit, beim Sharing die URL der Mastodon-Instanz anzugeben, auf der man den Account hat, mit dem man den Inhalt teilen möchte. Nach dem ersten Teilen merkt sich der Browser diese URL auch, sodass man beim nächsten Mal nichts mehr tippen muss, sondern das Feld schon vorausgefüllt ist. Technisch setzen wir für den Modal-Dialog auf das dialog [3]-Element.
![Screenshot von heise online der einen Modal-Dialog für das Teilen auf Mastodon zeigt](https://heise.cloudimg.io/width/696/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/4/3/1/9/8/7/5/artikel-mastodon-share-dialog-b20123a2a1468327.png)
Mastodon-Inhalte einbetten
Um Inhalte von Dritt-Anbietern einfach einzubinden, haben wir schon vor vielen Jahren das Projekt „Embetty [4]“ veröffentlicht. Dieses dient als Proxy und ruft von Social-Media- und Video-Plattformen Inhalte ab, um den Inhalt dann von einem eigenen Server aus zur Verfügung zu stellen. So können User den Inhalt dieser Plattform sehen, ohne Daten an einen Drittanbieter weitergeben zu müssen (bzw. bei Video-Diensten das Vorschaubild sehen und erst bei Klick den Inhalt des Dienstes einbinden).
Bisher kannte Embetty aber noch keine Mastodon-Posts, also erweiterten wir auch dieses Projekt um Mastodon [5], sodass wir – und alle, die Embetty verwenden – nun Mastodon-Posts ohne vorherige Consent-Abfrage einbetten können.
Der Aufwand war nicht sonderlich groß, einen verteilten Dienst hinzuzufügen, aber hier und da mussten wir uns erst mal wieder bewusst machen, was diese Art des Netzwerks für Anpassungen mit sich bringt. Nutzt ihr Mastodon? Oder stört euch der föderierte Ansatz und ihr bleibt dem Dienst fern? Wir freuen uns auf eine rege Diskussion im Forum.
Der Autor ist selbstverständlich auch bei Mastodon auf der Heise-Instanz vertreten [6] und der heise online Account [7] hat einen angehefteten Post mit einem Überblick unserer verschiedenen News-Accounts [8] auf der Instanz. (rme [9])
URL dieses Artikels:
https://www.heise.de/-9337038
Links in diesem Artikel:
[1] https://social.heise.de/
[2] https://social.heise.de/@heiseonline/110371699219107096
[3] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog
[4] https://www.heise.de/Social-Media-Inhalte-datenschutzfreundlich-einbetten-mit-Embetty-4041045.html
[5] https://github.com/heiseonline/embetty#mastodon-status
[6] https://social.heise.de/@hih
[7] https://social.heise.de/@heiseonline
[8] https://social.heise.de/@heiseonline/110345883875968982
[9] mailto:rme@ix.de
Copyright © 2023 Heise Medien