Emergency account of a not-so-average OpenSim avatar. Mostly active on Hubzilla.

  • 9 Posts
  • 44 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle
  • We’ll see what comes out of this.

    Mike has already implemented FEP-ef61 on (streams), and it seemed to have worked well under lab conditions. But then he rolled it out to release in July. Channels created on accounts registered after that point have decentralised IDs already. And surprisingly, it caused tons of bugs to the point of these channels not properly federating with anything. And since he’s the only (streams) developer, he had to iron everything out himself. And quickly so because a few dozen people use (streams) as a daily driver.

    In mid-August, he forked Forte from the streams repository. It was his vision of “the Fediverse of 2030”: basically (streams), but only supporting ActivityPub anymore, with both (streams)’ own Nomad and Hubzilla’s Zot6 ripped out. Guess the idea was to have something with no extra protocols standing in the way of straightening FEP-ef61 and nomadic identity via ActivityPub. But this caused even more of a workload.

    On August 31st, Mike sent a private post to his immediate connections (his channel is set up to send private posts by default) that said that he quits. He wanted to stop developing for the Fediverse because it got too much. The community could carry on if they want.

    Trouble is, there’s nobody among the few dozen (streams) users who has got what it takes, namely both the time and especially the skills to take over as a lead dev. One guy is ambitious, but he has only recently taught himself git just to make his own pre-FEP-ef61 branch for personal use. Then there are a few people who do know git, who may also know how to code, but who don’t have the time.

    We got one offer by a guy who wanted to rewrite (streams) from scratch. He had taken a look at the (streams) code, and he said that some of it is very old and crufty and mouldy. Of course, a lot of code probably still dates back to 2012 when Mike forked Red from Friendica to implement nomadic identity and rewrote the entire backend against Zot. Problem was, I think that guy came from Mastodon, he probably hadn’t even seen Friendica in action, much less Hubzilla or even (streams), and he described himself as “thick”, so we’d have to explain everything to him. Nobody even reacted.

    Luckily, Mike is still Mike. He can’t keep his fingers off improving the Fediverse. Every couple days, we see commits to the streams repository and/or Forte. It’s just that things are moving forward very slowly now. The community is trying to figure out what and where the bugs can be by examining log files and whatnot, but nobody can track them down in the source, much less fix them and submit a PR, and that isn’t talking about merging the PR.



  • Too many app devs don’t know jack about the Fediverse. Or they didn’t when they started developing their apps.

    It happens again and again that someone jumps into Fediverse app development, maybe even claims to build a, quote, “Fediverse app,” end quote. And then they build it hard against Mastodon, only Mastodon and nothing but Mastodon. Not even just the Mastodon API. Straight against Mastodon with both a frontend and a backend that only supports Mastodon.

    Usually because at this point they still think the Fediverse is the Mastodon network, and there’s nothing else in the Fediverse than Mastodon. Some 99% of all Mastodon newbies come into Mastodon believing that, the vast majority still spends the first months believing that, and my estimation is that every other Mastodon user still believes it.

    And when you tell such a dev that the Fediverse is more than just Mastodon, and there’s a whole lot of stuff that isn’t Mastodon, but that uses ActivityPub, and that communicates with Mastodon like Mastodon communicates with itself, they’re taken off-guard.

    “What? What do you say? You aren’t on Mastodon? How can you talk to me then? Like, black magic or what? Whaddaya mean, that’s normal? There’s other stuff connected to Mastodon? But Mastodon is the Fediverse. Whaddaya mean, it isn’t? The Fediverse is not only Mastodon? So it’s Mastodon forks? No? Is it extra stuff glued onto Mastodon then? Not either? Like, WTF? Yeah, sorry, no. I’ve built my app hard against Mastodon, and if I wanted to support anything else, I’d have to rip everything out and rewrite everything from scratch. 'Sides, it ain’t worth doing anyway. Literally nobody uses that stuff. You’re, like, literally the first whom I talk to on Mastodon who isn’t on Mastodon. Everyone else I see uses Mastodon.* Over 99% of all people in the Fediverse are on the original, Mastodon. Ain’t worth supporting those few others.”

    All this explains why you have tons of iPhone and Android apps for Mastodon that either only work with Mastodon, or that you can connect other Mastodon API stuff to, but only have Mastodon’s features at hand. And at the same time, you barely have any apps that support anything beyond Mastodon’s features. Exception: Lemmy apps, often written by people for whom the Threadiverse or the Fediverse as a whole is Lemmy.

    *No, they don’t. But Mastodon users can’t see it unless either non-Mastodon users do something that’s painfully obviously not possible on Mastodon, or they rub it straight into Mastodon users’ faces.


  • That would basically require all Fediverse servers of all types to grant full-blown user access to Fediverse users with their login credentials stored anywhere in the Fediverse.

    I’m not sure if OAuth could do that. Hubzilla supports both OAuth and OAuth2, both as a server and as a client. But for this to work, everything in the Fediverse would require both server-side and client-side OAuth support.

    Also, for convenience, OAuth support would basically have to be combined with OpenWebAuth-style magic single sign-on. With bare-bone OAuth, a user would first have to authenticate with a remote server or client or whatever. This is inconvenient. It would have to happen magically on the fly without the user even noticing anything, much less having to act in any way.

    If Lemmy had client-side OpenWebAuth support, and you visit a Hubzilla hub, that Hubzilla hub would automagically grant you certain guest privileges because it recognises you.

    If it was a combination of OAuth credential transfer and OpenWebAuth magic single sign-on, and you visit a Hubzilla hub, you could create a new, full-blown Hubzilla channel residing on that hub, just as if you had a local account, and you could do everything with that channel that you could do with a channel on a local account.

    In general, this would create the issue of things being stored in the local server database, like posts or even local settings, but not associated to any one local account in the same database. It’s bad enough with content, e.g. posts. It’s even worse with technical stuff like settings. I mean, if you drive-by magic-log-in to Mastodon with a Lemmy account, you want all the Mastodon settings, to customise your Mastodon experience, now, don’t you?

    Now imagine you want to delete your Lemmy account. All of a sudden, discuss.tchncs.de would have to go around to 239 instances of a dozen different projects, because that’s how many you’ve used to do stuff, and wipe stuff from databases on remote servers. Alternative: It stays there, but the user account on discuss.tchncs.de that it’s associated with doesn’t exist anymore.

    Or imagine you’d done that not on discuss.tchncs.de, but on kbin.social which infamously is dead. You’d have stuff in the databases of 239 Fediverse instances that’s associated with login credentials on a dead server. No feckin’ chance to ever get rid of that stuff unless all Fediverse projects implement some CPU-heavy sanitiser that regularly checks whether the servers and login accounts behind all remote stuff in the databases are still there.

    It’d be even worse with server applications that support nomadic identity. Hubzilla and (streams). There, your identity is not your account. They’re separate already. Your account is only your login, your access to your identity. Your identity is containerised in something called a “channel” that can be cloned to other servers.

    You can’t just drive-by magic-log-in to a Hubzilla hub and start posting away and, what, create a wiki or something. Your posts and wikis and whatnot aren’t stored in your account. They have to be stored in a channel. So you’ll first need a channel. You’ll have to create it. By the logic, you’ll have a Hubzilla channel and thus a nomadic Hubzilla identity named Fisch@discuss.tchncs.de based on your login credentials. If in this case Hubzilla supports naming channels after login credentials rather than the hub, the server instance they’re created on, that is.

    Technically speaking, however, since the domain in the ID of the channel differs from the server domain, it’s a clone. It is not a main instance. The main instance of a Hubzilla channel always has the same domain in its ID as the hub it resides on. But discuss.tchncs.de is not Hubzilla, nor does it support Hubzilla channels, so Hubzilla channels can’t reside on discuss.tchncs.de.

    Other connections from Hubzilla and (streams) that understand nomadic identity will relentlessly try to connect to a channel on a Hubzilla hub on discuss.tchncs.de. But there is no Hubzilla hub on discuss.tchncs.de because it’s a Lemmy server and not a Hubzilla hub. So your precious Hubzilla channel will be broken from the beginning because the Hubzilla hub that defines its identity does not exist.



  • I don’t think a nomadic identity is the same as an instance-less identity.

    It isn’t. (Source: I’ve been using nomadic stuff since long before any of you has even heard of the Fediverse.)

    Nomadic identity always requires one main instance of an “identity container” with a valid Fediverse ID. That Fediverse ID carries in it the domain name of the server on which the main instance of the “identity container” resides. You need something behind the @. The clones have the same Fediverse ID.

    So if you have a Hubzilla channel on hub.foo.social, hub.bar.social and hub.baz.social, one instance of that channel has to be the main instance, and the others are the clones. If the instance of the channel on hub.foo.social is defined as the main instance, it’s hub.foo.social that defines the idea (e.g. bob@hub.foo.social). From a Hubzilla POV, the clones on hub.bar.social and hub.baz.social are bob@hub.foo.social all the same.

    Instance-less would require a fully decentralised, peer-to-peer approach like Briar where (ideally) each user name only exists exactly once. And with no domain name attached to it.

    And peer-to-peer in social networking sounds like an awesome idea until you have to run a full-blown, fully-hardened Web server on your iPhone on a wonky 4G connection, simultaneously sending a message to and receiving hundreds of messages from hundreds of other devices out there because you’ve got, like, 647 connections on your friends list. And then you wonder why your phone is so hot, and the battery craps off within hours.


  • What I’d much rather see is instance based accounts, however, with the ability to take over/migrate them from other instances, so that if an instance goes down, people can still keep their identity. It would also allow instances focused on protecting minority communities to keep doing that.

    This exists right now. It has existed for longer than Mastodon, much less Lemmy.

    Established by Mike Macgirvin in 2011 when he invented nomadic identity. First implemented in his Zot protocol from 2012 and a Friendica fork named Red, later Red Matrix, known as Hubzilla since 2015. Also available on (streams).

    Not just a vague concept or an experiment, but daily-driven on stable servers since over a decade.

    Nomadic identity goes even further than migration. Nomadic identity allows you to have the same Fediverse identity with everything in it (name, posts, connections, settings, files etc. etc. pp.) on multiple servers simultaneously. Not dumb copies. Bidirectional, near-real-time, live, hot backups. Whatever happens on one instance of a channel will be sync’d to all others almost immediately.

    One of the clones goes down, doesn’t matter. The main instance goes down, doesn’t matter, you can use the clones just the same. The main instances goes down and stays down, doesn’t matter, you make one of the clones your new main instance. All your nomadic connections are automagically changed to your new identity based on your new main instance. Yes, even on remote servers.

    Even migration is based on the same concept. If you move from one server to another, first a clone is created, then the clone is declared the new main instance, thus demoting the original instance to clone, then the old original instance is deleted and the account with it. Not only can you move with absolutely literally everything, but you don’t leave any rubbish behind on the old instance.

    Only downside: It does not work on ActivityPub. Yet. It requires a special protocol, either Zot (Hubzilla) or Nomad ((streams)). ActivityPub-based projects don’t even understand nomadic identity. So when you move, you have to reconnect all your non-nomadic followers.

    ActivityPub implementation is being worked on, at least in theory. But the guy behind all this has, well, apparently not fully quit, but dramatically slowed down.


  • Separating identity from instance was invented in 2011, first implemented in 2012, and it has been stable since 2013. Zot protocol, Red, Red Matrix, nowadays known as Hubzilla. It is called nomadic identity.

    Separating identity from platform is a current WIP: Nomadic identity is to be introduced to ActivityPub and then made project-agnostic. The idea is to be able to clone your Lemmy account to Mastodon and Pixelfed and Mobilizon and Hubzilla and Funkwhale all the same. You won’t be able to use all features of everywhere everywhere (go ahead, try to edit a Hubzilla wiki or article or webpage on Lemmy, haha), but it’ll be the same identity. Still, it would require one account on each server on which you have an instance of your identity.

    But what you’re talking about is full, unlimited user write access to over tens of thousands of instances of over 100 projects. Like, visiting any one of these tens of thousands of servers and being able to do absolutely everything a locally registered user can do, no exceptions, right away.

    Like it or not, but this will require a local account. Even OpenWebAuth doesn’t grant you full local user write access, nor does it allow for drive-by, on-the-spot creation of full-blown local user accounts on any instance, regardless of registration of local user accounts is allowed or not. Like, you can’t just visit hub.netzgemeinde.eu and, within a split-second, have a local user account with the same login credentials as on lemy.lol and a nomadic clone of matcha_addict@lemy.lol so it’s the exact self-same Fediverse identity on Lemmy and Hubzilla.

    So it’s either this. Immediate drive-by nomadic cloning of your logged-in Fediverse to any instance that you visit for the first time.

    Or every Fediverse user must have a user account on every instance of every project out there, and their Fediverse identity must be nomadic everywhere and cloned to everywhere all the same.

    Like, you register an account on lemy.lol. Simultaneously, the same account with the self-same credentials will be created on all other Fediverse instances out there. Immediately afterwards, whatever will contain your identity on Lemmy will automatically be cloned to all these other instances of everything. That way, you can immediately use all instances of all projects of the Fediverse just the same.

    Or the Fediverse has only one central login server which controls the credentials for all instances of everything out there. You don’t register with lemy.lol, you register with this central behemoth. And all tens of thousands of Fediverse instances connect to this central server for login credentials. And, again, your identity with all your data will have to be cloned and mirrored all across the Fediverse.

    By the way, I’ve cloned Hubzilla and (streams) channels before. One channel from one server to one other server. This can take multiple minutes even with not so much content. Guess how long it’ll take to clone one identity container from one Lemmy instance to 20,000++ other instances out there.


  • Reminds me of when Aeris Irides tried to connect (streams) (2021’s umpteenth fork-of-a-fork of 2010’s Friendica, to dumb it down) and OpenSimulator (free, open-source server application for 3-D virtual worlds very similar to Second Life, est. 2007, interconnected 2008).

    Okay, this wasn’t to go as far as federating the OpenSim local chat or even only the OpenSim in-world instant messaging system via ActivityPub because both (streams) and OpenSim were to remain untouched. So you couldn’t post from OpenSim to Mastodon or vice versa.

    But the planned features included

    • tying together the creation of channels on (streams) and the creation of avatars in OpenSim
    • forwarding notifications from (streams) to OpenSim as a message
    • syncing the avatar profile picture in OpenSim with that on (streams) bidirectionally
    • automatically uploading snapshots taken in OpenSim to the (streams) file space and generating image-only posts

    Nothing came out of this, though. The HoloNeon (streams) instance is gone the HoloNeon grid is gone, and Aeris has moved to another OpenSim grid.

    So neither the idea of interweaving the Metaverse with the Fediverse is new, nor is the free, open, decentralised Metaverse.






  • It’s basically like a Hubzilla channel which, in turn, is somewhat like a Friendica account. Which, again, is very vagely like a Mastodon account.

    To my best knowledge, you can’t follow individual accounts outside the Threadiverse on Lemmy.

    In addition, (streams) has recently switched to decentralised IDs as per FEP-ef61. This could be the reason why Lemmy can’t find my (streams) channels, but it can find my Hubzilla channels: It doesn’t understand DIDs.



  • Here’s some stuff that I’d meme about:

    • Mastodon users thinking the Fediverse is only Mastodon
    • Lemmy users thinking the Threadiverse is only Lemmy
    • Mastodon users thinking the Fediverse started with Mastodon
    • Mastodon being ridiculously underpowered in comparison to just about everything else, particularly Hubzilla and (streams)
    • Mastodon users wishing Mastodon (or, better yet, “the Fediverse”) had certain features which are readily available just about everywhere outside of Mastodon
    • Mobile apps built against only Mastodon
    • Fediverse tools built against only Mastodon
    • Pleroma being lightweight
    • Mastodon’s culture which Mastodon users are trying to force upon the rest of the Fediverse
    • Forkey antics such as “Speak as cat”
    • Forkeys in general
    • Forkeys inspired by Blåhaj vs Mastodon’s mastodon plushie
    • Mastodon users still uploading videos to YouTube and not to PeerTube
    • Hubzilla’s UI
    • Sharkey’s infamously bad Mastodon API implementation
    • Friendica federating with everything, especially juxtaposed with some Mastodon users not wanting to federate with anything that isn’t vanilla Mastodon
    • Hubzilla’s ability to host Web pages
    • Nomadic identity
    • Bluesky’s AT protocol seeming like a cheap knock-off of the Zot and Nomad protocols in parts
    • Self-proclaimed Fediverse experts who actually barely know anything about Mastodon and don’t know anything about the rest of the Fediverse
    • Character limits
    • Threads perhaps wanting to EEE the Fediverse vs Mastodon actively trying to EEE the Fediverse right now
    • Mastodon’s poster-side content warnings set in stone in what they want to be the Fediverse culture vs Friendica’s, Hubzilla’s, (streams)’ and Forte’s automated, reader-side content warnings which have been around for longer
    • Generally, the Fediverse being older than Mastodon
    • Lemmy only barely federating with everything else
    • /kbin essentially being dead
    • Permissions on Hubzilla and (streams)
    • “Conversations” on Mastodon vs conversations on Friendica, Hubzilla and (streams)
    • Certain points in the Fediverse history

    Granted, I guess almost all of this will fly even over most c/Fediverse users’ heads due to how detached Lemmy is from the rest of the Fediverse. But I don’t really expect that many more Mastodon users to understand it, and those who do may be offended. Oh well.