254 comments

[ 2.8 ms ] story [ 40.9 ms ] thread
Maybe with all the age verification spyware around its time I finally went back to IRC chat.
Some never left. Notoriously, some bigtech companies have an internal IRC network for tech discussions because that's one communication system that you can rely on to stay up even during catastrophic outages.
That's exactly what my tech teams did during outages of other channels. Spin up an ircd and carry on.
Makes me wonder if moving away from discord back to IRC would be a fun move. But I think we'd miss mobile access and accounts on different devices maybe? Any thoughts?
IMO those are the main reasons IRC isn't still used. It's basically only usable on a desktop or always-stationary laptop, or with a bouncer which is obviously expensive to set up and doesn't provide a good user experience.
[flagged]
IRCv3 gives you all of that, and I'm working on an ircd that has builtin support for multi-device access & chat history (which covers mobile between the two --- there are improvements you can do on top of that, but those two are kind of the foundation).

I'm also extending it with support for Discord/Matrix/etc-esque communities (in a 100% standard-client-compatible way).

Goguma is an IRC client which runs on Linux Mobile, iOS and Android.
[flagged]
If you look at "old" internet: fidonet bitnet ftp fsp wais netnews whois++ gopher rime ... i mean irc is one of the only ones that is still used, and mostly as it was 35 years ago. Pretty impressive.
FTP is still used quite a bit. For what it’s useful for, nothing has come close to replacing it.
HTTPS has largely replaced it. Pretty much all files uploaded or downloaded from the internet is going to be done via HTTPS and not FTP.
SFTP? Don't confuse it with FTP or FTPS - SFTP is a different protocol which runs on top of SSH.
What do you mean, "for what it’s useful for"? For me, WebDAV has replaced FTP where SFTP hasn't.
Has that caught on? I last used it 15 years ago and it was great but I haven't seen it anywhere
Yeah. Windows, macOS, and major Linux and BSD desktop environments support it. Nemo (Cinnamon) and Dolphin (KDE) can open WebDAV URLs as directories. You can set up a server easily using Apache, including an FTP-style inbox directory. Here's my config: https://github.com/dbohdan/apache-2.4-webdav. I don't recommend nginx for WebDAV; Caddy has gained WebDAV support since I set this up, but I haven't tested it.
The main place I see FTP used is on modded video game consoles. 3DS, Switch, PS3, basically all of them get some FTP program early on so you don't need to move a flash drive or SD card back and forth anymore. On PCs and my phone I use sftp or rsync since ssh is pretty much everywhere and becomes very comfortable with a config file with aliases and keys set up.
HTTP is also still somewhat popular.

But, seriously, that got me curious. There are many protocols from that early era that are still with us today. NTP, DNS, SMTP, IMAP, BGP, SNMP, NFS, ICMP. If you allow the 1990's as counting as "old" we can add SSH and SSL, DHCP, LDAP.

I feel the need to be pedantic, but I do not mean it to be rude.

What we sometimes call SSL is not the same SSL as back then. That said, TLS was released in 1999, so it just barely makes the cut. :D

Telnet still very popular with embedded. SSH is not a spring chicken either.
Yeah, but the major upgrades for things like telnet and ftp were adding appropriate encryption layers and improved authentication to include things like certificates. IRC shoehorned those into the connections awkwardly but it's still not often mandatory and registration is painful.

Also usenet is still very popular but mostly used for file sharing.

I'm here looking for other telenet (not telnet) oldheads, finding nobody.
Actually, its just inertia and lack of reliable forum hosting, the actual "killer app" that replaced volatile and unarchivable chat content, but no one learned from it and people flocked to Discord, which is even more hostile to archiving/scanning chat history.
I am starting to wonder is archiving or scanning history even possible with how hostile internet has become. Especially when so many tech companies will scan and download same content countless times without single care of damage or cost the cause...

Just imagine hosting that history on your instance for users and then some vibecoder without care in his work starts scanning it automatically every 5 seconds just in case it might have changed...

> I am starting to wonder is archiving or scanning history even possible with how hostile internet has become.

Future generations are going to be looking at a historical black hole.

But as IRC has a social network component, it's more of a social thing than anything inherent to IRC.
There is still a niche community of people running Gopher servers. I wrote a small basic implementation of a Gopher server in Python before for fun once and it hosted a Gopher hole for a few years. I doubt even one person actually looked it at besides me, but the RFC is simple and can be implemented pretty fast.
I wonder if the LOC Gopher is still around; I used to use it as a "jumping off" point.
I started on the internet in 1991... used ftp, usenet, email, irc, telnet, gopher.

gopher is the one that seems really dead. ftp is still pretty common, usenet is still active (though maybe just for "Linux ISOs"), telnet lost its main use which was for remote shells and muds/moos but still use it from time to time for random devices that support it. IRC only had 400 or so active people on it at any given time. I haven't really used it in the last decade. The web destroyed gopher almost instantly.

IRC is dead to me, you can thank Andrew Lee (of Freenode infamy) for that one.
all of the Freenode staff just rebranded as Libera Chat, bought a new domain and continued on as usual.
if you look at the linked roadmap, most issues are from 2020/2021, with one from 2017, when Discord appeared.

So yeah, we are going to have the Dyson swarm before this is done.

Does it need to be "done"? You can already use IRCv3 on both a server and multiple clients right now.
An IRC client with an extension for image/video embeds and a voice chat (with video/screenshare support) would go far.
I know it is a different protocol, but doesn't Mumble provide this to some degree?
Many GUI IRC clients do image / video embedding, even 10 years ago. Voice chat / video / screenshare is probably not a good fit unless you run some kind of secondary infrastructure like Jitsi and make it look like it's part of the client. Doesn't seem like a great fit though.
Yeah it'd need to be some kind of secondary infrastructure - I don't see it being part of any official IRC spec any time soon. But it would absolutely make IRC more appealing to the "average" user.
I feel like this is completely missing the point of what IRC is.

