ActivityPub und soziale Netzwerke

Eben Folge 94 des neunetzcast von Marcel Weiß und Matthias Pfefferle zu Ende gehört. Sehr schön, wie die beiden darin über ActivityPub, Mastodon, Flickr, Twitter, WordPress und in diesem Zusammenhang die Zukunft sozialer Netzwerke sprechen.

Der Enthusiasmus hinsichtlich Fediverse, über das ich auch kurz hier geschrieben hatte, ist meiner Ansicht nach immer noch da. Vor allem die Möglichkeit etwas mehr Kontrolle über die eigenen Inhalten zu haben, beispielsweise bei Bedarf mit ihnen umziehen zu können, ist ein großer Vorteil gegenüber den proprietären Diensten.

Bei der Wahl der Nachbarschaft, in denen Nutzer*innen ihre Accounts anlegen, bleibt weiterhin zu bedenken ob mensch dort hinein passt und wie vertrauensvoll die Administrator*innen erscheinen. Der Gedanke im Podcast, dass es für Hosting-Anbieter ein interessantes Feld sein könnte, Managed Hosting für Mastodon anzubieten finde ich ebenfalls sehr spannend.

Ich, für meinen Teil werde weiterhin im Fediverse aktiv sein, und beobachte die Entwicklungen mit großem Interesse. Falls es Dir ähnlich geht und Dich auch ein Blick auf die Geschichte von ActivityPub interessiert, sei Dir die Eingangs verlinkte Folge 94 des neunetzcast empfohlen.

Fediverse

Das Fediverse ist in aller Munde. Spätestens seitdem sich Twitter auf rasanter Talfahrt befindet, schauen sich viele Nutzer*innen nach einem öffentlichen Ort im Internet um, an dem Austausch, Inspiration, aktuelle Meldungen und Quatsch zu finden sind. In der Wikipedia beginnt der Artikel zum Fediverse folgendermaßen:

»Fediverse (ein Kofferwort aus „federation“ und „universe“) oder Fediversum bezeichnet ein Netzwerk föderierter, voneinander unabhängiger sozialer Netzwerke, Mikroblogging-Dienste und Webseiten für Online-Publikation oder Daten-Hosting.«

Aus meiner Sicht ist vor Allem der Aspekt unabhängiger und doch miteinander verbundener Instanzen interessant. Über ActivityPub, einem standardisierten Kommunikationsprotokoll, können unterschiedliche Server miteinander kommunizieren. Das Fediverse ist ein dezentrales Netzwerk, in dem über verschiedene Server miteinander kommuniziert werden kann. Mastodon, das sich aktuell großer Beliebtheit erfreut, ist eine Software die auf unterschiedlichen Servern betrieben werden kann. Daraus ergeben sich unabhängige soziale Netzwerke, die jedoch das selbe Kommunikationsprotokoll verwenden was einen Austausch über die Server hinweg möglich macht.

Da es sich bei ActivityPub um ein vom World Wide Web Consortium (W3C) definiertes Kommunikationsprotokoll handelt, wird es nicht nur von Mastodon unterstützt, sondern beispielsweise von Pixelfed, einer Plattform zum Teilen von Fotos, und über eine Erweiterung von Matthias Pfefferle können WordPress-Blogs, wie dieses hier, als Instanz im Fediverse auftreten. Nutzer*innen können den Artikeln des Blogs auf Mastodon folgen und damit interagieren.

Aktuell wird diese Art der Kommunikation häufig mit E-Mail verglichen. Bei jeder E-Mail die wir verschicken greifen wir auf das »Simple Mail Transfer Protocol« zurück, das den meisten von uns beim Einrichten einer E-Mail-Adresse auf einem Computer als SMTP begegnet ist. E-Mails basieren ebenfalls auf einem standardisierten Kommunikationsprotokoll über das Nachrichten zwischen unterschiedlichen Servern verschickt werden können.

Für alle diejenigen, die bei standardisiertem Kommunikationsprotokoll aussteigen wollten, und sich den Scherzen über die Komplexität von Mastodon anschließen wollten, habe ich den kurzen Exkurs zu E-Mails aufgegriffen, dies benutzen noch viele Menschen täglich, und fühlen sich dabei nicht wie Nerds.

Was mich an dem aktuellen Aufschwung von Mastodon begeistert ist die Tatsache, dass eine Plattform mit Leben gefüllt wird, die auf einem offenen Kommunikationsprotokoll basiert und daher dem offenen und dezentralen Charakter des World Wide Web entspricht. Wie alles andere, ist auch das Fediverse nicht perfekt, und dennoch hat es das Potential den Begriff »soziale Netzwerk« neu zu definieren. Gerade weil Mastodon und Pixelfed Dienste anbieten, die ähnlich einfach zu nutzen sind wie E-Mail.

Falls Du mir im Fediverse folgen möchtest, kannst Du diese Adressen beispielsweise auf Deinem Mastodon-Server suchen:

Ende und Anfang

Heute ist ein Tag um Abschied zu nehmen. Nach 13,5 Jahren endet hier DEPONE Netzgestaltung, meine freiberufliche Tätigkeit als Webdesigner und Frontend Entwickler.

Wohin mich diese Tätigkeit geführt hat, konnte ich mir 2008 nicht vorstellen. In den vergangenen Jahren durfte ich an vielen spannenden Projekten arbeiten, meine Sicht einbringen, zu gelingender Kommunikation im Internet beitragen und unglaublich viel dazu lernen.

Die Reise begann an einem Tisch im Schlafzimmer, führte mich ins Oberstübchen, einer Abstellkammer die sich nach und nach in ein Büro verwandelte. Mit Freunden bauten wir anschließend das Büro 5&30 auf, eine Bürogemeinschaft in der viel Gutes entstand. Nach Jahren gemeinsamen Schaffens im Großraumbüro zog ich 2019 alleine in ein kleineres Büro und war für die Zeit des Abstand Haltens bestens vorbereitet. Hier sitze ich auch jetzt und schreibe diese Zeilen.

Das Internet ist ein spannendes Medium. Beständiger Wandel ist darin sehr deutlich zu erleben, und so lerne ich ständig Neues. Ich bin dankbar für viele Begegnungen und Kontakte, Inspiration und Austausch, gemeinsames Arbeiten und das Vertrauen in meinen Beitrag.

In den vergangenen Jahren durfte ich in der Kreativwirtschaft für Musiker*innen und Designer*innen arbeiten, im kirchlichen Bereich für Institutionen und frische Initiativen, für Start-ups, Unternehmen des Mittelstandes genauso wie für internationale Konzerne. Es war abwechslungsreich und hat mir großen Spaß gemacht.

Morgen beginnt ein neuer Abschnitt.

Im Team von wemakeit, der Crowdfunding Plattform für kreative Projekte, werde ich ab morgen die Rolle des Senior Frontend Entwicklers ausfüllen. Ich freue mich sehr auf meine neue Arbeitgeberin und darauf mehr in diesem sympathischen Team eingebunden zu sein. Als Ermöglicher fühle ich mich in einem Umfeld wohl, in dem Projekte realisiert werden die sich für positive Szenarien von Zukünften einsetzen.

Von iA Writer direkt ins Blog

Mit der neusten Version des iA Writer, der von mir geschätzten Software zum Schreiben, ist es möglich Texte direkt in selbst gehostete WordPress Blogs oder andere Blogs zu veröffentlichen, die Micropub unterstützen.

Um direkt in selbst gehostete WordPress Blogs zu veröffentlichen können zwei Wege gewählt werden:

1. IndieAuth

Üm über IndieAuth direkt aus iA Writer heraus in Deinem WordPress Blog Artikel zu veröffentlichen, musst Du das IndieAuth-Plugin installieren, und dieses einrichten.

Danach öffnest Du unter Einstellungen > Accounts und fügst einen WordPress-Account hinzu.

2. Micopub

Ähnlich funktioniert es mit der Nutzung des Micropub-Standards. Da es sich hierbei um einen offenen Standard handelt kann er auch für viele weitere Blogsysteme verwendet werden, sofern sie diesen Standard unterstützen. Für WordPress kann er über das Micropub-Plugin verwendet werden.

Ist das Plugin installiert und eingerichtet, wird das Blog ebenfalls unter Einstellungen > Accounts über die Auswahl Microblog hinzugefügt.

