Reblog of Matthias Pfefferle: Enable Mastodon Apps

Reblog via Matthias Pfefferle

Ich war am Wochenende auf dem CloudFest Hackathon und hatte zum zweiten Mal die Change ein Projekt zu betreuen. Die Idee zu „Enable Mastodon Apps“ stammt von @alex und ich freue mich sehr, dass er mir sein „Baby“ für den Hackathon anvertraut hat!

Hier ist unser Pitch:

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

var _oembed_068c0c63330a5645737b81421ea55b3e = ‘{“embed”:”<iframe title="Enable Mastodon Apps for WordPress and its Plugins" width="900" height="506" src="https:\/\/www.youtube-nocookie.com\/embed\/VJWdzeZz-ok?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen><\/iframe>”}’;
[data-embed-id=”oembed_068c0c63330a5645737b81421ea55b3e”] { aspect-ratio: 900/506; }.embed-youtube .embed-privacy-logo { background-image: url(https://notiz.blog/wp-content/plugins/embed-privacy/assets/images/embed-youtube.png?v=1698874221); }

Ich bin begeistert von der Idee!

Das Nachbauen der Mastodon-API stellt eine relativ einfache Lösung für das aktuelle ‚App-Problem‘ von WordPress dar. Die gängigen Apps zielen darauf ab, den Nutzern das traditionelle Bloggen zu ermöglichen. Allerdings haben soziale Medien im Allgemeinen und Twitter im Speziellen, die Art und Weise wie wir im Internet kommunizieren, maßgeblich verändert. Es geht nicht mehr um lange Artikel, sondern um kurze Nachrichten ohne Titel mit dem Fokus auf Bilder oder Videos.

Ein weiterer Nebeneffekt sind die sozialen Interaktionen wie Kommentieren (die WordPress über die letzten Jahre spärlich vernachlässigt hat), Liken, Boosten und Bookmarken (die WordPress nativ gar nicht unterstützt), welche die Mastodon Apps von Haus aus schon mit bringen.

„Enable Mastodon Apps“ stellt aber nur die Endpunkte für diese Interaktionen bereit, um sie nutzen zu können, braucht es weitere Plugins, wie z.B. Friends und/oder ActivityPub. Mehr dazu hier: Friends with ActivityPub – Deine nachhaltige Identität im Web.

Das Projekt hat mich sehr an die frühen Twitter-Jahre erinnert. Die Twitter-API galt lange als der de-facto Standard für Micro-blogging und Automattic/@photomatt hat damals schon die Vorteile für sich erkannt und die API für WordPress.com nach gebaut:

Of course one of the coolest things about Twitter right now is the client applications, particularly the mobile/iPhone ones. I use Tweetie 2 on my iPhone every day. Wouldn’t it be cool if you could get all your blog subscriptions and post to your WordPress.com blog from apps like Tweetie? Well here’s an early Christmas present…

We’ve enabled posting to and reading of WordPress.com blogs via the Twitter API. Any app that allows you to set a custom API URL will work.

Post and Read via Twitter API

Hackathon

Wir waren zwar nur 4 Personen, aber ich sag nur „Qualität statt Quantität“!

Vielen Dank @Drivingralle, @matze und @obenland, es war super produktiv und hat großen Spaß gemacht 🙂

Von links nach rechts: Ralf Wiechers, ich, Matthias Kittsteiner und Konstantin Obenland

Was wir erreicht haben:

  • Die meisten Mastodon-API-Endpunkte wurden implementiert.
  • „Hooks“ und „Actions“ für den internen Gebrauch.
  • Dokumentation aller Hooks.
  • Grundlegende Beispielimplementierungen in ActivityPub und im Friends Plugin.
  • Testen von zusätzlichen Clients.

Und hier ein paar Statistiken von den zweieinhalb Tagen:

  • 3 new contributors to the plugin
  • 4,101 lines added
  • 911 lines removed
  • 213 commits
  • 34 files changed
  • 25 PRs merged
  • 7 PRs almost merged
  • 0 Social Media posts

Und hier der Pull Request in seiner ganzen Pracht: Collection of changes from the CloudFest Hackathon

Vielen Dank auch an @bart und das Team von Mammoth, die uns im Vorfeld unterstützt haben. Mammoth funktioniert jetzt wunderbar mit WordPress und Alex und ich hatten einen Einblick in die App-Entwicklung und deren Eigenheiten 🙂

Hier ein paar Bilder:

My FOSDEM 2024 Talk: Migrating the WordPress Community from Slack to Matrix

When I submitted my application for a talk at FOSDEM 2024, we were still on for migrating the WordPress community to Matrix.

Alas, there were many factors that led us to pause the transition indefinitely, announced by Matt at the Q&A of State of the Word 2023. The most important factors were accessibility problems, some important feature-imparity compared with Slack, and the license changes at Element (to AGPL, with the requirement to sign a CLA when contributing).

The WordPress community has collected their issues in a Github repository. We tried hard to overcome the issues, through documentation, education (some things just work differently in a federated environment), and upstream patches (for example to address some of the accessibility problems).

In the end, I did not cancel but held my talk on February 4 at FOSDEM 2024 in Brussels, explaining all the things we did to lower the barrier of entry:

As well as bots and integration we created to fulfill the specific needs, such as these Maubot plugins:

  • Post to room: post messages via webhook
  • Relay: an integration can react to room messages via webhook
  • Group mentions: upon command a bot mentions many people
  • Watchdog: alert about community created rooms

Also, we held weekly meetings in the WordPress meta chat throughout the year, and published meeting notes afterwards.

There is a lot more in my presentation, I hope that my presentation slides can be helpful to other communities (or companies) trying to migrate from Slack to Matrix. Maybe some things that were a blocker for the WordPress community are not so important for other communities.

Finally, here is the video of the ~30 minutes presentation:

FOSDEM 2024 talk by Alex Kirk: Embracing Matrix for Enhanced Communication: Migrating the WordPress Community from Slack to Matrix

Kudos to my colleagues Paulo Pinto and Ashish Kumar who did a lot of the heavy lifting in the effort. Together we submitted around 40 upstream pull requests (on Synapse (pre-license change), Element-Web, Slack bridge, and more).