Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Discord vs. IRC Rough Notes (push.cx)
48 points by todsacerdoti on July 12, 2024 | hide | past | favorite | 48 comments


IRC is heavily session-oriented and works well with a persistent connection. However, when you start using multiple devices, such as PCs and mobiles, you encounter issues with fragmentation. It’s fine if you're only using a PC, but mixing multiple PCs and mobiles can quickly become chaotic. The lack of push notifications can also drain your mobile battery.

The biggest complaint I have with IRC is its assumption of synchronous communication. If you're not connected, you won't get a backlog. People suggest setting up a persistent proxy, but this feels like a quirky workaround that doesn't fully resolve the issue. Plus, for it to be effective, everyone needs to be configured that way, which isn't practical.

Additionally, any media other than text needs to be transferred off-band, through DCC or other file transfers.

While Discord isn't perfect, it eliminates many of the issues I experience with IRC. Ultimately, it depends on your use case, but IRC's assumptions don't work for me or my peers. That's my two cents.


> The biggest complaint I have with IRC is its assumption of synchronous communication.

But that's like complaining that the assumption of water is that it is wet.

_Chat_ by definition is right here right now. It is not mail, pager, bulletin board, forum, or... water.

And indeed we have "persistent proxies" but we call them bouncers[1] and they have plugins and stuff all figured out in the _thirty plus years_ IRC has been around.

IRC does one thing and does it well enough to be older than all the social media, and to outlive it too.

Making your own bot[2] is easy, and "persistence" can also be done by having... wait for it... public logs[3]!

And yeah I use Discord too, it's fine while it lasts. On IRC networks since... 1997, and still here and most useful.

1: https://wiki.znc.in/ZNC 2: https://github.com/drbig/catabot 3: https://github.com/drbig/chatlogger


That's why I said, "Ultimately, it depends on your use case, but IRC's assumptions don't work for me or my peers." If it works for you, great. It doesn't for me. (Believe me, I used to use it a lot back then.)

For one thing, I chat with people not just to chat, but to communicate effectively. IRC simply doesn't provide the functionality that aligns with my use cases. It doesn't meet the expectations I have for such systems right out of the box.

Creating and maintaining bots or workarounds just to communicate effectively isn't high on my list of priorities, given everything else I have to do.


Fair enough.

So less about chat but more about async-first exchange. Sounds like e-mail?


Right, and another factor is that I often have to communicate with people in different time zones, sometimes with a 16-17 hour difference. It's nice to have that seamless transition between synchronous and asynchronous communication.


Overall a very fair post. A few notes:

> mobile client sends a notification by default for any activity

This is a setting on a per-server basis, “Default Notification Settings” although it doesn’t effect “Highlight notifications” or poll notifications if the user has participated in a poll, so it leaves something to be desired.

> no active ruby bot library

I’ve used Discord.rb, and it may not meet the author’s definition of active, but it does exist.

> complicated subscription structure with unclear pricing (but probably <$20/m)

Discord is free. “Boosting” or paying at a server level is completely voluntary and unlocks mostly cosmetic features.

> mobile app is noticeably slower at everything

This one I don’t get. On my 5-year-old iPhone the Discord mobile app is pretty snappy. “slower” than what?


I agree with all of your points here. I also noticed that the iOS notifications got an "upgrade" recently with photo previews and user avatar icons now being present in the notifications.

On the note of mobile, I do know plenty of people I talk to on Discord with Android devices dislike the native Android to React Native update which slowed down Discord to the point where people risk bans by modding the older native Android client to continue working with modern Android.


The notes mention "boosting" because of the interest in Discord's 1080p streaming.

As for slower, I was comparing to than the web app and mostly concerned by how slow it is to change channels and servers, coming from the context of a TUI IRC client where changing is <20ms.


The Discord app is very sluggish on lower end devices. By comparison, all IRC clients I've used were very snappy.


You're running the latest version of the app too, right?


