lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

54
active users

#CWLongPost

0 posts0 participants0 posts today
Jupiter Rowland@<a href="https://indieweb.social/users/tchambers" rel="nofollow noopener" target="_blank">Tim Chambers</a> There isn't much that we can do.<br><br>These standards, just like the various laws that triggered their creation, suppose that all social networks and social media are<br><ul><li>commercial and corporate with loads of money behind them</li><li>centralised silos</li><li>staffed with thousands upon thousands upon thousands of employees in office blocks all around the world</li></ul><br>For comparison, Hubzilla probably shows what's the best the Fediverse can do. It has an optional field for new registrations to confirm that they're over a certain age.<br><br>However, almost all Hubzilla hubs have a "staff" of exactly one. A hobbyist. Unlike Mastodon servers, Hubzilla hubs don't even have moderators because Hubzilla is all about self-empowerment and self-moderation.<br><br>Is that one admin honestly expected to verify the authenticity of the IDs and the birth certificates of newly-registrated users with the authorities in almost 200 different nations?<br><br>There used to be a time when such regulations only applied to services from a certain size upward or from a certain revenue upward. But now something that can only be done by big corporations becomes mandatory for tiny hobbyist projects.<br><br>Besides, how are these measures supposed to keep 13-year-olds from spinning up their own single-user Fediverse servers on machines at home? If this is supposed to be absolutely, 100% guaranteed to be absolutely, 100% water-tight, the two Hubzilla devs would have to check and verify the identity of everyone who wants set up their own hub before they allow the git-based installer to clone the repository from Framagit onto their servers.<br><br>CC: @<a href="https://mastodon.social/@ieeespectrum" rel="nofollow noopener" target="_blank">IEEE Spectrum</a><br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AgeVerification" rel="nofollow noopener" target="_blank">AgeVerification</a>
Jupiter Rowland@<a href="https://mstdn.social/@kevinrns" rel="nofollow noopener" target="_blank">Kevin Russell</a> <blockquote>I frequently put both a screenshot and url in alt text, by FAR the most information-rich and honest way to provide some potentially missing information.</blockquote><br><strong><em>Never</em> provide <em>any</em> information exclusively in alt-text!</strong><br><br>Not everyone can access alt-text. Accessing alt-text requires either at least one properly working hand (which not everyone has) or a screen reader (which sighted people don't have).<br><br>Those who don't have either will not be able to get any information that's only available in the alt-text and nowhere else.<br><br>See also the following pages in my early-work-in-progress wiki about image descriptions and alt-text in the Fediverse:<br><ul><li><a href="https://hub.netzgemeinde.eu/wiki/jupiter_rowland/How(20)to(20)describe(20)images(20)in(20)the(20)Fediverse/Can(20)everyone(20)access(20)alt-text(3f)" rel="nofollow noopener" target="_blank">Can everyone access alt-text?</a></li><li><a href="https://hub.netzgemeinde.eu/wiki/jupiter_rowland/How(20)to(20)describe(20)images(20)in(20)the(20)Fediverse/Don(27)t(20)explain(20)things(20)or(20)give(20)other(20)information(20)only(20)in(20)alt-text(21)" rel="nofollow noopener" target="_blank">Don't explain things or give other information only in alt-text!</a></li><li><a href="https://hub.netzgemeinde.eu/wiki/jupiter_rowland/How(20)to(20)describe(20)images(20)in(20)the(20)Fediverse/Don(27)t(20)use(20)alt-text(20)to(20)write(20)around(20)your(20)character(20)limit(21)" rel="nofollow noopener" target="_blank">Don't use alt-text to write around your character limit!</a></li></ul><br>Also (I don't have a page on that yet), don't add URLs to alt-text. Alt-text is always plain text. No webpage, no Fediverse software will<br>turn an URL in alt-text into a functional, clickable link, no browser or Fediverse app will, and no screen reader will.<br><br>All this belongs into the post itself.<br><br>CC: @<a href="https://urbanists.social/@MissGayle" rel="nofollow noopener" target="_blank">Miss Gayle</a> @<a href="https://beige.party/@LoganFive" rel="nofollow noopener" target="_blank">Logan 5 and 999 others</a><br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a>
Jupiter Rowland@<a href="https://friendica.xyz/profile/montag" rel="nofollow noopener" target="_blank">Montag</a> Wichtig übrigens: "Quote" und "Quote-Post" sind zwei völlig verschiedene Dinge. Die darf man nicht miteinander verwechseln.<br><br> <br><br>Quotes sind Zitate. Also das hier:<br><br><blockquote>das heißt, auf Mastodon sieht man einen Quote nur wenn der zitierte expliziet zustimmt, während der Quote auf allen anderen Fediverse Plattformen ganz normal angezeigt wird?</blockquote><br><br>Um die geht es hier aber nicht. Mastodon-Nutzer kennen nämlich keine Quotes, keine Zitate.<br><br>Mastodon-Nutzer kennen ja im allgemeinen nur Twitter und Mastodon. Twitter hat keine Zitate. Mastodon auch nicht; es kann sie zwar anzeigen und seit Mastodon 4.0 (Oktober 2022) auch sauber, aber es kann sie nicht erzeugen. Und deswegen kennen Mastodon-Nutzer das gar nicht.<br><br> <br><br>Quote-Posts, um die es hier geht, sind dagegen komplette Posts, die in andere Posts reingebaut sind. Das ist das, was auf Friendica "Quoted Share" heißt. Also das hier:<br><br> <a href="https://friendica.xyz/profile/montag" rel="nofollow noopener" target="_blank"></a><span><a href="https://friendica.xyz/profile/montag" rel="nofollow noopener" target="_blank">Montag</a> schrieb den folgenden <a href="https://friendica.xyz/display/adf174d5-7668-7c09-5d73-641415501923" rel="nofollow noopener" target="_blank">Beitrag</a> <span class="">Sat, 19 Jul 2025 23:08:45 +0200</span></span> @<a href="https://loma.ml/profile/feb" rel="nofollow noopener" target="_blank">Matthias</a> das heißt, auf Mastodon sieht man einen Quote nur wenn der zitierte expliziet zustimmt, während der Quote auf allen anderen Fediverse Plattformen ganz normal angezeigt wird? Das ist grober Unfug und ergibt überhaupt keinen Sinn, was haben sich die Mastodon Entwickler dabei gedacht? <br><br>Auf Twitter heißt das "Quote-Tweet". Oder im Deutschen auch "Drüko" ("Drüber-Kommentar"; erst der Kommentar zum Tweet, dann der eingebettete Tweet) oder "Druko" ("Drunter-Kommentar"; erst der eingebettete Tweet, dann der Kommentar zum Tweet). Auf Mastodon wird auch "Quote-Toot" oder "Quote-Tröt" gesagt.<br><br>Auf Friendica und Nachfolgern war das früher die einzige Möglichkeit überhaupt, einen Post weiterzuleiten. So etwas wie Retweets (Mastodon: "Boosts", Friendica: "Shares", Hubzilla/(streams)/Forte: "Repeats") wurde erst später nach und nach eingeführt.<br><br>Auf Twitter ist dagegen in der Praxis das einzige Einsatzgebiet dieses Feature, über anderer Leute Tweets herzuziehen und diese anderen Leute auf dem Wege niederzumachen. Für was anderes werden Quote-Tweets da buchstäblich nicht benutzt.<br><br>Und so ist es für Mastodon-Nutzer komplett unvorstellbar, daß irgendjemand irgendwo dieses Feature für was anderes nutzen könnte.<br><br>Viele sind ja von Twitter nach Mastodon auch deswegen abgehauen, weil Mastodon eben keine Quote-Posts hat. Weil sie glaubten, da vor Quote-Posts sicher zu sein.<br><br>Als Mastodon dann ankündigte, Quote-Posts einzuführen, haben ganz besonders Angehörige unterdrückter Minderheiten (Farbige, Schwule, Lesben, Transpersonen usw.) lautstark dagegen protestiert.<br><br>Noch einmal: Niemand von denen wußte und weiß bis heute, daß es im Fediverse schon lange Quote-Posts gab und jeder Mastodon-Tröt jederzeit ungehindert außerhalb Mastodon und dann nach Mastodon rein quote-post-bar ist.<br><br>Genau deshalb kommt Mastodon mit diesem "Feigenblatt" davon: Dieser Schalter wiegt die Mastodon in Sicherheit. In einer Sicherheit, die sie nie hatten, was aber annähernd niemand auf Mastodon weiß.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LangerPost" rel="nofollow noopener" target="_blank">LangerPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLangerPost" rel="nofollow noopener" target="_blank">CWLangerPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=NichtNurMastodon" rel="nofollow noopener" target="_blank">NichtNurMastodon</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePost" rel="nofollow noopener" target="_blank">QuotePost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePosts" rel="nofollow noopener" target="_blank">QuotePosts</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTweet" rel="nofollow noopener" target="_blank">QuoteTweet</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTweets" rel="nofollow noopener" target="_blank">QuoteTweets</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteToot" rel="nofollow noopener" target="_blank">QuoteToot</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteToots" rel="nofollow noopener" target="_blank">QuoteToots</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTr%C3%B6t" rel="nofollow noopener" target="_blank">QuoteTröt</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTr%C3%B6ts" rel="nofollow noopener" target="_blank">QuoteTröts</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteBoost" rel="nofollow noopener" target="_blank">QuoteBoost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteBoosts" rel="nofollow noopener" target="_blank">QuoteBoosts</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotedShares" rel="nofollow noopener" target="_blank">QuotedShares</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePostDebatte" rel="nofollow noopener" target="_blank">QuotePostDebatte</a>
Jupiter Rowland@<a href="https://wandering.shop/@afeinman" rel="nofollow noopener" target="_blank">Alex Feinman</a> @<a href="https://blob.love/@nora" rel="nofollow noopener" target="_blank">Nora Reed</a> <strong>Alt-text must <em>never</em> include explanations! Explanations must <em>always</em> go into the post itself!</strong><br><br>Not everyone can access alt-text. Sighted people need a mouse/trackball/touchpad/trackpoint or a touch screen to access alt-text. And in order to operate that, they need at least one working hand. But not everyone has working hands. Just like not everyone can see, which is why you describe your images in the first place, right?<br><br><strong>For those who can't access alt-text, any information only available in alt-text and neither in the post text nor in the image itself is inaccessible and lost.</strong> They can't open it, they can't read it.<br><br>Here are three relevant pages in my (very early WIP) wiki about image descriptions and alt-text:<br><ul><li><a href="https://hub.netzgemeinde.eu/wiki/jupiter_rowland/How(20)to(20)describe(20)images(20)in(20)the(20)Fediverse/Can(20)everyone(20)access(20)alt-text(3f)" rel="nofollow noopener" target="_blank">Can everyone access alt-text?</a></li><li><a href="https://hub.netzgemeinde.eu/wiki/jupiter_rowland/How(20)to(20)describe(20)images(20)in(20)the(20)Fediverse/Don(27)t(20)explain(20)things(20)or(20)give(20)other(20)information(20)only(20)in(20)alt-text(21)" rel="nofollow noopener" target="_blank">Don't explain things or give other information only in alt-text!</a></li><li><a href="https://hub.netzgemeinde.eu/wiki/jupiter_rowland/How(20)to(20)describe(20)images(20)in(20)the(20)Fediverse/Don(27)t(20)use(20)alt-text(20)to(20)write(20)around(20)your(20)character(20)limit(21)" rel="nofollow noopener" target="_blank">Don't use alt-text to write around your character limit!</a></li></ul><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Disability" rel="nofollow noopener" target="_blank">Disability</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=A11y" rel="nofollow noopener" target="_blank">A11y</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Accessibility" rel="nofollow noopener" target="_blank">Accessibility</a>
Jupiter Rowland@<a href="https://indieweb.social/users/tchambers" rel="nofollow noopener" target="_blank">Tim Chambers</a> And again, Friendica, Hubzilla, (streams) and Forte are way ahead. They were all made modular right from the start, and they can all be expanded with third-party add-ons and third-party themes (provided someone makes them) by adding third-party git repositories to your server. It helps that they themselves are all installed via git in the first place.<br><br>For example, it's possible to add entirely new protocols as add-ons. On Hubzilla, protocols that aren't Zot (ActivityPub, diaspora*, RSS/Atom etc.) are add-ons and off by default for new channels. Hubzilla's counterpart to Mastodon's lists, only vastly more powerful, is called "privacy groups" and an official add-on that's off by default again. CalDAV calendar server? Wikis? Webpages? All add-ons. (streams) and Forte have a somewhat different set of add-ons and a different set of add-ons that are on or off by default for new channels.<br><br>You can bolt all kinds of stuff to these four as third-party add-ons. Want a dating platform in the Fediverse? Just write an add-on for one or several of these four that ties into their (main, public) profiles with their dozens of fields, and you've got one.<br><br>Better yet: You can upgrade the whole server, the core, the official add-ons, the official themes, third-party add-ons, third-party themes, in one fell swoop. Not first the official stuff and then each third-party repo one by one, but all at once. At least on Hubzilla, (streams) and Forte, <code>util/udall</code> is the little helper that does it all for you.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Friendica" rel="nofollow noopener" target="_blank">Friendica</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forte" rel="nofollow noopener" target="_blank">Forte</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=git" rel="nofollow noopener" target="_blank">git</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ThirdParty" rel="nofollow noopener" target="_blank">ThirdParty</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AddOns" rel="nofollow noopener" target="_blank">AddOns</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=PlugIns" rel="nofollow noopener" target="_blank">PlugIns</a>
Jupiter Rowland@<a href="https://beige.party/@LoganFive" rel="nofollow noopener" target="_blank">Logan 5 and 999 others</a> First of all: <strong>You must <em>never</em> put line breaks into alt-text. <em>Ever</em>.</strong> (<a href="https://www.tpgi.com/short-note-on-coding-alt-text/" rel="nofollow noopener" target="_blank">https://www.tpgi.com/short-note-on-coding-alt-text/</a>, <a href="https://joinfediverse.wiki/Draft:Captions#Line_breaks" rel="nofollow noopener" target="_blank">https://joinfediverse.wiki/Draft:Captions#Line_breaks</a>)<br><br>Besides, that will certainly not be the day that I'll post my first image after more than a year.<br><br>It's tedious enough to properly describe my original images at the necessary level of detail, and one image takes me many hours to describe, sometimes up to two full days, morning to evening. Not joking here. I certainly won't put extra effort into turning at least the 900 characters of "short" description that go into the alt-text into a poem. And I definitely will not also turn the additional 20,000, 40,000, 60,000 characters of long description that go into the post into a poem as well. (And yes, I can post 60,000+ characters in one go, and I have done so in the past. My character limit is 16,777,215.)<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a>
Jupiter Rowland@<a href="https://mastodon.nzoss.nz/users/strypey" rel="nofollow noopener" target="_blank">Strypey</a> <blockquote>The main reason devs haven't wanted to use the C2S API in the AP spec is network effect. Clients devs don't want to use it because Mastodon doesn't, and servers devs don't want to use it because their services wouldn't work with all the clients following the Mastodon API.</blockquote><br>It's actually tempting to imagine a vicious circle here: If almost everything has the Mastodon client API implemented, it isn't worth developing dedicated client apps that also cover other servers' extra features.<br><br>Instead, the reason why all kinds of server applications have the Mastodon client API implemented is because they absolutely need some phone apps that work with them. Just look around the Fediverse. Almost everyone is exclusively on phones nowadays. And especially iPhone users wouldn't touch a Web browser with a 10-foot barge pole if they don't absolutely have to, so expecting them to use the Web UI means you're stuck in a bubble or a time where smartphones are still a gimmick.<br><br>That's why even Friendica has implemented the Mastodon client API. I mean, Mastodon and Friendica are <em>very</em> different, and the Mastodon client API only covers a small fraction of what Friendica can do. It actually doesn't cover some critical everyday features.<br><br>At the same time, there's little to no incentive for those who can develop mobile apps to make apps for anything that isn't Mastodon. Many start working on Fediverse apps at a point when they still believe the Fediverse is only Mastodon. Or if they don't, at least they've never heard of Pleroma and its family, Misskey and its family, Friendica and its family (where Hubzilla would require a wholly different app than Friendica, and (streams) and Forte would require a wholly different app than both) etc. Or they genuinely think that developing the umpteenth iPhone app for Mastodon is worth the effort more than developing the <em>first</em> stable dedicated iPhone app for Friendica. It's a miracle that stuff like Aria for the *key family exists.<br><br>It seems like of all the server apps that don't do *blogging (purist long-form blogging stuff like WriteFreely excluded), Hubzilla, (streams) and Forte are the only ones that don't have the Mastodon client API implemented. And I can't see them do it. For one, their devs steer clear of all proprietary, non-standard Mastodon technology. But other than that, these three are even less like Mastodon than Friendica, and they work even less like Mastodon. Even using a Mastodon app for stuff like basic posting is out of question because it pretty much requires access to the per-post permission settings, something that Mastodon doesn't have implemented, and therefore, neither do the apps for it.<br><br>Now, Hubzilla, (streams) and Forte can be installed as so-called Progressive Web Apps. But only Hubzilla veterans ever do that, and that's for three reasons: One, next to nobody has ever heard of the very concept of PWAs. Two, all that people know is installing apps from the Apple App Store and the Google Play Store. And three, people want native mobile interfaces in the style of whatever phone they use. It doesn't matter how well the Web UIs of these three adapt to mobile screens, especially since 90% of all phone users have totally forgotten that you can rotate a phone sideways.<br><br>Hubzilla actually has its own client API, and I think (streams) and forte have their own one, too. But nobody has ever even only tried to build a native mobile app for either of them. Hubzilla's devs even have to admit that they don't know how well Hubzilla's client API works because there has literally never been a sufficiently-featured counterpart to test it against. All there is is an extremely basic Android app built by one of them that's available as a download somewhere, and all it can do is send very basic posts, I think, even only at your default settings. It's just a proof of concept.<br><br>The ActivityPub C2S API is just as untested.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Mastodon" rel="nofollow noopener" target="_blank">Mastodon</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=MastodonAPI" rel="nofollow noopener" target="_blank">MastodonAPI</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Friendica" rel="nofollow noopener" target="_blank">Friendica</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forte" rel="nofollow noopener" target="_blank">Forte</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ActivityPub" rel="nofollow noopener" target="_blank">ActivityPub</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=API" rel="nofollow noopener" target="_blank">API</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ClientAPI" rel="nofollow noopener" target="_blank">ClientAPI</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=MastodonAPI" rel="nofollow noopener" target="_blank">MastodonAPI</a>
Jupiter Rowland@<a href="https://mastodon.social/@benpate" rel="nofollow noopener" target="_blank">Ben Pate 🤘🏻</a> In the words of a diaspora* developer, if Mozilla and Vivaldi "implemented ActivityPub", they'd actually "implement Mastodon". That'd mean catching more users with less effort than implementing vanilla ActivityPub and implementing features that Mastodon doesn't have. Besides, both used to have or still have a Mastodon server, but they don't seem to be aware that there's a Fediverse beyond Mastodon, much less what it's like and how it works.<br><br>In fact, they wouldn't even implement the ActivityPub C2S API at all. They'd implement the Mastodon client API and only the Mastodon client API.<br><br>CC: @<a href="https://blah.rako.space/users/rakoo" rel="nofollow noopener" target="_blank">rakoo</a> @<a href="https://indieweb.social/users/tchambers" rel="nofollow noopener" target="_blank">Tim Chambers</a><br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ActivityPub" rel="nofollow noopener" target="_blank">ActivityPub</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Mastodon" rel="nofollow noopener" target="_blank">Mastodon</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=MastodonAPI" rel="nofollow noopener" target="_blank">MastodonAPI</a>
Jupiter Rowland@<a href="https://glasgow.social/@craignicol" rel="nofollow noopener" target="_blank">craignicol</a> Redundancy. Resilience against losing the server that you're on by being on another server simultaneously.<br><br>Also, just because you can spread your identity across multiple servers and even server types, doesn't mean you can only have one identity.<br><br>Look at me, for example:<br><ul><li>I have @<a class="" href="https://hub.netzgemeinde.eu/channel/jupiter_rowland" rel="nofollow noopener" target="_blank">Jupiter Rowland</a> on the Hubzilla hubs hub.netzgemeinde.eu and hub.hubzilla.de.</li><li>I have my "in-world sister's" channel @<a class="" href="https://hub.netzgemeinde.eu/channel/juno_rowland" rel="nofollow noopener" target="_blank">Juno Rowland</a> on the same two Hubzilla hubs. It's still a separate and fully independent identity, and I could clone either of them to other Hubzilla hubs independently from one another. Like, I could clone @<a class="" href="https://hub.netzgemeinde.eu/channel/jupiter_rowland" rel="nofollow noopener" target="_blank">Jupiter Rowland</a> to hub.hubzilla.hu and @<a class="" href="https://hub.netzgemeinde.eu/channel/juno_rowland" rel="nofollow noopener" target="_blank">Juno Rowland</a> to klacker.org or whatever.</li><li>I have my in-world image-posting channel @<a class="" href="https://streams.elsmussols.net/.well-known/apgateway/did:key:z6Mkmc3YmgUu5jTyhc6YqC8VjnMwmFtdjFFA45MHTqyBFaA2/actor" rel="nofollow noopener" target="_blank">Jupiter Rowland's (streams) outlet</a> on the (streams) servers streams.elsmussols.net and nomad.fedi-verse.hu.</li><li>I have my Fediverse meme channel @<a class="" href="https://streams.elsmussols.net/.well-known/apgateway/did:key:z6Mkf2dhUa65zBYCNVqs3AHyt8uPixauZ7bPzEJn15LJANsd/actor" rel="nofollow noopener" target="_blank">Jupiter's Fedi-Memes on (streams)</a> on the (streams) server streams.elsmussols.net; I haven't cloned it yet.</li><li>In addition, I also have my non-nomadic WriteFreely blog @<a href="https://publish.ministryofinternet.eu/jupiter-rowland/" rel="nofollow noopener" target="_blank">Aus Hypergrid und Umgebung</a> and my non-nomadic Lemmy account @<a href="https://sh.itjust.works/u/JupiterRowland" rel="nofollow noopener" target="_blank">Jupiter Rowland</a>.</li></ul><br>That's six fully separate, fully independent Fediverse identities, even though Mastodon and most of the rest of the Fediverse (anything that doesn't understand nomadic identity) perceive them as nine identities. And as you can see, what you may have taken for utter science-fiction two minutes ago is being daily driven in the Fediverse right now. And it has been for well over a decade, for longer than Mastodon has been around.<br><br>Why have I cloned my identities? For the very reason that <a href="https://joinfediverse.wiki/Nomadic_identity" rel="nofollow noopener" target="_blank">nomadic identity</a> was invented in the first place: redundancy. Safety. Always having a live backup. Resilience against servers shutting down or malfunctioning. It was invented because its inventor, the creator and then-still-maintainer of Friendica, kept seeing Friendica users lose everything whenever a Friendica node disappeared. And he understood that the only way to really make an identity resilient against server shutdown is for it to reside on at least two servers simultaneously.<br><br>If glasgow.social goes belly-up unexpectedly, you lose everything. Potentially forever. Good luck starting over from scratch.<br><br>If hub.netzgemeinde.eu goes belly-up, I lose nothing because I still have the identical clones, live, hot, bidirectional backups, on hub.hubzilla.de.<br><br>Tell you what: A while ago, hub.netzgemeinde.eu <em>did</em> go belly-up. The queue worker was so overloaded that the hub was bogged down. Nothing went in, nothing went out. Without a clone, I would have been fscked.<br><br>Luckily, I had my clone. I logged into hub.hubzilla.de and used my clone to a) do what I'd normally do on hub.netzgemeinde.eu and, especially, b) alert the admin who was on vacation. He and the Hubzilla lead developer ssh'd onto the server and fixed the issue. This might never have happened, hadn't I had that clone on another server.<br><br>So you could:<br><ul><li>make a Crohn-related identity and clone it or not</li><li>make a Doctor Who fandom identity and clone it or not</li><li>make an activist identity and clone it or not</li><li>make a Web development-related identity and clone it or not</li></ul><br>Oh, by the way: The aforementioned six identites may or may not be all of my Fediverse identities. I may or may not have more than these. You wouldn't be able to tell unless I told you.<br><br>CC: @<a href="https://j12t.social/@j12t" rel="nofollow noopener" target="_blank">Johannes Ernst</a> @<a href="https://indieweb.social/users/tchambers" rel="nofollow noopener" target="_blank">Tim Chambers</a> @<a href="https://mastodon.social/@benpate" rel="nofollow noopener" target="_blank">Ben Pate 🤘🏻</a><br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=NomadicIdentity" rel="nofollow noopener" target="_blank">NomadicIdentity</a>
Jupiter Rowland@<a href="https://social.coop/@scottjenson" rel="nofollow noopener" target="_blank">Scott Jenson</a> <blockquote>The "can't see all replies" is a deeply hard federation problem but we have an incoming fix for that!</blockquote><br>You mean the kind of "fix for that" that Friendica when it was launched into the Fediverse 15 years ago? Namely full awareness and support of threaded, one-post-many-comments conversations?<br><br>Or, better yet, <a href="https://fediversity.site/help/develop/en/Containers" rel="nofollow noopener" target="_blank">Conversation Containers</a> as created by Friendica's creator in his own streams repository, then inherited by his own Forte, then backported to his original creation Hubzilla as per <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/171b/fep-171b.md" rel="nofollow noopener" target="_blank">FEP-171b</a>?<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Friendica" rel="nofollow noopener" target="_blank">Friendica</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forte" rel="nofollow noopener" target="_blank">Forte</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Conversations" rel="nofollow noopener" target="_blank">Conversations</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ThreadedConversations" rel="nofollow noopener" target="_blank">ThreadedConversations</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FEP_171b" rel="nofollow noopener" target="_blank">FEP_171b</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ConversationContainers" rel="nofollow noopener" target="_blank">ConversationContainers</a>
Jupiter Rowland@<a href="https://mastodon.social/@benpate" rel="nofollow noopener" target="_blank">Ben Pate 🤘🏻</a> Allow me to take a look at this from a Hubzilla/(streams)/Forte point of view.<br><br><p><strong>The Sin of Overwhelming Complexity: Instance Selection Paralysis</strong></p><br>The only way to really combat this effectively is by hiding the whole concept of servers/instances at first, railroading everyone to a server and only letting them know about decentralisation and servers/instances after the fact.<br><br>In theory, this could be doable with Hubzilla, (streams) and Forte, and even better than with Mastodon with its themed servers. It wouldn't make sense to offer Hubzilla, (streams) or Forte servers for certain topics or target audiences, seeing as the whole thing would become moot the very moment when you make your first clone on another server. Simply build a kind of "automatic on-boarder" that sends everyone to the geographically closest open-registration server.<br><br>In practice, that'd be a bad idea, but for a different reason than on Mastodon. And that's how these servers tend to be very different. Not in topic. Not in target audiences. Not in rules. But in <em>features</em>. Hubzilla is modular, (streams) is modular, Forte is modular, and each admin decides differently on which "apps" to activate. Then you want to join Hubzilla for one cool feature, but the on-boarder railroads you to a server where that very feature isn't even activated.<br><br>Sure, the on-boarder could include the option to select certain features that you absolutely must have in your new home and then pick a server that has them. But that'd be extra hassle and extra confusing.<br><br>Besides, where'd you put that on-boarder? On the official Hubzilla website? Haha, no can do. <a href="https://hubzilla.org" rel="nofollow noopener" target="_blank">The official Hubzilla website is a webpage on a Hubzilla channel itself.</a> It's all just dumb old static HTML with a CSS. If it's even HTML and not Markdown or BBcode, that is. You couldn't add scripts to it if you tried.<br><br>Oh, and (streams) and Forte don't even have official websites. And (streams) will never have one, seeing as it's officially and intentionally nameless, brandless and totally not even a project. Their "websites" are readme files in their code repositories on Codeberg.<br><br><p><strong>The Sin of Inconsistent Navigation: Timeline Turmoil</strong></p><br>The streams on Hubzilla, (streams) and Forte are quite a bit different from Mastodon timelines.<br><br>First of all, what you usually don't have on public servers is the counterpart to Mastodon's local timeline and Mastodon's federated timeline. On all three, this would be only one stream, the "public stream" or "pubstream". It can be switched by the admin to either what'd be local or what'd be federated. However, public servers usually have it off entirely. Unavailable even to local users. That's because the admins don't want to be held liable for what's happening on the pubstream.<br><br>Technically speaking, you only have one stream on a public server, and that's your channel stream. It's much more efficient than a Mastodon timeline because it always shows entire conversations by default instead of detached single-message piecemeal, and because it has a counter for unread messages which even lists these unread messages for you to directly go to the corresponding conversation. But that's another story.<br><br>However, your channel stream can be viewed on your channel page, conversation by conversation, or it can be viewed on the stream page as an actual stream with all conversations shown in a feed/timeline-like fashion, one upon another, and with its own set of built-in filters such as "only my own messages" or "only conversations started by members of one particular privacy group/access list" or "only conversations from one particular group actor". It's actually much more convenient than any Mastodon timeline, but for those who want a Twitter clone for dumb-dumbs, it can be very overwhelming.<br><br>Yes, Hubzilla, (streams) and Forte are much more complex in handling than, say, snac2. But they're also much more complex in <em>features</em> than snac2. That power is their USP. And that power must be harnessed somehow.<br><br><p><strong>The Sin of Remote Interaction Purgatory: Federation Gymnastics</strong></p><br>Sure, Hubzilla, (streams) and Forte have some of the best built-in search systems in the whole Fediverse. They can pull almost everything onto your channel stream just by searching for it. And if it has replies, chances are they pull these in as well.<br><br>But still, they're geared towards desktop users. They still require copy-paste. Phone users don't copy paste. Most of them don't even know the very concept of copy-paste. For most of those who do, copy-paste is much too fumbly if the input device available to them is a 6" touch screen.<br><br>You can't blame them, though. This is next to impossible to do any differently. I mean, you won't see a button magically appear with which you can pull in just that one post or comment you want to pull in.<br><br>Rather, the issue is that they can only reel in <em>almost</em> everything. Sometimes the search returns nothing, like a void. Sometimes the search runs indefinitely without any kind of result. This may be because someone has blocked your channel, because someone has blocked your entire server, because the server someone is on has blocked you or your entire server, because Hubzilla/(streams)/Forte doesn't understand the URI pasted into the search field or whatever.<br><br>So this is made worse by Hubzilla, (streams) and Forte not knowing what they can search for, what they can't and why not.<br><br>Connecting with someone whom you encounter on your channel stream is fairly easy. Connections can be initiated with only two clicks. Either you click their long name, and you're taken to a pretty much distraction-less local "intermediate page" with a striking green button that's labelled "+ Connect". Or if you don't want to leave the channel page, you hover your mouse cursor over their profile picture, click on the little white arrow that appears, and you get a small menu that offers you the "Connect" option as well. Granted, even some veterans don't know the latter trick because it isn't immediately advertised on the channel page.<br><br>Also, sure, you don't simply follow them right off the bat with nothing else to do like on Mastodon. You're taken to your Connections page, and you have to configure the connection (you don't have to do that on Mastodon because <em>you can't configure connections</em> on Mastodon).<br><br>Following accounts/channels from the directory is a bit easier. The green "+ Connect" button is there right away (unless you're already connected). However, Hubzilla's directory only lists channels based on the Nomad protocol, i.e. Hubzilla and (streams) channels, because ActivityPub is only implemented in an optional, off-by-default-for-new-channels add-on whereas it's in the core and on by default on (streams) and the only available protocol on Forte.<br><br>Importing contents or following actors when seeing them locally on other servers without copy-pasting and searching can be done. It requires OpenWebAuth magic single sign-on, however, and it requires it to be implemented on all servers of all Fediverse server applications from Mastodon to WordPress to Ghost to Flipboard. Hubzilla, (streams) and Forte are the only Fediverse server applications with full (client-side and server-side) OpenWebAuth implementations. But that's of little use if the rest of the Fediverse doesn't have server-side implementations, and Mastodon has even silently rejected a mere client-side implementation already developed to a pull request two years ago.<br><br><p><strong>The Sin of DM Disasters Waiting to Happen</strong></p><br>I think this is less of an issue on Hubzilla, (streams) and Forte because they handle DMs differently from Mastodon (which "the Fediverse" actually refers to in the article).<br><br>On all three, DMs are integrated into their extensive, fine-grained permissions system in which everything is only public if it's really public. The difference between a post and a DM is not just a switch.<br><br>If I want to DM you, I can either tag you <code>@!{benpate@mastodon.social}</code> rather than <code>@[url=https://mastodon.social/@benpate]Ben Pate 🤘🏻[/url]</code>. Then you're a) the only one to whom the message is sent (it literally doesn't even go out to any other server than mastodon.social plus my clone on hub.hubzilla.de as can be seen in the delivery report) and b) the only one who is granted permission to view the message.<br><br>Or I can use the padlock icon and select you from the opening list as the sole recipient. The very moment that I select certain recipients, the post I'm composing quits being public, and the padlock icon switches from open to closed. This isn't a one-click or two-click toggle. You don't do that <em>casually</em>. It's basically <em>configuration</em>. It requires so many mouse clicks that you do it <em>consciously</em> and <em>intentionally</em>. If you want to post in private, you have to <em>really</em> want to post in private.<br><br>Better yet: <em>You can default to posting only to a certain limited target audience</em>. In fact, by default on a brand-new channel, <em>you only post to the members of one privacy group/access list</em> (which is a Mastodon list on coke and 'roids). You have to manually reconfigure your new channel if you want to post to the general public by default.<br><br>If you preview your post, you can see whether it's a direct message to one or multiple single connections (envelope icon next to your long name), a limited-permissions message to one or multiple privacy groups/access lists/group actors (closed padlock icon) or actually public (no icon).<br><br>Even better yet: Posts to group actors generally aren't public. Posts to at least Friendica groups, Hubzilla forums, (streams) groups and Forte groups are never public. They do not go out to your followers as well unless they're connected to the same group. And this is independent from whether a group is public or private. You can't accidentially post to a group actor in public, and if you do, you don't post to that group actor at all, at least not in a way that makes the group actor forward your post to its other connections.<br><br>Granted, what does not happen is your background switching from your background colour or background image (which can be user-configured) to red #800000 or a yellow-and-back chevron pattern when you change visibility and permissions to something that isn't public.<br><br><p><strong>The Sin of Ghost Conversations and Phantom Follower Counts</strong></p><br>And again, when @<a href="https://indieweb.social/users/tchambers" rel="nofollow noopener" target="_blank">Tim Chambers</a> says, "the Fediverse", he almost exclusively means Mastodon. He writes as if the entire Fediverse handled conversations as terribly as Mastodon, as if the entire Fediverse was as blissfully unaware of enclosed conversations as Mastodon. Which is not the case.<br><br>Hubzilla, (streams) and Forte, as well as their ancestor Friendica, handle conversations in ways that exceed Mastodon users' imaginations and wildest dreams by magnitudes. Unlike Mastodon, they know threaded conversations, and they see them as enclosed objects where only the start post counts as a post, and everything else counts as a comment.<br><br>This means that once you've received a post on your stream, you will also receive all comments on that post, regardless of whether or not you follow the commenters, regardless of whether or not they mention you. That's because all four reel in the comments not from the commentors, but from the original poster who is perceived as the owner of the thread. Only blocks or channel-wide filters can prevent comments from coming in.<br><br>Beyond that, (streams) was the first to introduce <a href="https://fediversity.site/help/develop/en/Containers" rel="nofollow noopener" target="_blank">Conversation Containers</a>. Forte inherited them from (streams), and when they were defined in <a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/171b/fep-171b.md" rel="nofollow noopener" target="_blank">FEP-171b</a>, Hubzilla implemented them, too.<br><br>Here on Hubzilla, I can see all comments in this thread because my channel has fetched them directly from @<a href="https://j12t.social/@j12t" rel="nofollow noopener" target="_blank">Johannes Ernst</a>. And I can <em>actually</em> see them <em>right away</em> because that's the default view here on Hubzilla, rather than Mastodon's piecemeal.<br><br>Even if you import a post manually using the search feature (and you better import the actual start post), AFAIK existing comments will eventually be backfilled. Comments that come in after importing will definitely end up on your stream as part of the thread.<br><br>So this is not a shortcoming of the Fediverse. The Fediverse has been able to do better for 15 years. It's a shortcoming of Mastodon.<br><br>The only "issue" here may be that it sometimes takes some time for a comment to show up for some reasons. But unless there are blocks or filters in play, it eventually will.<br><br><p><strong>The Sin of Invisible Discovery: The Content Mirage</strong></p><br>I'm not going to pick on the audacious implication that "Eugen and team" invented the Fediverse.<br><br>But Tim writes like literally everyone wants "the Fediverse" (read, actually Mastodon) to be literally Twitter without Musk.<br><br>Also:<br><ul><li>Friendica has had full-blown full-text search since its inception as early as 2010. Five and a half years longer than Mastodon has even existed.</li><li>Hubzilla has had full-blown full-text search since its inception as early as 2011 when it was forked from Free-Friendika. It has inherited full-text search from Friendica.</li><li>(streams) and Forte have had full-blown full-text search since their respective inception in 2021 and 2024, both having inherited it themselves.</li></ul><br>Oh, and none of them has an explicit opt-in switch to soothe panicking Twitter converts because panicking Twitter converts have never been the primary target audience of either of them.<br><br>Instead, on Hubzilla, whether someone can find your content depends on whether they've got permission to view it in the first place ("Can view my channel stream and posts"). If it's public, they have it. Full stop. Public is public is public. Stop whining. You've made it public, now deal with everything being able to see it.<br><br>(streams) and Forte behave the same. In addition, they have an extra permission: "Grant search access to your channel stream and posts". This controls who may search your channel stream using your own local search feature while visiting your channel locally. Something that isn't even possible on Mastodon.<br><br>As for not having any content on my channel stream before I connect to anyone: I, for one, do <em>not</em> want some algorithm to force content upon me that I'm not interested in. Full. Frigging. Stop. I want to have full and exclusive control over what I see and what I don't.<br><br><p><strong>The Sin of User Discovery Hell</strong></p><br>Can it really be that Mastodon's directory is so much worse than Friendica's, Hubzilla's, (streams)' and Forte's directories? I guess it is because it really only lists <em>local</em> accounts <em>on that one particular server</em>. A side-effect of Mastodon being a microblogging service and Twitter clone. And not a full-blown, fully-featured social network and Facebook alternative. No, seriously, it isn't that.<br><br>Friendica is. It was designed as such. It was designed to take Facebook's place, and not by aping and cloning Facebook, but by being better than Facebook.<br><br>The directory on each node is decentralised. It lists all actors known to that node. What's outright unimaginable from a Mastodon point of view: It takes the keywords in the profiles into account. Better even: It ranks suggestions by the number of matching keywords.<br><br>Want something centralised instead? Try the <a href="https://dir.friendica.social/" rel="nofollow noopener" target="_blank">Friendica Directory</a>. Looking for people? Looking for news accounts? Looking for groups? There are specialised tabs for that. Friendica can tell them apart, and so can the Friendica Directory.<br><br>Caveat: The Friendica Directory only lists Friendica accounts. Friendica's built-in directory should list everything it knows. I haven't used Friendica in many years, but I guess this even includes diaspora* accounts because why not?<br><br>Hubzilla has indirectly inherited its directory from Friendica. <a href="https://hub.netzgemeinde.eu/directory" rel="nofollow noopener" target="_blank">This is the directory on Netzgemeinde, the biggest Hubzilla hub.</a><br><br>Again, it lists local as well as federated channels. You can choose whether to see only local channels ("This Website Only") or federated channels as well. You can choose whether channels flagged NSFW shall be listed or not ("Safe Mode"). You can choose to only have group actors listed that let themselves be listed ("Public Forums Only"). You have a cloud of keywords from the keyword lists in the profiles that you can filter by (Mastodon doesn't even have keyword lists in profiles). You have full-text search for names and keywords. There's even a Facebook-style suggestion mode that proposes connections to you with a ranking based on your keywords and their keywords as well as the number of common connections, and that still has the same filters.<br><br>Caveat this time: Hubzilla's directory only supports the one sole protocol built into Hubzilla's core. And that's Zot6. This means that Hubzilla's directory only lists Hubzilla and (streams) channels because Hubzilla and (streams) are the only Fediverse server applications that support Zot6.<br><br>(streams) and Forte have inherited their directories again. And they probably have the most powerful decentralised directories in the entire Fediverse. I'd give you a link, but (streams) directories generally aren't public; only local channels can access them.<br><br>These directories are similar to the ones on Hubzilla. You see local and federated actors, and you can choose to only see local actors ("This Website Only"). You can choose to only see group actors ("Groups Only"). You can choose to not see channels flagged NSFW ("Safe Mode"). What's new: Inactive actors can be kept out, too ("Recently Updated").<br><br>Now it comes: (streams) has ActivityPub built into its core, and it's on by default on new channels. Forte is entirely based on ActivityPub.<br><br>This means that their directories can list anything from anywhere that uses ActivityPub. "Groups Only" gives you Guppe groups, Lemmy communities, /kbin and Mbin magazines, PieFed communities, Mobilizon groups, Flipboard magazines, Friendica groups, Hubzilla forums, (streams) groups, Forte groups etc., all on one list.<br><br>(streams) has a slight edge over Forte here because it also lists Hubzilla and (streams) channels that have ActivityPub off such as the Streams Users Tea Garden where ActivityPub was turned off with the very intention to keep Mastodon out.<br><br>If there was a gigantic Forte server, as big as mastodon.social, and its directory was accessible to the public, that directory would be the best directory in the Fediverse for anything really. If it was on (streams), it would list more, but it would confuse some users of e.g. Mastodon who'd try to follow Hubzilla or (streams) channels that have ActivityPub off. Forte simply doesn't list these because it can't find them.<br><br>A global directory of everything sounds like a good idea, but it's next to impossible to implement.<br><br>Either the directory would go look for actors itself. In order to do that, it would have to know within a split-second not only whenever a new actor is created somewhere so it can index that actor right away, but also whenever a new server is spun up so that the admin actor can be indexed, and that server can be watched. How is it supposed to know all that?<br><br>Well, or the directory, a single, monolithic, centralised website, would have to be hard-coded into all Fediverse server software. That way, each server could immediately report newly created actors to the central directory upon their creation.<br><br>For starters, this would make the whole Fediverse depend on one single centralised website under the control of, if bad comes to worse, one person.<br><br>Besides, this would be a privacy nightmare. Let's suppose I create a new (streams) channel that's supposed to be private. Its existence and all its properties would be sent to the central directory before I can set it to private and restrict its permissions. This wouldn't be so bad on Hubzilla because I'd make the channel private before I turn on PubCrawl and make the channel accessible to the directory in the first place because the directory would only understand ActivityPub.<br><br>Of course, the directory would mostly be built against Mastodon. It would not understand the permissions systems implemented on Hubzilla, (streams) and Forte, and it might happily siphon off the profiles of channels where access to the profile is restricted and make them publicly accessible. On the other hand, this is likely to mean that the directory couldn't read most of Hubzilla's, (streams)' and Forte's profile text fields anyway because Mastodon doesn't have them.<br><br>But such a centralised directory wouldn't make connecting to other users that much easier and more convenient. You'd still have to copy and paste URLs or IDs into your local search and search for them (unless you're on Friendica, Hubzilla, (streams) or Forte where you can connect to URLs directly). At the very least, you should be able to go to the centralised directory and follow anyone just by clicking or tapping them. That, however, would require OpenWebAuth support on both your home server and that directory.<br><br>Ideally, that directory would be firmly built into all instances of all Fediverse software from snac2 to Mastodon to Hubzilla, even replacing any existing directory to confuse people less. But that would make the Fediverse even more dependent on one central website and its owner, something which should be avoided at all cost.<br><br>Lastly, nothing can ever be built into all instances of all Fediverse software. Remember that there's software with living instances that's barely being developed such as Plume. There's even software with living instances that's been officially pronounced dead such as Calckey, Firefish or /kbin. How are Firefish servers supposed to implement such a feature if nobody maintains Firefish anymore, and even the code repository was deleted?<br><br>CC: @<a href="https://toot.risottobias.org/@risottobias" rel="nofollow noopener" target="_blank">Risotto Bias</a><br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Friendica" rel="nofollow noopener" target="_blank">Friendica</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forte" rel="nofollow noopener" target="_blank">Forte</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=OpenWebAuth" rel="nofollow noopener" target="_blank">OpenWebAuth</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=SingleSignOn" rel="nofollow noopener" target="_blank">SingleSignOn</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=NomadicIdentity" rel="nofollow noopener" target="_blank">NomadicIdentity</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Search" rel="nofollow noopener" target="_blank">Search</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FullTextSearch" rel="nofollow noopener" target="_blank">FullTextSearch</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Directory" rel="nofollow noopener" target="_blank">Directory</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Permissions" rel="nofollow noopener" target="_blank">Permissions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Privacy" rel="nofollow noopener" target="_blank">Privacy</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Conversations" rel="nofollow noopener" target="_blank">Conversations</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ThreadedConversations" rel="nofollow noopener" target="_blank">ThreadedConversations</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FEP_171b" rel="nofollow noopener" target="_blank">FEP_171b</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ConversationContainers" rel="nofollow noopener" target="_blank">ConversationContainers</a>
Jupiter Rowland@<a href="https://fosstodon.org/@rockmanjoe" rel="nofollow noopener" target="_blank">RockManJoe</a> Hahaha.<br><br>Tell you what: @<a class="" href="https://fediversity.site/channel/mikedev" rel="nofollow noopener" target="_blank">Mike Macgirvin ?️</a> has decentralised Fediverse identities as early as 2011. He invented <strong>nomadic identity</strong> (<a href="https://joinfediverse.wiki/Nomadic_identity" rel="nofollow noopener" target="_blank">https://joinfediverse.wiki/Nomadic_identity</a>, <a href="https://opennomad.net/page/nomad/home" rel="nofollow noopener" target="_blank">https://opennomad.net/page/nomad/home</a>) almost five years before Mastodon was made. And he first implemented it in 2012 on what would later become Hubzilla (<a href="https://hubzilla.org" rel="nofollow noopener" target="_blank">https://hubzilla.org</a>, <a href="https://joinfediverse.wiki/Hubzilla" rel="nofollow noopener" target="_blank">https://joinfediverse.wiki/Hubzilla</a>). That was still almost four years before Mastodon was launched.<br><br>Oh, and by the way: Hubzilla is very much part of the Fediverse. It is very much (albeit optionally) connected to and federated with Mastodon. I am replying to you right now from a Hubzilla channel which simultaneously and identically resides on two independent servers.<br><br>Nomadic identity is reality <em>now</em>. It is being daily-driven right now, and it has been daily-driven since long before Solid was even announced.<br><br>Solid is nothing but Hubzilla or (streams) or Forte (both are descendants of Hubzilla by Hubzilla's creator) as ordered from wish.com. A cheap and shoddy knock-off.<br><br>CC: @<a href="https://j12t.social/@j12t" rel="nofollow noopener" target="_blank">Johannes Ernst</a> @<a href="https://indieweb.social/users/tchambers" rel="nofollow noopener" target="_blank">Tim Chambers</a> @<a href="https://mastodon.social/@benpate" rel="nofollow noopener" target="_blank">Ben Pate 🤘🏻</a><br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forte" rel="nofollow noopener" target="_blank">Forte</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=NomadicIdentity" rel="nofollow noopener" target="_blank">NomadicIdentity</a>
Jupiter RowlandAre you referring to my mentions being @<a href="https://mspsocial.net/@bright_helpings" rel="nofollow noopener" target="_blank">Erik :heart_agender:</a> and @<a href="https://beige.party/@roknrol" rel="nofollow noopener" target="_blank">Roknrol</a> rather than what you're used to, namely <a href="https://mspsocial.net/@bright_helpings" rel="nofollow noopener" target="_blank">@⁠bright_helpings</a> and <a href="https://beige.party/@roknrol" rel="nofollow noopener" target="_blank">@⁠roknrol</a>? Using the long name rather than the short name and keeping the @ outside the link rather than making it part of the link? Likewise, the # being outside the hashtag link rather than being part of it?<br><br>This is because <strong>I'm not on Mastodon. <u>The Fediverse is not only Mastodon. It has never been.</u></strong> So this is not a toot.<br><br>No, really. This is what I post from: <a href="https://hub.netzgemeinde.eu/channel/jupiter_rowland" rel="nofollow noopener" target="_blank">https://hub.netzgemeinde.eu/channel/jupiter_rowland</a>, <a href="https://hub.netzgemeinde.eu/profile/jupiter_rowland" rel="nofollow noopener" target="_blank">https://hub.netzgemeinde.eu/profile/jupiter_rowland</a>. I ask you: Does this look like Mastodon? Have you ever seen Mastodon look like this?<br><br>Where I am, this style of mentions and hashtags is hard-coded. And it has been since long before Mastodon was even an idea.<br><br>I'm on something named <strong>Hubzilla. Hubzilla is not a Mastodon instance. Hubzilla is not a Mastodon fork either.</strong> Hubzilla has got absolutely nothing to do with Mastodon at all.<br><br>It is its very own project, fully independent from Mastodon (<a href="https://hubzilla.org" rel="nofollow noopener" target="_blank">https://hubzilla.org</a>, <a href="https://framagit.org/hubzilla" rel="nofollow noopener" target="_blank">https://framagit.org/hubzilla</a>, <a href="https://joinfediverse.wiki/Hubzilla" rel="nofollow noopener" target="_blank">https://joinfediverse.wiki/Hubzilla</a>).<br><br>Hubzilla has not intruded into "the Mastodon Fediverse" either. The Fediverse is older than Mastodon. And <strong>Hubzilla was there before Mastodon.</strong><br><br><strong>Hubzilla was launched by @<a class="" href="https://fediversity.site/channel/mikedev" rel="nofollow noopener" target="_blank">Mike Macgirvin ?️</a> in March, 2015, <em>eight months before Mastodon</em>,</strong> by renaming and redesigning his own Red Matrix from 2012, <em>almost four years before Mastodon</em>. And the Red Matrix was a fork of a fork of his own <strong>Friendica, which was launched on July 2nd, 2010, 15 years ago, <em>five and a half years before Mastodon</em>.</strong> (<a href="https://en.wikipedia.org/Friendica" rel="nofollow noopener" target="_blank">https://en.wikipedia.org/Friendica</a>, <a href="https://friendi.ca" rel="nofollow noopener" target="_blank">https://friendi.ca</a>, <a href="https://github.com/friendica" rel="nofollow noopener" target="_blank">https://github.com/friendica</a>, <a href="https://joinfediverse.wiki/Friendica" rel="nofollow noopener" target="_blank">https://joinfediverse.wiki/Friendica</a>)<br><br><strong>Friendica was there before Mastodon, too.</strong><br><br>Here's the official Friendica/Hubzilla timeline on Hubzilla's official website to show you that I'm not making anything up: <a href="https://hubzilla.org/page/info/timeline" rel="nofollow noopener" target="_blank">https://hubzilla.org/page/info/timeline</a>. Scroll all the way down and notice all the features that you may right now know for a fact that the Fediverse doesn't have, but that Friendica has introduced to the Fediverse 15 years ago, five and a half years before Mastodon was launched.<br><br><strong>Again, Mastodon has never been its own network. The Fediverse has never been only Mastodon.</strong> When Mastodon was launched in January, 2016, it immediately federated with<br><ul><li>GNU social, the successor to @<a href="https://cosocial.ca/@evan" rel="nofollow noopener" target="_blank">Evan Prodromou</a>'s StatusNet from 2008 (the actual start of the Fediverse, <em>eight years older than Mastodon</em>)</li><li>@<a class="" href="https://fediversity.site/channel/mikedev" rel="nofollow noopener" target="_blank">Mike Macgirvin ?️</a>'s Friendica, now maintained by @<a href="https://social.diekershoff.de/profile/tobias" rel="nofollow noopener" target="_blank">Tobias</a> and @<a href="https://pirati.ca/profile/heluecht" rel="nofollow noopener" target="_blank">Michael 🇺🇦</a></li><li>@<a class="" href="https://fediversity.site/channel/mikedev" rel="nofollow noopener" target="_blank">Mike Macgirvin ?️</a>'s Hubzilla</li></ul><br>Friendica has been formatting mentions and hashtags the way I just did for 15 years now. When Mastodon was launched, Friendica has been formatting them that way for five and a half years already, and Hubzilla has done so for ten months. It is hard-coded there. It is not a user option.<br><br>That's because <strong>not everything in the Fediverse is a Twitter clone or Twitter alternative. [b]Friendica was designed as a Facebook alternative with full-blown long-form blogging capability.</strong> And Hubzilla adds even more stuff to this. <strong>This is why Friendica and Hubzilla don't mimic Twitter.</strong><br><br>Another shocking fact: As you can clearly see here, <strong>Friendica and Hubzilla don't have Mastodon's 500-character limit. Friendica's character limit is 200,000. Hubzilla's character limit is 16,777,215</strong>, the maximum length of the database field. And it's deeply engrained in their culture, which is many years older than Mastodon's culture, to not worry about the length of a post exceeding 500 characters.<br><br>One more shocking fact: <strong>Friendica has had quote-posts since its very beginning. So has Hubzilla. Both have always been able to quote-post any public Mastodon toot, and they will forever remain able to quote-post any public Mastodon toot. And Mastodon will never be able to do anything against it.</strong> <em>(By the way: In 15 years of Friendica, nobody has ever used quote-posts for dogpiling or harassment purposes. Neither Friendica nor Hubzilla is Twitter.)</em><br><br>You find this disturbing? You think none of this should exist in the Fediverse, even though all this has been in the Fediverse for longer than Mastodon?<br><br>Then go ahead and block all instances of Friendica and Hubzilla as well as all instances of Mike's later creations, (streams) (<a href="https://codeberg.org/streams/streams" rel="nofollow noopener" target="_blank">https://codeberg.org/streams/streams</a>) from 2021 and Forte (<a href="https://codeberg.org/fortified/forte" rel="nofollow noopener" target="_blank">https://codeberg.org/fortified/forte</a>) from 2024.<br><ul><li><a href="https://friendica.fediverse.observer/list" rel="nofollow noopener" target="_blank">https://friendica.fediverse.observer/list</a></li><li><a href="https://fedidb.com/software/friendica" rel="nofollow noopener" target="_blank">https://fedidb.com/software/friendica</a></li><li><a href="https://rumbly.net/communities?project=friendica" rel="nofollow noopener" target="_blank">https://rumbly.net/communities?project=friendica</a></li><li><a href="https://nomad.fedi-verse.hu/communities?project=friendica" rel="nofollow noopener" target="_blank">https://nomad.fedi-verse.hu/communities?project=friendica</a></li><li><a href="https://streams.elsmussols.net/communities?project=friendica" rel="nofollow noopener" target="_blank">https://streams.elsmussols.net/communities?project=friendica</a></li><li><a href="https://hubzilla.fediverse.observer/list" rel="nofollow noopener" target="_blank">https://hubzilla.fediverse.observer/list</a></li><li><a href="https://fedidb.com/software/hubzilla" rel="nofollow noopener" target="_blank">https://fedidb.com/software/hubzilla</a></li><li><a href="https://rumbly.net/communities?project=hubzilla" rel="nofollow noopener" target="_blank">https://rumbly.net/communities?project=hubzilla</a></li><li><a href="https://nomad.fedi-verse.hu/communities?project=hubzilla" rel="nofollow noopener" target="_blank">https://nomad.fedi-verse.hu/communities?project=hubzilla</a></li><li><a href="https://streams.elsmussols.net/communities?project=hubzilla" rel="nofollow noopener" target="_blank">https://streams.elsmussols.net/communities?project=hubzilla</a></li><li><a href="https://rumbly.net/communities?type=streams_repository" rel="nofollow noopener" target="_blank">https://rumbly.net/communities?type=streams_repository</a></li><li><a href="https://nomad.fedi-verse.hu/communities?type=streams_repository" rel="nofollow noopener" target="_blank">https://nomad.fedi-verse.hu/communities?type=streams_repository</a></li><li><a href="https://streams.elsmussols.net/communities?type=streams_repository" rel="nofollow noopener" target="_blank">https://streams.elsmussols.net/communities?type=streams_repository</a></li><li><a href="https://rumbly.net/communities?project=forte" rel="nofollow noopener" target="_blank">https://rumbly.net/communities?project=forte</a></li><li><a href="https://nomad.fedi-verse.hu/communities?project=forte" rel="nofollow noopener" target="_blank">https://nomad.fedi-verse.hu/communities?project=forte</a></li><li><a href="https://streams.elsmussols.net/communities?project=forte" rel="nofollow noopener" target="_blank">https://streams.elsmussols.net/communities?project=forte</a></li></ul><br>Or you could go ask @<a href="https://pleroma.envs.net/users/Seirdy" rel="nofollow noopener" target="_blank">Seirdy / DM me the word "bread"</a> and @<a href="https://sunny.garden/@gardenfence" rel="nofollow noopener" target="_blank">Garden Fence Blocklist</a> as well as @<a href="https://h-i.social/@are0h" rel="nofollow noopener" target="_blank">Mad Villain</a> of @<a href="https://h-i.social/@thebadspace" rel="nofollow noopener" target="_blank">The Bad Space</a> to add every last instance on any of these lists to their blocklists for being "rampantly and unabashedly ableist and xenophobic by design" due to not being and acting and working like Mastodon and just as rampantly and unabashedly refusing to fully adopt and adapt to the Mastodon-centric "Fediverse culture" as defined by fresh Twitter refugees on Mastodon in mid-2022 as well as refusing to abandon their own culture which is disturbingly incompatible with Mastodon's. Essentially try and have four entire Fediverse server applications Fediblocked once and for all because they're so disturbing from a "Fediverse equals Mastodon" point of view.<br><br>Or you could go to Mastodon's GitHub repository (<a href="https://github.com/mastodon/mastodon" rel="nofollow noopener" target="_blank">https://github.com/mastodon/mastodon</a>), submit a feature request for defederating Mastodon from everything that isn't Mastodon <em>by design</em> and then go lobbying for support for your feature request.<br><br>As for why I have so many hashtags below my comments, here is what they mean. Many of them are meant to trigger filters, including such that automatically hide posts behind content warning buttons, a feature that Mastodon has had since October, 2022, that Friendica has had since July, 2010, and that Hubzilla has had since March, 2015.<br><br><ul><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> = This post is over 500 characters long. Create a filter for either or both of these hashtags if you don't want to see my or anyone else's long posts.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> = CW: long post (over 500 characters long). Create a filter for either or both of these hashtags if you don't want to see my or anyone else's long posts.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> = This post talks about the Fediverse. Create a filter for either or both of these hashtags if you don't want to see me or anyone talk about the Fediverse.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> = CW: Fediverse meta. Or: CW: Fediverse meta, Fediverse-beyond-Mastodon meta. Or: CW: Fediverse meta, non-Mastodon Fediverse meta. Create a filter for either or both of these hashtags if you don't want to see me or anyone talk about the Fediverse.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=NotOnlyMastodon" rel="nofollow noopener" target="_blank">NotOnlyMastodon</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseIsNotMastodon" rel="nofollow noopener" target="_blank">FediverseIsNotMastodon</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=MastodonIsNotTheFediverse" rel="nofollow noopener" target="_blank">MastodonIsNotTheFediverse</a>: This post talks about the Fediverse not only being Mastodon. Create a filter for either or multiple or all of these hashtags if you don't want to see me or anyone else talk about the Fediverse being more than Mastodon. Otherwise, click or tap any of these hashtags to read more about it in your Fediverse app.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Friendica" rel="nofollow noopener" target="_blank">Friendica</a>: This post talks about the Facebook alternative in the Fediverse named Friendica. Create a filter for it if you don't want to see me or anyone else talk about Friendica. Otherwise, click or tap it to read more about it in your Fediverse app. It is also meant for post discovery.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a>: This post talks about the Swiss army knif of the Fediverse named Hubzilla. Create a filter for it if you don't want to see me or anyone else talk about Hubzilla. Otherwise, click or tap it to read more about it in your Fediverse app. It is also meant for post discovery.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a>: This post talks about the Facebook alternative in the Fediverse commonly referred to as (streams). Create a filter for either or both of them if you don't want to see me or anyone else talk about Friendica. Otherwise, click or tap either of them to read more about it in your Fediverse app. It is also meant for post discovery.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forte" rel="nofollow noopener" target="_blank">Forte</a>: This post talks about the Facebook alternative in the Fediverse named Forte. Create a filter for it if you don't want to see me or anyone else talk about Forte. Otherwise, click or tap it to read more about it in your Fediverse app. It is also meant for post discovery.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> = This post talks about alt-text and/or contains an image with alt-text. It is primarily meant for post discovery.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> = This post talks about alt-text. Create a filter for this hashtag if you don't want to see me or anyone else talk about alt-text.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> = CW: alt-text meta. Create a filter for this hashtag if you don't want to see me or anyone else talk about alt-text.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> = This post talks about image descriptions and/or contains an image with an image description. It is primarily meant for post discovery.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> = This post talks about image descriptions. Create a filter for either of these hashtags if you don't want to see me or anyone else talk about image descriptions.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a> = CW: image description meta. Create a filter for this hashtag if you don't want to see me or anyone else talk about image descriptions.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hashtag" rel="nofollow noopener" target="_blank">Hashtag</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hashtags" rel="nofollow noopener" target="_blank">Hashtags</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=HashtagMeta" rel="nofollow noopener" target="_blank">HashtagMeta</a> = This post talks about hashtags. Create a filter for either of these hashtags if you don't want to see me or anyone else talk about hashtags.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWHashtagMeta" rel="nofollow noopener" target="_blank">CWHashtagMeta</a> = CW: hashtag meta. Create a filter for this hashtag if you don't want to see me or anyone else talk about hashtags.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=CharacterLimit" rel="nofollow noopener" target="_blank">CharacterLimit</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CharacterLimits" rel="nofollow noopener" target="_blank">CharacterLimits</a> = This post is talking about character limits. It is primarily meant for post discovery. But if you don't want to see me or anyone else talk about character limits, create a filter for any of these hashtags.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePost" rel="nofollow noopener" target="_blank">QuotePost</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTweet" rel="nofollow noopener" target="_blank">QuoteTweet</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteToot" rel="nofollow noopener" target="_blank">QuoteToot</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteBoost" rel="nofollow noopener" target="_blank">QuoteBoost</a> = This post talks about quote-posts and/or contains a quote-post. If this disturbs you, create a filter for any of these hashtags.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePosts" rel="nofollow noopener" target="_blank">QuotePosts</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTweets" rel="nofollow noopener" target="_blank">QuoteTweets</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteToots" rel="nofollow noopener" target="_blank">QuoteToots</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteBoosts" rel="nofollow noopener" target="_blank">QuoteBoosts</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotedShares" rel="nofollow noopener" target="_blank">QuotedShares</a> = This post talks about quote-posts. Create a filter for either of these hashtags if you don't want to see me or anyone else talk about quote-posts.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePostDebate" rel="nofollow noopener" target="_blank">QuotePostDebate</a>, #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTootDebate" rel="nofollow noopener" target="_blank">QuoteTootDebate</a> = This post talks about quote-posts. Create a filter for either of these hashtags if you don't want to see me or anyone else talk about quote-posts.</li><li>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediblockMeta" rel="nofollow noopener" target="_blank">FediblockMeta</a> = This post is talking about fediblocks. It is primarily meant for post discovery.</li></ul><br>Lastly: <strong>Having all hashtags in one line at the very end of a post that only contains hashtags is the preferred way in the Fediverse.</strong> For one, hashtags in their own line at the end of the post irritate screen reader users much less than hashtags in the middle of the text. <strong>It's actually hashtags in the middle of the text that are ableist.</strong> Besides, <strong>Mastodon is explicitly designed to have a separate hashtag line at the end of the post.</strong>
Jupiter Rowland@<a href="https://mspsocial.net/@bright_helpings" rel="nofollow noopener" target="_blank">Erik :heart_agender:</a> @<a href="https://beige.party/@roknrol" rel="nofollow noopener" target="_blank">Roknrol</a> What if I transcribe text within my image (for any definition of "text within my image") in a long image description in the post itself which I write in addition to the actual alt-text? And the alt-text explicitly mentions the long description at its end? E.g. "A more detailed description including explanations and text transcripts can be found in the post."<br><br>I often have so many bits of text to transcribe (in addition to describing where in the image they are) that I can't fit them all into the 1,500-character limit for alt-texts that Mastodon, Misskey and their respective forks impose on the whole Fediverse.<br><br>I'm not talking about screenshots from social media or something. I'm talking about renderings from 3-D virtual worlds where there may be 20, 30, 40 or more bits of text strewn across the scenery within the borders of the image. The rule says that all text within an image must be transcribed 100% verbatim, and it doesn't explicitly mention any exception, so I do have to transcribe them all. In addition, if they aren't in English, I must additionally translate them as literally as possible. There's no way I can fit all this plus a sufficiently detailed and accurate visual description into 1,500 characters.<br><br>But if you (or others) insist that <em>all text within an image must be transcribed verbatim in the alt-text</em>, and if you sanction image posts that transcribe the texts in the image elsewhere than in the alt-text, then I simply won't be able to post certain images in an appropriate way.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Transcript" rel="nofollow noopener" target="_blank">Transcript</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Transcripts" rel="nofollow noopener" target="_blank">Transcripts</a>
Jupiter Rowland@<a href="https://mastodon.social/@alttexthalloffame" rel="nofollow noopener" target="_blank">Alt Text Hall of Fame</a> <blockquote>It's okay, you don't have to overthink it! Write how you'd describe the image to a friend over the phone.</blockquote><br>This only works with simple real-life photos.<br><br>If your image shows more obscure stuff (like mine), <a href="https://hub.netzgemeinde.eu/item/21735784-8443-430a-aa09-e0d9d00a40c2" rel="nofollow noopener" target="_blank">this does not work</a>. (@especially Mastodon users: The link goes to a Fediverse post that you may import into your timeline by copying the URL and searching for it.)<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a>
Jupiter Rowland@<a href="https://mstdn.chrisalemany.ca/@chris" rel="nofollow noopener" target="_blank">Chris Alemany🇺🇦🇨🇦🇪🇸</a> The Mastodon devs are talking as if either the Fediverse is only Mastodon, or the Fediverse as a whole doesn't have quote-posts.<br><br>Neither of this is true. The Fediverse has had quote-posts since July 2nd, 2010 when Mistpark (now known as <a href="https://friendi.ca" rel="nofollow noopener" target="_blank">Friendica</a>) was launched. Mastodon toots have been quote-post-able since Mastodon itself was launched, for when Mastodon was launched, it immediately federated with at least two Fediverse server applications that have quote-posts, namely Friendica and <a href="https://hubzilla.org" rel="nofollow noopener" target="_blank">Hubzilla</a>, a fork of a fork of Friendica by Friendica's own creator.<br><br>Nowadays, at least Pleroma, Akkoma, all other Pleroma forks, Misskey, Calckey, Firefish, Iceshrimp-JS, Iceshrimp.NET, CherryPick, Sharkey, all other Misskey forks, Mitra, Friendica, Hubzilla, (streams) and Forte <strong>can quote-post Mastodon toots with no problem</strong>.<br><br>And <strong>Mastodon won't be able to stop them</strong>. No, seriously, it won't. Not with a non-standard, proprietary, home-brew opt-in or opt-out switch that doesn't tie into anything that the other Fediverse server apps have. And whatever switch Mastodon is working on <em>will not</em> tie into anything that already exists.<br><br>Let me put it this way: Hubzilla has the second-most advanced and fine-grained permissions system in the Fediverse. It goes <em>well</em> beyond most people's imagination. It works on three levels: <a href="https://help.hubzilla.hu/en/usermanual/permissions_channel_roles.html" rel="nofollow noopener" target="_blank">for the whole channel</a> (that's similar to a Mastodon account), <a href="https://help.hubzilla.hu/en/usermanual/permissions_contact_roles.html" rel="nofollow noopener" target="_blank">for individual contacts</a> (that's "followers" in Mastodon lingo, but Hubzilla doesn't distinguish between followers and followed), <a href="https://help.hubzilla.hu/en/usermanual/permissions_content.html" rel="nofollow noopener" target="_blank">for individual content</a>. (streams) and Forte are the only ones with an even more advanced and fine-grained permissions system.<br><br>But even they don't have a quote-post permission setting. And they have permission settings for <em>just about everything</em>. You want reply control in the Fediverse? Hubzilla has reply control, and (streams) and Forte have reply control <em>on steroids</em>. But what they don't have is a quote-posting permission because that's next to impossible to control across the Fediverse even with the most advanced permissions system.<br><br>As @<a class="" href="https://fediversity.site/channel/mikedev" rel="nofollow noopener" target="_blank">Mike Macgirvin ?️</a> (professional software developer for almost half a century, designer of two Fediverse protocols, creator of Friendica and Hubzilla, inventor of nomadic identity, creator and maintainer of (streams) and Forte) says: <strong>The only way to make your posts un-quote-post-able is by not posting in public and not allowing everyone in the Fediverse full access to your posts.</strong> Set your "Who can quote" however you want, I'll always be able to quote-post all your public posts with no problem and with no resistance.<br><br>So what chance does Mastodon have then? Mastodon which doesn't even know what permissions are? Developed by Eugen Rochko who actually has a history of head-butting with Mike Macgirvin, and who would <em>never</em> take <em>any</em> step towards <em>anything</em> that Mike has ever developed?<br><br>I'm commenting from Hubzilla right now, and I'm also on (streams). And I can tell you: If you make any of your posts "un-quote-post-able", this still won't make my Share buttons on Hubzilla and (streams) disappear.<br><br>CC: @<a href="https://stefanbohacek.online/@stefan" rel="nofollow noopener" target="_blank">Stefan Bohacek</a> @<a href="https://sfba.social/@FinchHaven" rel="nofollow noopener" target="_blank">FinchHaven sfba</a> <br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Fediverse" rel="nofollow noopener" target="_blank">Fediverse</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Mastodon" rel="nofollow noopener" target="_blank">Mastodon</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Pleroma" rel="nofollow noopener" target="_blank">Pleroma</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Akkoma" rel="nofollow noopener" target="_blank">Akkoma</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Misskey" rel="nofollow noopener" target="_blank">Misskey</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forkey" rel="nofollow noopener" target="_blank">Forkey</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forkeys" rel="nofollow noopener" target="_blank">Forkeys</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Calckey" rel="nofollow noopener" target="_blank">Calckey</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Firefish" rel="nofollow noopener" target="_blank">Firefish</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Iceshrimp" rel="nofollow noopener" target="_blank">Iceshrimp</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Iceshrimp.NET" rel="nofollow noopener" target="_blank">Iceshrimp.NET</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CherryPick" rel="nofollow noopener" target="_blank">CherryPick</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Sharkey" rel="nofollow noopener" target="_blank">Sharkey</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Mitra" rel="nofollow noopener" target="_blank">Mitra</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Friendica" rel="nofollow noopener" target="_blank">Friendica</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Hubzilla" rel="nofollow noopener" target="_blank">Hubzilla</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Streams" rel="nofollow noopener" target="_blank">Streams</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=%28streams%29" rel="nofollow noopener" target="_blank">(streams)</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=Forte" rel="nofollow noopener" target="_blank">Forte</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePost" rel="nofollow noopener" target="_blank">QuotePost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePosts" rel="nofollow noopener" target="_blank">QuotePosts</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTweet" rel="nofollow noopener" target="_blank">QuoteTweet</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTweets" rel="nofollow noopener" target="_blank">QuoteTweets</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteToot" rel="nofollow noopener" target="_blank">QuoteToot</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteToots" rel="nofollow noopener" target="_blank">QuoteToots</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteBoost" rel="nofollow noopener" target="_blank">QuoteBoost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteBoosts" rel="nofollow noopener" target="_blank">QuoteBoosts</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuotePostDebate" rel="nofollow noopener" target="_blank">QuotePostDebate</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=QuoteTootDebate" rel="nofollow noopener" target="_blank">QuoteTootDebate</a>
Jupiter Rowland@<a href="https://mastoart.social/@elaterite" rel="nofollow noopener" target="_blank">Bob Tregilus</a> Only that "my best" has actually led to unimaginable extremes.<br><br>They say an image is worth a thousand words. I've once <a href="https://hub.netzgemeinde.eu/item/f8ac991d-b64b-4290-be69-28feb51ba2a7" rel="nofollow noopener" target="_blank">described one image</a> in over 10,000 words. <strong>Over 60,000 characters.</strong> The post is so long that, I think, Misskey and its various forks have rejected it, as have Pleroma and Akkoma. It took me two full days, morning to evening, to describe that one image, in-world research included.<br><br>And I actually had to limit myself. For once, I did not give in-depth descriptions of the images within that image, especially not beyond what's actually visible in these images. That's because I've discovered that if I were to do that, I'd have to describe dozens of images in one particular image (in my image) and potentially over a hundred images in these, even though they're so small that they're technically invisible. It would have taken me months to write all that. And it would have been futile anyway. My character limit is over 16 million, but Mastodon rejects posts over 100,000 characters, and in the few places that do accept posts with millions of characters, next to nobody cares about image descriptions.<br><br>I haven't posted a new in-world image in over half a year. I've been working on-and-off on the descriptions for a series of rather simple avatar portraits since last autumn.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a>
Jupiter Rowland@<a href="https://mastoart.social/@elaterite" rel="nofollow noopener" target="_blank">Bob Tregilus</a> Of course, this means that the more obscure the content of your image is, the more in-depth you will have to go. At worst, there's nothing in your image of which non-sighted people know what it looks like unless you describe it. Simply mentioning that it's there is not sufficient.<br><br>My own original images aren't even photographs, nor are they pieces of art that represent real life. They're renderings from 3-D virtual worlds, very obscure 3-D virtual worlds even. Nobody knows what anything in these world looks like unless they can see it in my images. At the same time, however, chances are that they become so curious about these virtual worlds that they also become curious about everything in the image, not just what matters within the context of the post. That is, sometimes the image itself as a whole is the context. Either way, this means I can't just focus on certain elements in the image in my descriptions. I have to describe everything.<br><br>So I've gotten to a point at which even filling the alt-text character limit forced by Mastodon, Misskey and their respective forks (they cut longer alt-texts off at the 1,500-character mark) doesn't cut it. All my original images have two descriptions now. In addition to the one in the alt-text that's very limited, there is another one in the post that's more or less fully detailed, that contains transcripts of all text within the borders of the image, and that also comes with all explanations that I deem necessary. Since I don't have a character limit to worry about (the limit is defined by the database field rather than a hard-coded or configurable number), this description is likely to grow well over a hundred times longer than typical alt-text.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a>
Jupiter Rowland@<a href="https://mstdn.ca/@JustinDerrick" rel="nofollow noopener" target="_blank">Justin Derrick</a> The question, however, is: What is "high-quality"? How is it defined?<br><br>Would the bot go by the definition valid for commercial/scientific/technological websites and blogs, i.e. ideally no more than 125 characters, and only a short and concise visual description with no further information?<br><br>Or would the bot go by Mastodon's culture and Mastodon's standards, i.e. the longer and more detailed, the better, any and all extra information is welcome in alt-text (because it doesn't fit into the toot), and the limit is 1,500 characters?<br><br>That is, if it were for me, the bot would go look <em>both</em> for alt-texts <em>and</em> for image descriptions in the post text body and judge <em>both</em>. Because I do both at the same time for my original images. An extremely detailed long image description in the post itself (character limit for post and alt-texts combined here: over 16 million) that also comes with all necessary explanations and transcripts of all text in the image, plus an alt-text that's as detailed as 1,500 characters (minus notification about the long description in the post) allow, but with no explanations, and I usually have to leave out text transcripts as well because they're too many.<br><br>You may say the alt-text is superfluous if it's just a much shorter version of the long description. But as long as the Mastodon HOA demands there be an alt-text to every image, no matter what (especially seeing as I always hide my image posts behind summaries/content warnings, so you can't see right of the bat that there's a long image description in the post), I add alt-texts to my original images.<br><br>I'm actually curious about how the bot would judge my descriptions. Maybe it'd flag them "inadequate" because it notices that the bits of text in the image are not transcribed in the alt-text. Maybe it'd be irritated because I have headlines in my long image descriptions, because they're so long that they need two levels of headlines. Maybe it'd flag them "inadequate" because it goes strictly by WCAG, and a) the alt-texts exceed 200 characters, b) long image descriptions do not belong into the text body by any known official accessibility standards, and c) neither my alt-texts nor my long descriptions are limited to what's supposed to be important within the context of the post.<br><br>Anyway, in the meantime, you can follow the account @<a href="https://mastodon.social/@alttexthalloffame" rel="nofollow noopener" target="_blank">Alt Text Hall of Fame</a> and the hashtag #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextHallOfFame" rel="nofollow noopener" target="_blank">AltTextHallOfFame</a>.<br><br>CC: @<a href="https://mastodon.scot/@simon_brooke" rel="nofollow noopener" target="_blank">Simon Brooke</a><br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediMeta" rel="nofollow noopener" target="_blank">FediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=FediverseMeta" rel="nofollow noopener" target="_blank">FediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediMeta" rel="nofollow noopener" target="_blank">CWFediMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWFediverseMeta" rel="nofollow noopener" target="_blank">CWFediverseMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=MastodonHOA" rel="nofollow noopener" target="_blank">MastodonHOA</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a>
Jupiter Rowland@<a href="https://cloudisland.nz/@ambientspace" rel="nofollow noopener" target="_blank">Chris Mills</a> @<a href="https://beige.party/@PixysJourney" rel="nofollow noopener" target="_blank">:neuro: Pixy's Journey :v_bi:</a> Kind of similar here, only that the extra information always goes into the post text itself. That extra information is necessary because I only ever post about extremely obscure topics, and I want people to understand my image posts without having to look anything up themselves.<br><br>Whenever I post a wholly original image, I even add two image descriptions, a "short" and purely visual one in the alt-text and an extensive one that includes explanations in the post itself.<br><br>And yes, I write my image descriptions myself by hand. I'm on a desktop computer with a hardware keyboard most of the time. Besides, AI can't nearly do what I do.<br><br>#<a class="" href="https://hub.netzgemeinde.eu/search?tag=Long" rel="nofollow noopener" target="_blank">Long</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=LongPost" rel="nofollow noopener" target="_blank">LongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLong" rel="nofollow noopener" target="_blank">CWLong</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWLongPost" rel="nofollow noopener" target="_blank">CWLongPost</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltText" rel="nofollow noopener" target="_blank">AltText</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=AltTextMeta" rel="nofollow noopener" target="_blank">AltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWAltTextMeta" rel="nofollow noopener" target="_blank">CWAltTextMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescription" rel="nofollow noopener" target="_blank">ImageDescription</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptions" rel="nofollow noopener" target="_blank">ImageDescriptions</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=ImageDescriptionMeta" rel="nofollow noopener" target="_blank">ImageDescriptionMeta</a> #<a class="" href="https://hub.netzgemeinde.eu/search?tag=CWImageDescriptionMeta" rel="nofollow noopener" target="_blank">CWImageDescriptionMeta</a>