
Absence of certain features in IRC considered a feature - kragniz
https://drewdevault.com/2019/07/01/Absence-of-features-in-IRC.html
======
maeln
I love the simplicity of IRC, I still use it to this day, but I have to say, I
understand why IRC cannot be used for any serious team communication.

The two biggest pain point that I see is: 1\. Because there is no real account
management you don't have any proper authentication, which make administrating
a channel real dodgy (even with network provided bots).

2\. No offline history: You have to have a client/bouncer running 24/24 if you
want history.

One thing though, because of how IRC work, you don't have the problem that
other protocol like XMPP faced with multy-device sync (there is a extension
for that in XMPP but, like almost every extension in XMPP, not many client
support it).

Also, nowadays we should consider end-to-end encryption standard.

I feel like IRC is in the same space as email: It's a very good technology
that just lack a few feature to be perfect but any project that try to replace
them just end up over-bloated with features ...

~~~
glacials
The author specifically calls out ephemerality as a feature of IRC.

If it's easy to get history people will assume everyone is reading what
they're typing. This would make people feel obligated to play catch-up every
time they miss some messages due to being AFK or in the zone.

By making history hard to obtain, IRC simulates real-world conversation --
you're either in the room or you're not.

~~~
phicoh
And then lots of people have bouncers to be there 24x7.

~~~
Etheryte
Personally, the main benefit of a bouncer is not missing highlights when
someone wants to turn your attention to something interesting, reading up the
logs for even a single channel isn't a reasonable way to invest your time.

~~~
sanderjd
It's not about scrolling up, it's about search. Which is another thing that
IRC, even with a bouncer, is not good at.

------
dfabulich
The article here claims that IRC is better than Matrix because Matrix supports
pasting long snippets and IRC doesn't. The author furthermore claims that
Matrix users are being a "nuisance" by posting long snippets to IRC with a
link fallback, like this:

    
    
        ihabunek [m] sent a long message: < https://matrix.org/_matrix/media/blahblahblah >
        ihabunek [m] uploaded an image: image.png (39KB) < https://matrix.org/_matrix/media/blahblahblah >
    

This is "being a nuisance"? It's just two chat lines, and the first line isn't
meaningfully longer than a link to pastebin. Maybe pasting the image was a bit
excessive, but it's very likely to be auto-expanded in GUI IRC clients, making
it an excellent fallback. It's not "being a nuisance." It's two links. It's
fine.

The truth is, IRC folks do need to share long snippets and images, and they do
it by linking to them; that's exactly what Matrix does when integrating with
IRC. That's one among many reasons that Matrix is better than IRC.

~~~
Sir_Cmpwn
I expanded on this here:

