Discord in Early Talks With Bankers for Potential I.P.O.
-
I'm personally more interested in P2P protocols than federated, so that's the stuff I build in my spare time.
So instead of something like Lemmy or Matrix, I'd have something like BitTorrent or Tor, so nodes just add capacity instead of hosting specific content. You could configure your node(s) to pin specific content (e.g. for backups or latency), but your data would also be distributed to other peoples' computers.
This provides data redundancy, permanency of the service (no centralization whatsoever), and ease of scaling (every client could store and seed data), but comes with complexity. I think it's workable though.
-
Sadly Pidgin dropped oscar (aim protocol) support years ago because undeveloped and insecure. So either install a plugin or use the old clients.
On the up side, a complete understanding of the server protocol means new clients can be written.
-
gentlemen start your enshittification.
-
interesting; is revolt self hosted too or is it just purely a discord alternative? it looks almost identical from screenshots.
-
First thing they will do is put in some AI that can talk to people for you or something.
-
I didn't know Pidgin had dropped it, but yeah - the video I saw as well as the git page linked both reference the original client. Is Trillian still around? What about Adium?
-
Matrix is probably something worth looking at, at least from an intellectual standpoint, for you.
It uses shared message state and a DAG, plus some fancy perfect forward secrecy (using Signal's Double Ratchet algorithm), which is at least interesting.
There's also Tox (chat/protocol) if you want totally distributed chat.Personally, I really like distributed models from a theoretical standpoint; but for end-user applications they pose very difficult constraints, we live in a world with ⪅50% publicly routed IP for one, they fundamentally require immense data replication, latency in peer-finding, bandwidth constraints, and ultimately sub-par UX. I thought IPFS with a way to pay nodes to pin content was a really neat idea, but hasn't caught on, for example. Not to discourage you, if you think it's workable then have at it, but I think it at least explains the current state of things.
-
Yeah, I'll have to look into Matrix's design. I know some of the basics, but the devil is in the details.
we live in a world with ⪅50% publicly routed IP for one
STUN servers bring access up dramatically, and there's always TURN for the stragglers. Things seem to be getting better with more and more people getting IPv6. I still don't have it though, and I'm also behind CGNAT, so I know the pain.
But I don't think bandwidth is really a problem. You should use similar bandwidth to a centralized service, provided the application does appropriate caching and there's some form of cooperative querying to reduce wire transfer.
I'm following Iroh development (started as a faster replacement for IPFS), and this video was particularly instructive for reducing wire overhead (fancy bloom filter application). I'm trying to build something like Lemmy with it, and I'm interested to see if a similar approach could work for something like Discord.
But yeah, given how much I'm struggling with it certainly explains why it's not very popular. I could build my project as a centralized service in much less time because synchronizing between clients is very straightforward, and something I do every day at work. But we already have that, and the Fediverse just takes that idea and connects nodes together, so I wouldn't be adding anything. However, I think longer term, something like this (probably not my specific project) is going to be really important, and I think it'll be "fast enough."
pay nodes to pin content
Yeah, I don't think that's going to work, because you'd have to pay a sufficient number of nodes such that one node losing interest won't screw you. And then you need some form of contract (smart contracts on a blockchain?) to ensure you are getting what you're paying for instead of just getting screwed by someone tossing the data and never telling you.
I'm trying to design my system such that everyone participates in some small way in supporting the network. If you're on a phone, you store a lot less than if you're on a PC, but more than if you're in a web browser. Maybe we could have a distributed fund for rewarding people for supplying more resources than necessary, idk, but I'm honestly not interested in the money part, I just want to build something cool that can't be taken down because someone got bought out.
-
Is there one very central, singular instance/server that everyone can join from, without causing performance issues (like if everyone on Lemmy was on the same instance)?
That's required for normies. Look, 90% of people won't ever move from reddit to lemmy because they'd have to CHOOSE an instance. It's not that the choice even matters TOO much. It's just the fact that there's a choice. It's a problem.
When Steve Jobs said Apple restricted your customizability and settings because users are dumb and don't know what they want, I always thought he was an arrogant dickhead. And he was an arrogant dickhead, but he was also right. Average users don't want choices, they want the OOTB experience to be as good as possible.
-
Somehow this post has negative down votes and I'm all for it.
-
Like IRC?
-
Well, it was a good run.
-
I always liked TeamSpeak, is that still around?
-
So, tell me about matrix and how to use its full basic potential…
-
I don't think Nostr can take on Discord. A big part of Discord is the voice chat channels, which, as far as I know, Nostr just isn't built for.
-
The trouble with relying on each community to self-host is that it's unlikely to ever make it to the masses that way. Self-hosting is a significant barrier.