The rise (and future fall) of Discord (2024)

65 points by hackguy a day ago on lobsters | 40 comments

icefox | a day ago

This, a thousand times this. The protocol isn't really the hard problem. We have protocols, and are vigorously inventing new ones all the time. IRCv3, XMPP, polyproto, etc. HTTPS does like 80% of the hardest parts of a chat protocol. The hard part is the client and the server integration. It's just a lot easier for programmers to talk about protocols and servers than about UX and community building.

You wanna replace Discord, make a desktop and mobile client as good as Discord, and then make a stock server config using Prosody or something like it where you can just install it and start it up and it mostly just works.

Cloudef | a day ago

The client doesn't really matter. It's essentially chicken egg problem, people go where the other people go, even if the client is awful. (Discord, Whatsapp, etc..)

csomar | 23 hours ago

I disagree. The client can attract people, and this starts a positive feedback loop. I worked for a company that used Discord instead of Slack for internal communication. On my first day, this seemed like a really weird decision. But a couple weeks into the workflow and meetings; oh my god, what a relief from Slack that was.

icefox | 13 hours ago

I dare you to make a free XMPP account somewhere, go to https://xmpp.org/getting-started/, try any three desktop clients and think about switching from Discord to XMPP.

As awful as the Discord client is in terms of performance, memory usage, obscure options, etc, it has one great virtue: It works. In my setup, it almost always works, with very little effort put in. Chat works. Voice works. Pasting images into a text box works. Deleting messages works. Joining a server works. Synchronizing state across different clients works. And so on.

My experience is that these are never things you can rely on in XMPP or Matrix. You can make them work, but they hella don't work out of the box.

gerikson | 21 hours ago

What’s wrong with the clients for WhatsApp and Discord?

heavyrain266 | 18 hours ago

Discord client is awfully unoptimised. Even in the browser it uses 2-3gb ram if you’re simply sending and receiving text messages. Recent updates on iOS started reporting microphone in use when app is active even if I never granted access. Sometimes when it detects VPN or Cloudflare WARP then you cannot login because the client tries to open localhost WebSocket connection and shows errors…

singpolyma | 13 hours ago

This is exactly what I'm spending my time doing. Hopefully it is the right direction.

icefox | 12 hours ago

Ooh, can you tell me more? I'm curious.

singpolyma | 12 hours ago

Sure, I (and some others) am working on for example https://borogove.dev an SDK to make building first-class chat apps easier by handling the non-UX parts for you. Then I'm also using this SDK to build eg https://app.cheogram.com and https://git.sr.ht/~singpolyma/cheogram-aapl -- web and ios/apple apps with solid UX for certain use cases (UX is more Facebook Messengerish than Discordish in these) while also collaborating with Snikket project on their "a stock server config using Prosody or something like it where you can just install it and start it up and it mostly just works". Borogove (and every app based on the SDK) integrates very explicitly with this server distribution.

I've also been working for some time on https://git.sr.ht/~singpolyma/cheogram-android/ with a focus on features that a community app will need (moderations tools etc) and server side modules to go with it.

So, wait, didn't I say I'm working on "this" in the context of a thread about a solid Discord-style mobile and desktop client? Yes, for various reasons the Facebook Messenger style is where I'm starting but I hope to still make these "as good as" apps with a solid SDK base, and then the step to a version of the app that rearranges the UX for a community oriented workflow and all the server features needed for that becomes an incremental step in the journey as well and definitely my goal.

This isn't going to be ready tomorrow. With a small team this kind of lift may take quite awhile and I'm sure I'll die with people still saying online "interesting but not quite good enough" but I really believe we have a shot to make something that meets the needs of at least some people for community hosting and related efforts.

icefox | 11 hours ago

Awesome work. You give me hope. :)

[OP] hackguy | a day ago

Submitting this because I feel like I see numerous posts advocating for people to leave Discord, without considering what Discord is or what it provides. The post generally mirrors my opinions, especially regarding supposed alternatives.

Corbin | a day ago

Thanks for sharing this! There's three things I want to point out. First, the author seems to rely heavily on the assumption that self-hosting is infeasible. My first recommendation for replacing Discord's voice chat is Mumble, about which they only say, outside of the section on alternatives:

I'm technically inclined enough to be able to set up my own Mumble server if I really needed to.

Given their age, I'm going to presume that they don't have the spare cash to purchase a hosted Mumble account from any of the reputable providers out there. That's okay, but it's something to be aware of: if you're not paying Discord cash, what are you paying them? Instead of Mumble, I could also talk about XMPP, which they don't mention at all.

Second, I'm paranoid. Discord proudly has trillions of messages in a database. Discord's own privacy policy admits that Discord may use your messages for advertising purposes, including working with third-party advertisers, and fulfills law-enforcement requests; from their 2024 H1 report, they fulfill about 85% of requests and they have a request portal and API to make it easy. We don't have to let corporations be aware of everything that happens in our personal lives.

Third, Discord isn't inclusive. I am permanently banned from Discord, with no reason given, immediately upon signing up for Discord. This apparently is a common occurrence for anybody who doesn't have a standard computer configuration; to be fair, I'm not exactly running Ubuntu. I've been told by many users (neither you nor the author) that I ought to break Discord's ToS and sign up again anyway with a new email account; this seems to me to be a normalization of deviance that will eventually end in disaster.

I don't have to provide an alternative to drinking lead acetate. I don't see why I have to provide alternatives to Discord either.

ecksdee | a day ago

I've been api banned from Discord too using standard Ubuntu and Fedora at one point they really didn't like Linux clients at all

nemin | a day ago

Your issues are all very valid, but for most people these are bearable risks, however, the way Discord captured the market and how its eventual death will cause very widespread harm are a yet unmitigated disaster in waiting.

First, the author seems to rely heavily on the assumption that self-hosting is infeasible.

The problem with self-hosting is threefold (assuming a gamer or just in general not-too-technical user):

  1. The barrier to entry for Discord is infinitely lower. You install a fancy app, log in, and you have a limitless amount of communities available to you and/or you can make your own in like 5 clicks. Assuming you don't idly click around, the entire process is down in 10-15 clicks tops, no technical knowledge needed.
  2. Because Discord is free*, the prospect of having to either pay for hosting or face the burden of maintenance yourself is not something the average person will want to face. Hell, even established, dedicated communities might choose to not be assed and just use the out of the box solution.
  3. Discord is currently the main benefactor of societal inertia. It's like Skype was back in the early-2010s. Everyone used it until suddenly practically nobody did. Discord executed an incredibly aggressive ad campaign, that put it as sole dominator of the market. As the post points it out, right now it has zero competitors, because neither Fedi, Forums, nor IRC quite cover what it provides. Just convincing enough people to kickstart a community (which is then not connected to others like with Discord) is a huge task.

I don't see why I have to provide alternatives to Discord either.

The reason why one should ponder an alternative is because Discord proved it's a kind of platform people very much vibe with (despite glaring flaws) and when the beast falls, there should be something to migrate to. If these hypothetical new platforms cannot provide a similar experience, then they have no chance to get any sort of traction, until Discord kicks the bucket.

wrl | a day ago

Anybody tried Stoat (formerly Revolt)? I poked at it a few years back when Discord briefly banned me for a nebulous TOS violation (they refused to elaborate over email and then silently reinstated my account a week later), but it never "stuck".

The real difficulty of moving to a new chat platform is that people basically have to bring their entire social graph with them. Otherwise there's nobody to talk to!

abnercoimbre | a day ago

Yep, our community moved to Revolt. (We still call it that until the Stoat rebranding feels final.)

We took a hit on UX, which we had to document, but it's the closest thing you'll get to feeling like it's Discord. So far so good.

FRIGN | a day ago

One bad effect Discord had on the internet was that it is an excuse for people not to write proper documentation. Instead, people were directed at 'the' discord channel and tasked to collect information on their own, which is highly inefficient. I can imagine that a lot of good software written and projects realised in the last 10 years will greatly suffer from this when Discord ceases to exist or closes down. If that's too big to imagine, remember what happened with Google Groups.

gerikson | 14 hours ago

To be fair, this was sometimes the case with IRC as well, at least for some projects.

lonjil | 11 hours ago

On IRC it could be even worse due to some channels having rules against logging. Of course I understand that people don't want their chatting recorded for eternity, but when the only way to get help is on an IRC chat and you can't even scan the backlog for people who've had similar problems, that's pretty annoying.

ajessejiryudavis | a day ago

I agree with the author that Discord is essential for many communities, and that federated protocols haven't and probably won't match it. It's sad that the author considers the enshittification of Discord inevitable. Can't we have nice things that last, as long as we pay for them instead of expecting them to be free?

Slack has a far simpler and more approachable UI, why doesn't it fill the same niche? Because Slack's free version is more hobbled than Discord's, I guess. Slack wants you to start paying them almost immediately, whereas Discord's free version is a loss leader to boost adoption. That makes Discord's enshittification inevitable, though.

This endless cycle is pointless! We keep joining underpriced platforms, and then fleeing them when they enshittify to make up the money they lost on their free version. Let's pay for things! I want to start a campaign like the one during WWII where Daffy Duck was proud to pay his taxes. I'm proud to pay for online services!

matthiasportzel | a day ago

Slack's free version is more hobbled than Discord's

The one reason Slack (and Zulip and forums) don’t compete with Discord is that they enforce one account per community. I can’t even describe how this makes Discord completely different to use. I’m in 100 communities. I’ll join a community and then mute new messages, meaning that I only notified of announcements that mention @everyone (new versions or security vulnerabilities). I signed up for a one day volunteer opportunity through Discord, and they’re using Slack for it (since not everyone is on Discord, fair) but it means I have to create a new Slack account. And then I have to unsubscribe from the welcome emails because I’ve actually been using Slack for years. Can you imagine if you had to create a new password for every IRC channel? (Or if your IRC client didn’t support multiple instances.) Or if every time you wanted to follow someone on a different mastodon instance you had to create a new account on that instance and then check that timeline instead. I check the Zig Zulip every day because there’s enough value for me to do that, but the Linebender (linebender.org) Zulip has no way of piggy-backing off of that. The Linebender Zulip has to provide enough value for me to create a new Zulip account with a new password and unsubscribe from the welcome emails, and then bookmark and regularly navigate to the Linebender Zulip, and they don’t, so I check the Linebender Zulip every six months.

Of course, there are alternatives to Discord that get this. WhatsApp rolled out a “communities” feature in response to Discord’s popularity. But it doesn’t have good desktop support and ties your account to your phone number.

Honestly IRC comes the closest to replacing Discord for me, but it’s completely unusable on mobile. (I need to set up The Lounge, I think it makes the mobile experience bearable.) And as mentioned in the OP, doesn’t support communities separate from channels, and doesn’t support voice or images.

Discord kind of solves the “Walmart of social interaction” problem by skewing young (gen Alpha, Gen Z). So maybe I should be glad people outside its user base don’t understand it. But it’s still weird that there are functionally no alternatives. And the point in the OP which I absolutely agree with is that we need alternatives.

ajessejiryudavis | a day ago

Yeah, it's a huge problem that Slack starts me with a fresh account, complete with nag emails and bad UI defaults, for every community I join. I've filed a half-dozen tickets about this and gotten polite responses but no action.

e12e | a day ago

Sounds like matrix would be an alternative?

gerikson | a day ago

Author of submitted post points out several issues with Matrix in regards to competing with Discord.

mtset | a day ago

Can't we have nice things that last, as long as we pay for them instead of expecting them to be free?

It's never been this way; if you pay, they want you to pay more. If they find your upper limit, they'll want to find other sources of revenue.

Think about it this way: if a free-to-use service can make X from ads, and a paid service can make Y from subscribers, how do you justify yourself to investors if you're not making X+Y?

ajessejiryudavis | a day ago

By that logic all paid services would also have ads, and that is definitely not the case. Ad-free services are more valuable to users, who are therefore willing to pay enough to offset the lost ad revenue. This is a stable long-term arrangement. It's the business model for every service I love.

Qyriad | a day ago

Really this isn't specific to paying. If they get any value out of you, they will find a way to get more, and die trying forever (or more rarely, die resisting).

geocar | 20 hours ago

If an exec says they can make X new money for the business, but the exec in charge of Y doesn't hit targets because "people are fine with the free version", Y is going to be unhappy. The CEO needs to believe X and Y are truly additive (perhaps with enough differentiation), so the solution I think is to simply never pay to avoid ads.

That puts an absolute limit on channel revenue at %-of-value, instead of incentivising channels to try to extract their own value (in terms of an "ad-free version"), which as you point out is always going to be X+Y.

gerikson | a day ago

I too want sustainable infrastructure. But I am pretty sure that even if Discord managed to find enough paying subscribers to cover their costs, it would be far less than if they went the "standard" route for monetization - ad serving, and data mining for ad placement. IF nothing else, the current VC backers would insist on the maximum revenue extraction to cover their investment.

sakurina | a day ago

This is, IMO, the biggest difference between IRC and Discord: Discord focuses on communities. On IRC, you joined a single channel, and like sure, your community could have multiple channels for different topics, but that always had so much friction, so not everybody was in every channel or even aware of the other channels. In Discord you join the entire community (“guild”, “server”, whatever). And sure, there’s probably channels you don’t care about, but it’s so much easier to be involved in the community as a whole, rather than just the topic of it.

I'm surprised more people don't push back on this. The great thing about IRC was that it scaled nicely to small use cases. I spent most of my youth hanging out in about 3 channels, and plenty of clients existed to make that use case delightful. Because we still had real websites back then you could get information from, there was no expectation that someone who was primarily interested in "consuming" a project would join that project's community unless you were really into it.

When every Discord server has several dozen channels, but I don't have the mental bandwidth (or let's be honest, the desire) to engage with more than 5 of them across all the servers I am in, the Discord experience falls apart. The UI has to be designed to make interacting with multiple servers with lots of channels manageable because everyone is increasingly pressured to join as many servers as possible, but it presents them all as equal peers. At the very least, I think Discord should offer some hierarchical level of control to users to split the parts of the app you actually care about from the background hum of communities you occasionally need to refer to, but never wanted to join in the first place.