I also used discord.rb, maybe it’s “not active” cause it’s not broken ;)


Funny that voice chat doesn’t even mentioned yet that’s what made Discord popular. All the other alternatives for group voice for gaming back then needed (still does) a dedicated server. Mumble, TeamSpeak, Ventrilo etc. Discord “bundled” the whole experience into one and that’s why it became a fortnight victory.


I think it's just that from the author's point of view, for his specific use-case, voice chat isn't a compelling feature in Discord.


He specifically lists one of the good features of Discord as

> desktop streaming (1080p)

> I want to resume streaming Lobsters coding + office hours (esp for queries)

If you are sharing your screen, you are also voice chatting.


This is a great point and looking back, is definitely the reason me and a huge number of friends made the switch on launch. Never underestimate free+cloud hosted solutions.


One feature that seems (to me) to be highly desirable, yet Discord and every other service like it (that I'm aware of) lacks: the ability for moderators to select several messages in a given channel, and shunt them into a new thread, leaving a link to said thread in their place.

As I've never seen a service provide this ability, it could be that I'm mistaken, and that this wouldn't be as useful in practice as it seems in theory. But, theoretically, this would provide a nice middle ground between forums (and the pseudo-forum-channels Discord supports on Community Servers) and open, IRC-style general discussion. With this feature, users could casually discuss things as usual, but then move to a separate thread once a tangent becomes sufficiently lengthy/heated/etc.


Worse, I feel like Discord's threading feature feels incomplete without the ability to do this. It feels like it implies it can do this when you use the feature, that you'll be shoving associated replies into a thread, but it doesn't actually work that way and essentially fails at what I'd consider a basic requirement.

It would make more sense if it worked like Slack, but even then, you can't shove existing messages into a thread for some reason. There must be some absurd technical reason such a feature is impossible, or UX designers decided it was too complicated to design for some reason. There is no "multi-select" for messages at all in Discord, even to batch delete...


they had something like that but never went through with it


> a serious culture clash that prompts most of the UI problems

> Discord is oriented to mass-appeal to passive consumption of games, gossip, and memes

> Lobsters is about creating, learning, sharing experiences/expertise

This is not fair. There are plenty of learning oriented communities on Discord. I have run several, and they work very well.

I am not sure why the author didn't consider Matrix.


IRC leaking IP is the reason I never liked using IRC. The complaint about Discord being oriented towards games and memes is silly to me. I'm in Discord channels that have nothing to do with games.


I use The Lounge on a VPS to solve that problem. It's a good practice in opsec instead of giving up entirely and sending it all solely to Discord.

https://support.discord.com/hc/en-us/articles/12926016807575...

I can't escape Discord because of the network effect, but this recently rolled out in one of the servers I'm in and it can't even be turned off at the server level. Only at the individual level. Servers can also enforce phone verification. And at the end of the day, getting someone to click a link you control to see their IP is simple enough on any platform.


This just seems like a lot of work when the reason Discord won was ease of use.


For sure! You could use something like IRCCloud to achieve the same thing, but as a tinkerer I wanted a solution that lets me own my data and is easier to use than an IRC bouncer. And I can provision new accounts to friends/family.

But only my software dev friends took on that offer since Freenode/Libera is really the only reason to use IRC in 2024, and their channels are generally all programming-focused.


You can configure some IRC servers to mask all IPs by default, for instance the Ergo IRCv3 server does so automatically: https://github.com/ergochat/ergo/blob/master/docs/MANUAL.md#...


Cloaking should be opt out, not opt in. Because even if you go through the process of begging for a hostname cloak, there are many scenarios where the cloak is temporarily not applied (netsplits, or if NS lags and your identify happens after joining your channels) and oops the IP leaks. This is unacceptable. It should default to privacy.

The fact that server operators of many (all?) networks refuse to enable cloaking by default just shows that IRC has a very different culture than what modern users have come to expect.

In my mind there is no reason for cloaking to not be enabled other than "it's always been that way and I like seeing ISP hostnames when people join!".


Libera has cloaks by default now, as for nickserv lagging, use sasl, the tool built for this that explicitly completed before your connection to the server is finalized.


Sometimes I think we need a new kind of organization for these kinds of things.

On the one hand, for people to work on it a lot, they need to be paid. Otherwise, they will be paid to do something else. So that would seem to indicate we need a corporation.

On the other hand, for it not to fall prey to the unfortunate expansion-stagnation-collapse life cycle of social products, it would seem it needs to be steered for the benefit of the world and the users. A corporation really cannot do that: a corporation is motivated by the interests of the people owning it and the people working there. While these interests frequently coincide with the interests of the people using whatever the corporation sells, there are also frequent failures to coincide which, when we consider something that is effectively infrastructure or a public good, is a problem.

Maybe a workable solution requires two organizations: a non-profit that supervises a corporation.


Maybe we should have the government develop societal software. You know, outside of military applications.

There's basically three organizations worth talking about. Governments, Corporations, and non-profits. If Corporations and Non-profits are out, the remaining one to do something is Government.


Well, what if that's not how it really works, even for military applications? You know, a lot of the military software is made by private corporations. It's done under government supervision, but it's not made by a government "Department of Software". Consider, too, that the government doesn't generally build roads -- that would imply every state or the federal government would have some civilian equivalent to the Army Corps of Engineers. Generally, the government contracts out to specialized road building firms. The road building companies are better at building roads, better at fighting with the road building machine companies, and better at getting good raw materials than the government, while the government is more focused on the road being right in a bunch of ways -- being in the right place, having the right safety features (so the government doesn't have to deal with too many accidents), dovetailing with other roads made by other road companies -- and that is how things actually work out. There are, I think, pretty good reasons for that. What do you think?

This structure also shows up with non-profits. For example, a foundation wants a museum. They work with various specialized, for-profit companies to build the building, put in the art preservation system, put in the security system, &c. However, even though it would seem everything could happen with just companies, the truth is, the composition of their efforts that makes a museum would not make sense if it were animated solely by those companies pursuing profits -- it is only the beneficial purpose of the museum that brings their efforts together in that way.

This points to a consistent, repeatable composition of organizations as a solution; and it's not something so novel.

The government may be able to manage something like Postgres; but I suspect it is more like a museum: we need a certain kind of stakeholder in the governance of the organization that is simultaneously broader and more narrow than the government. For infrastructure software, social networks and similar things, we want, on the one hand, an international assortment of stakeholders -- and we also want stakeholders who have some kind of real connection to software.


We can change that though.

I think everyone agrees that Ghidra is pretty good for example. Ironically yes this is DoD project but surely it's possible to figure out how that team is setup and build out other software teams.


I'm not sure that I understand how we can change it from your reply, though; or what we could change.

Some things seem to be invariants here: people need to get paid (or they will do something else); corporations are a good way to organize people to get paid to do something, whereas government is not; corporations are not organized for the public benefit and have to be balanced out by some other institution for public goods, like roads and many others, where aligning incentives through the market is too difficult.

What do you disagree with, in all that?

Now from the example you cite, and so many others, one direction we might take is that actually DoD projects are what works and so we just need to do more of them. This actually worked okay for the early history of the internet and we got quite a few decentralized, trustworthy communication mechanisms as a result -- the core internet protocols, email, the web. That seems to be tied to a certain era, though; so that's why I'm looking for alternatives. One option would be to do something like a museum: a non-profit that takes money from the public (sometimes as tickets and sometimes as grants) and then pays people (directly or through contractors) to accomplish something in the public good.


> That seems to be tied to a certain era, though;

https://github.com/NationalSecurityAgency/ghidra

I'm talking about modern software, Ghidra.

> What do you disagree with, in all that?

It seems like a balance has been achieved somewhere in the US Government. Maybe Ghidra was an accident but if it could happen once, we can analyze the team behind it, the circumstance and create new government organizations that follow it.

And it can then serve as the basis of a model for other public-good software.

A lot of video game reverse-engineerers now use Ghidra for video game analysis. Its a really good tool. I can imagine that the security / infosec / bug-hunting communities would also like a tool like Ghidra. So it sounds good for a net-positive effect for the public good.

Its just kind of unexpected, that's all. But its still US Government software that has a good niche.

------------

I've seen some other analysis like Argonne National Labs GREET (https://greet.anl.gov/), which helps analyze different supply-chain models for how much greenhouse gasses exist.

And thanks to GREET, there are large scale analysis into what kind of EVs contribute to more greenhouse-gas emissions. A subject that requires deep analysis of the various chemistries that go into different EVs: NCA vs LiFePo4 vs NCM etc. etc.. As well as hypothetical future chemistries like Silicon or Sodium batteries. So we are now better able to focus on better solutions moving forward.

GREET sucks as a UI but the features are clearly good.

--------

Whenever I think of US Government software, these are the examples that come up. I think its... fine. The Government should make more tools for the benefit of society. GREET isn't as well written as Ghidra but its still software that matches the profile of public good that you and I are talking about.


There was a time when the DoD supported and led the development of core internet protocols that resulted in open systems we all use: Email, TCP/IP, the web, &c. That era has passed, though. Do I have the facts wrong there?

I don't think Ghidra or GREET are even relevant -- what makes you include them here? They are cases where the government has produced some open source that is useful to developers -- even good open source "...sucks as a UI but the features are clearly good" -- but that's not really a problem we need to solve. There is plenty of good open source for developers.

For "societal software", as you put it, it's actually unworkable if it "...sucks as a UI but the features are clearly good"; it takes considerable design and usability resources to get the UI to be nice, and that's why the Discord vs IRC conversation comes. On the one hand, we have a company producing a product that developers actually want to use for chat, and on the other hand we have an open system that is increasingly falling behind.


Ghidra is doing a lot better than commercial software it seems, only IDA seems to be keeping up with it?

Your point about "TCP/IP" and other historical software was that "it was a long time ago". I'm trying to point out that modern projects available today show that the Government is still an entity that can create good software that absolutely does crush other commercial works and/or serves niches that society needs that commerical failed to serve.

GREET is the example of societal software that must be created and is part of the solution to future climate change... in its small way. There needs to be programs that track emissions and analyzes supply chains and different products. I don't think any commercial (or open source) program could have done similar to GREET, its something that only a well-regarded lab (Argonne National Labs) can release and immediately gain recognition as a well-regarded program that makes decent estimates.

There was a time when people (ex: TCP/IP days) thought that government software was too powerful and that it'd wreck the free market just by participating. The reason the Government (IMO anyway) held back on software design is to protect the free market, but its always been an entity that could deliver if we just had the will to ask the government to make something.

-----------

The issues you're bringing up seem to all be about how commercial needs fail to line up to societal needs. But its never really been the commercial world's goal to make society better... its instead the commercial world's goal to make money for itself (which when well regulated, can often lead to societal improvement).

For any program that directly needs to improve society (ex: reverse engineering / software security... and/or supply chain analysis for climate change planning), its 100% should be a government project and owned by the government.

> There is plenty of good open source for developers.

Open Source has a major funding problem.

If people are willing to improve society voluntarily, that's good. But we can't rely upon that for every bit of computer infrastructure we have. To get true benefits as a society, we need to actually pay people.


The initial post was regarding Lobsters' evaluation of two different chat softwares, which actually meant choosing not just different software, but also different protocols, different social networks and different business models. Why did they have to do this evaluation?

This has to do with an old problem we have long seen in open source: open source does a good job developing protocols and fundamental software, but good user experience is not a strength, in general. When we consider what chat software actually is, it's actually a mix of several things: it needs a protocol, it needs a social network and policies thereof, and it actually needs a lot of user experience.

The government has never delivered quality consumer software. By "societal software", it doesn't seem like you mean social networking software or other software intended to be used by consumers. The examples you're offering are not relevant.

You are correct that open source has a funding problem, but not all public benefit ventures do. Many museums are good examples of a public benefit venture that, while not organized the way an open source project is (the museum is not free), is also not organized the way a corporation or the government is.


> The government has never delivered quality consumer software.

Has never _tried_ to do so.

Think about the problem of social networks. The network itself is a public good and infrastructure. Moderators that don't make money must be funded to keep the discussion network relevant and safe. (Otherwise spam, porn, hacks, doxxing, etc. etc. can overrun a network like 4chan / 8chan). Volunteers can do some of the job but not all of the job.

The problem with commercial enterprises, like Facebook, is that they only care about keeping just enough moderators to sell advertisements. We can see the limit to the moderation ability, no commercial software will seemingly extend beyond what we see from Meta / Instagram / Twitter / Reddit offers us (ex: loose collections of moderators that are clearly insufficient at the task).

Open Source has no money for masses of moderators like the commercial enterprises.

That leaves Government, a system we honestly haven't tried yet. We know government _can_ make software, even good software. We also know that government can create enforcement regimes (see Police, FDA, etc. etc.). It seems like a reasonable match to me. But we would need the political will to get Congress to fund such a venture.


> That leaves Government...

Well, I think you are making a mistake, here. There are many other possible ways to organize non-profits besides the way open source is set up.


It certainly wouldn't solve all problems, but free open source software helps alleviate this considerably.


What does it alleviate? How does it alleviate it?

It seems like your reply not really with reference to what I said. What does free software do with regard to "...for people to work on it a lot, they need to be paid."?


Your point was that inevitably a company's interests will outweigh any other motivation. When this happens, and a platform starts going to shit, FOSS would enable users to either easily migrate to a new platform, or just fork the platform itself into something new.

(Not that type of free)


The problem is not just that a company's interests outweigh any other motivation -- it's that those interests are what lead to resources being allocated in the first place. FOSS doesn't address the problem because people don't get paid by FOSS.


Jabber is what it should be. However the clients then lacked for the features Jabber boasted.

This then caused it to sink in to the puddle of mud forming a living fossil as like of IRC.


> the not-so-pleasant bridge to Libera Chat.

That's gotta be one of the understatements of the year. Very complex set up, almost no useful "how to use" documentation, and numerous outages made me give up on it.

As for why there is no good open source ones, it seems simple but is complex. What is often summarised as "text chat" becomes a long list of requirements when you probe deeper. People want history, power efficient notifications, be able share stuff like pictures and PDF's and when you press they always want to talk, video chat (with a funky background please), and broadcast their desktops and cameras too. And stickers. Who can function without a personalised sticker pack? They want e2e encryption, no unencrypted messages stored on servers, rooms lots of people that implement all those features, and hey don't forget infinite chat history. Oh and public rooms, with no central server, and provision for bot automation (with an AI plugin to reduce support questions of course) but no spam please. They want hierarchies of users in those public rooms - admins, mods and regulars and newbies. They want to be able fork threads and subgroups. They want a web interface, and a app, and gateways to all the protocols they prefer using despite all the effort you put into this one. And being open source it must be a lightweight and easy to understand protocol, with trivial setup.

We've had three attempts - IRC, jabber and matrix. None are there, IRC least of all. But IRC is simple and mostly just works.


Discord is more or less just IRC in the browser ...


An airplane is more or less just a horse in the sky.


This site does some shadows on the links that makes them unreadable with dark mode extensions.


For reference, I see this: https://ibb.co/bRVBdr0


My stylesheet doesn't have a dark mode and is kludged out of the fairly popular tufte.css, so it's probably worth your while to report this text-shadow bug to the browser extension you're using to create a dark mode.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: