Publish (on your) Own Site, Syndicate Elsewhere kurz POSSE ist ein zentraler Building Block des IndieWeb.

POSSE is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere, a content publishing model that starts with posting content on your own domain first, then syndicating out copies to 3rd party services with permashortlinks back to the original on your site.

https://indieweb.org/POSSE

Die Idee: Alles (Texte, Bilder, Podcasts, Videos, …) zuerst auf der eigenen Seite veröffentlichen und dann „Kopien“ über die sozielen Netzwerke teilen.

Vor ungefär 6 Jahren schrieb der hackr folgendes über POSSE:

das indieweb differenziert nicht in ‚text‘ der tatsächlich indiewertig ist und text, der im driveby entsteht und jeweils einer ganz konkreten logik entspricht. (das sozial dysfunktionale verhalten wäre, dass syndizierer auf den jeweiligen plattformen eher als spammer / bzw. eben genau als lästige syndizierer wahrgenommen werden, die die jeweilige plattform weder verstehen, noch die spezifität berücksichtigen, noch sich darum kümmern und nur gwm ‚melken‘ wollen)

hackr

Zusammengefasst: Die syndizierten Posts werden durch POSSE aus dem Kontext gerissen und könn(t)en dadurch in den entsprechenden sozialen Netzwerken nicht richtig eingeordnet werden.

Damals habe ich noch stark dagegen argumentiert:

Es geht eben nicht darum ein(en) Text/Bild/Video in so viele Netzwerke wie möglich zu streuen, sondern genau umgekehrt… Man schreibt den Text den man beispielsweise sonst explizit auf Twitter geschrieben hätte eben nicht auf Twitter sondern auf seiner eigenen Seite und pushed ihn danach in das Netzwerk um die Kontrolle über seinen und eine Kopie von seinem Text zu behalten.

ich

Es geht eben nicht um das syndizieren an sich, sondern um das „twittern/facebooken/… über die eigene Seite“.

guter punkt, nur stelle ich gwm. das vorhandensein eines tweets ausserhalb von twitter selbst in frage.

hackr

Durch Zufall hab ich mich vor ein paar Wochen an die Diskussion erinnert…

Es fehlt letztendlich nicht der Kontext auf Twitter & Co. sondern auf der „eigenen“ Webseite. Immer mehr Blogger in meinem direkten Umfeld POSSEen, aber nur die Wenigsten trennen diese Posts von ihren klassischen Artikeln. Das heißt in meinem Feed-Reader tauchen immer mehr zusammenhanglose Kurznachrichten, teilweise direkte Antworten auf tweets oder sogar Issues für GitHub Projekte auf.

Im Prinzip ist es egal, wie man es dreht… durch das syndizieren geht der Kontext verloren und der hackr hatte damals doch recht 😉

Zusammen mit dem „microbloggen über die eigene Webseite“ wird POSSE zu einem echten Problem in meinem Feed-Reader 🙁

Die Art wie wir kommunizieren hat sich verändert. Die Flut an Informationen wird immer größer und wir nehmen uns immer weniger Zeit zum lesen und schreiben. Aus E-Mail wurde Messaging, aus Bloggen wurde Microbloggen und wir nutzen Emojis, Hashtags und andere Abkürzungen um die, so schon kurzen Texte, noch weiter zu „optimieren“.

Das ist prinzipiell auch nichts schlimmes, da sich mit jeder neuen Kommunikationsform in der Regel auch das Medium, mit dem ich es konsumiere, ändert. Messaging-Texte lese ich in Telegram und E-Mails kann ich weiterhin in meiner Mail-App lesen.

Komisch wird es aber, wenn sich Medien vermischen, oder wenn Tools versuchen unterschiedliche Medien zu normalisieren. 2011 versuchte Facebook, beispielsweise E-Mails und Messaging/Chat zu verheiraten und über eine Oberfläche nutzbar zu machen.

There are no subject lines, no cc, no bcc, and you can send a message by hitting the Enter key. We modeled it more closely to chat and reduced the number of things you need to do to send a message.

Facebook: See the Messages that Matter

Auf Facebook hat das Vorhaben auch gut funktioniert, aber über die klassiche Mail-App sah ein „Discussion-Thread“ nicht wirklich hübsch aus, weshalb das Projekt auch (zum Glück) wieder eingestellt wurde.