I appreciate its text-only nature and would never want to see image/video embeds and/or voice chat in my client.

I agree. Part of the beauty is the limitations, the simplicity and transient nature of it.
Some of the actors that are listed on that page already implement many of the v3 features (Like https://www.irccloud.com), so it's not really something that will come with a big bang and we have to wait for a release, it's just that not all clients support it yet.
Does IRCv3 need new leadership to continue to drive it forward? Over at Parley/Ahoy (https://git.mills.io/prologic/parley https://git.mills.io/fastidious/ahoy) we've managed to create a federated decentralized IRC chat experience with a Discord/Slack-esque feel but true to both IRC / IRCv3 (Ahoy being a fully featured IRCv3 client).
parley and ahoy both look quite interesting! Retrofitting irc into a real federated protocol is cool. Also like the idea of picking up discords ui/ux. How did you manage to get avatars for ahoy? Is there a ircv3 protocol i missed?
Rather than claim a Discord-esque feel, you should point out the features you're referring to explicitly. Discord is infamous for its absolutely awful UX and hostility to open source ecosystem. I'm sure you're referring to neither of those aspects, but consider that those reading your reference might be entirely unfamiliar with the (presumably) positive aspects that you're actually imitating.
Discord killer chat features are:

Message History

Channel Discoverability

Attachments

Mobile

Anyone can start a server

Every chat product has these things?
IRC sure hasn't! Well, the IRC most people are using, anyway. You can work around these by using things like bouncers and third party HTTP hosts and assuming everyone else has a client that inlines media.

Multimedia transfer is still a practical impossibility, for better or for worse.

Mobile IRC works, sort of, if you don't mind spamming the channel every time you lose connectivity when you drive into a tunnel or when your phone goes to deep sleep. Again, you can set up a bouncer for that.

I welcome the new changes in IRCv3 and hope that one day soon all IRC users will be able to use the features everyone else has been using for fifteen years or so.

IRCCloud or a $5 VPS if you're willing to pay gets rid of the join/part spam
Add custom emojis and stickers to that.

Kind of baffles me that people still make chat apps without those.

...But one of these things is not like the others.

"Anyone can start a server" is only true when you're lying about what a "server" is. (Or redefining it to the point of usefulness.)

A Discord "server" is just a defined chat namespace. All the Discord chat "servers" live together on the same actual load-balanced VMs or whatever on the physical servers they run.

It's honestly the thing that's annoyed me most about Discord from the very beginning, long before they introduced the ads and the microtransactions and the mandatory doxxing.

Quick, lets restart the argument about "self-hosted"!
How many people host their own IRC servers as opposed to using a public instance?
At least 4 people I know. It's super easy to put up an instance of ergo now. I was using one for LAN communication during internet outages for a while.
> Discord is infamous for its absolutely awful UX

It's laden with ads and microtransactions, but if you remove those (shady scripts abound for those who don't want to do it themselves), the UX is one of the best on the market. There's a reason so many alternative chat clients are basically Discord clones without the microtransactions (for now).

Its open source hostility doesn't really change how well it works. You can copy the good parts without the awful parts, like so many people and companies are already doing.

The UX is pretty good. Significantly better than the older alternatives like Ventrilo or TeamSpeak.

But I am surprised there are no competitors in the space. It’s good but it’s not that good. I guess it comes down to adoption/network effects

Laden with ads is an overstatement considering Quests are tucked away in their own menu.

The problem with those many alternate chat clients is that they either require self-hosting, making them a nonstarter for probably 95% or more of Discord's userbase, or their lack of monetisation makes them non-viable long term.

Infamous for it's bad UX? This thread is genuinely the first time I've ever heard this, all of my extended circles were overjoyed when Discord came onto the scene and displaced the patchy, hodgepodge UI's of Mumble, Ventrilo, IRC, Skype simultaneously. Both from a feature and a visual perspective it was a breath of fresh air for the programmers, gamers, and casuals alike for everyone I know. Maybe the only thing that still survives alongside it for the folks I know as a preferred communication channel is sporadic Whatsapp among the EU guys and iOS group chats for the Americans locked into the Apple ecosystem.

What about it makes it terrible UX for you? Feature set seems to get better every year as far as I'm concerned, inclusion of ads aside.

my latest annoyance is the way they keep making the gift nitro button bigger and more likely to be where you tap when trying to send a message. I don't know what their PMs are smoking to think that gifting nitro is something people do so often that there needs to be a permanent flashing button on screen to do it.
To be honest, I don't think most people's first interpretation of someone's claim to a "Discord-esque feel" when describing the UX of their open-source IRC client is that it's therefore riddled with dark patterns to sell an upgraded version of the service. I think it's probably more likely that they were referring to the general layout (eg: having circular server icons as a vertical list on the left hand side). I'm guessing that that's also why they mentioned Slack, since that has the same layout too.
My single biggest complaint, other than it being an Electron app, is their insistence on changing the notification sounds seasonally. I do not want surprise Halloween music when I'm trying to start a video call with someone, nor do I want it themed. You can offer it, sure - I get that it's free, and they're trying to keep users on their platform - but it's just grating to me.
There is a setting to disable this.

User Settings -> Notifications -> Sounds -> Enable Halloween Sound Pack

Sure—but they remove the setting when it's out-of-season, and then add it back again—enabled by default—when it's that time of year again.
I love Mumble and IRC. You could put a gun to my head and I still wouldn't use Discord. When all these proprietary chats are dead and the kids have moved on to something else, Mumble and IRC will still work. They are eternal. Anything proprietary and centralized can't compete with that. IRC outlived AIM and MSN and so on.
IRCv3 isn't a corporate body, its a semi-formal group of IRC developers. There's nothing prohibiting you from proposing protocol extensions if they are within the scope of the working group.
What would "new IRCv3 leadership" do to get all the different independent IRC client and server software developers to support IRCv3?
IRC was great. But I don't think it can bounce back with the alternatives that we now have. A focussed effort to get Matrix working, or any of the open source alternatives would be better. Of course, people invest their time in what they think is fun and that is fine. But the already existing alternatives provide what people need and want today, so IRCv3 will have it infinitely harder.
> A focussed effort to get Matrix working

At what point do we say matrix isn't going to work? It's been like this for years. It's so overengineered on an immutable chat history on a blockchain it has crossed the line into "way too expensive to run and maintain for streams of cat pictures and memes". Worse is better.

I don't get this, it is working. It's largely replaced IRC in open source spaces. It's not going to penetrate the mainstream but it's fine for what it is and people do use it all the time.
People have different definitions for "working". I assume that the people who claim that Matrix doesn't work are the ones comparing to alternative commercial solutions and all the polish that usually accompanies those.

A decade ago Moxie Marlinspike argued[1] that to develop Signal more quickly, he and his team could not be distracted by federation. At the time I wasn't sure what to think, but it does seem that the effort level of using the integrated approach of client/server/protocol may just logistically be easier.

[1] - https://signal.org/blog/the-ecosystem-is-moving/

Not working to me means: the client is slow a.f. I was once banned by accident from the Mozilla room. I couldn't even retrieve the contact information from the room because you can't do that as a banned user. And room history being lost for whatever reason.

That's is what I mean by not working. Those are things are are either bugs, or as in the falsely banned issue, a protocol design issue that should have been thought through in the first place

I've been using it for years now, it's working just fine for me. It's no Discord or WhatsApp just yet, but it's lacking about a couple hundred million dollars of investment for that to happen to any open source chat solution.

I'll happily move over to XMPP or IRCv4 if they can get it right, I'm not married to the way Matrix does things. But it's good enough, open source, and federated.

I'm on IRC, XMPP, and Matrix. IRC is still my favorite, has the best clients, performance, server uptime, and IMO is the most fun. I have most family/friends on Matrix, but I've noticed many people really don't like it.
out of interest, is that family/friends who don't like it? or broader tech community? which bit irritates the most atm?
Some friends use it more reluctantly and only sign on occasionally when they need something. I remember one friend vaguely describing a "malaise" when using Element for the first time, like something about the UI/UX bugged him but he didn't really elaborate. I assume some of them are using other stuff like Discord on the side, but I'm not sure since I don't. I think there is also some minor friction with the whole Element vs Matrix naming thing (I hit this a lot with older family members), they wanna call it the app name because they're used to centralized stuff, I call it Matrix because it's more correct and also because I don't even use Element a lot of the time (I use nheko on my PC at least). I can't really bring myself to say "I sent you a message on Element". I wouldn't say "I sent you something on gmail" either. I don't know what the solution is for this, but I will say the Element branding feels a bit too strong at times, almost like it's hiding the fact that there are other clients and other homeservers than matrix.org.

The worst I see is from the broader tech community, though. Especially people from the fediverse, they seem to have a strong alignment with XMPP. IRC is still my favorite, personally, but it does seem like Matrix gets unfairly ragged on a bit. Both by the people who think XMPP already does everything Matrix does but better, and from the people who don't care about free software or decentralization and just want everything to be like Discord.

right, makes sense - thanks for answering. one other question if i may: for the folks suffering malaise, was that using Element X or Elment Classic (or Element Web/Desktop)?
That would've been either Classic or Web I believe.
I've ended up managing to vibe an IRC client for Twitch over the last couple of weeks to make following the sometimes flood of the [Hasan] 'Piker Broadcasting Service' stream chat a bit easier;

https://hasanabi.neocities.org/?theme=nightshade

Note: Twitch chat isn't real IRC, but exposes an IRC-compatible interface.
fair point

fwiw, I was logging in with Quassel for several weeks before I started that project, that needs an OAuth token for the IRC login

No mIRC on the list, oh well.
It's still active.
Great! There is a whole generation raised on ICQ, Y! Mensager, MSN and naturally mIRC.
On this topic: https://robustirc.net/

It's a server side change, robustifying the server-to-server links and its effects on connected clients.

I think the main problem with IRCv3 is that there are a million optional extensions (see https://ircv3.net/software/clients for a feature support matrix of popular clients)

This can get especially confusing when people on different clients have divergent views of the same conversation. e.g. some can see the emoji reacts, others can't. some can see "replies", others can't.

Emojis and reacts are the only extensions that can cause people to have a meaningfully different view. It's part of why it took so long to ratify replies, and reacts still are not ratified.

We're also discussing ways for servers to provide a fallback to clients which don't support them.

> We're also discussing ways for servers to provide a fallback to clients which don't support them.

Uh. I feel like this should be something that's done before it's ratified. What if you find out that there is no satisfactory way?

I visited the site to see what the extensions are and at first i thought that there might be a few of them but it doesn't look that bad.

Then i noticed the horizontal scrollbar :-P

Wow that is hilarious. This kind of fragmentation pretty much guarantees failure. I'm pretty sure it's what killed Thrift. See their similar "don't use this" table:

https://thrift.apache.org/docs/Languages.html

This is one of the things that killed xmpp (too many XEPs, experience was severely fragmented).
This gets repeated a lot but there is at least one sort of meta XEP that specifies a common set to support. If you stick to the ~5* or so biggest clients they all support the important stuff.

* Conversations, Gajim, Dino, Kaidan, things on omemo.top with a passing grade.

Things which are still not default working everywhere would be voice/video call, but if you adjust your expectations to "IRC with file uploads, no need for a bouncer, and encryption" then it's fairly universal to support all that.

I wish IRC supported images. It's weird that to share a screenshot I need a chat platform that also support VOIP when I just want to paste an image in the chat.
You are using wrong client then, try Mango. It gives you image uploads and other modern features
You don't need protocol support for uploading images to storage, and then rendering it inline. Many clients have been doing that for years.
Upload to a temp file host and post the link. I'm in several active IRC channels and this happens hundreds of times per day. If you're chatting 1 on 1 there is also XDCC for transferring files.
I have been using SourceHut’s IRC client to access it for a while, but never quite found a good iOS client, since Goguma is just the Android client compiled for iOS.

I wonder if I can find the time to build a native iOS IRC client that follows Liquid Glass, and works as well as Goguma. Not many people would use it, but it’d scratch my own itch, as they say.

The protocol is so simple[1] that it shouldn’t take that long or be that hard[2], I think.

[1]: Which is the beauty of it, ofc.

[2]: Famous last words.

Seems you never found Mango IRC on iOS
I didn’t, indeed. But I just looked and didn’t quite like the design, so it doesn’t seem to be what I’m looking for.

Still, better than Goguma for iOS as far as design goes. I wonder how the features compare through, as Goguma is the gold standard, akin to Conversations for XMPP.

I've been building my own (native) mIRC clone for MacOS as a side project, exactly on the scratch my own itch kind of thinking! :)

Didn't really look into iOS though, I'll have a think...

So far:

- Swift 6/AppKit built with SwiftPM only, no Xcode project. As a stack of modules.

- The default behaviour is native window(s), but have a classic MDI frame (with child windows inside one main window) that I really enjoy playing with and debugging.

- Behaves "the mac way" (menu bar, text editing, scrolling, full-screen, dark mode, VoiceOver), and anything that belongs to mIRC behaves the mIRC way. Still lots of rough edges though.

- Conversations are tabs in one shared window, the tab bar acts as mIRC's switchbar, the treebar becomes a sidebar. DCC transfers get their own standalone windows as I felt that makes it better as p2p.

- The options, defaults, and menus are an exact copy of mIRC 7.85 - I'll evolve it after "finishing"

- Only the top UI layer touches AppKit, so the parts that have to match mIRC exactly can be tested headless in CI.

- The IRC protocol, session state, mIRC formatting, a mirc.ini-compatible config, a scripting interpreter that copies mIRC's evaluation model (PCRE2 tuned to behave like mIRC's PCRE 8.45), DCC, and the display format strings are all pure Swift.

- Some decisions go beyond mIRC to fit MacOS: an untrusted server certificate is asked the user and pinned, never just trusted. Router port mapping uses MacOS's own port mapper. And also created a few new pixel icon sets I haven't fully decided on.

Nice! Got any screenshots?
Sure, here's a few screens or current state: https://imgur.com/a/M1Dy2ag

I prefer the MDI view, but wanted a native option, so showing both. :)

