I don't understand this world any more
I don't understand this world any more
I have been lurking on a few IRC channels due to my work on http://www.oilshell.org/ .
Problems I noticed:
- The lack of conversations/threading is really annoying. Most worthwhile IRC channels have more than one conversation going on at once. Not only do you have to untangle who's talking to who, there's no way to know where the beginning of a conversation is. I have to read messages backward to find the beginning .
- By default there seems to be a lot of leave/join spam. I used IRC for a year before turning this off and it vastly improved my experience.
- I think most clients don't save anything by default. When I reboot my computer and don't log in again, I miss messages.
- Having to use pastebins for code is annoying.
I'm sure that someone will respond with how you can solve all these problems with a certain IRC client. But I don't want to do that. I'm not technically unsophisticated -- I write software in 5+ languages and I know all about Unix and networking. I just don't want to spend my mental energy on my chat client -- I have tons of other projects to spend it on.
So I only use IRC when necessary; I use e-mail otherwise (through GMail.)
Of course, I also don't use Slack. But from what I hear it solves some of these problems.
A proper open-ecosystem solution would involve network-level history-storage-and-retrieval nodes (basically archival peers in the IRC protocol), and additions to the protocol to direct archive-access queries to those nodes.
Not sure what you mean by "open ecosystem solution." IRC is literally just a few RFCs, a variety of server software, and a variety of client software. It's as extendable as you need it, and most networks have their own extensions already. Is that not open enough for you?
> IRC doesn't solve those problems; individual users solve those problems
As opposed to...? AI solving them? Do we need a corporation to hold our hand while we solve these issues? I'm not following what you're objecting to here. You're free to write and propose your own RFCs and extend IRC however you wish.
I was trying to contrast with existing solutions—IRCCloud, for example, "solves" the problem of history search by effectively wrapping IRC into a proprietary web cloud service.
By an "open-ecosystem solution", I mean a solution that applies to anyone and everyone who uses the IRC protocol, rather than only for users of some specific client.
I'm not saying IRC isn't amenable to open-ecosystem solutions; I'm saying that nobody has (yet) tried to solve this problem in an open-ecosystem way.
> As opposed to...?
As opposed to network-operators being enabled to solve these problems for users of their networks.
Consider the contrast of POP3 vs. IMAP. In POP3, the tasks of "email storage" and "email search" are left to the user, and often they'll solve them badly (by e.g. setting up direct POP3 connections from several devices to one POP3 account, ending up with random emails living only on one or another device, whichever one happened to pull them.) In IMAP, by contrast, email storage and indexing happen on the IMAP server, and users don't need to worry about it. But, since the solution doesn't involve any proprietary services, users can still "take control" of the process if they want—in this case, by setting up their own IMAP server. They just don't have to do that.
> You're free to write and propose your own RFCs and extend IRC however you wish.
I think we're in violent agreement about that. My point was that nobody seems to want to do that for the IRC ecosystem vis-a-vis network-level message archiving.
An open protocol, free choice of clients, and decentralised infrastructure is a baseline. A change is not an improvement if it removes those. (You could argue you have valid reasons to remove any of them and you'd be wrong.)
I don't see why it would be much more exhausting to use a hosted IRC service like IRCCloud to solve your problems than pick a specific alternative protocol entirely.
If you see Slack as a replacement for IRC, then sure, it's not an improvement.
If you see Slack (and other proprietary solutions) as a capitalism-incentivized R&D lab for features that can then be absorbed into the open ecosystem, then it's nice that it exists, isn't it?
I don't use Slack regularly, but I have tried it, and it is instantly obvious what the difference is. If you don't see it, then you probably have never designed software for end users. (FWIW, I also agree that Slack is bloated and that's one of the reasons I don't use it.)
As far as contributing to free software and open protocols, I'm working on fixing Unix shell. It would be great if IRC developers would take some inspiration from Slack and other proprietary services and fold them into IRC. Although, as mentioned in this thread, some of that may be very difficult or impossible without a commonly accepted client.
And I understand it's not a one person job. It probably requires a more coordinated effort. Decentralization has drawbacks as well as benefits.
What is not OK is pretending that problems with IRC don't exist. If you have that view, and spread it, then you guarantee that open protocols won't win.
I prefer open protocols, and I lament what has happened to Usenet and e-mail (trying to set up a mailing list for my open source project has been frustrating; spam causes problems for mailman-type lists). But honestly the proprietary services have innovated. They're not better in all respects, but they are better in some.
Open source doesn't mean being ignorant of users and dismissive of their complaints.
(FWIW I didn't know about IRCCloud. It looks interesting and I may check it out.)
Clicking through to oilshell - I wanted to know what is different and exciting about it, but all I found was text saying it's "new". Making the value proposition clearer would go a long way and be a big help to people who are curious and geniunely want to understand what's amazing about your creation.. !
My main goal right is to have sophisticated users try it and give bug reports. It's not ready for people to use as their daily shell (and that isn't even the primary purpose of the project. As explained in the FAQ, I'm focused on shell as a programming language first.)
Some people have tried it and reported bugs, but I could use more reports. So I suppose I could try to sell it a little more and maybe get more feedback. But overall I feel like it's gotten a lot of feedback and attention. I'll think about whether it makes sense to "sell it" more.
The other thing I would like is to attract experienced developers who have implemented VMs and programming languages. Most of those people are working on their own projects. But I think many of them understand my project and half of the blog posts are aimed at that audience.
> The lack of conversations/threading is really annoying.
Slack is arguably worse - they recently added threading (really comments that can go on a post - there is no nesting), but this has made me much more likely to miss any follow-up because messages are less visible than otherwise.
> By default there seems to be a lot of leave/join spam. I used IRC for a year before turning this off and it vastly improved my experience.
This is entirely client dependent, so not really a fault of IRC. Slack has the same option, it just defaults to not displaying it like clients as opposed to whatever IRC client you used.
> I think most clients don't save anything by default. When I reboot my computer and don't log in again, I miss messages.
Yes. I don't know the inner workings, but generally if you're offline on IRC you will miss anything directed at you. Slack definitely addresses this, and it is my favorite "feature" - it means that Slack is not good for only casual discussions. (Slack's search is my second fav, and there's nothing special about that, it just works well enough that I can usually find that comment I vaguely recall someone making within the last 6 months on one of the many channels I'm on).
I expect this is largely a client issue, though I also imagine that most IRC servers have a very limited amount of immediately available conversation. Remembering that you have direct messages waiting for you would require servers that reserve nicks. That's all guessing though.
- Having to use pastebins for code is annoying.
Slack allows for posting code in text, posting text "snippets" that can include code, and posting files that can be downloaded.
Overall your frustrations seem very reasonable, but from the sound of it you're "hanging out" on IRC channels that are being friendly for outside users to drop in and out, and for devs to have conversations that are considered temporary. Plus not having users post goatse pics or worse. Which means they aren't even TRYING to accomplish what you want. Hard to blame IRC in that case - those features aren't used even when available.
I'm not exactly saying "You just need to use IRC client X" as you predicted, but more "you probably just need to change a config and connect to IRC servers that are INTENDED to do what you want". Not wanting to go through that effort is fine, and I'm not saying Slack and other alternatives are worse or even equal for those tasks, but don't blame the plane for not flying when the pilot is making donuts on the runway.
IRC doesn't work "perfectly fine", at least in the context of the problems that Slack solves.
I think we largely agree on technical matters; it's a matter of what relevance this has to the OP -- a Slack client for the terminal.
If your stance is that IRC is irrelevant to this thread because Slack and IRC solve different problems, then I might mostly agree. But I didn't bring up IRC!
I was saying you are comparing Slack to IRC-when-used-to-solve-a-different problem. You haven't described IRC as it could be configured to handle the same problems as Slack, only when you've encountered it in the admittedly more common case that it's intended for drop by traffic.
I find it interesting that people want to have threaded conversations in what is essentially a synchronous chat, but they prefer to have a degraded threading experience in their email client by using conversation view rather than traditional email threading using the Reply-To and/or References headers.
Why do I have to sign up for different Slack organizations and have a different password for each one?
Why can't I private message someone on Slack with just a username?
I think Discord does this much better.
I’m sure Slack is using their vast resources and large team to solve these problems at this point, but it probably hasn’t been easy to create a horizontally scalable system from the early codebase, especially when the data model was designed for a single team of users.
I think it is worthwhile to think of each Slack organization as a completely independent and isolated network. This is one way that they can reasonably give some security to their corporate customers. I don't believe that there is any intention to ever lat you send a blind message to someone on another Slack organization, but maybe I am wrong there.
It would absolutely be nice however for me, as a user who is in multiple organizations, to be able to log in one time and have all of them be connected.
About the only thing IRC has going for it is decentralization, and that's not very valuable in the market it seems.
Seriously. IRC has had 30 years to get with the times. It's stagnated and been lapped by its competitors, and the efforts to improve it didn't properly start until Slack and friends simultaneously re-cooked and ate everyone's lunch and dinner.
https://irccloud.com has all these, done really well.
Offline message history you get also by running a server somewhere and just having an irssi in a screen/tmux.
Still my favorite protocol and I have some channels that I consider to be my favorite social network for about 10-15 years already.
Having to pay for basic features that competitors like slack/discord have is exactly why the slack community for something is often much bigger these days. Even the larger communities like #node.js are really just 10 regulars.
For example, Elm's slack is vibrant. Elm's IRC channel is dead. This is the reality for most communities I've been joining these days.
And on top of that, the behavior of irccloud from the standpoint of everyone else is identical to that of a bouncer like ZNC. It's yet another hack around the fact that clients don't exist in IRC unless they're online.
Unless, of course, you are talking about a user-friendly service offering IRC access to those who do not want to set up their own clients.
So, something like IRCCloud, which does exist, fyi.
Rocketchat has much more feature parity to slack tbh. Comparing slack to IRC isn’t really fair even though they do the same thing.
I have used irc and slack and slack’s ease of use is its asset. I used freenode in high school and college to teach myself scheme. The barrier to entry is not something that can be explained as just use IRC.
I run an office hours chat for my online classes powered by IRC. I use KiwiIRC as the front-end.
Students need only the web address of the web page I want them to go to. When they get there, they need only a username.
No signup, no verification, none of that. They're online, getting help in seconds.
Individual public channels requiring nickserv registration and all that? that's another story.
But seriously - the barrier to entry to get started is this:
https://kiwiirc.com/client/irc.freenode.net/?##irc_can_be_ea...
Some welcome message. You may be too used to IRC to recognize this, but this is frightening gibberish to 99.99% of computer users.
Also, this interface does not get you crucial features provided by other chat services, such as seeing what previous users have said.
It's amazing to me how people think Slack is this amazing tool. If someone had thrown millions of dollars at IRC, it wouldn't suck.
But instead, you'll fork over your personal info and insist I do too.
I did it because I like IRC, but my employer (and many of my co-workers) love Slack.
I dislike Slack, having the option to connect to an IRC gateway (unless your employer disabled this option) or to communicate with their API service with a program like this one (linked above) or mine (linked below) is good for people who still need to communicate with their peers but want to do so through the program that they are more comfortable with, in this case, the Terminal.
The market simply optimizes for whatever is easiest for a ceo to install and maintain.
Seriously, what even is this comment chain getting at? If you work somewhere where always-on is a hard requirement, it doesn't matter what messaging system is used. Any place that would fire you for muting notifications would just as easily fire you for turning off email notifications.
In short: Let's stop blaming the damn tool for something that is the fault of the humans using it.
Slack is no different other than name recognition and size.
Slack is focused on business.
Slack doesn't have some voodoo set of features that make it more problematic than Hipchat or Teams or Stride or Mattermost or (nn programs elided).
If your org sucks, your communication within that org will suck too. Let's not burn down the concept of instant messaging in the name of sucky orgs.
- Huge, rigid, unskinnable UI. - Difficult, multi-step access to configurations and settings. - No OS integration therefore no desktop automation.
I probably should have stuck with Hipchat, but I jumped on the Slack bandwagon along with everyone else.
- you will miss edits
- in some cases when people sign up with their email addresses, you now have "info" and "mail" as nicknames, because they signed up with info@example.org and only the slack client shows "joe".
- everytime someone pastes a snippet, you'll have to open it in a browser anyway (ok, minor issue)
And slack is complete garbage that is pushed and we as employees most of the time have no other options.
Besides the whole problems mostly talked about related to memory and cpu usage, the one nobody seems to check or understand is that it is completely frustrating and unusable from accessibility point of view. I've seen this first hand as that person above is blind and the slack application is of one the worst offenders there is regarding this point. I've seen and felt his frustration and how slack team manages to avoid his point all the time.
So I hope it dies out eventually :D
Different people, different needs, different drivers. Just don't expect the actions and motivations of different groups of people to align with each other. Sure as a while it doesn't seem to make sense but each individual part is reasonable on it's own. There must be a powerful German word for things systems that look crazy at the macro level but are reasonable at the micro level.