Aber wie komme ich auf das Thema?

Aktuell sieht es in meinem Feed-Reader folgendermaßen aus:

Reeder (RSS-Reader) auf dem iPhone

Keine Überschriften, komische Überschriften, nur das Datum oder sogar der ganze Text als Überschrift. Schuld daran ist, die Verschmelzung von Blogging und Microblogging. Oder besser: Die Nutzung eines Feed-Readers um Microblogs zu lesen.

Micro.blog ist ein Microblogging-Dienst, der 2017 über eine Kickstarter-Kampangne finanziert wurde. Micro.blog orientiert sich stark an der IndieWeb Community und unterstützt viele IndieWeb-Protokolle, wie z.B. Webmentions und Micropub. Der Service unterstützt außerdem das abonnieren von klassischen Blogs wie z.B. WordPress über das gute alte RSS Format. Und hier vermischen sich die beiden Themen.

Aus der WordPress Doku von Micro.blog:

Part of indie microblogging is getting back to the simplicity of title-less posts. When you’re writing a microblog post in WordPress, just leave the title blank, and if necessary update the post template to not include the title in HTML or the RSS feed.

Durch die IndieWeb Community veröffentlichen viele Personen in meinem Umfeld alle Arten von Texten und anderen Medien auf ihren eigenen Webseiten. Ein signifikanter Anteil von ihnen nutzt dafür WordPress und ein Teil davon wiederum meine Themes. Das heißt ich bin letztendlich sogar dreifach von diesem „Trend“ betroffen: als Konsument, als Entwickler und als Publisher.

Ich verstehe den Ansatz, den Micro.blog verfolgt durchaus:

You may find that some feed readers don’t gracefully handle posts without titles, often inserting “Untitled” for the title because they expect something to be there. If you see this, the best solution is to email the developer and ask for them to address it. Working around the issue with fake titles — dates, numbers, or portions of the text — will only ensure that client developers never improve their apps to handle title-less posts.

Apple macht es ganz ähnlich, wenn sie bei neuen iPhones die Kopfhörer-Buchse weg lassen oder bei Laptops nur noch USB-C Anschlüsse verbauen. Man könnte argumentieren, dass es der einzige Weg sei um den Fortschritt voran zu treiben, aber ich bin von den Änderungen meistens eher genervt! Ich bin nämlich derjenige der wieder neue Kopfhörer und einen &%$?§ voll Adapter braucht.

Ein ähnliches Gefühl habe ich gerade bei Microblogging über WordPress und Micro.blog. Nicht die RSS-Reader werden gezwungen sich anzupassen, sondern ich muss schauen, wie ich meine Lese- bzw. Schreibgewohnheiten verändere. Ich „muss“ mein Theme anpassen, ich „muss“ meine Schreibgewohnheiten anpassen und ich „muss“ schauen wie ich meinen Feed-Reader wieder „sauber“ bekomme.

Ich würde mir wünschen wenn Micro.blog nicht so restriktiv mit dem Interpretieren von RSS wäre und wenn es einen fließenderen Übergang gäbe.

Ich würde mich freuen, wenn ich weiterhin Titel schreiben dürfte, denn Titel sind gut für den Feed-Reader, für die sprechenden Permalinks oder einfach nur damit ich meine Artikel über die WordPress Oberfläche schneller wieder finde.

Ich würde mir wünschen, dass Micro.blog einfach immer den Text oder die Summary nutzen würde und den Titel nur als Fallback. Von mir aus auch abhängig vom Post-Type.

Aktuell gibt es für mich aber nur zwei Möglichkeiten:

  • Ich lasse den Titel weg -> Micro.blog zeigt den vollen Text an und im Feed-Reader sieht’s scheiße aus
  • Ich schreibe einen Titel -> Micro.blog zeigt nur den Titel an, aber im Feed-Reader siehts gut aus

Es gibt natürlich auch noch andere Lösungen, aber die sind immer mit Arbeit verbunden: HTTP Agent auslesen und nur für Micro.blog den Titel ausblenden, extra Feed für Micro.blog, …

Am Schluss ist Micro.blog aber nur exemplarisch für eine generelle Entwicklung in der IndieWeb Community.