(First time I'm sharing this publicly. The caveat being I'm still unsure if I'd release/sell this as a proper thing, FOSS it, or just keep playing by myself)

Go linger in the ircv3 channel for a week or two, the answer is yes.

Mostly complainers who would rather see IRC stay the same. Right now one of them is complaining the author is a vibe coder, as if that somehow makes the critique that IRC continues to be far behind everything else less real.

Just yesterday i was working on my game engine for the original Xbox using the open source NXDK kit (which is much lower level than the official XDK) and i finally, after literal years, managed to find and fix a couple of bugs that caused flickering (much more obscure than you'd expect and didn't show up even in the emulator).

So i decided to share it with a couple friends and retro enthusiast communities on Discord. I took a video capture of my engine working, showing the 3d rendering, audio, video, etc with an Xbox->HDMI->USB capture chain. Then attached the file on Discord's input field and posted it (i have a tab with the web UI pretty much constantly open in Firefox). People weren't around at the time but some saw it today and commented while i was sleeping (with my computer off).

Last time i checked, this wouldn't be possible with IRC because:

1. There is no video (or any other file) host on IRC servers.

2. IRC discussions are ephemeral, you either need to be online all the time or setup some sort of proxy that keeps the discussions around while you or others are away (or do what i used to do 15+ years ago - run a terminal-based irc client in a screen session in a VPS :-P).

AFAIK #1 is still impossible and #2 is an optional extension (that i've never seen in real life). Meanwhile i can now connect to a new Discord community and not only not worry about losing any messages while i do other stuff (i often check what people have talk about in Discord since my previous "visit" to be up to date) but also search what people talked about previously - e.g. did anyone brought up some XYZ topic i want to talk about?

IME the above two (also add images and audio to the mix - in two of the communities i'm in there are people who post WIP music they make) are basically 90% of how i see people use Discord: they post something (very often media-based) and very often others see/respond to it in their own leisure much later (in some channels people even live on different timezones so they can't do otherwise).

TBH nowadays if i wanted to set up some community in a self-hosted manned and wanted to stick with open stuff, i'd probably use RocketChat or something like that (Godot uses a self-hosted RocketChat instance that while a bit more janky than Discord, it seems to provide pretty much the same features i mentioned above).

Concord channels on Nostr (https://concordprotocol.org/clients/) are handy for avoiding the centralization and privacy issues of Discord while also avoiding the reduction in asynchronous and media-enhanced functionality you'd get with IRC.

That said I can't say it's hard to just run irssi inside of tmux and attach/detach as necessary remotely. Nor is it hard to throw my media I'm sharing onto a web server. But yes, you do need to mix and match your utilities, rather than have an all in one package.

I do often enough find this to be more of a feature than a bug -- being stuck with Discord's UI is gross, but the network effect does have me continuing to use it for some groups.

It isn't hard, as i wrote i used to run irssi in screen back in the day when there wasn't another alternative, but that required me to have a VPS (i don't nowadays and i don't really want one because i don't want to bother with the admin side of things) and it is extra friction - and that is for someone like me who already has the knowledge to do it. For most people it is an insurmountable obstacle.
The way some of us did this back in the day was to link to a forum post with a video upload or a chan board with a video upload from IRC. IRC was ephemeral, light-weight, fast and forums, chan boards were the semi-persistence, long enough for the majority of the intended audience to download. Some still do this today.
> There is no video (or any other file) host on IRC servers.

Ircv3, the thread title, supports file sharing

How? From a quick search don't see anything in the spec about files or images. The closest i can think of is attaching metadata (which is a draft), but these are meant to store utf8 strings and i doubt a base64 encoded video is what the writers of the spec had in mind.
You can use a bouncer on IRC to retain messages while you were offline. In reality, it's the same with every other network: you need a server which receives and retains messages while you're offline.

With WhatsApp, Discord, etc, that server is provided by Facebook, Discard respectively. With XMPP, Matrix, that server is the instance in which you have an account or where the channel is hosted.

With IRC, you use a bouncer. What makes IRC unique is that a bouncer is _optional_. You can even join a channel without an account and without a server which keeps logs while you're offline. This ephemeral level of joining doesn't exist in WhatsApp, Discord, XMPP, Matrix, etc.

And, btw, this is not a new thing: I first saw bouncers 15 years ago and they weren't even new back then.

I know there are technical ways to work around IRC's limitations, my point is that their mere existence adds more friction to using IRC so people move on to more frictionless places - and with chat apps being fundamentally social, that friction affects people who don't even mind the frictions themselves but their peers do (though personally i do mind these frictions - i do not want to bother with hosting anything or setting up bouncers or anything of the sort, i just want to pop in a channel, see what people were discussing, talk with whoever is there and/or share some of my own stuff and that's it).
Agreed. The lack of stored history for every user is a huge blocker for new users. They enter a pretty active chat but they see nothing. They wait 10 mins after asking a question and bounce.

All of our comms for https://pico.sh are on irc and we have tons of users join and leave immediately because the room feels cold / dead even tho we were chatting 10 mins prior.

Ergo has that built in now. It Just Worked when I installed that server and connected with Halloy.
There are draft specs to fix both of these but they haven't been worked on recently because nobody has the time or energy to work on it.

This is fundamentally the main problem with IRC development nowadays. People want IRC to have features but are unwilling to support IRC developers to actually implement them and as a result pretty much every single IRC developer (myself included) who isn't churning out slop is burned out because its a thankless job.

I leave irssi running in tmux 24/7, post temp file host links to images and videos all the time, and I always read and respond to the backlog when I first get on for the day in the channels I'm active in. You can also use a bot to leave a message for someone if they aren't connected currently (e.g. .tell bob I found that old video you were looking for last night. LINK) . I don't particularly want to voice chat, but I fire up Mumble as needed.
I largely credit mIRC for getting me into computers and programming. But I haven't used IRC in a decade... I wonder if kids these days even know what it is.
I hope this doesn't sound too weird, but I have met a handful of (alleged) minors on IRC in the last few years.

Usually they see it as some cool underground hacker thing and talk about how they wish they could get their Discord friends to use it too. They don't seem to stick around long-term, though. I guess the novelty wears off and they go back to where they came from.

I really hope IRC supports WebSocket transport
Mango IRC does! So does Halloy I think
All the IRC server hosts I've talked to said they would never enable WebSocket support from fear of bot spam :(
I'll be tarred and feathered for saying this, but every time I see a modern chat app I pine for the days of ICQ (as it looked in the 90's).

It had a UI I prefer over anything since - compact, comparatively unobtrusive, information-dense, and fast. I could port my full chat history around with me between machines, and also search it reliably (no vanishing scrolling or lazy-loading handicaps). And it was handy you could advertise different presence states to different people/groups.

ICQ plus Winamp was peak PC
It really did whip the llama’s ass.
I still can't believe there isn't an open source Winamp 2.91/2.95 clone.

Everything wants to make a "universal media library manager". Jesus, doesn't anybody just want to name their MP3 correctly and then use file management, and then have an audio player that just plays audio?

There was x11amp, which got renamed to XMMS, which was later forked into Beep Media Player, which was later forked into Audacious.

IIRC, the last time I used Audacious, the default interface was a loosely-inspired-by-itunes kinda UI, but tweaking the right knobs in the configuration screens could get it to a Winamp-like UI (or at least XMMS-like)

https://en.wikipedia.org/wiki/Audacious_(software) confirms a lot of my recollection.

I do remember xmms. That wasn't bad, though it never got some of the really good skins that Winamp did.

Audacious... eh. Setting aside the bad default interface, my experience with that is the same as with most media players. The developers decided how your music should be organized, and they're going to do that for you whether you like it or not.

> Jesus, doesn't anybody just want to name their MP3 correctly and then use file management...

As an early fan of Winamp, what I have found is that most people do not want the Winamp experience these day. The problem with Winamp is it came with no music, only a JJ McKay promo.

There are many players that seek to emulate the Winamp experience but much of the audience for something like that have moved on to Spotify. Today's audiences want a fully curated experience from their "Player", which Winamp was never designed to do.

For the price of less than one CD a month, I can have access to more music that I want to listen to. And I don't have to lug around all that music on three different devices.

That's not outsourcing curation. That's basically cloud storage + file sharing.

Nah, their "curation" is when they play the version they want to play instead of the one you wanted.

Take the somewhat-recently popular Kpop Demon Hunters on my "cloud storage" music player of choice. There was originally just a good, cleanly mixed version.

Then up pops a Netflix-version that had wrecked mixing. And when my kid types in the name it'll give them the "official" version - the fucked one.

And don't get me started on all the other versions of their songs that then pop up of people trying to ride the popularity wave to get some plays.

I have to curate what the "cloud storage" player gives me so hard I'm thinking of dropping it...

> doesn't anybody just want to name their MP3 correctly and then use file management

no because sometimes I care about artist, sometimes about title, sometimes about year of release, album name, etc. Using proper metadata is important. I almost never look at a filename unless I'm moving data from one machine to another.

In an era of indexing and lightning-fast search of documents, there's little reason to care about filenames.

mpd+ncmpcpp for music is pretty no-nonsense. mpv is also pretty good for one-off stuff / opening arbitrary files.
Maybe if I get bored at the end of the month and have some Claude credits left I'll clean room it to .net 10 or something.
Apps that seemed to recognize that you’re probably doing something else.

Meanwhile today Teams seems to think that it needs a whole screen dedicated to itself… a place that I get nothing done.

>information-dense

In other words, designed by IT guys. And a reason (among many others) normies would never get on board. Not saying I disagree personally.

I’m surprised how popular Discord is for as “IT guy” and information dense the UI is tbh.
ICQ was incredibly popular amongst “normies”, at least in Brazil. Much more so than amongst nerds who were mostly still on IRC.
In Denmark it was MSN Messenger, the nerds were on IRC and also had ICQ.
Discord is incredibly noisy and information-dense and while maybe not for "normies", it’s definitely not just IT guys using it. Though I wonder how many people actually like to use it.
In Discord’s…defense? Description? At least for understanding—it’s gamer chat. And it’s been that from the beginning. That’s the design and the intent, and while it seems Discord-the-company is trying to adapt Discord-the-product for the increase in popularity for other uses, its roots are showing. Navigating it feels similar to navigating the menu system of a AAA game.
Yeah, I know. But they seem hell bent on adding more and more distractions in every update. I mean, it felt more manageable when it was still just a gamer chat.
I've been using it since 2016, and none of the new features that I don't use have negatively impacted me.
Also using it since their first release, and all of the new features have impeded my usage. Server nicknames are fantastic but I couldn't tell you how to access that feature. I have to relearn where that option is every single time.

Nitro, Shop, and Quests. What are these even?

Even their changelog page is wtf (https://discord.com/tags/changelog)

Right click on the server icon or header, then per-server profile. Completely reasonable to me, and I don't think it has ever not been there since they introduced it.

Shop is where they sell customization stuff.

Quests let you earn currency you can use to buy customization stuff or nitro instead of real money.

I can’t get into Discord. It’s just so messy and disorganized and too much information flying at my face.
It's the too much completely useless information flying at my face that I despise. So much empty space, the UI is so weirdly verbose for everything but the actual content. You need discord in full screen to manage reading messages properly. It's also slow switching channels and server.

Maybe I may officially old now, but I recall I could converse on IRC, not full screen, on a 800x600 15" monitor. Yes I know today we have tons of pictures and emojis and so we obviously need a bit more room. But common. Even slack takes slightly less room that discord for the same amount of information.

And yes, I enabled compact mode.

I am fine with slack (though my slack is also a disorganized mess) and used IRC at work for over a decade. Discord is at a different level with the different communities having super-duplicated functionality.
Discord is incredibly popular among younger people in general now. It escaped tech people containment years ago.
Discord is by far my favorite communication platform across anything I used in my entire life, nothing else comes even close in terms of feature set. It also helps that almost everyone I like is there. I'm forced to have whatsapp and telegram to communicate with the general population and I wouldn't use them if I didn't have to.
If someone from discord DM'd me wanting to move to telegram or whatsapp, they're automatically assumed to be a scammer.
Yes I just love its patronizingly cute little animations everywhere reminding me not to think too hard

I cannot believe this stupid app is so popular when you can't even monitor multiple servers at once! When every brother and their mother has a discord server but I can only look at one channel on one server at a time??

I haven't seen functionality to view multiple channels at the same time in any modern chat application, so I can't exactly blame discord for not having that.
mIRC, AIM, Trillian, MSN, Yahoo messenger, ICQ all had one chat per window and you could open as many as you want. IIRC (its been a while) mIRC let you tile multiple channels in the same window a la tmux
> Discord is by far my favorite communication platform across anything I used in my entire life, nothing else comes even close in terms of feature set.

It's just yahoo groups that requires your phone number.

Yahoo groups was better because it got indexed by search engines
It's certainly dense with something. If it's information, it's not information I want though. I have no desire to know anything about their various Nitro sales or have a live feed to what my friends are playing or listening to. People I want to talk to are there, so I go there to talk to them. Anything outside of that just makes it noisy, like you said.
every single 'normie' i've seen use Discord can barely figure it out, they chase red badges across the UI all day and really have no clue about the paradigm at all.

They're there of course because some 'normie' thing of theres inevitably requires the sign-up of a discord for bonus game skins or some other such stupid shit, but the fact remains that they're clueless.

much like the average Outlook user, they're there because they were dragged into it by another element in their life (their job) and they really have no background or clue on how to use the piece of software, they just know they need to pretend and cite experience on the CV for a job.

Everybody had ICQ. You probably are too young to remember, but ICQ was as commonly used as Instagram today.
No it wasn't and it's not even close.
Definitely a regional thing. Where I grew up it was MSN Messenger all the way.
MSN Messenger was a bit after ICQ's peak
AOL instant messenger was bigger in USA, it was so big that AOL remained a major chat service even into the broadband years (though AIM clearly was under decline by that point)

My 90s and early 00s social circle was AIM, Yahoo Games, and Neopets.

AIM was not around when I was using ICQ. Like, it literally didn’t exist.

Once it did my local social circle used it. Gaming stuff stayed on IRC and ICQ.

ICQ was released only 6 months before AIM, not that big of a difference. :D
Nah ICQ was pre AIM. AIM was popular with some people but ICQ was king for a while.

AIM was filled with script kiddies using spam to "hack" people's computers. It just crashed the app when they spammed you.

Then stuff like trillium came out which meant you didn't have to use AIM's awful client.

Funny, that's always the impression I had of ICQ back in the day...

Surely we can agree that no one's experience is universal, and both regional and subcultural differences are likely to have materially shaped our views of the various chat services in the '90s and early '00s...?

Surely we all recognize that our own experience is not The Default Everyone Should Understand?

do you mean Trillian, the software that offered a (very themable) frontend to AIM, ICQ, yahoo and (i think) at least 3 more chat services? the awesomeness of Trillian made it obvious how useless it is for so many different services to coexist while they all offer the same value. still true today
I had AIM, ICQ, and a few others. Pidgin (originally GAIM) let you send and receive on all the services from one app, which was very handy.
By the time Pidgin existed I switched to something else. Maybe Jabber (today called XMPP). I don't quite remember though.

AIM and ICQ were the big ones back in the day, nothing ever was as big as that.

Pidgin also supported XMPP: it was a multi-protocol client. It was just a client, not a messaging system of its own. They'd abstracted the send/receive from the actual messages and built a bunch of backends that could handle pretty much any messaging protocol at the time.

ICQ was released 1996; Pidgin (as GAIM) was November 1998; Jabber was released in 1999. Those were good times.

Unfortunately Pidgin's XMPP support today remains stuck in the 90s.
> even into the broadband years

I suspect part of that is because not everyone had broadband. I was still on dialup years after broadband ISPs were widely available.

yes, I used AIM from 1999 until whenever it was shutdown (2017?) At several companies, we used AIM for what many use Slack for today. We even coordinated prod deployments in a private AIM chat room!
When ICQ was at its peak, users of any chat software were a rather thin layer of population. So "everybody" is more than exaggeration.
ICQ numbers got into 9, 10 digits. For a late 90s internet population that was practically everybody.
This is type mismatch + incorrect assumptions. In 2001 ICQ went over 100 mln registered UINs. Which is not the same as "active users", it's all registrations from the inception (minus 10000 reserved). Losing UINs was a very common thing. Password recovery required email, which wasn't obligatory during registration, even if entered wasn't verified, back then few people knew what "password manager" is, and finally emails weren't particularly stable identity before gmail. But even if we would, for the sake of argument, assume the number as active users count, regular internet users by that time were numbered at more than half a billion. So even with absolutely unrealistically high estimation, ICQ share would be less than 20% of then internet population. And more realistic is probably 10-15%.
I signed up in 1997 and my UID was around 3.5 million. That's not a lot of people in the grand scheme of things
Obviously it was not a global "everyone" like today with WhatsApp. But I would guess that perhaps 20 out of 25 in my high school class was on ICQ back in 1999 or so. Most of us only had dial up, so we wouldn't be allowed to be online and block the phone for more than a 30 minutes or an hour per day.

Anyway, ICQ was not some elite hacker thing. Anyone with enough reading comprehension to tell milk and orange juice apart from reading a label could operate it just fine.

It was very popular, no argument about it, especially among then youngsters. But "everybody" blows it of proportion way too much.

>ICQ was not some elite hacker thing Sure, exactly IRC was that hacker thing.

ICQ and AIM. Later, whatever the first Google one was. When it looked like ICQ or AIM.
Oh. Misunderstanding. I thought I was replying to a comment about IRC.
I never had ICQ because I was opposed to replacing open internet protocols with proprietary walled gardens governed by unaccountable private corporations imposing clickwrap contracts of adhesion on helpless users.
Is there any proof that normies would not be on board with it? Discord is information dense and huge among normies.
For the love of... can we stop saying 'normie', it's just so stupid. And intellectually lazy. And also dumb.
Shmer? It has so much padding and margin, even in "compact" mode. But it does have a lot of advertising all over, trying to get me to pay for stuff I don't intend to use. Maybe it's ad-dense?

I'm surprised and excited each time I manage to block a UI element successfully. Discord is usually quite preventing that for things that are meant to be noisy, like ads.

Hmm, I wonder if there's a subscription option for "Shaddup! I don't want to buy anything or do your quests!"?

“Uh-oh!”
And the fog horn launch sound that reminded you if your speakers were on or turned up... good times.
One of the grocery stores near me actually uses that in their POS system, so you can hear it as you check out.
I was a 6 digit’er 421330, and was even able to correspond with the creators via ICQ
Mine was 29x,xxx something. I too miss ICQ.
I held off back in the day, for awhile but I remember my number 1202948; ICQ rocked! My sister had a much lower number and used to tease me about it, since I was the "nerd".
pff more than 6 digits!
I was so close to being a cool nerd, lol
And apart from the advantages you mention, it was really configurable in terms of the level of involvement and openness you wanted. You could use it exclusively to chat with friends and otherwise be unreachable (as in MSN and their ilk later), or you could be open to chat with strangers. And you could find people by interests, I remember looking for coin collectors from countries whose coins I didn't have :)

Then MSN Messenger displaced it (at least in Spain) and it didn't have even 10% of ICQ's functionality.

You might like the IRCv3 client I build at https://github.com/matt0x6f/irc-client. It's highly capable and modern but limited in its resource footprint and quite zippy. PRs welcome as well.
You forgot to say “Written in Go” /s

I’ve been checking your client for a while and it looks awesome, thanks for the reminder, finally after 30+ years I think I really got tired and left IRC for good but I’ll download and give it a go later today.

Thank you! Would love your input
> The interface is built with React and Tailwind CSS

ಠ_ಠ

heh, I'm not sure of your particular beef with these two but I'll use this as an opportunity to explain my rationale.

I obviously write a lot of code in Go but as a language it's also a really nice pairing with the IRC protocol. The way you write abstractions and tests just lends itself so well to writing desktop applications. On the other hand, writing UIs in Go (which I've tried in a multitude of ways) is just a really poor fit because asking Go to emulate Elm architecture is very clunky.

From my perspective, UIs are side effect driven code and demand a language that can fit that paradigm not just well, but great. Anything else I would or could have chosen would've required way more CGO dependencies than I have (of which I only have 1 atm) and would have read worse when I tried to hook it into Go.

Conversely, Wails' bridge to Typescript and React is very simple to use, reliable, and keeps up with the performance and consistency demands on an IRC client. Tailwind is also just very good at making compatible CSS; I was inspired by the use of QT in modern car infotainment systems in my selection of a component-based CSS approach.

Lastly, the whole thing is compiled into the binary that you download and makes no external calls on its own. It's all built on top of the OS WebView rather than a third-party browser the way, say, Electron is.

My beef is around your comment where you stated "limited in its resource footprint". Sure, Wails is lighter compared to Electron, but it's still not as lightweight or efficient as a native app. I personally wouldn't pitch it as a "limited resource footprint" app.
> Sure, Wails is lighter compared to Electron, but it's still not as lightweight or efficient as a native app.

Yeah, I think that's fair. I don't think about resource utilization in a vacuum: native apps require I develop three different apps and likely have a lot of CGO dependencies. With Wails and the OS WebView the same client you're used to using on MacOS should work the same or similarly on Linux and Windows within reason. They should also all maintain similar resource utilization profiles. That's why I said it's limited in its footprint, I'm not here to compete with native library performance and native library performance isn't trying to compete with my ability to cross-compile.

    Process                         PID     Avg CPU    Footprint (MiB)
    ------------------------------  ------  ---------  ---------------
    Cascade                         45314      0.46%              73.0
    WebKit WebContent               45349      0.50%             392.9
    WebKit GPU                      45347     <0.01%              26.1
    WebKit Networking               45348      0.02%               6.5
    Nick completer plugin           45344     <0.01%               2.8
    Nickname colors plugin          45345     <0.01%               9.7
    ThemeWidget service             41353     <0.01%              10.1
    SafariPlatformSupport helper    41355     <0.01%              13.1
    ------------------------------  ------  ---------  ---------------
    Total                                     1.00%             534.2
I'm currently connected to four networks for 6 days and 18 hours. Compared to other native apps on the same system:

    App           Main PID  Uptime        Avg CPU  Main MiB  Total MiB
    ------------  --------  ------------  -------  --------  ---------
    Cascade          45314   6d 17h 45m     1.52%      73.0      556.8
    Proton Drive     22091  11d 04h 32m     0.15%      48.0       65.1
    Ghostty          78285  27d 22h 03m    <0.01%     173.6      184.2
    Finder            1308  34d 19h 32m     0.05%     104.4      104.4
so, if I rewrote the application into three separate applications I could probably save ~200 MiB of memory footprint. I'll look into my ability to slim down the memory utilization but some chunk of this is probably the message buffer of each channel.
Four networks connected for a week using 584 MB does not earn bragging rights. (Channel number is unspecified, but I'm imagining about 20 channels.)

Shaving off half would not change this.

I don't think this kind of attitude is necessary. I do this work for free, there are no bragging rights in maintaining an IRC client. I maintain this client because there are zero options for clients that look and behave the same across operating systems, are modern, and customizable.

You're welcome to open a PR and participate.

I wonder if the 'unobstrusive, information-dense' will not die with our generation. The new guys grew up with flat and material design, plus UX design classes all about spaced typography and screens.. they will never miss what we do.
Amen.

I long to bring this back in a Miranda-IM way (super customizable), but other projects get in the way.

I don't care if only a handful of us (few milly) find it useful.

Am I missing something here? IRCv3 is a protocol, not an app. This doesn't define the presentation layer at all.
Simpler UIs can have their advantages.
I found this about 12 years ago. It died and came back a few years ago. Create your own server, send client to friends. It's very ICQ like https://bimoid.com
I built a terraform based box that runs ergo ircd with The Lounge as a front end. So basically irc3 as an app server, but you can still federate where needed. Works great. Cheap, performant, I can integrate services into it without all Slack’s bullshit.
I'm playing around with IRCv3 currently, specifically persistent channel history (no bouncer).

I've set up an ergo^1 server for experimenting. Channel history is currently in draft stage; and maybe it will be forever.

If any of you want to drop by for some reason and want to try it out: #hn on exp3.irc.basilikum.monster:6697

See here for a list of IRCv3 capable clients (draft/chathistory for history support): https://ircv3.net/software/clients

[1] https://ergo.chat/

Fired up the old mIRC license I've had for decades last week to explore old servers and channels. Many are dormant, but life is still teeming in many. I'll probably wind up re-donating to mIRC developers and investing some time into IRC communities. I find the experience preferable to Discord.

Anyone interested in exploring this segment of the internet, start with: https://netsplit.de/

Netsplit is a great and vital resource. But I'm wondering if it's actually the best entrypoint for people who just wanna chat with others about some topic. https://libera.chat/ seems a bit more user-friendly and "hand-holding", for the people who prefer that. If Libera doesn't fit their vibe, the huge network list on Netsplit will surely be of more use to them once they understand IRC just a tiny bit better.
Timely! This weekend I spun up a little friends-only server on a VPS I had laying around. I used Ergo, enforced TLS, enforced authentication, and I hand-create accounts with temp passwords for my chums. For clients, I'm using Halloy on my Mac and Goguma on iOS. Their are other prettier clients, but Ergo and they all support a nice set of IRCv3. For example, they all have client history built in. Whenever I connect, the server replays all the messages I missed while offline (with a 30 day retention), no bouncer required.

Honestly, I'm trying to remember why we collectively moved away from this. I was terminally online in the 90s and the hadn't touched IRC in many years, but this is... actually quite nice.

Back in the day you needed a bnc if you wanted chat history. The mobile experience has been abysmal until very recently.

Also when discord came out there was a certain appeal to having voip built into the same app, and not having to maintain a separate vent/mumble/ts.

Tried Halloy on macOS for ~6mos, has some serious issues ...

(1) It silently disconnects from the server without indication, and does not reconnect. You might assume it is connected, until you send a message and see "message can not be sent". You will lose conversation history unless using a bouncer. Clicking around, all the buffers will clear indicating some major state issue, and you will have to restart it.

(2) Consistently uses ~5% CPU doing nothing at all.

(3) Doesn't behave like a macOS app, pressing the red "close window" button will close the window, but the main process goes ANR.

After leaving Textual since that was discontinued, guess I'm looking for a macOS IRC client again. Might give Mango a try.