Es lassen sich auf diese Weise mehrere Accounts innerhalb des iA Writer anlegen. Ordnen und umbenennen der Accounts ist selbstverständlich auch möglich. Was aus meiner Sicht perfekt ist, da so mehrere Blogs direkt aus der Applikation heraus mit Inhalten versorgt werden können. Die Texte selbst werden nicht direkt veröffentlicht, sondern zunächst als Entwürfe angelegt – dies ist meiner Ansicht nach eine sehr gute Entscheidung der Entwickler:innen, da es den Bloger:innen einen Blick auf den Artikel im Blog ermöglicht, bevor dieser das Licht der Welt erblickt.

Vielen Dank an die Information Architects für diese hilfreiche Erweiterung des iA Writers, und die Unterstützung offener Standards! Ein Blogpost zu diesen und weiteren Neuerungen findet sich wie gewohnt in deren Blog.

Fairness und Respekt

Im Verlag des Smashing Magazine ist recht frisch The Ethical Design Handbook von Trine Falbe, Kim Andersen, and Martin Michael Frederiksen erschienen. Dabei handelt es ich um ein zeitgemäßes Buch in dem es darum geht digitale Produkte zu entwickeln, die Entscheidungen der Nutzer*innen respektieren und mit Blick auf ethische Prinzipien konzipiert, gestaltet und entwickelt wurden.

In der Einleitung definieren die Autor*innen ethisches Design folgendermaßen:

»Businesses, products, and services that grow from a principle of fairness and fundamental respect towards everyone involved.«

Bereits hier wird deutlich, dass ethisches Design sich nicht auf Produkte beschränkt, sondern nur dort entstehen kann, wo der Umgang miteinander von Fairness und Respekt geprägt ist. Ethisches Design kann somit als Haltung verstanden werden, die sich sowohl in der Unternehmenskultur, in den Produkten und den Dienstleistungen zeigt. Unternehmen, Produkte und Dienstleistungen, die aus einer Haltung der Fairness und des fundamentalen Respekts gegenüber allen Beteiligten erwachsen, verkörpern dementsprechend ethisches Design.

Im ersten Kapitel sprechen die Autor*innen über die Notwendigkeit von ethischem Design. Anhand von einigen Beispielen bekannter Unternehmen und deren digitaler Produkte erläutern sie welche Bedeutung ethisches Design für die Nutzer*innen hat.

»Unethical design is problematic: It reduces freedom, compromises privacy and safety, and can cause addiction. A wide range of companies seem to think it’s acceptable to use manipulative methods to steer users into certain behavioural patterns.«

Auch wenn so genannte ›dark patterns‹ gerne als alternativlos dargestellt werden, um das gewünschte Ergebnis zu erzielen, machen die Autor*innen deutlich, dass ein Geschäftsmodell nicht ethisch ist, wenn es dem Paradigma eines ›Du willst es doch auch‹ folgt, und Nutzer*innen hinters Licht führt und sie* zu Handlung überlistet zu denen sie* sich nicht entschieden hat.

Freiheit, Privatsphäre und Sicherheit sollten niemals geopfert werden, um Erfolg zu haben. Vertrauen der Nutzer*innen dem Unternehmen, Produkt und der Dienstleistung gegenüber ist wichtig und sollte sorgfältig gepflegt werden. Die DSGVO stellt nach Ansicht der Autor*innen ein regulierendes Element dar, das auch als extrinsische Motivation verstanden werden kann, jede Person die mit dem Unternehmen, Produkt oder der Dienstleistung in Berührung kommt fair und respektvoll zu behandeln.

Design umschreiben

«Sometimes the writing isn’t done because we’re trying to solve everything with “pure design.” Supposed UX thought leaders throw around baloney like “Good design doesn’t need explanation” and “If you have to use words, you’ve failed.” Come on. I hope my pilot knows what all those switches in the cockpit do, but I also hope they’re labeled, just in case.»

Scott Kubie, Writing For Designers.

Das Ergebnis des Designprozesses sollte so selbsterklärend wie möglich sein, keine Frage. Da es sich jedoch immer um eine Abwägung unterschiedlicher Ansätze und Entscheidungen handelt, bleibt die Notwendigkeit das Design zu umschreiben. Also mit Worten zu erklären wie es zu diesem Ergebnis kam und welche konzeptionellen Überlegungen eingeflossen sind.

Die Benutzung des Produkts sollte ebenfalls so intuitiv wie möglich funktionieren, dennoch ist es – wie von Scott Kubie in obigem Zitat angedeutet – hilfreich eine zweite Ebene zu haben, die erklärend zur Seite steht und dadurch die Benutzung erleichtert.

Diese beiden Gedanken können, wie die zitierte Haltung gutes Design komme ohne Worte aus, als Allgemeinplätze verstanden werden, dennoch möchte ich sie für mich festhalten und besser darin werden meine Arbeit kurz und prägnant zu umschreiben und die angesprochene zweite Ebene direkt mitzubedenken.

Information verändert sich

«The creative organization of information creates new information,» wrote architect Richard Saul Wurman. This axiom is at the core of our work. When we organize information—that is, when we structure it, order it, display it, label it, connect it—we alter it. We change how information will be perceived, for better or for worse.

Lisa Maria Martin, Everyday Information Architecture.

Durch die Organisation von Information entsteht neue Information, schrieb Richard Saul Wurman, auf den der Begriff Information Architect zurückgeführt wird. Da sich Information verändert, je nachdem in welchem Kontext sie steht, wie sie angeordnet ist und wie sie dargestellt wird, ist es wichtig mit Information sorgfältig umzugehen.

Merkzettel für die Kommandozeile

Die Kommandozeile ist eine treue Begleiterin meiner Arbeit. Für einige Kommandos habe ich mir Aliase angelegt, andere benutze ich jeden Tag und kann sie mir daher gut merken, doch es gibt auch andere, die ich nur ab und an verwende und bei denen ihr mir nie so ganz sicher bin. Zwei davon halte ich heute hier fest, um nächstes Mal direkt zu wissen wo ich nachschauen kann.

Benutzername und Passwort erzeugen

Um die Entwicklung eines Projekts mit Kund*innen oder Koleg*innen abzustimmen, verwende ich ab und zu einen durch ein Passwort geschützten Bereich auf meinem Server. Benutzernamen und Passwort verwalte ich in einer htaccess-Datei, die das Passwort nicht als Klartext, sondern als Hash, enthält. Eine solche Benutzernamen-Passwort-Kombination lässt sich über das Kommando htpasswd ganz einfach in der Shell erzeugen. Die Ausführung des Kommandos kann über Parameter angepasst werden. Das folgende Kommando erzeugt eine Benutzername-Passwort-Kombination, die direkt in der Shell ausgegeben wird:

htpasswd -nmb BenutzerName G4nz5ichere5Pa$$w0rt

Die verwendeten Parameter bedeuten folgendes:

-n
Ergebnis nicht in eine Datei ablegen, sondern in der Shell ausgeben.
-m
Hash des Passworts mittels MD5 erzeugen
-b
Passwort der Eingabe nutzen, und nicht extra danach fragen.

Wird das letzte -b weggelassen fragt die Shell nach dem Passwort, wodurch dieses nicht im Klartext auf dem Bildschirm erscheint. Dieses Vorgehen ist auch deswegen sicherer, da sich das Passwort nicht im Verlauf der Shell befindet, und daher nicht ausgelesen werden kann. Eine etwas sichere Methode zur Erstellung einer Benutzername-Passwort-Kombination sieht demensprechend so aus:

htpasswd -nm BenutzerName

Wie bereits angedeutet fragt die Shell nach der Bestätigung des Kommandos das Passwort ab – dieses wird auch bei der Eingabe nicht angezeigt – nach wiederholter Eingabe des Passworts erscheint die erzeugte Kombination in der Shell und kann in die htpasswd-Datei kopiert werden.

Eine kurze Dokumentation zur Verwendung des Kommandos kann über den Parameter --h in der Shell ausgegeben werden:

htpasswd --h

Die erzeugte Benutzername-Passwort-Kombination lässt sich auch direkt in eine Datei schreiben. Das ist sowohl lokal als auch direkt auf dem Server mittels SSH-Tunnel möglich. Bisher kopiere ich die neu angelegten Kombinationen von Hand in die Datei, vielleicht ändere ich das aber demnächst.

Mit externen Repositories arbeiten

Alle meine Projekte versioniere ich per Git, und seit ich Git For Humans von David Demaree gelesen habe, mache ich das meist in der Shell. Kürzlich wollte ich die URL eines externen Repositories verändern, weshalb ich kurz etwas dazu schreiben möchte.

Zunächst ist es wichtig zu sehen welche externen Repositories mit meinem Projekt verbunden sind. Das erledigt:

git remote -v

Dieses Kommando zeigt eine Liste der entfernten Repositories an, die aus den Namen, den URLs und den verfügbaren Kommandos besteht. Fällt mir nun auf, dass ein externes Repository fehlt, kann ich es über folgendes Kommando hinzufügen:

git remote add origin ssh://user@server.net/home/user/repos/mein-repo.git

Falls schon ein anderes externes Repository mit diesem Namen angelegt ist, bekomme ich einen Fehler, worauf entweder das Bestehende umbenannt, oder das neue externe Repository anders benannt werden kann:

git remote rename origin destination

origin wäre hier der bisherige Name, destination entsprechend der Neue.

Falls sich an der URL des externen Repository etwas verändert, sei es der Benutzername, der Pfad oder der Name des Repos, kann die URL folgendermaßen angepasst werden:

git remote set-url origin user@server.net/home/user/repos/mein-repo.git

Ausführliche Erläuterungen rund um die Arbeit mit entfernten Repositories finden sich in der Git-Dokumentation.

Micro Blogging im eigenen Blog

In seinem aktuellen Artikel ›Untitled‹ schreibt Matthias Pfefferle darüber wie die Nutzung des eigenen Blogs für mehr als klassische Blogartikel™ sowohl die Blogs als auch die Feedreader verändert.

Im Sinne von micro Blogging, das der Nutzung von Twitter entspricht, werden immer öfter kurze Posts in Blogs veröffentlicht, die ein Bild, ein Zitat oder eben ein paar Sätze beinhalten. Diese kurzen Updates erscheinen ohne Titel, da der Inhalt für sich steht.

Alle Formen des Bloggens auf eine Plattform zu vereinen, und die Inhalte von dort aus in die unterschiedlichen Netzwerke zu verteilen, kann ich sehr gut verstehen. Die Möglichkeit nach Gedanken, Links und Zitaten in meinem Blog zu suchen ist mir sehr viel Wert. Für Fotos und Zitate habe ich das Vorgehen in meinem Blog getestet, es aktuell aber pausiert, da diese Art der Nutzung des eigenen Blogs meiner Ansicht nach einiger Einstellungen bedarf:

  • Die unterschiedlichen Veröffentlichungsarten würde ich durch Kategorien oder Post-Typen ordnen.
  • Längere Artikel und kurze Veröffentlichungen würde ich strukturell und visuell voneinander abheben.
  • Die kurzen Veröffentlichungen würde ich aus dem Feed nehmen, oder zumindest explizit einen Artikel-Feed anbieten.

Solche Grundentscheidungen helfen meiner Ansicht nach dabei das eigene Blog weiterhin attraktiv zu halten. Die Nutzer*innen bekommen dadurch die Möglichkeit sich gezielt darauf zu bewegen und finden sich in den unterschiedlichen Sparten gut zurecht.

Homebrew Website Club

Gestern fand der zweite Homebrew Website Club in Karlsruhe statt. Der Homebrew Website Club ist ein regelmäßiges Treffen von Personen, die leidenschaftlich dabei oder interessiert sind, ihre eigene Website zu konzipieren, designen, entwickeln und zu verbessern.

In diesem Sinne tauschten wir uns über die eigenen Webseiten, Arbeitsweisen und aktuelle Projekte aus. Wir sahen uns das ActivityPub-Plugin von Matthias an. Das Plugin erweitert WordPress durch das ActivityPub-Protokoll, wodurch das Blog beispielsweise mit Mastodon kommunizieren kann – neue Artikel werden dort publiziert und Reaktionen fließen zurück ins Blog.

Die Teilnehmer des Homebrew Website Club am 20.02.2019 in Karlsruhe

Falls Du vorhast bei einem der nächsten Treffen dabei zu sein, kannst Du Dir schon Mal die kommenden Termine eintragen:

  • 20.03.
  • 17.04.
  • 15.05.
  • 26.06.
  • 10.07.
  • 07.08.
  • 18.09.
  • 15.10.
  • 13.11.
  • 11.12.

Der Karlsruher Homebrew Website Club trifft sich jeweils um 18:30 Uhr im NUN Kulturraum, Gottesauer Straße 35, 76131 Karlsruhe.

Alle Termine können auch über diesen Kalender abonniert (ICS-Datei) werden.