Peter Molnar hat in einem ähnlichen Zusammenhang etwas sehr passendes dazu geschrieben:

If I look at my wall, my timeline, or any other stream, it’s a mess which I’m not proud of. It’s a never-ending scroll of things, without structure, without separating the less important from the more important, without me, without focus. “regaining focus” is becoming much of a buzzterm but there is truth behind it.

I want the blogs back


Wahrscheinlich sind es nicht die fehlenden Titel die mich aufregen, sondern die Flut an unstrukturierten, zusammenhanglosen Microblogposts, die ich eigentlich gar nicht in meinem Feed-Reader haben will.

…aber das ist eine andere Geschichte.

2018 war ein durchwachsenes Jahr!

Mein privates „Ich“ hat letztes Jahr sehr viel Raum eingenommen und auch beruflich hat sich viel verändert.

Das heißt ich hatte generell wenig Zeit für mein online „Ich“ und wenn ich doch etwas Zeit hatte, war das Ergebnis meistens eher frustrierend.

Pfefferles OpenWeb

Bilder von "Pfefferles OpenWeb" Artikeln

Ich habe für das SCREENGUIDE/Webstandards-Magazin in den letzten 10 Jahren 36 mal „Pfefferles OpenWeb“, 3 Artikel, 1 Titelthema und 1 Interview geschrieben! Letztes Jahr musste der Verlag das Magazin aus „wirtschaftlichen Gründen“ leider einstellen und ich hab es nicht einmal geschafft darüber zu schreiben!

notiz.Blog

Und zum Bloggen kam ich, trotz der gewonnenen Zeit auch nicht! Wenn ich dieses Jahr so weiter mache, muss ich mir meinen selbstvergebenen Titel als „Chronist des OpenWebs“ wieder selbst aberkennen!

IndieWeb

Das IndieWeb wächst und das ist prinzipiell auch gut so. Neben den ganzen Nerds und Geeks interessieren sich auch immer mehr Blogger und Journalisten für das Thema. In der Community spricht man von der 2. Generation.

Auch das Interesse an WordPress wächst. Das ist nicht verwunderlich, immerhin geht es um die Berufsgruppe der Schreibenden und deren Seiten werden, mit einer Wahrscheinlichkeit von 30%, mit WordPress betrieben.

Dieses Interesse beißt sich aber leider mit meinen Möglichkeiten. Von Anfang an verfolge ich folgende Grundsätze des IndieWebs:

Scratch Your Own Itches. Make tools, templates, etc. for yourself first, not for all of your friends or ”everyone“.

und:

Use what you make! Whatever you build you should actively use. If you aren’t depending on it, why should anybody else?

Ich baue (mittlerweile) ausschließlich Plugins die ich für sinnvoll erachte und ich baue sie so, dass sie für mich funktionieren. Das mag erstmal egoistisch klingen, es ist für mich aber die einzige Möglichkeit dieses „Hobby“ überhaupt zu betreiben.

Ich verstehe, dass Anwender teilweise überfordert sind, meine Plugins zu benutzen, kann sie aber nicht in dem Umfang optimieren, der nötig wäre. Ideal ist wahrscheinlich ein großes IndieWeb Plugin, welches alle Features bereit stellt und, am besten ohne viel Einstellungen, einfach funktioniert. Aktuell nutze ich 50% aller, vom IndieWeb vorgeschlagenen WordPress Plugins, eine allumfassende Plugin Suite würde dann also nicht mehr meinen Anforderungen entsprechen.

Ich habe aktuell keine Ahnung wie ich aus diesem Dilemma heraus kommen soll. Es gibt Plugins die will ich nicht aus der Hand geben und Plugins die ich an die Community übergeben habe, werden aus Mangel an Entwicklern nicht weiter gepflegt. Aktuell arbeiten maximal 3 Personen (mich inbegriffen) an über 10 unterschiedlichen Plugins.

…und wenn das noch nicht genug wäre, kommt das „Microformats Problem“ noch on top.

Microformats

Microformats2 und WordPress scheinen nicht kompatibel zu sein und das ist schade, immerhin sind Microformats DER Building-Block des IndieWebs. Mehr noch: Microformats sind die API des IndieWebs!

Ich habe in den letzten Jahren viel ausprobiert um das Problem zu lösen, aber es gibt keine generische Möglichkeit, ein WordPress Theme mit Microformats2 auszustatten.

Benutzt man ein Plugin, um über Hooks einige zentrale Elemente (wie z.B. den Titel) Semantisch auszuzeichnen, bekommt man nette Effekte, mit Themes die ihre Ausgabe „escapen“:

After activating the last version (1.1.0) of your plugin on WordPress 4.9.8 with understrap theme my meta entry become : Posted on September 12, 2018 by <span class='p-author h-card'>Author</span> instead of : Posted on September 12, 2018 by Author for fun I look into the code and I think the error is here but since I’m totally not a PHP developer I’ll pass on the potential PR

Versucht man es mit einer Art Microformats Feed, bekommt man Probleme, alle Meta-Daten zu integrieren. Schlimmer noch, man arbeitet gegen einen Grundsatz der Microformats:

Design for humans first, machines second

Zusammengefasst: Microformats gehören ins Theme, es gibt aber keine generische Lösung. Eine generische API ist möglich, widerspricht aber der Microformats-Idee.

Aktuell gibt es drei WordPress Themes die Microformats2 voll unterstützen und um sein Blog wirklich IndieWeb tauglich zu machen, muss man eines dieser drei Themes benutzen oder selber HTML bzw. ein Theme schreiben.

Das ist frustrierend! Außerdem liefen die Diskussionen (meines Erachtens) etwas aus dem Ruder, weshalb ich mich letztes Jahr entschieden habe, mich aus dem Microformats-Thema komplett heraus zu nehmen.

OStatus

OStatus ist das zentrale Protokoll, über das identi.ca, status.net, gnu.social und friendi.ca sprechen. Es ist arsch-alt, funktioniert aber immer noch prächtig!

Ich hab mich wie bolle gefreut als OStatus mit Mastodon wieder frischen Wind bekam, hab mein altes OStatus Plugin ein wenig aufpoliert und wollte gerade freudig darüber berichten, als Eugen Rochko, der Macher hinter Mastodon, einen meiner Bugs, mit folgenden Worten schloss:

Closing on the grounds that OStatus is no longer our primary mechanism and will be deprecated in the future.

Mein vorbereiteter Blogpost hatte den Titel „My Blog is my Social-Network“ und der erste Abschnitt lautete:

Ich habe in den letzte Woche an einem Update für ein WordPress Plugin gearbeitet, das ich seit 6 Jahren nicht angerührt habe… Nicht dass das Plugin an sich nicht mehr funktioniert hätte, aber PHP und WordPress haben sich weiter entwickelt.

Schade!

ActivityPub

Aber dann kam ActivityPub! ActivityPub ist der heiße Shit im Fediverse. So zu sagen OStatus in neu und besser! Was AtomPub für Atom ist, ist ActivityPub für ActivityStreams… und noch ein bisschen mehr.

Ein Schaubild des ActivitPub flows

ActivityPub ist außerdem der erste, vom W3C veröffentlicht, „Standard“ (abhängig davon wie man „Standard“ definiert), der versucht ein dezentrales, soziales Netzwerke zu definieren.

Naiv wie ich bin, dachte ich, ich geb‘ dem Ganzen eine Chance. Die Spezifikation ist relativ simpel und ein „Standard“ ist „wohl definiert“, das heißt es gibt nur einen Weg um ihn zu implementieren!

Das Ergebnis (Trommelwirbel): ein ActivityPub Plugin für WordPress!

War es so einfach wie ich gedacht habe? Natürlich nicht! Es hat natürlich doch wieder jede Plattform seine extra Wurst, aber im Gegensatz zu Microformats2, basiert ActivityPub auf einer „echten“ API und lässt sich somit relativ leicht in WordPress integrieren.

ActivityPub und das Plugin waren definitiv das Highlight des Jahres, immerhin ist WordPress jetzt offiziell ein Teil des Fediverse:

und laut dem „2018 Report“ von fediverse.network sogar auf Platz 8 von 13.

Fazit

Die Arbeit an ActivityPub hat eigentlich Spaß gemacht und ich werde mich wahrscheinlich auch 2019 hauptsächlich mit ActivityPub beschäftigen!

2018 war nicht so dolle, 2019 kann nur besser werden!

Homebrew Website Club Banner