[https://lists.sr.ht/~sircmpwn/public-
inbox/%3Ca6e64b69-c0cf-...](https://lists.sr.ht/~sircmpwn/public-
inbox/%3Ca6e64b69-c0cf-22b1-94e4-d948209392e8%40adelielinux.org%3E#%3CBV82SMB8KEDN.16DDFWUTXGJTE@homura%3E)

~~~
joepie91_
That seems like an extremely handwavy motivation, not much of an elaboration.

> When one side sees it embedded in the chat but the other side sees it as a
> link, it affects how the former uses the feature and how the latter
> perceives the former, in ways that could be unexpected to the former. The
> point of my article is that these features have a social effect which is not
> necessarily positive.

 _How_ does it affect it? _What_ ways? _What_ social effect?

This explanation is totally devoid of any concrete examples of a mismatch of
expectations and resulting social effects, it just alludes to them existing
without any concrete basis - essentially weasel wording.

------
superkuh
It isn't that the features don't exist. I think most people on IRC just see
the internet as their platform. Integrating image hosting into IRC seems
absurd when there are perfectly good browsers and ways to host or self host
images. Stuffing everything into one client, or worse, one corporation just
restricts features and provides a single point of failure in both technical
and censorship terms.

~~~
abstractbeliefs
An example of how this could work is that a client could support receiving an
image. When this happens, it could upload it to an image host of choice, get
the url, and send that.

It's what users already do, but without having to pop a new tab, head to
imgur, upload the image, and copy paste it back etc.

~~~
superkuh
But why? Why add extra steps and add in having to keep the code to adapt to
APIs or URL paths that change every 6 months? It's not like keeping a browser
and IRC client open are mutually exclusive.

I personally just $ cp whatever.jpg ~/www/ because I host my static site from
my home connection and have for 20 years. I know self-hosting is not for
everyone but everyone self hosting would literally solve all the problems of
the web.

~~~
crooked-v
"Just run your own home web server to share images in chat" is the kind of
self-parodic response that's made Slack so successful in contrast.

~~~
rakoo
It's at the same level as "just run curlftpfs on a remote server and trivially
run CVS on it"
([https://news.ycombinator.com/item?id=9224](https://news.ycombinator.com/item?id=9224)).
The HN crowd is quick to find a good reason why the proposed solution isn't
the correct one, but unfortunately it's only true in very niche cases. When
it's working for the 80% we're always complaining about it not working for the
20%.

~~~
superkuh
It's really not. Everyone thinks it's super complicated and dangerous because
everyone is thinking about running a webserver, a database, and some active
scripting language.

Just running a webserver is dead simple. The only technical stumbling block
would be forwarding the port from the router and a good chunk of internet
users understand that.

~~~
rakoo
> Just running a webserver is dead simple.

You can't seriously say that and talk about port forwarding in the next
sentence. Some people still think internet is the web is Google is Facebook.
Some people (understandably) don't want to have something running 24/7\. Most
people won't be able to maintain their server, turning them into the biggest
botnet ever created. I'd love the internet to be more decentralized, but this
is just not reasonable.

~~~
superkuh
I can. Lets use an metaphor. Forwarding ports is the replacing turn signal
bulbs in car of computing. Yes, it is too much for some people. But it is
objectively simple and anyone could do it.

People who are absolutely ignorant and incapable of learning aren't who I'm
talking about. Most people can learn to change a turn signal bulb.

And no, running a static webserver will not cause vulnerabilities. Again, like
in my prior comment, that only happens when you use some complex combination
of webserver, database, and scripting language. A static webserver is
significantly more secure than opening up a page in your browser with
javascript enabled.

------
slezyr
> IRC messages are always lines of characters terminated with a CR-LF
> (Carriage Return - Line Feed) pair, and these messages shall not exceed 512
> characters in length, counting all characters including the trailing CR-LF.
> Thus, there are 510 characters maximum allowed for the command and its
> parameters.

Yeah, lets just forget how painful it was for non english speaking users to
use IRC. 255 characters for unicode and 510, but you have to guess encoding.

~~~
Athas
I remember when this was a significant problem but with the rise of UTF-8 it
is less so (even if that is strictly against the letter of the spec, it works
fine in practice). Are there languages where the 510 bytes per message are a
significant limitation?

~~~
sirn
I can only speak from experience, but Thai language uses 3 bytes per character
in UTF-8 and rely on vowels and tone marks to compose a word, so the number of
bytes can grow pretty quick. A headline of an article in Thai have a good
chance of exceeding 510 bytes.

This is why one of the major Thai IRC networks were stuck with TIS-620 for a
long time (ThaiNet/irc.thai.com, though I'm not sure if this is still the
case) which is 8-bit compatible with ASCII (uses 0xA1 to 0xFB for Thai
characters).

------
frou_dh
Kooky "reaction GIFs" in work chat are so inane. I mean, there's certainly a
time and a place for browsing funny GIFs on the web, but making it a first-
class part of work chat is so juvenile it's unreal.

~~~
Karunamon
This mindset is alien to me. Humor is a generally positive thing and can't
help but improve mental state while working.

~~~
mceachen
> can't help but improve mental state

Unless you regard it as inane.

Throwing reaction gifs at a happy birthday/congratulation post is one thing.

Throwing them into the oncall production ops channel and context switch
everyone so they can see Homer back into a hedge is another.

~~~
Groxx
> _Throwing them into the oncall production ops channel and context switch
> everyone so they can see Homer back into a hedge is another._

This is part of the reason I like the "reactji" of slack / discord / etc. They
_don 't_ cause a new message notification.

Because of that, they're less interruptive, and you can do some interesting,
useful things. Like lightweight interaction - we "seed" an up/down arrow pair
for voting, people just click one. Or controlling bots more easily - we use
one to add Qs to a queue, others to shut them up when they're being noisy, or
there's fancier options: [https://codeascraft.com/2018/10/10/etsys-experiment-
with-imm...](https://codeascraft.com/2018/10/10/etsys-experiment-with-
immutable-documentation/)

------
Pigo
I'm glad Freenode has a user base for work related stuff, but I man do I miss
when Undernet or Dalnet was still popular. I know I'll never run into my
mother on IRC, and it is probably because of the format.

~~~
wayoutthere
I used to run a server on Dalnet (then later on Espernet). Good times; nobody
knew I was 15 so I learned a ton about programming from some smart people

~~~
pteraspidomorph
I think it's the opposite; I was never accepted on Espernet precisely because
they could somehow smell I was older. That community was pretty young.

I'm pretty sure Dinnerbone was around 18? at the start of Bukkit.

------
jnty
I've certainly encountered channels where lack of image embedding is less of a
feature and more of a mental health necessity!

------
fivre
Lacking support for pretty much everything other than lines of text alongside
a handle enables one of my favorite aspects of IRC: a 10-row terminal is more
than sufficient for the entire client UI.

------
fnord123
This really comes back to the Capability vs. Suitability model that Gary
Bernhardt has spoken about:
[https://www.youtube.com/watch?v=NftT6HWFgq0](https://www.youtube.com/watch?v=NftT6HWFgq0)

IRC is capable. It is a box of nuts and bolts that lets us communicate and
build awesome bots and so on.

Bloating the protocol gives us suitability: features that are robust and can
federate.

------
lossolo
We are running our own IRC server (UnrealIRCd + Anope for services) for 10+
years. We have bots for gitlab/github, schedulers, management bots (you can
basically control whole infrastructure and all services from IRC), event
logging channels, alerting, jobs/tasks bots, status checking etc. all with
authentication and authorization.

This is working well for us, without any issues for years.

------
anilakar
IRCv3 notwithstanding, the protocol from a software engineering point of view
is horrible. It doesn't support asynchronous operations because responses
cannot be tied to their corresponding requests, and many commands, successful
or not, require a human to parse. Too bad that IRCnet only runs whatever has
been written down in an official IETF RFC.

Despite all these deficiencies it's still widely used – My guess is that
nobody has come up with a chat medium that would replace it completely. It's
still pretty much the only decentralized, push-pull, clutter free real time
discussion medium.

------
bluefox
IRC is one of the few Internet venues I still frequent. Been using it since
1998. Some years ago an important (but small, private) channel moved from
EFnet to Freenode, so that is the network I now use. Seeing Freenode IRCops
looking to fix what ain't broken ("but it's opt-in" they'll say..) makes me
have doubts about the move. If this sounds "get off my lawn" to you, you're
getting it.

~~~
buzzert
What are some good channels to visit in 2019? I feel like most of the ones I
used to frequent are dead silent now. And my small friend channels have since
moved to Discord.

~~~
bluefox
I guess the programming language related ones are a good start. In my
experience they have a high signal-to-noise ratio. Otherwise, it depends on
your interests... you can always start your own, making sure it's good...
There is/was a /list command, but I never really used it as all the good
channels were at least +s ;) It's all word of mouth, really.

------
raverbashing
I think if most people saw the limitations of irc as the author then it would
still be the dominant protocol

And it doesn't seem to me that "fixing" irc is just a matter of adding the
bells and whistles, but there's some work to be done on the lower levels as
well

For example, how well would irc work on mobile? Keeping logs requires a bot
usually on irc as well.

~~~
moftz
For mobile, I had a bouncer setup that would keep me up to date whenever
someone would message or mention me. I could pull up AndChat and connect right
up to all of my channels, I was never actually offline. I had an icon on my
taskbar that would connect me to my VPN and pull up irssi. I see now that
there is a cloud client for mobile called "IRC Cloud", it sounds like a one
step setup kind of bouncer for someone that doesn't have an always online
machine to run a bouncer on.

I really do miss using IRC all the time. My favorite server got taken down and
I never bothered to find out where everyone ran off to.

------
dusted
I agree, IRC, it is what it is, it's done, if you want something else, you
want something else, not IRC.

------
abathur
This reminds me of what Apple does to the SMS/MMS ecosystem.

MUDs face a similar set of issues. Some new MUD frameworks skip over these by
ignoring telnet and going HTML/JS.

There's an interesting third path, GMCP, which is basically treated by the
server/client (once support is negotiated) as out-of-band communication. If
either end can't negotiate support, you get the basic experience. As a
pressure-release valve, options like this _can_ be better than clients or
servers trying to overload the primary protocol with magic messages that other
servers/clients without support are still forced to digest and display.

------
peterwwillis
The idea of embedding links to multimedia is a good one. They just need to
form an open standard for encoding media and rich text in text streams, and
let clients parse the standard and decide how to format it. Text clients could
remove any multimedia/rich text, GUI users could render it all, blind users
would receive alt-tags in a way that's easily spoken by TTS, etc. Because it's
a standard for encoding media in a text stream, you don't have to change the
IRC protocol, just add a plugin to the client. You could even format it so the
simplest clients could just strip everything but the text.

Something like:

    
    
      %M!i=//shrt.url/j3f87h38f;t=fr,bb;a=Kitten Mittens!
      Finally, there is an elegant, comfortable mitten for cats.
    

This indicates an image link, a text foreground color of red, text background
color of black, and alt-text for the image as "Kitten Mittens". Any existing
IRC client can simply remove everything from "%M!" to the "!" \+ newline, or
if they don't, the text just shows up on its own line below the metadata,
which isn't hard to read. You could even encode it in-line, such as _" This is
some %M!t=fr,b!text!."_ Harder to read if the client doesn't implement the
standard, though.

------
emptyparadise
Formatting is pure fluff - it's convenient to have bold/italic/spoiler/code
tags, and it is possible to implement them in a TUI without degrading
anybody's experience. Link tags are not really necessary and a lot of clients
don't even have them.

The image upload thing, though, the convenience there is being able to just
upload an image directly into the client, rather than having to deal with some
external service. That's it. There isn't much preventing this from being
implemented in an IRC client.

Character limits are silly and should be removed - enforce them with a
moderation bot if you really have to.

Just because most modern chat services are Electron trash does not mean we
should throw out every bit of convenience learned. IRC (clients) could stand
to gain better text formatting and file sharing options - things that make
life easier for users, and in most cases don't really affect how the actual
protocol works.

------
chicob
I like IRC a lot. Simple, light, and a very good example of the minimalist
principle that _" less is more"_.

------
floor_
Anyone else still using microsoft comic chat?

~~~
dole
It's dangerous to go alone. Take this.

[https://gist.github.com/richardg867/bb19ca2b03545f71ae15](https://gist.github.com/richardg867/bb19ca2b03545f71ae15)

[http://www.mermeliz.com/cchat.htm](http://www.mermeliz.com/cchat.htm)

------
stcredzero
_P.S. A friend pointed out that the migration of non-hackers away from IRC is
like a reverse Eternal September, which sounds great_

I was a part of the original Eternal September in the 1980's as the Internet
was opened up to undergrads. The idea of a "Reverse Eternal September" sounds
super awesome! I wonder how it can be implemented? (In a limited context, not
across the whole of the Internet, of course.)

~~~
ohithereyou
Tilde servers were sort of the start in my mind of things like that, as is SDF

~~~
stcredzero
I only know SDF as the abbreviation of the Sol Defense Force from the Robotech
anime translations.

------
zimbatm
The article doesn't talk about the best feature of Slack: a consistent message
history for all the users. In IRC messages can easily get lost due to network
splits or client disappearing. Not having everyone with the same message
timeline can make some conversations quite awkward.

This is really the only feature I miss in IRC.

~~~
nayuki
In exchange, you have gut-wrenching systemwide outages of Slack once in a
while. The CAP theorem says you can't have it both ways. News from 3 days ago:
[https://news.ycombinator.com/item?id=20303479](https://news.ycombinator.com/item?id=20303479)

~~~
deadbunny
Are you living in a world without netsplits?

~~~
ryanlol
Netsplits are pretty rare these days.

~~~
clarry
Yeah? I just counted six netsplits in the past 24 hours that affected a
channel I'm on on IRCnet.

I still love IRC. My second home.

~~~
ryanlol
This is because of IRCnet is operated by multiple entities and has rather
peculiar links, other networks are not like this.

[http://dx.fi/alt/ircmap/fdp.png](http://dx.fi/alt/ircmap/fdp.png) here’s a
map of IRCnet, they’re _really_ going out of their way to generate netsplits.

A network operated by a single entity doesn’t need such a silly amount of
nodes, you can support hundreds of thousands of IRC uses on a single server.

------
xvilka
Ability to remove spam messages would be awesome, these days it is very hard
to deal with on a public channels. Also log out of the box. None of them are
distraction. And proper authentication out of the box. Better design for poor,
unstable connections, i.e. mobile phones.

------
chapium
Perhaps a side pan for embeds makes sense. upload images or code snippets by
providing irc style references in the chat while not interrupting the flow of
conversation because images and whatnot are expanded on the embed pane.

------
Justsignedup
Counterpoint: The lack of accessibility in Slack does not mean it shouldn't be
solved. Baby with the bathwater. Why dump all of slack when instead we can
work on an accessible interface.

------
mikedd
I just use [https://www.irccloud.com/](https://www.irccloud.com/) and it's the
best of both wordls ¯\\_(ツ)_/¯

------
KirinDave
Now let's talk about the inherent lack of a good centralized identity service,
the danger of the majority of IRC servers and clients being written in C and
the inefficiency of the protocol itself for applications like high latency
links? We might also talk about the lack of important modern features like
basic negotiation of client encoding capabilities and what an absolute tire
fire DCC-based features continue to be due to the "just link to an external
website" mentality that stifles all discussion of replacements?

~~~
chipotle_coyote
I'm not sure if "festues" is a word I don't recognize or a typo for a word
that I can't mentally correct into something I'd recognize.

~~~
ben509
I think it was meant to be features.

------
mproud
This is called being stubborn.

If you don’t adapt, you die. Wanna die? Sure, no one is stopping you.

------
andrewshadura
Have the author tried to write bots for Matrix? It's much simpler than for IRC
and doesn't require a persistent connection.

~~~
MaxLeiter
I don't think the author would agree its much simpler:
[https://drewdevault.com/2018/03/10/How-to-write-an-IRC-
bot.h...](https://drewdevault.com/2018/03/10/How-to-write-an-IRC-bot.html)

------
walrus01
Give me irssi or give me death

~~~
darkpuma
You should give weechat a whirl.

------
kabwj
IRCv3 is a scourge because of this. They’re looking to bloat the protocol. IRC
is good because it’s IRC.

~~~
crankylinuxuser
IRC was made a spec in 1993. Not 2003, or even 2013.

And when that RFC was made, they made strong decisions about bandwidth costs.
They gave up things like federation and more.

So yeah, it's time that it's revisited in making a IRC that can be federated,
multiple login/endpoints without using bouncers, and more. I welcome their new
RFC. And it it doesn't work, we're free to keep what we currently have.

~~~
pmlnr
What you're after is called XMPP.

~~~
duskwuff
No, it isn't. XMPP was designed primarily as an IM protocol to replace
proprietary messengers like AIM and ICQ, not as a service for group chats.
It's a flawed protocol even for IM, and its conference features verge on
broken. (For example: A user's visible presence in a conference is neither
necessary nor sufficient for them to send and/or receive messages in the
conference.)

------
enriquto
I love this blog. When I read it I find myself repeatedly smashing the table
with my fists and shouting "YES! OH MAN, YES!".

------
gridlockd
> "Remember that not everyone is like you."

Of course they aren't, but most people aren't like Drew Devault either. Most
people don't use ancient hardware to prove some sort of point. The "Drew
Devault will approve of it"-argument generally doesn't show up in a business
case.

In a perverse way, I am glad that programmers come up with better and better
ways to waste hardware resources. In doing so, they ensure the continued
progress of the semiconductor (and battery) industry through mass market
demand.

I do not believe it is a coincidence that Moore's law has slowed significantly
right at the time when computers became "good enough" for the everyday user.
If it wasn't for gamers spending hundreds of dollars on pushing more pixels
on-screen, we'd be way behind on deep learning.

Buy a new computer, Drew.

~~~
u801e
> Buy a new computer

I've purchased a number of computers over the last several decades, yet using
facebook/slack is still slower and less responsive on a computer with a Core
i7 processor and 16 MB of system memory and a 100 Mbps downstream connection
compared with using usenet/irc on a 486 with 16 MB of system memory and a a
28.8 kbps downstream connection.

------
zaarn
Well, I consider stuff like the absence of server-side friend lists, server-
rendered embeds and formatted messages a bug at best, though in IRC's case
it's simply the lack of ability because the protocol is horribly outdated,
modern approaches and limitations could afford a lot of QoL improvements.

------
693471
IRC is forever tainted by graybeards that won't give up their terminal
clients. People who want to get work done have moved on. The next generation
of developers have no interest in IRC. It's a dead end.

~~~
moftz
I think you misunderstand the real quality of running an IRC client from
anywhere on anything. I don't need to carry around a $4000 laptop to get my
work done when I can use my home dev server from anywhere using a 10-year old
Thinkpad junker. Break it? Pitch it and buy another for less than $100 on
ebay.

~~~
syntheticcdo
Saying Slack requires a $4000 laptop is a bit of hyperbole don't you think?
I've used the Slack web client on a $300 Chromebook and it was just fine.

~~~
moftz
You don't need that for Slack but if you want a quality machine to carry
around to handle your workload, that's the price neighborhood.

------
outime
It seems that the author references different IRC clients but at the same time
ignores (can't say if on purpose or not) the fact that there are also
alternative Slack clients which address many of the pain points.

~~~
Sir_Cmpwn
To stefan's point, Slack clients are unofficial and unsupported software built
on top of proprietary protocols which are subject to change at any time
according to the whims of a private company which has their bottom line at
heart instead of your communication needs.

~~~
outime
I don't disagree with you on that - but that's not written in your post so my
point still stands.

Many of the paint points are solved when using alternative clients.
Alternative clients will allow you to, for example:

* Use Slack on an ancient computer

* Use TTS systems

* Not use threads (you can just dump everything in the channel)

* Not have link previews

* Use keyboard only

* Get a less distracting experience

I'm also an IRC user and I like it but I just wanted to point out the post
isn't fair with Slack if only one client is evaluated.

Edit: list formatting

~~~
est31
They can crack down on alternative clients at any time they want. You are
living on borrowed time. A guest who is wild camping in their gated community
walled garden private property.

~~~
outime
I also agree with you. It was painful when e.g. Twitter basically killed 3rd
party apps.

What happens here is that I don’t see any significant portion of Slack users
moving to IRC anytime soon. Therefore, if you’re forced to use Slack, you
should know that alternative clients are available as of today.

