stoat.chat but with federated identity (login) and a multi-instance client (one client unifying data from multiple backends).

Just those two features. Add those two things and you get viable distributed Discord.

@lina It sounds like that's the endgoal of fluxer.app effectively. They have plans for federation this year.
@lyokanthrope Identity or full? Full federation is a mess and overcomplicates everything. Identity federation is all you need to make the UX feel like a centralized system without actually being centralized.
@lina @lyokanthrope full but you should talk to them about it
@lyokanthrope @tbodt I'd be happy to throw in my 2c, where is that conversation happening?
@lina @lyokanthrope i haven't found much of a conversation actually past statements in blog posts https://blog.fluxer.app/how-i-built-fluxer-a-discord-like-chat-app/ (which is somehow not linked from the main page that i can find). maybe there's a conversation in the fluxer hq fluxer server linked from the main page but i haven't been able to create an account yet due to a disturbing quantity of bugs in the signup screen
How I built Fluxer, a Discord-like chat app

Fluxer is a free and open source instant messaging and VoIP platform built for friends, groups, and communities.

Fluxer Blog
@lina @lyokanthrope ah i made it onto the server. seems like most of my problems creating an account are just the fact that the backend is failing to scale. but that is, at least, seemingly the right place to talk about it

@lina

what is identity federation?

@synthfi Your instance holds your identity that you use to log into other instances seamlessly (so you can participate in their spaces but it does not require your instance to itself become a part of that space).

"Log in with Google", but automatic.

@lyokanthrope @lina im a lil sus if it wasnt there from the beginning, i feel it can too easily be used as a carrot on a stick. Federation can be an issue if they don't start with it in mind.
@sammypanda @lina i don't know the full details of it other than the dev has stated it's being built with it in mind, but it's not quite there yet. the client already supports connecting to different instances, at the very least.

@lyokanthrope @lina ah i see, well that's good, it must be quite new

i was snooping and they already have "fluxer premium", i mean i know they don't have like a marketing dept. and are looking for a way to fund it, but the "premium" and "pro" thing and attaching some of the arbitrary limits that discord nitro had is a lil concerning. Ultimately though, I do think even if it has a Nitro-like issue, it'll still cook Discord as a solution if the dev follows through

@lina as long as it looks at however Bluesky handled relays and backend and does the opposite.

@be_far Bluesky/Fedi is a completely different problem. These are public interaction platforms, that's how you end up with "good" federation but jank/discoverability issues (fedi) vs. "bad" federation but a better experience (bsky).

Discord doesn't have that problem. You simply don't need content federation at all. You just need to solve the "having to sign up in different servers" problem and identity federation solves that.

@lina I see. The one UX hole in this would be that to join your friend’s space that was created on another hosting, you have to sign in again. (The Gitlab problem.)

Unless you’re storing your token client side and the app handles all the authentications with additional data sources. But then how do your different clients know what spaces you’re in? There would need to be some state that is updated and passed back to the identity server.

@be_far @lina I assume it might be more like Matrix, where your "home" server is responsible for your identity *and* your configuration? (Or sort of like connecting to an IRC bouncer.)

At least that's my understanding of identity federation, i.e. many identity/account servers but you still live on a specific one – not necessarily "my identity is based on my id_ecdsa.key".

@be_far @grawity Yes, that's the idea. Your home server is your identity root and knows where you have logged in with that identity.

The home server could also proxy to other servers, coalesce notifications, cache, etc. This is not federation, it's just more like an IRC bouncer as you say. It would be driven by practical needs of mobile clients etc. But the remote servers are still the sole source of truth for their spaces, handle all space moderation, etc.

You'd still want some sort of recovery/backup/portability system so that if your home server goes away you can say "wait, I'm this identity" to servers you were in and recover. There's various ways this could work, for example simply using an email, or a backed up private key. But this (with the complexities it brings to UX) would be a special case. It should be *possible* to survive a home server failure and not lose all your remote accounts, but this mechanism shouldn't be what's needed for normal login.

@lina Nah, I'm good with XMPP and Matrix (also with Telegram).
@jimedrand @lina Maybe, but most people aren't and we are looking for accessible alternatives. I use Matrix with a friends/family group. I would *not* want to support it for the 600+ users of my photography discord.
@lina I am bullish on GNAP for identity anywhere stuff - builds on OIDC which I'm a bit of a fannboy over

@lina Not having to have a gazillion damn accounts would be the biggest free software social media step forward.

There are ways to do it. But I haven’t seen nearly as much will:(

@lina
Thisthisthisthis, that's all I've wanted! The same thing but credibly decentralize it.
they are looking into using polyproto for federation

@gabboman I don't think that's the right call. Content federation makes sense for stuff like Fedi where communications are public and it's supposed to be "one huge public space", but it doesn't make sense for something Discord-shaped where you have private "servers".

Content federation is really hard to get right without running into UX/performance/jank issues, and should not be used where not needed.

yeah, hence polyproto.
still, I had the idea to make "a federatred discord killer". But I feel like the task is too big. Even if i think i could. still too big

@gabboman Isn't that federated messaging? "polyproto is a federated identity and message exchange protocol".

Unless you only use it for identity I guess?