I do alt text, but it's not low effort at all.
Same here.
In fact, I've had the image descriptions for a series of avatar portraits in the making since late 2024, and I may have to rework them again. Last time I've posted images was over a year ago, and it took me eight hours to describe two images plus one hour to distill shorter alt-text descriptions from the long descriptions.
But before I post an image without an appropriate description and appropriate explanations, I don't post any.
CC:
# # # # # # # # # # # Besides, not everything in the Fediverse works like Mastodon anyway.
I'm on Hubzilla which is basically the exact opposite of Mastodon. Hubzilla does not support Mastodon-style starter packs, but it has a feature of its own that can serve as something similar: channel sources. You can select certain contacts of yours and have everything they post automatically reposted on your channel.
So the trick is to create a new channel ("account" on Mastodonish, only that it isn't a new account because it shares the same login with the channel that you already use it's a new, fully independent identity on the same account/login). You follow a bunch of Fediverse actors. You choose them as channel sources. And when someone else follows that new channel, they automatically receive all content from these channel sources. They can also choose to explicitly follow some of these Fediverse actors themselves.
I'd really like to see Mastodon users try to keep me from a) following their accounts and b) making their accounts channel sources. (By the way: Hubzilla users
can keep other Hubzilla users from using their channels as channel sources. It's one out of many permission settings.)
# # # # # # # # # # # #
If this ends up in a FEP. Which I wouldn't count on.
And even then, the FEP is likely to assume that literally the entire Fediverse either works like Mastodon or is utterly simple in functionality. And it's likely to cause headbutting with a certain developer who has created Fediverse software that's very powerful, very feature-rich and very, very much
unlike Mastodon, several years before Mastodon. Because the Mastodon devs try to force some half-baked "permission" upon the Fediverse software with the most powerful, most advanced, most fine-grained permissions systems in existence.
# # # # # # # # # # # I've started putting together a highly detailed wiki about image descriptions and alt-text specifically for the Fediverse. It's still an early WIP, though, and of currently 36 planned pages, only 12 are written, but I've already got the titles for the others.
In case you're curious, .
# # # # # # # # # # # # # # # Hubzilla has an optional app that's remotely similar:
Rendezvous. , and here's the description inside Hubzilla itself:
Create a new rendezvous and share the access link with those you wish to invite to the group. Those who open the link become members of the rendezvous. They can view other member locations, add markers to the map, or share their own locations with the group.
It probably ties in with OpenStreetMap .
However, Rendezvous is Hubzilla-exclusive. There is no counterpart to it anywhere on anything that's based on ActivityPub. So I guess it federates only via Zot and not via ActivityPub.
# # # # # # # # # # This is why I've started (occasionally) working on a wiki about how to describe images and write alt-texts specifically in and for the Fediverse. Not just a one-pager, but an entire wiki that will have about three dozen pages when it's done.
I'm sourcing various alt-text and image description guides that exist out there on the Web, and I cite them when necessary or appropriate. They may contradict each other, but I'm going to point that out as well. Still, I also point out when something that's valid for alt-texts on static websites or in blog posts is not valid for Fediverse posts.
I simply want to be able to tell people how to do it right. I often have to because people keep doing so much wrong. And I want to be able to do so without having to write my explanations directly into posts over and over and over again. Instead, I'll simply be able to link to the pages in my wiki.
It's a very early WIP, it's nowhere near completion, but if you're curious, , right on the same Hubzilla channel that I'm commenting from right now.
# # # # # # # # # # # # # # # # If Mastodon had an actual permissions system on the same level as Hubzilla or (streams) or Forte instead of its usual snake oil, this wouldn't even work in the intended way.
The (streams)/Forte equivalent to "followers only" is "connections", and it also means that only your contacts are even allowed to view the post in the first place. If you mention someone in addition, they don't have permission to receive and view the post, so it's just a mention with a link to someone's profile and not a "hey, read this" tag.
On a sidenote: Hubzilla doesn't have an equivalent to "followers only". You'd have to build it yourself by making a privacy group (think "list on steroids") with all your contacts in it and then set the audience of a new post to that privacy group.
# # # # # # # # # # # # # # Another thing where Hubzilla, (streams) and Forte truly shine, by the way.
First of all, Hubzilla distinguishes between a "contact" (someone has sent you a connection request) and an "approved contact" (either you've confirmed the connection request, thus creating what's a mutual follower/followed connection on Mastodon, or you've requested a connection request, and it has been confirmed). It's much like on Facebook. This distinction also exists in permissions: You can give certain permissions to contacts or only to approved contacts.
On (streams) and Forte, the concept of a non-approved contact doesn't exist unless the connection request is confirmed, it doesn't count as a contact, and it doesn't have the privileges of a contact. This means that nobody can acquire certain permissions simply by following you.
Next, even if someone is a contact of yours, doesn't mean that they're always permitted to send you their posts. You can configure your channel in such a way that you can only allow certain contacts of yours to send you posts. I've actually done that.
Also, on all three, being notified when someone who isn't a contact mentions you is off by default and has to be activated manually. Even then, it only works if their post that mentions you makes it onto the server that you're on. This isn't even a case of "they mention you, your channel receives the message, but you aren't notified". This is a case of "they mention you, but your channel outright
rejects the message, and if no other channel on your server accepts it,
the whole server rejects it".
This means the whole attack vector does not work, especially not against neatly configured channels. By default, you won't see
any non-contact mention you out of the blue. And even if someone requests a connection, and you approve it and thereby establish a full, mutual connection, that doesn't mean that you have to endure what they post.
Oh, by the way: Hubzilla, (streams) and Forte understand Mastodon's "followers only" as "public" because it doesn't come with limited permissions, because Mastodon doesn't have a permissions system. And al three have had quote-posts since their inception. This gives you the power to fight back by quote-posting the offending post in a DM to the admin of the offender's home instance. And on Hubzilla, (streams) and Forte, the quote in a quote-post is not a reference by link it's a dumb copy of the original, inserted into the quoting post with a link to the original post and to the original poster, that cannot be altered by the original poster after the fact in any way.
Lastly, you can raise the shields even further, namely against harassment by DM. You don't have to accept DMs from non-contacts. You don't even have to accept DMs from all your contacts. You can literally cherry-pick those contacts from whom you want to receive DMs.
CC:
# # # # # # # # # # # # # # # # # # # # # # # # # #
Long Echoes of Language
"A Long Way Home"
Granted, this blog post is four years old. It predates not only the rise of Bluesky, but also even Musk's Twitter takeover announcement, much less the actual takeover.
But once again, there's this "Mastodon and the Fediverse", and once again with the same old meaning. "Mastodon" as in Mastodon the software and "Fediverse" as in the Mastodon network.
Another post that claims, no,
insists that the Fediverse is literally Twitter with 500 characters because it only consists of Mastodon. Mastodon 3.x, actually, which hardly had any features that Twitter didn't have. But take a look at Hubzilla, which is where this comment comes from, even though most people will see it on Mastodon. Daily-drive Hubzilla for a year or two. And then tell me with a straight face that Hubzilla is a Twitter clone and all the same as Twitter.
And once again, I guess that literally nobody who is on Mastodon now sees anything wrong with this notion, and I only expect the usual small handful of non-Mastodon users to complain about it.
# # # # # # # # # # # # # # If you mean that content that originated on Mastodon as opposed to appearing on Mastodon is declining, one reason may be because Mastodon's "market share" within the Fediverse is shrinking. But AFAIK, the Fediverse itself isn't.
So the activity that Mastodon has lost didn't go to Bluesky, but rather to places like Sharkey or GoToSocial or, in the cases of more daring users, even Friendica and its descendants (although I've yet to see anyone permanently move directly from Mastodon to (streams) or Forte, also because the latter inevitably requires your own server).
# # # # # # # # # # # # # # # # #
Soy muy alta
Labour leader Chris Hipkins says Te Pti Mori a long way away from Government amid Toit Te Tiriti split
Speculation about the partys instability had grown since Te Tai Tokerau MP Mariameno Kapa-Kingi was suddenly demoted
Exciting news about !
TrumpNetanyahus Gaza Peace Deal Promises Indefinite Occupation
When President Donald Trump stood alongside Israeli Prime Minister Benjamin Netanyahu in the White House this week to
:ArticlePost :Wednesday :English :Article :Factiva :SmartNews :SocialFlow :World :13.00 :2000-2999
O que Venda a Descoberto Como Usar Para Ganhar Mais A venda a descoberto, tambm conhecida como Short Selling, uma ttica empregada por traders para lucrar com a queda nos preos de ativos. Neste artigo, exploraremos as nuances dessa estrat...
Forscher identifizieren mglichen Biomarker fr Long Covid: Ein Forschungsteam der Medizinischen Universitt Wien hat einen potenziellen Biomarker fr Long Covid entdeckt. Wie die Universitt am...
DeepSeek tests sparse attention to slash AI processing costs -contextprocessing &IT
And what about non-English text
During all my researches about alt-text and image descriptions, I haven't found any steadfast and definite rule for how to transcribe non-English text in an image. On the one hand, you must transcribe any and all text in an image 100% verbatim. On the other hand, you must use the same language throughout your entire image description, also because no screen reader can switch language mid-reading process, much less mid-alt-text.
Just like the existence of non-readable text in an image has never been taken into consideration, neither has the existence of non-English text in an image.
I mean, I've run into this very issue a few times myself, so I know what I'm talking about from first-hand experience.
This is also why this part of my "how to transcribe text" entry in my alt-text/image description wiki will not have a definite method for transcribing foreign-language text anytime soon.
- check if you CapitalizeYourHashtags properly
This could easily go haywire on my two (streams) channels where I can and do use multiple-word hashtags with mid-hashtag blank spaces. Where Mastodon only supports
#MultipleWordHashtag, I can and do use
#Multiple-word hashtag.
I could do that here as well, but then I'd have two versions of some of my hashtags, and I'd still have to supply the PascalCased versions for those who filter any of my hashtags.
# # # # # # # # # # # # # # # # # # # # #
What is too long/too short
There can't be any fixed definition for that. Not here in the Fediverse.
The "Over 200 characters is too long" rule does not work in and can't be applied to the Fediverse. No, sorry, it can't. I've explained it in my (very early WIP) wiki about image descriptions and alt-text in the Fediverse:
(tldr: On the Web, over 200 characters in alt-text are evil, but you've got captions, and you've got ample of other possibilities to describe an image than the alt-text. On Mastodon, you've only got the alt-text for image descriptions, and people cheer for 1,000-character alt-texts.)Depending on a) the kind of image you post, b) the obscurity of its contents, c) your audience (including whoever might stumble upon your image post if you post in public, that's basically the whole Fediverse and everyone with Web access), d) their knowledge about what your image shows and e) their to-be-expected curiosity about what your image shows, you may have to describe your image in
way more than 200 characters.
It's a rendering from within a super-obscure 3-D virtual world. Next to nobody has ever seen it, but due to this being a 3-D virtual world (= proof that "the Metaverse is surprisingly not dead"), curiosity may be high. And my impression of especially Mastodon is that people prefer being given any and all information they may need right away to having to ask. Like, ask what something specific looks like.
And so the image description in the alt-text is a bit over 1,400 characters long. And it's still very lacking. It doesn't even mention certain elements in the image. And it doesn't transcribe even only one bit of text. It's actually an extremely shortened version of the long image description in the post text itself. Over 60,000 characters of visual description and necessary explanations and text transcripts. That's over 10,000 words. That's probably over three hours of a screen reader rambling. That's two full days of me examining the place up-close, looking up additional information and writing the description. But I deemed it necessary.
If it was an absolute requirement for me to a) cut the alt-text down to a maximum of 200 characters and b) cut the long description altogether, lots and lots and lots of information would be lost, including all text transcripts.
I must learn more about the rules of the capitalization police.
If you use a hashtag like
#superbowl, how is NVDA or any other screen reader software supposed to know whether that means "Super Bowl" or "superb owl"
Thus, any new word in a multiple-word hashtag must be capitalised so that screen readers know that this is where a new word starts.
There are two ways of doing this.
One is camel case. Camel case is the lazy variant: The first word is not capitalised, all other words are.
#oneTwoThreeThe other one is Pascal case, named after the programming language Pascal. Pascal case is the prettier variant: All words are capitalised.
#OneTwoThreeOops, I shouldn't have posted those images in replies as public. Anyway, 833 out of 836 images with alttext ain't so bad.
Replying to a public post with a DM isn't supported everywhere in the Fediverse anyway. This only works on purist microblogging server applications on which a thread is just a bunch of posts tied together with mentions.
It does not, however, work on more elaborate Fediverse server applications like Hubzilla (where I'm commenting from right now), (streams) and Forte. On these, a thread is an enclosed object with exactly one post, the start post, and otherwise comments. They have a highly complex permissions system in which all permissions in a conversation are defined by the post. If the post is public, all comments are public, full stop. So if you had replied to this otherwise 100% public, 100% Mastodon thread with a DM, then Hubzilla would have monkey-wrenched your DM into a public comment with a red padlock symbol for a permission conflict.
CC:
# # # # # # # # # # # # # # # # # # # # # #
Alt-text must never include explanations or other additional information that is not available in the post text or the image!Why
Because
not everyone can access alt-text. Sighted people need a mouse/trackball/touchpad/trackpoint to access alt-text or a touch screen if the UI allows for that.
And in order to operate that, they need at least one working hand. But not everyone has working hands. Just like not everyone has working eyes, which is why you describe your images in the first place, right
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 permanently lost. They can't open it, they can't read it. Ever.
This means:
Explanations and additional information must always go into the post itself where everyone can access them!Here are three relevant pages in my (very early WIP) wiki about image descriptions and alt-text:
CC:
# # # # # # # # # #
Ancienne usine hydro-lectrique () Usine communale d'lvation d'eau et de production d'lectricit construite de 1901 1903 sur un bras de la Somme par les tablissements Dayd et Pill pour la ...
Suite
Photo CC-BY-SA 4.0 : Markus3 (Marc ROUSSEL)
<>
a fait lobjet dune perquisition cette semaine dans le cadre dune enqute ouverte en pour complicit de crimes contre lhumanit et de crimes de guerre en , a dclar le Parquet national antiterroriste.
: continued through a considerable tine, or to a great length
- French: long
- German: lang
- Italian: lungo
- Portuguese: longo
- Spanish: largo
------------
Guess the next word of the hour
If I get suspended from my current instance I doubt I will waste any more of my time looking for a new one on such a tenuous platform.
In this regard, maybe moving someplace that offers would be an idea. It gives you not only full identity portability with all contacts, all content and nearly all settings, but even the possibility for your identity to simultaneously reside on two or more servers.
The only Fediverse server applications that offer nomadic identity are , and , all from the same family and launched by the same developer. They also offer and, of course, Fediverse connectivity. You can follow the same people as you can on Mastodon.
It's also rather unlikely that you'll be suspended or even kicked, seeing as they're geared towards self-moderating your stream rather than being mollycoddled and pampered by moderators. There simply are no dedicated moderators on any of their servers.
Caveats: You'll have to re-learn everything. They're nothing like Twitter or Mastodon. Hubzilla is the only one with easy-to-find public servers, and the vast majority of them is in Europe. You'll have to start over from scratch this one more time because you can't take anything with you from Mastodon. And there is no native mobile app for either of the three you don't have any choice but to use the Web interface.
CC:
# # # # # # # # # # # # #
Matt Chapmans Friday ITV Racing fancies
Matt is keen on Aimeric in the 15:35 at Newmarket. Fridays ITV Racing Tips 13:15 Newmarket Never
Limani Roslyn: An Upscale Seafood Experience
A dining experience at Limani Roslyn will top your all-time favorites on Long Island. Its upscale fan-base definitely has this one right. You will instantl
-leisure -culture -island-weekly &Dine
EUROPE's Long-Awaited Documentary Will Finally Arrive In Early 2026
Washington voters have an opportunity to strengthen the WA Cares Fund by voting Approved on SJR 8201 this autumn
Advocates for the bill have mounted a bi-partisan campaign backed by big-name politicians, organizations and a political committee as they hope WA voters will reflect the broad-based support the bill received in the state legislature. 
-TermCare -Ballot
Bei dieser Entschlackungsaktion knnte Hubzilla sich eigentlich auch die eine oder andere Scheibe von (streams) und Forte abschneiden, die in der Bedienung eine Ecke leichter sind und vor allem eher an das heutige Fediverse angepat sind, das dominiert wird von ActivityPub und Mastodon. Hubzilla ist ja im Grunde immer noch ausgelegt auf eine Vision eines vollnomadischen "Grid" auf Zot-Basis, das in den 2010ern mal die "Fderation" beerben sollte. Nur da dieser Traum schon seit Ende der 2010er ausgetrumt ist, seit sich das ActivityPub-basierte Fediverse um Mastodon herum entwickelt.
Es fllt auch auf, da Hubzilla etliche Features hat, die wohl mal (und sei es schon bei der Entwicklung von Red 2012) nachtrglich reingebaut worden sind, die jetzt optional und standardmig deaktiviert sind. Damit soll Hubzilla sich wohl standardmig weiter anfhlen wie 2015 oder gar wie die gute alte Red Matrix. Das macht Hubzilla aber nicht einfacher im Gegenteil, das sind Sachen, wo pepe und ich gebetsmhlenartig immer wieder drauf hinweisen: Wenn man einen Kanal aufsetzt, dann gehren die eingeschaltet, bevor man irgendwas anderes macht!
Solche Sachen sind auf (streams) und Forte mitunter von vornherein aktiviert oder gleich hartgecodet, wenn es gar keinen wirklichen Sinn ergibt, sie abzuschalten, bzw. die schon auf Hubzilla jeder aktiviert hat, der Ahnung hat. Ich schtze mal, schon zu seligen Osada- und Zap-Zeiten sind viele dieser Sachen in den Kern gewandert oder standardmig aktiviert worden.
Beispiel: Pubcrawl. Ist auf Hubzilla eine App und fr neue Kanle standardmig deaktiviert. Alle bidirektionalen, nichtnomadischen Protokolle sind standardmig deaktiviert, weil Hubzilla eben noch auf dieses vollnomadische "Grid" ausgelegt ist und z. B. ActivityPub der nomadischen Identitt in die Suppe spuckt. Aber seien wir mal ehrlich: Hubzilla-Newbies wollen als allererstes mal mit Mastodon verbunden bleiben. Einen vollnomadischen Kanal wrde nur ein Experte wollen und auch das nur selten.
Auf (streams) ist ActivityPub nicht nur Teil des Kerns, sondern standardmig aktiviert. Den Schalter gibt's eigentlich nur als "Anti-Mastodon-Zugbrcke" fr individuelle Kanle. Und sollte das Uafilter oder FedUp mal fr einzelne Kanle aktivierbar werden, wird der Schalter ziemlich obsolet, was er auf Serverebene eigentich jetzt schon ist.
Anderes Beispiel: Auf Hubzilla sind Privacy Groups eine App und standardmig deaktiviert, und du hast nur eine Privacy Group namens "Freunde". Auf (streams) und Forte sind Zugriffslisten auch eine App, aber meines Wissens standardmig aktiviert.
Noch ein Beispiel: Auf Kommentare zu antworten, ist auf Hubzilla optional und standardmig deaktiviert, und die Option ist schwer zu finden, weil Hubzillas Konfiguration so verquast und verteilt ist. Wieso ist das berhaupt optional Was kann denn heutzutage sonst noch keine Baumstruktur und nur flache Threads auer dem ollen phpBB Auf (streams) und Forte, die schon lange Baumstruktur haben, stellt sich die Frage gar nicht, weil es eben nicht mehr optional ist.
Noch ein Beispiel: Daumen runter ist auf Hubzilla optional und standardmig deaktiviert das war es damals auch auf Friendica, wo ich noch da war. Auf (streams) und Forte ist es hartgecodet. Strt ja keinen, wieso also optional machen Ein Schalter weniger in der Konfiguration.
Noch ein Beispiel: Superblock. Gibt's als App auf (streams) und Forte nicht mehr, weil die Funktionalitt so essentiell ist, da sie jetzt fest in den Kern eingebaut ist. Auf Hubzilla mu man das erst noch einschalten.
Noch ein Beispiel: Erweiterte Profile sind auf (streams) und Forte keine Option mit gut verstecktem Schalter mehr, weil das Profil von vornherein "erweitert" ist. Wieder ein berflssiger Schalter weniger.
Auf (streams) und Forte sind auch Kanalquellen keine normalerweise deaktivierte App mehr, sondern in den Kern eingebaut und immer verfgbar. Auch wenn das Luxus ist.
berhaupt die Konfiguration. Auf Hubzilla merkt man wirklich, wie alles Mgliche an Features nachtrglich eingebaut worden ist und die Konfiguration dafr irgendwo drangepappt wurde, mal hier, mal da. Du hast die Einstellungen im Kanalmen, da findest du aber lngst nicht alles. Du hast die Zahnrder, die einige von uns erst nach Jahren entdeckt haben. Es gibt sogar noch Einstellungen, die nur unter
/settings/features zu finden sind, das wiederum nur im "Newbie-Men" einen Link hat. Und den "Custom"-Kanaltyp kannst du nicht bei den Kanaltypen konfigurieren, wo du ihn auswhlst, sondern unter Privatsphre.
Auf (streams) und Forte hast du beinahe alles an einem Ort, nmlich unter "Einstellungen" im App-Men (auch wenn dein Muskelgedchtnis dann flucht, weil der Menpunkt jetzt in einem anderen Men ist). Das schliet Kanalmanagement ein, das schliet dein Profil ein, das schliet Berechtigungsrollen ein, das schliet blockierte Nutzer und Server (!) ein. Ein paar Sachen werden noch nur ber die App konfiguriert, etwa Zugriffslisten.
A propos Berechtigungsrollen (ex Kontaktrollen): Braucht man nicht mehr. Berechtigungen fr Kontakte kann man direkt an den Kontakten einstellen ohne Rumgehampel mit Rollen. Rollen gibt's noch, aber als Schablonen, wenn man bestimmten Kontakten eh immer denselben Satz Berechtigungen verpat. Wenn du eine Berechtigung anders haben willst fr einen Kontakt, brauchst du dafr nicht erst eine neue Rolle anzulegen, sondern du gehst zum Kontakt und legst den Schalter fr die eine Berechtigung um. Fertig.
Last but not least braucht man auf (streams) auch nicht mehr mit
verb == Announce im Filter rumzufriemeln. Statt dessen gibt's einen Schalter pro Kontakt, der Boosts aussperrt.
Da Hubzillas Features so unbekannt sind, liegt auch daran, da Hubzilla noch so unbekannt ist. Wer kann sich noch an Anfang des Jahres erinnern, wo es nach Facebook-Exodus aussah Da war auch allenfalls von Friendica als "die Facebook-Alternative" im Fediverse die Rede. Hubzilla kannte keine Sau, (streams) und Forte noch weniger.
Das hat ja bekanntlich mehrere Ursachen.
- Mike lief bis 2023 nach der Devise: "Wenn du es baust, werden sie kommen." Er hat erst 2023 angefangen, fr irgendwas Werbung zu machen.
- Unsere Entwickler kommen selbst nicht dazu, Werbung zu machen. Das bleibt an der Community hngen.
- Ein Teil der Community "spricht nur Entwickler" bzw. "spricht nur Admin", kann Hubzilla also keinen Endanwendern schmackhaft machen, weil die das Devsprech bzw. Adminsprech gar nicht verstehen.
- Ein anderer Teil sein wie: "Hubzilla mu erst noch dies-und-das-und-jenes in Ordnung bringen, um tageslichttauglich zu werden!1!!" Dazu zhlen auch die, die sagen, es lohnt sich nicht, ein Hubzilla zu bewerben, fr das es keine nativen Android-Apps im Google Play Store und iPhone-Apps im Apple App Store gibt.
- Dann drfte es die geben, die eher dafr sind, da die alten Hubzilla-Recken unter sich bleiben, und gar keine Newbies wollen. Deckungsgleich mit denen, die ganz genau wissen, warum sie PubCrawl nie aktiviert (oder wieder deaktiviert) haben.
- Man hat auf wundersame Art und Weise auf Mastodon nur von Mastodon aus wirklich Reichweite, obwohl die Trter gar nicht mitkriegen, was woher kommt. Aber Hubzilla wird, wenn, dann mit Ausnahme von nur von Hubzilla aus beworben.
Dieser mangelnde Bekanntheitsgrad fhrt dann zu "Hubzilla auf Wish bestellt"-Situationen wie mit Bonfire oder Tim Berners-Lees Solid. Ich meine, 2010 htten schon sehr viele Leute sehr viel Crowdfunding-Geld fr diaspora* sparen knnen, wenn Mike schon im Mrz oder April an die ffentlichkeit gegangen wre und gesagt htte, Leute, ich bau euch hier den freien, quelloffenen, unkommerziellen, dezentralen Facebook-Killer, und bis zum Sommer steht die Kiste.
Letztlich sind viele Hubzilla-Features fr Hubzilla-Nutzer ganz alltglich, aber fr Nicht-Hubzilla-Nutzer, und dazu zhlen auch fast alle Fediverse-Entwickler, vllig unvorstellbar, weil sie die weder von Twitter noch von Mastodon kennen. Kein Wunder also, da viele Fediverse-Entwickler Bahnhof verstehen, wenn man ihnen von diesen Features erzhlt.
# # # # # # # # # # # # # # Maybe it'd make sense to get the devs aboard, and for Hubzilla and for (streams) and Forte. And I think there's a new place being worked on where Fediverse devs can meet in the Fediverse itself, but I don't have any more details right now.
I can see four things becoming tricky when it comes to comment control. One is if it isn't enough to add support for another implementation, and if either side actually had to change the way it handles permission in a way that isn't backwards-compatible.
The second one is that Hubzilla, (streams) and Forte don't simply allow or forbid comments, but they can allow only certain actors to comment, and be it all contacts of a channel. I don't know if GTS has that feature, or if it can support it.
The third one is that (streams) and Forte can limit the time in which a post can be commented. Channels can be configured so that comments are only allowed for a certain timespan, and individual posts can be configured so that they can only be commented on until a certain point in the future.
Now, the thing is that, much unlike all the many microblogging applications, the permissions in a conversation are always the same on (streams) and Forte (and also on Hubzilla). All comments, regardless of whether they come from (streams) or Mastodon or Lemmy or wherever, always have the same permissions as the post. Replying to a public conversation with a DM is not supported, for example the DM will be regarded as a public comment.
This also means that you're only allowed to reply to a comment in a thread if you're also allowed to comment on the post itself. But if you're allowed to comment on the post, you're also allowed to reply to any comment in the conversation, full stop.
Speaking in "non-nomadic, no-enclosed-conversations ActivityPub" terms, this means that at a certain point after a post was sent, the owner of the post will have to automatically send a new version of both the post and all comments on the post, with comment permission revoked, around to all participants in the conversation as well as to everywhere that e.g. some Mastodon user has boosted one of the comments.
Either that, or a comment control FEP will have to include temporary comment permissions, and Mastodon and everything else will have to support them. I'm pretty sure that Mastodon users would love this feature, and they'd applaud Eugen Rochko for "inventing" it and "introducing it to the Fediverse". But (streams) and Forte certainly won't remove this feature just because the FEP don't support it.
As for how Hubzilla, (streams) and Forte handle this right now, AFAIK, they only advertise their comment permissions amongst each other. This means that if permission to comment is not granted, the comment button is removed from the UI. Not even greyed out, actually removed.
Towards the wider Fediverse, they act differently: They're fully aware that they can't keep a Mastodon account from commenting. Instead, they reject a comment that isn't allowed. And rejecting works differently on these three than on Mastodon: Rejected content is not first let into the inbox, then filtered and then deleted. It isn't let into the inbox in the first place. And if an activity has only got one possible recipient on a server, and that recipient doesn't allow that activity, the whole server rejects it.
The reason why this works for comment control is because conversations themselves work differently on these three (and Friendica) than on Mastodon: On Mastodon, replies go to a) whoever is mentioned and b) whoever follows the replier. On Friendica, Hubzilla, (streams) and Forte, comments always go straight to the conversation starter, even if they're comments on a comment on a comment on a comment, and from there to all participants in the thread. Of course, Mastodon users won't notice new comments until they're mentioned in the metadata.
Now, if the conversation starter rejects a comment that has actually been sent, the comment is not added to the conversation. This means two things: One, on the conversation starter's own stream, the comment does not appear as part of the conversation. Two, the comment is not forwarded to the other participants in the thread either.
From a Mastodon POV, this means that you may be able to see the branch of the conversation in which you've participated with your rejected comment in it on your own server. But if you go check the whole thread at its source, you will not see your rejected comment in the conversation.
A side-effect of this is that it isn't possible to reply to rejected comments either. Let's suppose you see some toot in your timeline. It's a comment on some (streams) post. What the commenter is blissfully unaware of: They aren't permitted to comment on this post. (streams) has rejected the comment. But you are amongst the lucky few who are permitted to comment.
Still, you can't reply to that one comment.
If a comment is rejected, then all replies to this comment are rejected, too, regardless of permissions. That's because they cannot be attached to the conversation because their own parent is missing. From your Mastodon POV, you will be able to reply. But your reply will never become part of the conversation.
This would all be a whole lot better if the entire Fediverse supported a) enclosed threaded conversations (as opposed to Twitter-like posts-and-more-posts piecemeal) and b) permissions, including comment control all the way to temporary comment permission.
# # # # # # # # # # # # # # # # # # # Maybe it'd make sense to get the devs aboard, and for Hubzilla and for (streams) and Forte. And I think there's a new place being worked on where Fediverse devs can meet in the Fediverse itself, but I don't have any more details right now.
I can see four things becoming tricky when it comes to comment control. One is if it isn't enough to add support for another implementation, and if either side actually had to change the way it handles permission in a way that isn't backwards-compatible.
The second one is that Hubzilla, (streams) and Forte don't simply allow or forbid comments, but they can allow only certain actors to comment, and be it all contacts of a channel. I don't know if GTS has that feature, or if it can support it.
The third one is that (streams) and Forte can limit the time in which a post can be commented. Channels can be configured so that comments are only allowed for a certain timespan, and individual posts can be configured so that they can only be commented on until a certain point in the future.
Now, the thing is that, much unlike all the many microblogging applications, the permissions in a conversation are always the same on (streams) and Forte (and also on Hubzilla). All comments, regardless of whether they come from (streams) or Mastodon or Lemmy or wherever, always have the same permissions as the post. Replying to a public conversation with a DM is not supported, for example the DM will be regarded as a public comment.
This also means that you're only allowed to reply to a comment in a thread if you're also allowed to comment on the post itself. But if you're allowed to comment on the post, you're also allowed to reply to any comment in the conversation, full stop.
Speaking in "non-nomadic, no-enclosed-conversations ActivityPub" terms, this means that at a certain point after a post was sent, the owner of the post will have to automatically send a new version of both the post and all comments on the post, with comment permission revoked, around to all participants in the conversation as well as to everywhere that e.g. some Mastodon user has boosted one of the comments.
Either that, or a comment control FEP will have to include temporary comment permissions, and Mastodon and everything else will have to support them. I'm pretty sure that Mastodon users would love this feature, and they'd applaud Eugen Rochko for "inventing" it and "introducing it to the Fediverse". But (streams) and Forte certainly won't remove this feature just because the FEP don't support it.
As for how Hubzilla, (streams) and Forte handle this right now, AFAIK, they only advertise their comment permissions amongst each other. This means that if permission to comment is not granted, the comment button is removed from the UI. Not even greyed out, actually removed.
Towards the wider Fediverse, they act differently: They're fully aware that they can't keep a Mastodon account from commenting. Instead, they reject a comment that isn't allowed. And rejecting works differently on these three than on Mastodon: Rejected content is not first let into the inbox, then filtered and then deleted. It isn't let into the inbox in the first place. And if an activity has only got one possible recipient on a server, and that recipient doesn't allow that activity, the whole server rejects it.
The reason why this works for comment control is because conversations themselves work differently on these three (and Friendica) than on Mastodon: On Mastodon, replies go to a) whoever is mentioned and b) whoever follows the replier. On Friendica, Hubzilla, (streams) and Forte, comments always go straight to the conversation starter, even if they're comments on a comment on a comment on a comment, and from there to all participants in the thread. Of course, Mastodon users won't notice new comments until they're mentioned in the metadata.
Now, if the conversation starter rejects a comment that has actually been sent, the comment is not added to the conversation. This means two things: One, on the conversation starter's own stream, the comment does not appear as part of the conversation. Two, the comment is not forwarded to the other participants in the thread either.
From a Mastodon POV, this means that you may be able to see the branch of the conversation in which you've participated with your rejected comment in it on your own server. But if you go check the whole thread at its source, you will not see your rejected comment in the conversation.
A side-effect of this is that it isn't possible to reply to rejected comments either. Let's suppose you see some toot in your timeline. It's a comment on some (streams) post. What the commenter is blissfully unaware of: They aren't permitted to comment on this post. (streams) has rejected the comment. But you are amongst the lucky few who are permitted to comment.
Still, you can't reply to that one comment.
If a comment is rejected, then all replies to this comment are rejected, too, regardless of permissions. That's because they cannot be attached to the conversation because their own parent is missing. From your Mastodon POV, you will be able to reply. But your reply will never become part of the conversation.
This would all be a whole lot better if the entire Fediverse supported a) enclosed threaded conversations (as opposed to Twitter-like posts-and-more-posts piecemeal) and b) permissions, including comment control all the way to temporary comment permission.
# # # # # # # # # # # # # # # # # # # Wahrscheinlich auch ein Grund, warum (streams) und Forte so sind, wie sie sind:
Bei (streams) hat Mike nodeinfo mit Absicht komplett rausgeschmissen. Forte hat wieder nodeinfo, weil das laut Mike in einem mastodondominierten Fediverse zwingend notwendig ist. Aber Forte meldet alle Statistikwerte als 0. Auch da kann man von Absicht ausgehen.
Whrend also Hubzilla die Statistiken mit nomadischen Kanlen verzerrt, weil jeder Klon als eigenes Konto aufgefat wird, gleichzeitig aber auch jeder einzelne Kanal auf demselben Konto wiederum als eigenes Konto gezhlt wird (Hubzilla meldet ja zum Glck nicht die Zahl der Konten, sondern die Zahl der Kanle), tauchen (streams) und Forte in den Statistiken berhaupt nicht auf.
Interessanterweise meldet Forte auch keine Versionsnummern per nodeinfo, sondern nur auf Wegen, die nur von Mikes eigener Software verstanden werden. So kann man zwar auf Community-Listen auf (streams) und Forte die Versionsnummern einzelner Server sehen, aber Crawler, die auf ActivityPub und Mastodon ausgelegt sind, erfahren die Versionsnummern nicht.
Dazu kommt, da (streams) ohne nodeinfo nicht crawlbar ist. Selbst wenn es nodeinfo htte, wre es nicht crawlbar, weil es als einzige Fediverse-Software keinen festen, einheitlichen Softwarenamen hat. Und so ist (streams) vom Fediverse Observer und vom FediIndex komplett abwesend. Die FediDB, auf der Daniel jede Software per Hand eintrgt, kennt nicht nur (streams) nicht, sondern auch Forte.
Zugegeben, statistische Signifikanz frs Fediverse als Ganzes haben die beiden nicht. (streams) drfte keine 50 aktiven Nutzer haben, Forte keine 20, die sich samt und sonders aus den (streams)-Reihen rekrutiert haben drften. Und Forte hat nur Privatserver, aber keinen einzigen ffentlichen mit offener Registrierung, whrend (streams) zumindest davon zwei hat, die aber nur Insider kennen.
CC:
# # # # # # # # # # # # In the background, yes.
At first, I expected this implementation to be exactly like Misskey and require this line in plain sight in the content so that the quoted post is rendered dynamically. Which has never been the case in Mike's software family.
# # # # # # # # # # # # # # # # # # # # # # # In the background, yes.
At first, I expected this implementation to be exactly like Misskey and require this line in plain sight in the content so that the quoted post is rendered dynamically. Which has never been the case in Mike's software family.
# # # # # # # # # # # # # # # # # # # # # # # Der FediIndex ist auch nicht verllicher. Die Angaben von Misskey und GoToSocial ber monatlich aktive Nutzer sind nmlich so verquer, die sind fr das Fediverse-Gesamtbild komplett fr die Fe, also zhlt der FediIndex sie einfach nicht mit dazu.
Aber im Gegensatz zu den Nomaden auf Hubzilla, (streams) und Forte kann man die zahllosen Misskey-Nutzer in Ostasien nicht einfach so als Rundungsfehler unter den Teppich kehren. Und ich glaube, die auch nicht wenigen GTS-Selbsthoster haben inzwischen auch statistische Signifikanz, vor allem bei den Einzelnutzerinstanzen.
# # # # # # # # # # # #
I don't know if translating the absence of a FEP-044f quote policy as not quotable was the right decision. Maybe it wasn't.
If you use server software that has quote-posts implemented with no quote policy, I think it's rather safe to assume that you're okay with being quote-posted.
I mean, if you're on Misskey, complaining about being quote-posted is like complaining about emoji reactions, MFM shenanigans or the overall genki feeling. Misskey is not Mastodon with 3,000 characters deal with it. And I haven't even mentioned "Speak as Cat" yet that's popular around the Forkeys.
You might have seen my comment in the forum thread on a way to make it easier for platforms like Friendica to signal a free-for-all quoting permission.
I was just about to say that this goes doubly for those server applications where quote-posts are an integral part of the communication culture.
Seriously, if you're on one of these, but you don't want anyone to quote-post you, and you still insist in always posting in public, you're doing something wrong. And just as seriously, unlike Mastodon, especially the Friendica/Hubzilla/(streams)/Forte family won't mollycoddle you. If you come to stay, we expect you to know what you're doing and why.
# # # # # # # # # # # # # # # # # # # # # # # # # # #
I don't know if translating the absence of a FEP-044f quote policy as not quotable was the right decision. Maybe it wasn't.
If you use server software that has quote-posts implemented with no quote policy, I think it's rather safe to assume that you're okay with being quote-posted.
I mean, if you're on Misskey, complaining about being quote-posted is like complaining about emoji reactions, MFM shenanigans or the overall genki feeling. Misskey is not Mastodon with 3,000 characters deal with it. And I haven't even mentioned "Speak as Cat" yet that's popular around the Forkeys.
You might have seen my comment in the forum thread on a way to make it easier for platforms like Friendica to signal a free-for-all quoting permission.
I was just about to say that this goes doubly for those server applications where quote-posts are an integral part of the communication culture.
Seriously, if you're on one of these, but you don't want anyone to quote-post you, and you still insist in always posting in public, you're doing something wrong. And just as seriously, unlike Mastodon, especially the Friendica/Hubzilla/(streams)/Forte family won't mollycoddle you. If you come to stay, we expect you to know what you're doing and why.
# # # # # # # # # # # # # # # # # # # # # # # # # # # I'm surprised to read that (streams) allegedly has FEP-e232 implemented. As I happen to have two (streams) channels myself, and as (streams) allows me to have a look at the whole source code of any activity (whereas Hubzilla only shows me that of the content), I've checked a fairly recent post of mine that includes a link. And while it does define the hashtags just like Mastodon and Hubzilla, it does not define links in a way that conforms to FEP-e232. Either that, or (streams)' implementation of FEP-e232 is newer than the software was when I sent that post.
Next, I wanted to see if (streams) had its way of quote-posting changed in the last seven years or so of development and forking. I expected it to quote-post like Hubzilla, namely by turning a BBcode short code into a dumb copy of the original upon sending, but I wanted to see proof. As (streams) is a fork of a fork of three forks of a fork (of a fork) of Hubzilla that's still maintained by Hubzilla's own creator, I would have been surprised if he had changed the way (streams) quote-posts at some point on the way.
So I quote-posted my own post on (streams) just to see what happens. And (streams) acted exactly like Hubzilla and not at all like described in FEP-044f on the surface. It still inserts a dumb copy.
Good thing I have access to the full source code of any message on (streams). So here's what happened, namely what I expected to happen: (streams) quote-posts like Hubzilla.
First of all, when I clicked the "Share" button, this short code was inserted into the post editor:
share=1198713/shareThe number, by the way, is the running number of the message to quote-post on the server.
Upon sending the post, (streams) automatically "expanded" the short code into the dumb copy I had expected.
share author='Jupiter+Rowland' profile='https://hub.netzgemeinde.eu/channel/jupiterrowland' portableid='moYLN61-o3FbP3jyThygMDf-bjF2cApXgkrwlAE77iKy19xM16F06V4b71eTkqqNaTUjGiN0lfw2dyn5nXRw' avatar='https://streams.elsmussols.net/xp/6b50efa4bb804860f6128bba791b74fab4a0a5e09dbcbee8d8ca77cee00f0330-6' link='https://hub.netzgemeinde.eu/item/0a1cdda5-eb1c-4a33-9574-ddd896977b4f' auth='true' posted='2025-09-21 19:42:56' messageid='https://hub.netzgemeinde.eu/item/0a1cdda5-eb1c-4a33-9574-ddd896977b4f' ...(the source code of the original message goes here)... /shareBoth Hubzilla and (streams) render this the same way, namely with a header line above the copy that includes the profile picture of the original author, the name of the original author with a Zot/Nomad-type link to their channel/account and a Zot/Nomad-type link to the original of the post ("Zot/Nomad-type" means that
zrl/zrl is used rather than
url/url which means that the ID of an observer on Hubzilla/(streams)/Forte is attached to the link for OpenWebAuth identity recognition purposes.)
At the same time, curiously, (streams) includes the line
"rel": "https://misskey-hub.net/ns#misskeyquote" and a line that starts with
"name": "RE: and continues with the URL of the original message into the code for the link to the original message. The latter is identical to what Misskey and all Forkeys have in quote-posting notes in plain sight, only that (streams) only reveals it in the source code rather than in the content as well.
So this part of FEP-044f is implemented, albeit concealed from most people and only happening in the code.
Now, looking at the quote policy part, that looks like it could be possible to add to the Fediverse's permission champions Hubzilla, (streams) and Forte. After all, they already have comment controls with no FEP backing it (and if GoToSocial's quote policy can be made into an FEP, maybe so can (streams)' and Forte's comment controls so that they actually do blank out reply buttons on the farther ends of the Fediverse if the software on the farther ends implement support for that FEP).
This could be done at three levels again. I'll illustrate this with (streams) and Forte because they're quite a bit less complex than older Hubzilla.
At channel level, quote-posting (and maybe quoting as well) could be set as usually, namely to semi-public (= everyone in the Fediverse = no quote policy), restricted (= only your contacts) and only yourself. (Seriously, you don't want random passersby with no accounts to quote-post you. Even though you can allow them to comment on your posts if you dare.)
"Only yourself" could be overridden at contact level by permitting certain contacts to quote-post (and maybe quote) your messages. This is actually standard behaviour on (streams) and Forte.
And then there is the per-post level which would be similar to (streams)' and Forte's comment controls. These allow you to limit who may comment on a post to only your contacts and those who have already participated in the same conversation, and they allow you to turn off comments altogether.
Quote authorisation would not be much different in handling from manually moderating comments from those who technically aren't permitted to comment (only that spammers don't quote-post, at least not yet, and they probably never will because that simply makes no sense). So that'd be nothing really new.
Of course, this would have some limitations which come from how Hubzilla, (streams) and Forte work and from their conversation architecture.
The first limitation is that you could only give certain contacts permission to quote-post your posts if you didn't give it to the whole Fediverse. Channel-wide permissions are always inherited by contact-specific permissions, and this cannot be overridden. So you couldn't generally allow everyone to quote-post your posts except for one certain contact of yours.
The second limitation is that you can only control the permissions of contacts, but not of non-contacts. So you can't disallow some stranger whom you aren't connected to to quote-post your posts while everyone else is allowed.
Then again, FEP-044f doesn't make either of these two possible either. It can only define who is permitted to quote-post a post, not who isn't.
The third limitation is that, on Hubzilla, (streams) and Forte, comments always have the same permissions as the post that they belong to because comments always have the same owner as the post that they belong to. Basically, if FEP-044f was to be defined for each comment individually, it would have a chance of clashing with conversation containers as per FEP-171b.
Here on Hubzilla, as well as from (streams)' point of view, everyone's comments in this thread are owned by me because I've started the thread. And the permissions on all these comments are defined by my post. I've seen my share of permission clashes whenever someone on Mastodon replied to a public post or a public comment with a DM, and Hubzilla overrode this by forcing the permissions of the post on that reply.
In practice, this means that the quote policies of all comments would be the same as that of the post. At least that's how Hubzilla, (streams) and Forte would understand them because the concept of comments having different permissions than the post is alien to them. So if you say that I'm not permitted to quote-post your comment, but I say that anyone can quote-post my post, Hubzilla and (streams) override the quote policy that you've given your comment on Mastodon with the quote policy that I've given my post on Hubzilla, and I can quote-post you.
So the actually difficult part would be to implement an exception in how Hubzilla, (streams) and Forte handle comment permissions for quote policies and make them individual for each comment rather than making comments inherit them from the post.
Well, and lastly, if you permitted all your contacts to quote-post a post of yours, and you had a few more contacts, the
"canQuote" section would end up monstrous. (A bit less so if you could cherry-pick those who are allowed to quote-post you on a per-post base, just like you can cherry-pick those who are allowed to see the post in the first place.) Also, I'm wondering just how well policies as per FEP-044f (and their implementations in various server applications) will work with DIDs as per FEP-ef61 which (streams) and Forte use, and I guess, so does Mitra now.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #