There's no reason that a web-based chat cannot also have a "thick" client which works as IRC currently does.
We can do both with a single service...
the true problem here is that IRC is long-forgotten by many, completely unknown by most, and those that remain remain because they have a strong attachment to IRC. That strong attachment will make driving a standard forward very difficult, because no two true IRC fans are going to have the same opinions on what a new version should look like.
It's the true fans of open source stuff that hold open source stuff back the most.
That can indeed be done, although I fear that many clients and servers would implement these additional features differently, thus losing all the good that comes from IRC being an open standard.
I don't know if it's been attempted before... but I think it would be interesting to see something open and community-centered like IRC, but with all these little features people now expect.
I agree. We should evolve the IRC spec to support the modern requirements of common users. Then web clients are just an addition. Call it IRC2 or anything if it offends the original IRC nerds (which I'm part of)
Well yeah, I'm in no way saying that people in the OSS world should standardize on single company's proprietary protocol and platform and if IRC is the only thing people from two projects can agree to speak then it's what we've got.
But we really need to stop trying to make IRC 'work' and build something more usable that can interop with existing IRC networks (hi Matrix!). IRC is fundamentally not a good enough protocol for how people people chat today but it's easy for people who have been using it for 20 years and have a lot of pride and machismo sunk into figuring it to dismiss outsiders that are struggling and believe that if you pile enough barely-working brittleware on top that it can sorta-kinda work like Slack or Mattermost.
Speaking as someone who's used IRC for nearly a decade and who has developed extensively for it, it most definitely has not stayed simple, what with all the nonstandard extensions every network has brought with it. And while I dislike Discord for many reasons, its moderation tools is not one of those reasons; I'd like to see a good, open chat standard come along that adapts features such as invite tokens, rather than depending on accounts or IP addresses or someone manually inviting you into a channel.
To have a functional, modern IRC client, you have to not only implement what there is in the RFCs (which incidentally, no IRC daemon follows anymore, not even the original ircd2) but you also have to pull in IRCv3, SASL, ISUPPORT parsing, CTCP parsing, a TLS library, ... the list goes on. And for a good experience you also want scripting and the ability to abstract away the differences between services implementations (Atheme and Anope, mainly). Not to mention you have no clientside encryption option on IRC short of any number of buggy OTR implementations.
IRC is not great. It might be okay, but by no stretch is it great.
I wish we could just hurry up and come to the ultimate conclusion that we always had everything we needed with IRC. I can't understand why we're still in the jungle of high level applications replicating a low level protocol.
I get that IRC never had a particular client that galvanized the protocol as much as the many iterations of proprietary real time chat that has came and went over the past 10 years, but honestly the problem isn't the protocol, the problem is that no one was making clients meant for the mainstream.
This is not true at all. IRC has, maybe, 10% of the features and ability Discord has. I do agree a good, usable and more modern IRC client is a good opportunity.
IRC was essentially created 25 years ago. In all that time we have still to make anything significantly better.
Why does a system with the following features not exist:
1. Requires all implementing servers and clients to support the full protocol
2. Allows users to communicate to users on other servers ( not just users within a
server )
3. Has free client open source reference implementations for native use ( C or the like ) and some web language ( Python & Dynamic JS )
3b. Has a free open source server reference implementation
4. Logging on the server indefinitely
5. Is always encrypted ( end to end via public keys, so that clear data never
reaches the servers )
6. Offline messaging
7. Large file transfer with clean re-connection and continuation ( if neither party has a publicly accessible port, payment/membership to the server would be required to facilitate the transfer... )
8. Random chat
9. Group chat
10. Utf8 for full multi-lingual use
11. Index of users for finding other users
If someone would just create such a thing it would put an end to all the stupid shifting from one system to another from year to year. I'm getting tired of switching systems and reverse engineering shitty protocols in order to continue doing the same thing with less features.
IRC offered a unique featureset for many years - nothing else offered the same global scale and large-group-oriented chats. People will put up with very poor usability if it's the only product with a feature they need.
Well yea, it's a sad fact that IRC requires a client side server running something like ZNC to work as needed. IRC is great in many, many ways, but this is a fundamental flaw. It's nice there are solutions, but they are technical, require hosting, and aren't perfect.
Other chat protocols fix this but lack the base, and are having trouble competing against the likes of Slack or iMessage in different use cases for example.
I'm excited to see how Purism's Librem 5 is going to play out with matrix as it's primary communications platform.
There are web based IRC clients. IRC can integrate with other platforms pretty easily. IRC doesn't require setting up your own server.
Being able to setup your own server is a benefit, not a negative. Much like twitter it seems to be another regressions from an open internet to corporate control.
The only positive I can see is rich text, but that has extremely limited value in a chat program. History is nice too but IME too painful to use (scroll, load, scroll, load, scroll, load) to be of any practical benefit.
Sounds right to me. The client is too heavy, and I too wish that there was more decentralisation and ability to use alternative clients, but it is what it is. IRC hardly has the user count or the features needed to compete with Discord. The world has upgraded the expectations of what a chat client should be capable of, and IRC hasn't followed suit.
I used to be a big fan of IRC, but I'm not so much anymore. The reason IRC tends to suck is channel operators and network operators that enable them. No amount of technical advancement will solve that problem. Channels on IRC are unique, and much like domains, so there's not much community competition to sack bad channel operators while network operators are very hands off.
What I'd love to see is an open source version of discord take off. Especially if there's a discovery mechanism built in.
I hate the state of chat right now. IRC is the kind of open standard and FOSS technology we need, but terribly outdated, Slack and Co. are shiny but inflexible and locked in.
Personally I dislike this trend towards a plurality of chat "services" and "apps." Now each project I interact with has their own chat service. I have to maintain accounts on all of them and install several applications to interact with each. It's a pain to manage.
Not to mention that most of these services use Electron-based chat clients which exclude a bunch of people who cannot afford the kinds of machines required to use them or they have to suffer a poor experience on lower-end hardware. It also excludes people who use accessibility software or automation that doesn't integrate with web-based clients.
The user experience on IRC scales better. Anyone can write a rich, easy-to-use client or server. If you happen to be a programmer you can write your own tools to manage your own user experience. The drift from casual user to power user isn't stopped by a walled garden of a tightly-controlled user experience that doesn't integrate with anything.
At its core, I agree that the bare-bones nature of IRC can be wonderful. But all of the modern services like Teams, Slack and Discord, have seamlessness between client devices as their first priority. People leave their laptop, go to the bathroom, get their phone out and go on typing.
I used IRC for a brief period even after we began to have multiple devices. It was always through some kind of proxy, or basically an ssh connection through GNU screen, just so that basic functionality like asynchronous messaging worked, and so that my setup would carry over. The whole protocol you would have to build around IRC to achieve client agnosticity would arguably be more complex than IRC itself. To a point where any of the big players could introduce IRC-style channels as a fun retro feature. I'd bet more money on that feature becoming popular than on an IRC resurgence.
As far as I can tell IRC has stopped evolving; it has no provisions for people not always being connected, it has no answer to mobile, it has nothing for threaded conversations, it has nothing for video chat, it has no searchable scrollback.
IRC is legacy tech that kind of sucks, but all improvement has been done by startups rather than open source developers, so we have a fragmented mess. I mean, XMPP exists, but it's not that great either.
It turns out UX is more important than whether you need to convince people to install a new piece of software for the vast majority of people.
IRC has existed for over 30 years and was widely popular for the big part of that timespan. Yet no one ever made it into or extended it into a realistic competitor to the modern wall garden proprietary chat platforms.
Is there a fundamental issue with IRC that precludes that? Did no one just bother? Is it the specific mentality among its core users that "absence of certain features in IRC considered a feature" that lead to its demise?
We can do both with a single service...
the true problem here is that IRC is long-forgotten by many, completely unknown by most, and those that remain remain because they have a strong attachment to IRC. That strong attachment will make driving a standard forward very difficult, because no two true IRC fans are going to have the same opinions on what a new version should look like.
It's the true fans of open source stuff that hold open source stuff back the most.
reply