Jupiter Rowland@<a href="https://digitalcourage.social/@chbmeyer" rel="nofollow noopener noreferrer" target="_blank">Ch M[ae][iy]e?r 🖤🤍</a> Hier mal zehn Gründe, warum ich auf Hubzilla bleiben und nicht auf eins der *keys wechseln will:<br><br><strong>Erstens: nomadische Identität.</strong><br><br>Meine Identität ist weder an ein Konto noch an eine Serverinstanz gebunden, sondern in einem Kanal "containerisiert". Ich habe auf einem zweiten Hub einen praktisch identischen Klon dieses Kanals, der mit dem Original in Echtzeit bidirektional synchronisiert wird. Sollte einer der beiden Hubs mal ausfallen, verliere ich nichts und kann weitermachen wie bisher. Nachteil ist nur, daß Projekte, die keine nomadische Identität kennen, nicht erkennen können, daß da auf den beiden Hubs ein und derselbe Kanal ist. Mastodon, Misskey usw. halten meinen Klon für ein völlig separates Konto.<br><br>Unter den aktuell aktiven Fediverse-Serveranwendungen bieten das nur zwei: das stabile, konstant weiterentwickelte Hubzilla und das gerade nicht so stabile, aktuell kaum bearbeitete (streams), das einen etwas anderen Featuresatz hat (da habe ich auch zwei Kanäle).<br><br><strong>Zweitens: kein Zeichenlimit.</strong><br><br>Mir reichen ein paar tausend Zeichen nicht aus. Ich poste immer mal wieder zigtausende Zeichen auf einmal. Ich möchte die Möglichkeit haben, bis 100.000 Zeichen zu posten, denn darüber hinaus lehnt Mastodon Posts ab. Und mein Rekord liegt bei fast 77.000 Zeichen aufgrund drei sehr langer Bildbeschreibungen. Dieser Kommentar ist auch über 10.000 Zeichen lang.<br><br><strong>Drittens: Hubzilla kennt Konversationen sehr gut.</strong><br><br>Mein Stream ist nicht in Einzelposts organisiert, sondern in ganzen Threads. Jeder Thread besteht immer nur aus genau einem Post, dem Startpost, und ansonsten Kommentaren, die Hubzilla nicht als Posts ansieht. Das ist genau wie auf Facebook oder Tumblr oder Reddit und wie in jedem Blog.<br><br>Wenn ich einen Post im Stream habe, dann empfange ich <em>alle Kommentare</em>. Und die werden mir als ungelesen angezeigt. Im Grunde kann ich Antworten gar nicht verpassen.<br><br>Außerdem kann ich einem Thread folgen, bzw. wenn ich mit einem Post oder einem Kommentar in einem Thread interagiere (drauf antworten, Daumen hoch, Daumen runter etc.), dann folge ich dem Thread automatisch. Und dann werde ich sogar ausdrücklich benachrichtigt, wenn in dem Thread etwas passiert ist.<br><br><strong>Viertens: der Zähler ungelesener Mitteilungen.</strong><br><br>Wenn etwas in meinem Stream passiert, dann wird mir das zunächst einmal als ungelesen markiert, auch wenn z. B. jemand einen Post oder einen Kommentar geboostet/reposted/renoted/wiederholt hat. Und dafür hat Hubzilla einen Zähler. Wenn ich den anklicke, bekomme ich alles aufgelistet, was ich mir noch nicht angesehen habe. Das kann ich dann jeweils anklicken und dann threadweise ansehen. Es wird dann automatisch als gelesen markiert.<br><br>Damit verpasse ich nichts.<br><br><strong>Fünftens: das Berechtigungssystem.</strong><br><br>Hubzilla hat ein sehr komplexes, fortschrittliches, feingegliedertes System von Berechtigungen. So etwas bietet sonst auch nur (streams). Ich glaube, jemandem, der von Mastodon kommt in Erwartung von Mastodon ohne Zeichenlimit mit mehr Textformatierung, ist das viel zu kompliziert. Ich aber habe das System ziemlich durchschaut und nutze es zu meinem Vorteil.<br><br>Standardmäßig z. B. sind meine Verbindungen (auf Hubzilla gibt's grundsätzlich nur beidseitige Verbindungen wie Facebook-"Freunde", also nicht Folgende und Gefolgte getrennt wie auf Twitter und Mastodon) nicht berechtigt, mir ihre Posts zu schicken. Das muß ich ihnen erst ausdrücklich erlauben. Und das tue ich auch nur dann, wenn ich das will.<br><br>Ich habe über 550 Verbindungen, von denen die allermeisten nichts posten, was mich im Rahmen dieses Kanals (der Kanal ist thematisch limitiert, das ist kein persönlicher Allzweckkanal) und auch generell nicht die Bohne interessiert. Bevor ich jetzt also 98% nur Müll im Stream habe, durch den ich waten darf, um an den interessanten Content zu kommen, spare ich mir den Aufwand und gebe denen, die nichts Interessantes zu sagen haben, gar nicht erst die Berechtigung, mir ihre Posts zu schicken.<br><br>Gleichzeitig haben sie aber sehr wohl die Berechtigung, meine Posts zu kommentieren oder mir DMs zu schicken; das ist davon unabhängig.<br><br>Insgesamt kennt Hubzilla 17 Berechtigungseinstellungen mit sieben oder acht Berechtigungslevels. Dazu kann ich auch noch bei Posts (und damit ganzen Threads), Bildern, anderen Dateien usw. usf. einstellen, wer sie sehen darf.<br><br><strong>Sechstens: zwar nicht perfekte, aber sehr umfassende Filter.</strong><br><br>Zunächst einmal erlaubt Hubzilla es mir, individuell pro Kontakt zu filtern. Das heißt, ich kann nicht nur kanalweit filtern, sondern auch einzelnen Kontakten jeweils individuelle Filterlisten geben, und zwar jeweils eine Whitelist und eine Blacklist pro Kontakt.<br><br>Dann kann ich beim Filtern reguläre Ausdrücke verwenden. Wenn ich z. B. ein Schlüsselwort auch als Wortbestandteil filtern will, ein anderes aber nur als ganzes Wort, kann ich das mit einer und derselben Filterliste erschlagen.<br><br>Und letztlich hat Hubzilla auch eine Filtersyntax, wobei die sich leider in Whitelists mit reinen Schlüsselwörtern noch nicht verträgt, sonst wären Hubzillas Filter noch mächtiger. Mit der Filtersyntax kann ich beispielsweise Boosts rausfiltern. Wenn also jemand manchmal interessante Sachen postet, dazwischen aber dutzendweise uninteressanten Müll boostet, kann ich mir die Boosts vom Hals schaffen, aber die Posts kommen weiterhin durch. Ich hoffe immer noch auf Verbesserungen, die es mir z. B. möglich machen würden, eine Whitelist nur auf Posts anzuwenden, nicht aber auf Kommentare und DMs.<br><br><strong>Siebtens: das volle Programm der Textformatierung, das einem eine Blog-Engine bietet.</strong> Und zwar nicht einfach nur WYSIWYG, sondern ich kann direkt mit rohem Code arbeiten.<br><br>Die ganzen Twitter-Klone, und dazu zähle ich auch Misskey und alle Forkeys, erlauben mir z. B. nicht, Bilder in den Post-Text einzubetten. Also Text, dann ein Bild, dann mehr Text, dann noch ein Bild, dann noch mehr Text. Auf Hubzilla geht das problemlos, weil Hubzilla eben nicht versucht, Twitter nachzuäffen. Mastodon kann das nicht mal darstellen und die ganzen *keys auch nicht.<br><br>Ich weiß auch nicht, ob die *keys eine Begrenzung haben, wieviele Bilder man an einen Post anhängen kann. Hubzilla hat beim Einbetten von Bildern keine Begrenzung.<br><br>Hubzilla kann ansonsten mit BBcode das hier alles:<br><ul><li>Fettdruck</li><li>Kursivschrift</li><li>Unterstreichung</li><li>Durchstreichung</li><li>Textgröße</li><li>Schriftart, und zwar auch mal mehrere, und die erste davon, die gefunden wird, wird angezeigt</li><li>Schriftfarbe</li><li>Hintergrundfarbe</li><li>Überschriften in sechs Stufen</li><li>zentrierten Text</li><li>Inline-Code mit und ohne Syntaxhervorhebung</li><li>Codeblöcke mit und ohne Syntaxhervorhebung</li><li>Listen, und zwar mit Stichpunkten, Zahlen, römischen Zahlen, römischen Zahlen in Kleinbuchstaben, Großbuchstaben oder Kleinbuchstaben</li><li>horizontale Linie zur Unterteilung</li><li>Tabellen</li><li>Links, auch ohne sichtbare URL</li><li>Spoiler</li><li>Zusammenfassungen (= CWs auf Mastodon) (theoretisch; in der Praxis werden sie zumindest in Kommentaren über ActivityPub nicht korrekt exportiert)</li><li>an beliebiger Stelle im Post eingebettete Bilder, auch inline, optional wahlweise auf eine bestimmte Größe skaliert oder mit Alt-Text; Bilder können auch Links sein</li><li>an beliebiger Stelle im Post eingebettetes Audio</li><li>an beliebiger Stelle im Post eingebettete Videos</li></ul><br>In Verbindung mit OpenWebAuth ("magisches" Single Sign-On, das auch von Mike Macgirvin erfunden wurde) geht außerdem:<br><ul><li>Instanzadresse des Betrachters</li><li>komplette Kanaladresse des Betrachters</li><li>Kurzname des Betrachters (z. B. chbmeyer)</li><li>Langname des Betrachters (z. B. Ch M[ae][iy]e?r 🖤🤍)</li><li>ID des Betrachters</li><li>Profilbild (Avatar) des Betrachters</li><li>Anzeige von Text in Abhängigkeit davon, ob der Login des Betrachters per OpenWebAuth erkannt wird (Login erkannt, Login nicht erkannt)</li><li>Anzeige von Text in Abhängigkeit davon, welche Sprache der Betrachter hat (z. B. Deutsch, Englisch, nicht Englisch, kann auch verschachtelt werden zu nicht Deutsch und nicht Englisch)</li></ul><br>Wenn im Kanal bestimmte Erweiterungen aktiviert sind (Hubzilla ist sehr modular und jeder Kanal für sich auch), geht außerdem:<br><ul><li>Darstellung eines beliebigen Text als eingebetteter QR-Code</li><li>Einbettung einer OpenStreetMap-Karte, die auf die erkannte Browser-Position zentriert ist</li><li>Einbettung einer OpenStreetMap-Karte, die auf bestimmte Koordinaten zentriert ist</li><li>Einbettung einer OpenStreetMap-Karte, die auf einen Ort mit einem bestimmten Namen zentriert ist</li></ul><br>Übrigens hat Hubzilla sogar eine Vorschau für Posts, DMs und Kommentare. Man kann sie sich anzeigen lassen, bevor man sie versendet, um noch einmal nachzubessern.<br><br><strong>Achtens: Kategorien für Posts.</strong><br><br>Ich kann meine eigenen Posts nicht nur mit Hashtags organisieren, sondern auch in Kategorien, von denen ich jedem Post eine oder mehrere zuweisen kann. Die dienen nur der internen Organisation und werden nicht nach außen föderiert. So finde ich meine eigenen Posts schneller und leichter wieder.<br><br><strong>Neuntens: Speichern von Posts, Kommentaren etc. in Ordnern.</strong><br><br>Sowohl eigene Posts, Kommentare usw. als auch die anderer Nutzer kann ich nicht einfach nur mit Lesezeichen markieren, sondern auf diesem Wege in Ordnern einsortieren. Das sind quasi Lesezeichenkategorien.<br><br><strong>Zehntens: Zusatzfeatures, die so fast nirgendwo oder tatsächlich nirgendwo verfügbar sind.</strong><br><br>Ich nutze auf Hubzilla einiges an Zusatzfeatures, die teilweise optional sind, die mir weder Misskey noch einer der Forkeys so bieten kann:<br><ul><li>eingebauter Filespace pro Kanal mit Organisation in Verzeichnissen, mit Zugriffsberechtigungssteuerung pro Datei und pro Verzeichnis und mit Erkennung von Bilddateien als solche über einen speziellen Uploader</li><li>WebDAV-Zugriff auf den Filespace</li><li>Eventkalender, in den ich mit einem Klick auch Events anderer Nutzer eintragen kann</li><li>CalDAV-Kalenderserver, der die Oberfläche des Eventkalenders mitbenutzt (es gibt auch einen optionalen CardDAV-Server, den ich hier aber nicht nutze)</li><li>(optional) <a href="https://hub.netzgemeinde.eu/articles/jupiter_rowland" rel="nofollow noopener noreferrer" target="_blank">Artikel</a>, die so aufgebaut sind wie Posts, aber nicht an meine Kontakte rausgehen</li><li>(optional) <a href="https://hub.netzgemeinde.eu/wiki/jupiter_rowland" rel="nofollow noopener noreferrer" target="_blank">Wikis</a>, und zwar mehrere Wikis pro Kanal mit mehreren Seiten pro Wiki</li></ul><br>Selbst wenn ich nach Sharkey oder CherryPick wechseln würde, müßte ich sehr, sehr viel dafür aufgeben.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener noreferrer" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener noreferrer" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener noreferrer" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener noreferrer" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LangerPost" rel="nofollow noopener noreferrer" target="_blank">LangerPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLangerPost" rel="nofollow noopener noreferrer" target="_blank">CWLangerPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener noreferrer" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener noreferrer" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener noreferrer" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener noreferrer" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=NomadischeIdentit%C3%A4t" rel="nofollow noopener noreferrer" target="_blank">NomadischeIdentität</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Zeichenlimit" rel="nofollow noopener noreferrer" target="_blank">Zeichenlimit</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Zeichenlimits" rel="nofollow noopener noreferrer" target="_blank">Zeichenlimits</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Konversationen" rel="nofollow noopener noreferrer" target="_blank">Konversationen</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Berechtigungen" rel="nofollow noopener noreferrer" target="_blank">Berechtigungen</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Filter" rel="nofollow noopener noreferrer" target="_blank">Filter</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Textformatierung" rel="nofollow noopener noreferrer" target="_blank">Textformatierung</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener noreferrer" target="_blank">Hubzilla</a>