smlckz | a day ago

they could never hope to compete with it.

Protocols and applications are as incomparable as constitutions and regimes in power.

A replication of Discord's design is certainly possible. However, protocol designs need to apply certain amount of foresight.. Social experience design is an interesting avenue to consider.


Here's a small sketch of the problem domain, insofar I have understood and thought out:

  • A person may have one or more profiles they might use to interact with others on the internet, each profile tailored to different needs, personas, interests etc.
  • "Simple" "groups" are made out of a collection of profiles, broadcasting messages, everyone having equal rights.
  • Proper groups with more complex topology, ownership and moderation rights, with stratification, delegation, inheritance, and dispute resolution regarding power: how much of this needs to be handled at the protocol level.. Nesting of such proper groups.. interoperability between groups within same community adhering to different power structures and mechanisms. (Whether sufficient replication of human organization lead to undecidability..)
  • Spectrum of immediacy and synchronicity: live voice/video conferencing, instant messaging, long-form thoughtful discussion. Nesting or flattening of discussion threads. How about allowing the messages/posts form a DAG, instead of just a list or tree.
  • And so on. Do let me know what I've missed.

kwas | a day ago

Do let me know what I've missed.

Something very Discord-specific: one can bring reaction "emoji" / stickers across namespaces (discord calls them 'servers' in documentation, and 'guilds' internally), in a way that makes the source not visible to the reading audience. The source could get removed at any time. That adds additional state propagation fun.

ecksdee | a day ago

Wouldn't it be best to migrate to forums and allow users to login with their discord accounts?

scraps | a day ago

Matrix, too, focuses on channels instead of communities.

I don’t know much about the alternatives to Matrix, the self-hostable ones like Rocket or Zulip. They’re not federated so they’re more like “self hostable Slack” than “federated Discord”, and “community platform” is not their primary goal.

I'm struggling to square these two complaints. Matrix has individual servers so I'm not sure how a self-hosted homeserver is not a focus on community.

With that said, I manage a small Discord server of some friends and I spun up a Matrix instance and the experience was pretty lackluster. A few people tried it out but I apparently picked the wrong server implementation (Dendrite) so there were some quirks about which clients and which client features worked. Federating to other servers is I suppose interesting but if you actually do it, the federation protocol becomes the entirety of your resource consumption and you start getting spammed by people from other instances. I suppose "federate very selectively" helps but once I figured out that Dendrite is abandonware I was sufficiently bored enough that trying out Synapse didn't appeal to me.

Just a nitpick: the equivalent of a Discord "server" in Matrix is a Space because both are groups of channels/room. Matrix's home servers in theory do not matter to end users.

scraps | 12 hours ago

Matrix's home servers in theory do not matter to end users.

Isn't "It matters who hosts me" the entire value proposition of federation?

lonjil | 11 hours ago

In theory, channels aren't hosted by any server on Matrix, because channels are basically massive block chains that get synced between servers.

scraps | 10 hours ago

sure, that's true, I just think that's orthogonal to the question at hand; I'm just not asking about the theory of the protocol, I'm asking about the value proposition of the product.

I think the core value proposition of Matrix is the data sovereignty angle, that's why if you look up who the big adopters are, the adopters of note are governments and militaries. Obviously there are other groups that use Matrix; I'm not trying to suggest they are the only groups that use Matrix, but that adoption by these groups is a thing that differentiates Matrix from the alternatives. I think the choice of homeserver provider does matter to end users.

I've also heard the advice "Don't federate to matrix.org" because of the spam and load problem, so I'll probably go that route next time around, but "only federate to other homeservers based on a manually-curated allow-list" strikes me as a worrying signal.

You're right. I meant it doesn't matter day-to-day, as it's a governance thing and doesn't significantly affect what content is viewable or discoverable.

sjamaan | 18 hours ago

I'm struggling to square these two complaints. Matrix has individual servers so I'm not sure how a self-hosted homeserver is not a focus on community.

I think the author sees it as a problem that with Matrix, you're not automatically joining all chats in a community when you join it. And there's not even an easy way to find all chats in a given community. With Discord you join a "server" and instantly have all chats available, and auto-join any new ones that are created. Then you have to mute those you're not interested in. It's basically opt-out vs opt-in, which certainly is a qualitative difference in experience.

I personally don't really like this model (it's too spammy), but I can see how this makes community building easier - people who join a community don't get left out of a given chat by accident. It's like how when you join an old style BB forum, normally you get to see all boards, even those you don't care about.

alexandria | a day ago

Comment removed by author

jfloren | a day ago

Comment removed by moderator pushcx: Fine to explain what you don't like about the Discord UI, but don't include drive-by insults.