Wir starten am 23.01. um 18:30 Uhr einen Karlsruher Homebrew Website Club im Café NUN.

Was ist ein Homebrew Website Club?

Homebrew Website Club is a bi-weekly meetup of people passionate about or interested in creating, improving, building, designing their own website, in the same structure as the classic Homebrew Computer Club meetings.

https://indieweb.org/Homebrew_Website_Club

Wir versuchen den HWC eher ungezwungen und frei zu gestalten und wollen den ersten Termin dazu nutzen, uns kennen zu lernen und den weiteren Ablauf zu besprechen.

Vielen Dank an Daniel für das Organisieren der Lokation und vielen Dank dem Café NUN für das Bereitstellen der Lokation 🙂

Wer sonst noch Lust hat, einfach vorbei kommen!

David Shanske und Chris Aldrich hosten seit ein paar Monaten einen ganz charmanten IndieWeb Podcast. David hat bei so ziemlich jedem IndieWeb-WordPress-Plugin mit gearbeitet und übernimmt die Rolle des „Erklärers“ und Chris ist Poweruser und versucht den Podcast zu moderieren und die Komplexität etwas heraus zu nehmen.

Bisher entstanden 5 Folgen und ein Teaser:

Ich muss zugeben, ich hätte ja schon auch mal wieder Lust zu podcasten

Irgendwann letzte oder vorletzte Woche ist die Überschrift "OpenID Connect Federation 1.0 – draft XX" in meinem Feed-Reeder aufgetaucht und auf Buzz-Words wie Federation o. Ä. springe ich natürlich immer noch sofort auf!

Spezifikationen lesen, macht ja generell nicht viel Spaß, aber bei der OpenID Connect Federation 1.0 kam ich nicht mal bis zur Hälfte. Bevor man wirklich versteht was das Protokoll eigentlich macht (für mich hört es sich ähnlich an wie OpenID Connect Dynamic Client Registration), geht es um Metadaten, JSON Web Signature (JWS), JSON Web Tokens (JWT) und JSON Web Keys (JWK).

Eigentlich dachte ich, dass OpenID Connect durch OAuth 2 super simpel sein soll… Immerhin basiert ja OAuth 2 auf SSL/TLS und nicht wie OAuth 1 auf komplizierte Signaturen.

The majority of failed OAuth 1.0 implementation attempts are caused by the complexity of the cryptographic requirements of the specification. The fact that the original specification was poorly written didn’t help, but even with the newly published RFC 5849, OAuth 1.0 is still not trivial to use on the client side. The convenient and ease offered by simply using passwords is sorely missing in OAuth.

Eran Hammer

Die OpenID Foundation scheint ihre Meinung geändert zu haben… SSL scheint wohl doch nicht auszureichen.

Another problem that has been raised is the dependency on TLS as the sole protection against attacks on the transferred information. These last couple of years a number of problems with OpenSSL, which is probably the most widely used TLS library, have been discovered that put reasonable doubt into this dependency.

OpenID Connect Dynamic Client Registration

Schade, schade…

Wer eine wirkliche Alternative zu OpenID Connect sucht, der soll sich mal IndieAuth anschauen. IndieAuth kommt der ursprünglichen Idee von OpenID Connect sehr nahe und ist relativ einfach zu verstehen und auch zu implementieren!

Zu Zeiten von Pingbacks, antwortete man noch mit Blog-Posts auf Blog-Posts, aber es fehlte die Technik um sie richtig zu übermitteln und darzustellen:

[…] und Wertvorstellungen entspricht und nicht von der Mehrheit meiner Freunde abhängig sein.» Dezentrale Walled Gardens Hier erscheinen von Montag bis Freitag ausgewählte Links zu lesenswerten Texten und aktuellen […]

Mit Webmentions und Microformats2 hat sich zwar die Darstellung verbessert, aber die Texte… naja… haben sich "verändert":

#100DoPP d84:
Both #AS2 & #Micropub are @W3C PRs!
Congrats @SocialWebWG @jasnell @evanpro @aaronpk!
https://www.w3.org/TR/micropub
https://www.w3.org/TR/activitystreams-core/
https://www.w3.org/TR/activitystreams-vocabulary

tantek.com/t4np2

Twitter sei Dank!

…da hätte man sich die Arbeit auch sparen können 😉