Hacker News new | past | comments | ask | show | jobs | submit login

Now we have Slack, Discord, Gitter, Microsoft Teams, and Atlassian Stride.

I'm not sure when chat rooms became a business tool. Personally, I find myself distracted more than anything from all the notifications these apps cause, I get less done.

I have to be sure to quit every chat app and put my phone in "do not disturb" to disconnect and focus, and then I get coworkers mad that I'm not online.

At least with email I could take a while to reply without anyone blinking an eye.




A common discussion I have with other developers.

For a developer I'd say I'm a little more people minded than average, and a lot more big picture success oriented. And in both regards your personal productivity doesn't really matter.

The biggest problem in software development is actually not per-coder-performance but that the right things get solved, and that the solution are actually good and quickly finished. Think about how much time you wasted using a colleagues API that simply wasn't designed well, at least for your usecase.

So, if more information means you are working on the right things, and that you understand your users better, and therefore make your tools more intiutive and usable, a hit to your performance, even 50%, is not a problem.

The funny thing is from a big picture perspective sometimes it would be good if some developers would just reduce their code output, without providing anything else, because it would help keep all other developers in the loop.


This is well said... although I think its unlikely to be a popular opinion with people at a personal level, but I hope the people who find themselves disagreeing take a moment to reflect on it.

While I think it's fair to say these sorts of applications do disrupt people and reduce their productivity, I'm certain that they help focus team efforts in a way that meetings just don't.

You can't split off 3 members of the team and have an important technical discussion during a meeting (or if you can, your project manager / meeting organizer isn't doing their job). You can't come back later and see exactly what it is you said that you'd do after a meeting. You can't tell a bot to create a bunch of tickets or what the current status of a system is.

If you find that your chat apps are not providing you with any value, maybe you're using them for stupid purposes like sharing funny pictures & this mornings cool tech blog post, or you're subscribed to the support channel, or your team is treating them like a social hang out space.

It's not that its a bad tool; its that you're using it wrong.


I don't think funny pictures are a stupid purpose. They cheer me up and expose a different side of my coworkers, increasing morale and team cohesion. Of course they happen to be the right kind of funny pictures/links. :)


I think the point was: if that's all that you use it for, then of course it won't help productivity. It's like any other tool: it can be used to build or destroy.


the question is more "do we need a bot for this" and not whether the actual action is productive


It doesn't help that emoji and giphy are listed as prime features in this new offering.

You're right that the applications can be used productively. I find that my work Slack is a lot less focused on being productive than the dev channels that I follow in Discord for open source projects.

The other big issue is the discussion of asynchronous versus realtime communication: https://blog.doist.com/why-were-betting-against-real-time-te...

I do find that in some Discord servers we accidentally exclude people living in different time zones, which is not as much the case with an async medium like Google Groups or other mailing lists.


> If you find that your chat apps are not providing you with any value, maybe you're using them for stupid purposes like sharing funny pictures & this mornings cool tech blog post, or you're subscribed to the support channel, or your team is treating them like a social hang out space.

There is nothing wrong with doing that if it's in the right place - the off topic channel. The same is true if discussion that doesn't concern you is happening in a general channel - you tune out and don't see a message that are relevant to you.


That's still small picture thinking. Dropping efficiency by 50% is the equivalent of spending 4+ hours in a meeting every day.

If your team needs that kind of overhead then something massive is broken and a chat room is not going to fix it.

As a general rule, on large teams informal communication is vastly less efficient than formal communication. A major goal should be avoiding having the same conversation repeatedly.


I wholly agree. If you measure efficiency by code production and feature/bugfix turnaround time, I guarantee you can lose a huge percentage of your efficiency very easily. How about a 15 second interruption every 10 minutes? The amount of useful work you got done that day might be well below 50% of an "undistracted" day.

The overhead of constant context switching has a high price. If this is happening on your team, no tool can fix it. You have to fix the culture, and that's much harder.


But no one is saying you should use instant messaging or informal communication for everything. It's a tool, and it's good at certain roles, for example, a log that includes context for investigations into incidents.

For design docs, formal notifications, etc., there's still email and services like Quip. They are not mutually exclusive.

Having day to day discussions in informal channels and consolidating them into a more formal form of communication is a workflow I enjoy working with.


You need to consider that a coder most oftne self evaluates performance as time spent writing code. If he spends 50% of his time planing, learning, comunicating, and 50% coding he will consider it a 50% performance drop.


My productivity is measured on

1) me understanding the domain

2) finding a well factored solution to the problems in that domain

These things are incredibly hard. Using chat is like skipping a meal or a nap. Communication isn't valuable in and of itself.


I like 1) a lot. It is too often neglected, but understanding the domain, actually understanding what the customer really wants are very difficult tasks.


As a product manager for one of the big tech companies in the bay area, I agree.

Most problems that we solve on a daily basis aren't cutting edge, they are complicated business logic or customer facing UI that needs to be tested more than anything else.

Communicating requirements and vision at this point become more important than having your "rockstar" engineers outshine everyone else.

That said, one thing I've learned is that you can't please developers.

The same people on this forum that are deriding "personal communication" in favor of more formal communication are the same ones that complain about project managers and "unnecessary" status updates and communication.

I typically just do whatever the team wants, makes no difference to me whether they like to figure out everything in conversation or desire more formal status updates etc.

At the end of the day if I see the team gelling and working at a good clip, I don't mess with them and try to stay out of their way.


"That said, one thing I've learned is that you can't please developers.

The same people on this forum that are deriding "personal communication" in favor of more formal communication are the same ones that complain about project managers and "unnecessary" status updates and communication."

I agree with all of your points, except this one. My own view is that managing a technical team is just extremely demanding, and many managers simply aren't up to it. Developers are educated, intelligent professionals who spend a lot of time thinking and talking about a range of specialized technical stuff. If managers can't keep up with their team on their own resources, they end up asking for more of the team attention to compensate. And from the point of the view of developers, that is unecessary communication that they don't get value from.


I think what you're saying is that if a manager can't adequately track what their team is working on and how they are doing, they put the burden of that gap in communication on the developers.

This is a valid point, some kind of asymmetry in the communication.

I don't think this contradicts what I said, rather branches off into another subject, whether your reporting manager is doing a good job or not.


These are all people tooling problems.


You are correct but so often we are measured on individual productivity. And you get what you measure. So team members will want to work distraction-free to max their KPIs.

Your insights good, it needs to be needed by managers and staff that the team is working as a team.


I recently re-read the classic "Peopleware" (written 1974) and I think it's a bit unfortunate, given all the innovation elsewhere in the field, that there hasn't been much innovation or even experimentation about the nature of employment or how teams are constructed and actually execute work.

Sure, there's a new "method" every few years but these seem like tinkering around the edges.

I admit this is not a fully-formed idea but I've wondered about a concept where an entire team would be compensated as a team, but then the team would be responsible for hiring/firing. (Which seems only fair -- if you're going to be compensated as a team you should have control over it.) A group "audition" interview technique is discussed in Peopleware that I have sadly never seen implemented, but something like that could form a part.

But as long as people are compensated on an individual basis there will always be an incentive to treat communication and particularly assistance or training of other team members as a second-tier function, to be done only reluctantly if at all. But viewed from the throughput or potential of a team, someone who increases the performance of multiple other developers has a much greater shot, in my experience, of being the mythical "10X developer" than even a very strong individual contributor. And the reverse is certainly well-known to be true: someone who hurts the performance of people around them, even if they produce good code at a reasonable rate, may actually be worse than useless to the team as a whole. Producing an incentive structure that takes those issues into account that's based on measuring individual performance is extremely difficult, and I've begun to think impossible, given that the industry has been trying to do it for decades with little apparent progress.


The team based compensation is interesting but I don't think any company other than some startups would go for it. The main reason would be falling afoul of discrimination laws. The teams would be highly incentivized to exclude people that they thought would be less productive, say a pregnant woman who the team thought would be out for a long period, but the government will be holding the company accountable and not the team itself.

It's the same result of you get what you measure


Isn't this problem theoretically also suffered by e.g. ~5-person contract/consulting shops?


It is and in my experience small consulting shops are a lot more open to folding if something goes bad and reopening as a different entity or with a slightly different group of people. Any larger firm or group that's in it for the Long haul doesn't have that option.

The more I think about it the more it seems like small consulting shops basically are team based comoensation, but it still ends up with 1-2 people deciding who gets paid what more often than not


I haven't experienced that at all. Okay, yes. When you ask your boss what he measures you about, he'll give you performance data. Tasks closed, commits sent, LOCs produced, etc. But what he really measures are top features you produced. And that happens rarely. I think for a really talented guy it's 0.5-1 top success per year. And these don't need to be measured, they are team memory.

Ask your team who is most talented in their eyes. They'll agree on a small number of names. And if you ask them why they believe it, it's something like "because he wrote our test automation" or "he's the guy you ask about that really nasty part of ancient code". Everything else is only for self-fulfillment of the developers.

E.g. https://www.youtube.com/watch?v=oyVksFviJVE


YMMV as they say


I make sure that the people manager of the junior engineers I mentor know that my view of the productivity they are evaluated on is that it's related to the quality of their engineering, not output quantity, or even output per se. A significant part of engineering is bringing clarity to a problem, usually by engaging in a proper process of requirements analysis and design. Time spent slapping code into an editor ought to be less than the time spent doing other engineering tasks. Frequently it ought to be much less.


And that's what people think (me too, no exception here) two years after they come out of university.


What do you mean by "that?"


Chat breaks the flow, flow is necessary for cohesive elegant solutions. If we develop under a state of distraction, we end up making bulldozer-code.

Furthermore, chat is not high quality communication. It is mostly junk comms. If we wanted to encourage communication that moved the organization forward, we would have a structured medium that would automatically populate a knowledgebase.

Chat is not that medium. Chat is shat.


> Chat breaks the flow,

Until I encounter a problem, switch into chat, and find that someone else already solved that problem and it was archived by the chat system.

Flow maintained.

My chat apps run on a separate monitor that is purposefully not within my visual range of the monitors used when I'm coding.


Then that's asynchronous messaging. Like email.

The thing I hate is the opposite. When I'm told off for not replying to a message. Ergo need to keep it in visual range and stop what I'm doing on each message. Even if it's an inane broadcast from a team member.


With chat everybody has the same persistent view. Email everybody organizes differently.

Some people delete emails after reading them, some put in folders, some tag everything, some have an inbox with 100000 unread emails. If I tell a colleague that I emailed them the info a week ago half of them will not find it and just ask me to send it again.

With chat I can just say "it was posted in the QA chat room about 2 weeks ago" and everybody will find the info equally easy.


> Then that's asynchronous messaging. Like email.

Except organized differently, and easier to author rich content with. And the performance is better, messages are sent instantly. The overall UI is better in many ways.

That said email having subjects makes it different.


Look at Chat when you have a free moment. Leave the app icon badge on but turn off intrusive pop-up notifications. Problem solved.


I agree with you completely on your main point, but you must admit that a person needs some time to concentrate in order to produce code. Even just 2 hours a day.

Unfortunately, a lot of companies are starting to measure "time working" via "time on Slack." My company is one of them, but it works out for us because my team exists in multiple time zones (making the interruptible hours of the day fewer).

This is not a problem that's specific to Slack. I guess if you're working in an open floor plan, you would have the same problem - or perhaps many people would be more shy to bother someone in person than online. Slack (and apparently this new tool too) doesn't help though. It seems to support an ever increasing array of notification options. You can set your status to "do not disturb," but people can and will still ping you when they feel like it.


In-person has non-interrupting ways to get information about how busy someone looks. Chatting someone up at the water cooler is much different than someone at their desk, which is different still than someone who is looking through things with headphones on and a puzzled look on their face.


I think there's more of a balance between collaborative & big-picture work, and heads-down focus, than you let on.

Sure, teams need to be working on the right things, in the right way, and need team leaders who can focus on the overall product itself, as well as the overall technical direction. But sometimes (often?) you just need people to avoid and ignore distractions and get their work done.

This doesn't just apply to developers; I hear from many non-technical staff where I work that things like Slack sometimes cause more interruption then they're worth, and need to sign out to get their job done. There is definitely such a thing as information overload, and there is definitely such a thing as interruption/notification overload.


You're right, but most communication to solve big issues for me do not come from chat apps, but that's also affected by the fact that the company I work for doesn't have remote workers.


> sometimes it would be good if some developers would just reduce their code output, without providing anything else, because it would help keep all other developers in the loop

Oh yes!

I once worked with someone that was so prolific that I had no chance to keep up-to-date with their changes and get my own work done.


very insightful. thank you.


Well said!


Working remotely, these tools are critical for communication (even focused communication, with periods of disconnection) as well as building some semblance of culture. In an office, you may not need it as much but it's definitely useful, especially with APIs and other commands integrated.

As for notifications - that comes down to personal preferences and team norms. Disconnecting / setting do not disturb (which I notice is an explicit mode in this app) is important. People should know when to get a hold of you, how best to escalate, etc so you can do your best work.


Yes. For those who have worked remote before these tools, it's like night and day experience.


I'm basically the opposite. I cannot stand email for day-to-day work discussion, because there is effectively no way to distinguish messages by priority or time-sensitivity. Email sits in the horrible middle road between synchronous (like a phone call) or asynchronous (like a physical mailed letter). I think email works well (and seems to be designed) for the latter use case, but at work there may be an expectation of prompt responses.

For me, Slack and similar work really well for small companies or teams (20 or less). I haven't experienced work chat in a larger company or team, so I could see it getting messy.

As for people getting mad at you for going offline to buckle down and get work done, that seems like a business culture issue that isn't going to be any better at the same company if they got rid of work chat.


Yeah I was another Slack-complainer until I joined an organisation without any sort of business-chat system. That's when my amnesia cleared up and I remembered just what a slog email is without a Slack-like. I remembered that email is used as chat when there's no proper chat system, that it's an unsearchable unstructured endless soup of important stuff, cat videos, unnecessary reply-all mashing, mysterious banishment to the spam folder, and wheat-to-chaff (greetings, unnecessary opening pleasantries, huge sigs) ratios that make enterprise-Java look lean. I'm in a constant state of anxiety over my inbox because I never know if I'm mistakenly ignoring or overlooking something important. In various ways, Slack ameliorated all these things for a downside that is in retrospect completely acceptable.


Wait you think email is LESS searchable than Slack?


Wait, why is email unsearchable?


Mostly Microsoft Outlook.

(But more seriously, even with a good MUA and either client-side or server-side search, the way mail messages are constructed, with tons of reply quoting, makes searching them a pain.)

In lots of business cultures there's no expectation to search email, because it's so hard to get useful results that way, so if you send it in an email you can expect to have people just ask you to send it again. Even if you can use search, it still sucks.

Slack is not perfect but it's at least designed for search.


MS Outlook's search is pretty damn good, I have no idea what you're talking about. It's not perfect, and definitely not "google"-like in terms of guessing what you're actually trying to look for, but it gets the job done.


Perhaps I'm just too used to Gmail, but it always seems to take me forever to work out the equivalent of things like "from:me to:susan in:folder has:attachment".

And in outlook's web interface, this all seems to be even worse. Emails somehow just vanish. Not good.


Search is one of the main reason why I ditched Thunderbird for GMail...


I was exaggerating, it's not that it's totally unsearchable, but it just doesn't have enough structure, so sometimes you get lucky, sometimes a search ends up being a 15 minute spelunking expedition.


> effectively no way to distinguish messages by priority or time-sensitivity

How do you do that with Slack?


Slack messages that notify you (mentions and DMs) should be for time-sensitive things. Obviously that can still be abused, but I think the social expectations are much clearer than when a team uses email for everything.


> but I think the social expectations are much clearer than when a team uses email for everything.

In my experience, this is typically the expectation to respond immediately regardless of the query.

Nope.


Channel -> [gear icon] -> mute

Alternatively:

Channel -> [gear icon] -> Notification Preferences -> Just mentions


And before Slack there was Skype, Lync/Office Communicator, IRC, AIM, XMPP, Hangouts, and email. It's not like having a lot of chat platforms is a new thing.

> I'm not sure when chat rooms became a business tool.

As soon as somebody figured out they could use something other than email lists to send messages to people in a business setting.

If people get mad at you for not being available, then it has nothing to do with which, if any, chat apps you use. It's a disagreement in expectations.


Add Sametime to that list, ugh.


Why won't anyone else use ICQ for business with me


Look me up, 575061. =)


Funny how folks still remember their ICQ. Mine is 952050


There was this one thing called hipchat.. by Atlassian right?


They acquired it. I'm wondering if Stride came directly from that or was built separately.


This is literally in the first paragraph:

"Atlassian, the company behind popular tools like Jira, Trello and Bitbucket, has also long offered a team communications service in the form of HipChat. Over the last few years, Slack has had an outsize influence on this space, though, and the Atlassian team decided to go back to the drawing board and see what its take on a Slack-like team workplace communication service would look like. The result is Stride, which is launching today."

It says "back to the drawing board".


> Now we have Slack, Discord, Gitter, Microsoft Teams, and Atlassian Stride.

I'm looking forward to Matrix eating all of their lunches. There absolutely no reason to have competing standards in this space. A horrible duplication of effort.


I like the decentralized aspect of Matrix. But when I go to the home page, I'm greeted with this copy:

Matrix needs you! We are facing a funding crisis.

UPDATE: The situation has changed and our need is more urgent even than before.

This doesn't send a very positive signal to larger companies considering this platform.


And when their selling point is about "open communication" being a human right. A bit over the top. Then all this crypto currency nonsense. If I showed this page to a manager at a company, they'd immediately be turned off by that. Why not just drop a stripe checkout form onto the page with "Donate?"


1. The signal we're sending to big companies is that they may want to consider supporting us if they think Matrix is a good thing. So far it seems to be headed in the right direction.

2. We're offering donations by patreon, liberapay, IBAN(!), bitcoin & ethereum. I'm a bit confused as to why letting folks donate by bitcoin or ethereum would be a turn-off for a manager at a company. If you really think that adding Stripe to the mix would help things we can do that; we've just added paypal too.

Basically, it's a catch 22. We need to advertise that we need funding in order to get people to fund us. If that turns off some people rather than encourages them to donate, then such is life :/


I tried Matrix. For me it clearly lost on usability.


Matrix is a protocol. You can implement it with any client you want with any usability profile you want it to have. Unless you mean the protocol itself is flawed?


We're working on that :)


> I'm looking forward to Matrix eating all of their lunches. There absolutely no reason to have competing standards in this space. A horrible duplication of effort.

That's exactly what any other protocol evangelist would say, be it IRC, XMPP...


A horrible duplication of effort vs waste of time getting competing organisations to agree on standards.


Can't resist referring to the relevant xkcd here:

https://xkcd.com/927/


In all fairness, only one of the (here) spoken applications are actually open, and able to even remotely be referred to as a competing standard.

That comic would be more applicable if we were all debating XMPP vs Matrix.


Chat is a business tool because they are a middle ground between email which a delay is expected and a phone call which is immediate and disruptive. Chat is supposed to be for quick questions, group discussions, alerts, etc.

Turn off notifications for chit chat and have your client only notify when someone says your name in the chat room.

Most protocols/clients have a 'DND' status you can use (coworkers respecting that is another matter). Most clients allow you to tailor the notifications in a way that works for you - ie the 'URGENT' channel notifies you but 'Off topic' channel doesn't. Messages from Bill don't alert you but messages from the boss and Juliet do.


I wish people used IRC instead of all of these proprietary tools. I don't love the Slack client, xchat is much better.


It is possible to connect to Slack with an IRC client:

https://get.slack.help/hc/en-us/articles/201727913-Connect-t...


That's still a proprietary backend.


I wish the IRC meme would die in the enterprise world. It's an evolutionary dead end that ignores the last 20 years or so of improvements and expectations for a messaging system.

* Service packages are poor replacements for fine-grained permission controls and registration.

* Always-connected clients are poor replacements for message history and push notifications.

* DCC is a a poor replacement for video chat, screen sharing, or file sharing.

* /whois and /away are poor replacements for user status tracking.

IRC had nearly 30 years to evolve and has not. It's time to move on.


> * /whois and /away are poor replacements for user status tracking.

That’s why IRC has away-notify, which does exactly what slack and co do for status tracking.

> * DCC is a a poor replacement for video chat, screen sharing, or file sharing.

That’s why people are working on an RFC for WebRTC negotiated via IRC.

> * Always-connected clients are poor replacements for message history and push notifications.

That’s why message history and push notification RFCs are being worked on, and already implemented in some IRCds (Snoonet transmits the last 5 minutes before login marked as such, for example, others transmit everything you request)

> * Service packages are poor replacements for fine-grained permission controls and registration.

That’s something that I hate, too, but some modern IRCds have far better permissions systems nowadays. Oh, and registration and login happens via a standardized SASL anyway, so you can also auth via OAUTH if you have to.


I notice a lot of "being worked on" in your reply, which really exemplifies the problem. Being worked on might have been okay a decade or two ago, but it's really too little, too late when there's stuff out right now that provides everything IRC does, but better. The mindshare is gone, the user goodwill is gone.

A reference implementation of a WIP RFC is rather different from a thing you can download and install and have working right now in a server that isn't likely to change their implementation in a way that makes those features unusable (since they're headline features being sold to enterprises).

There's also the fact that most IRC clients suck, with interfaces that look and control like xterm circa 1980. Fine for the people that read Hacker News, offputting for everyone else.

Do any of these RFCs or newer IRCd's support full message auditing for the legal folks?

SASL is nice, but unless you're into something like Okta or some other homegrown thing, most are going to use plain old LDAP/AD. And AFAIK, permissions on most IRCd's are still pretty spartan. There's no way to make a room visible to one class of users but not others, as there's either visible to all or invisible to all.


> There's also the fact that most IRC clients suck, with interfaces that look and control like xterm circa 1980. Fine for the people that read Hacker News, offputting for everyone else.

This is konversation in 2017: https://blogs.kde.org/2017/09/05/konversation-2x-2018-new-us...

The version of Quasseldroid I am working on right now: http://i.imgur.com/obsJDyg.png

Textual, a macOS IRC client: https://www.codeux.com/textual/public/images/v600media/Yosem...

> A reference implementation of a WIP RFC is rather different from a thing you can download and install and have working right now in a server that isn't likely to change their implementation in a way that makes those features unusable (since they're headline features being sold to enterprises).

That’s why the IRCv3 Working Group isn’t some people in an ivory tower, but actually the implementers – the developers of the largest IRCd implementations, and of all major clients cooperate to design and ship new functionality. This means that basically every client and server has an implementation by the time it ships.

> SASL is nice, but unless you're into something like Okta or some other homegrown thing, most are going to use plain old LDAP/AD

The guys at CoreOS have a simple single-click deployed system for bridging LDAP/AD for that purpose. Alternatively, RedHat also has a solution for that, and provides enterprise support for their product (Keycloak), too.


Agreed, there is little that Slack gives me IRC doesn't, a good client and I'm set.


Not having to manage a server, better history searching, better ux for less technical users, better user metadata, voice and video calling, and lots of other things. I prefer IRC, but the benefits for a business should be pretty clear for anyone not extremely stuck on seeming like the cool IRC guy in the office.


Better multi-device support is huge. And history existing when you come back from not being connected.

There are IRC solutions to this but IIRC it's something silly like a client that stays connected 24/7 to manage your user, then another client that connects to that client for your actual interface.


Yes, Quassel and IRCCloud are exactly such solutions.

But that always has to happen in such distributed systems, Matrix has the same – your home node actually connects to the Matrix network, and you connect to that.

Even on XMPP you end up running an XMPP server somewhere which connects via federation to the actual network, and your clients just connect to that server.


> Not having to manage a server

Seems odd you would want to have you're internal company discussions hosted on a server outside your control. It's especially relevant to companies outside the USA who might not want to have their data under US law.

I wouldn't recommend IRC for office communication. XMPP is probably the better tool.


> Seems odd you would want to have you're internal company discussions hosted on a server outside your control

Our legal department wouldn't let us use Slack, for exactly this reason


Most companies operate on systems outside of their control. Windows, MacOS, mobile platforms, etc. Why limit it to discussions if that's a concern? If my company makes iOS applications, having to use MacOS and having to live with the possibility that everything that I type is being sent back to some server somewhere that way is just as bad, right?


> a good client

What IRC client provides:

- inline image uploads

- multiline messages

- chat search, including messages sent while your client is offline

- pretty code formatting

- pretty text formatting

- file uploads

- user management

I know that IRC accomplishes something like 95% of what a team needs to communicate, but Slack absolutely shines at that last 5%. We currently use Hipchat, and it supports a lot of what I mentioned above, but it supports it badly and it hurts to use by comparison, when I'm in slack for other non-work teams.

We need to stop pretending that IRC is a good solution, and admit that it's only a "good enough" solution. It's an MVP you ship to prove to your customers or investors that you've got something, it's not a product you'd spend money to market.


IRC is a technical detail like SMTP or TLS 1.2 (or XMPP), and should be treated as such. That there are numerous pre-existing clients is beneficial for those who already have a preference, but as evidenced by Slack, the number of client programs available is far from the most important feature.

It would be really neat to create a IRC server that bundled supported web, desktop, and mobile (ios and android) clients with first-class support for that last 5% of features, but I'm doubtful of how much money there really is to be made. People are cheap, and Slack is "free" - I mean, it's actually not free for the organization, but users don't pay a monetary price to download the client to use the system, so I see charging users money for high quality IRC clients as an uphill battle.


I really like the idea of slack; However, what happens with slack is that it gets misused.

It becomes an alerting system, task tracker, logging system, code review system and I could go on...

IRC is for realtime communications, other Comms are better off on GitHub Issues etc.

My experience has been slack gets abused.


> It becomes an alerting system, task tracker, logging system, code review system and I could go on...

I haven't had this problem at all. We do have certain notifications trigger Hipchat alerts, but they also send out emails, etc. - Hipchat is just a convenience for that.

Maybe it's a Slack problem but not a Hipchat problem?


IRCCloud, Quassel.

All of that exists, and can be used.


No, stop. Please.

I was a huge proponent of IRC but the lack of developments the past... decades has killed it for me. Discord is straight up better. Yes it's proprietary, but no, IRC is just not a good alternative at this point, it hasn't kept up.

And I love to death what the IRCCloud guys are doing but it's just not good enough to use as a proper communication tool especially in a company.

Admitting this is the first step to fixing it. If you want open source alternatives to win, you can't get stuck telling people the things they like aren't worth supporting. I like the fact that I can do text, voice and video in the same tool; that I have a searchable message history; that I don't have to manage the server myself; that I can make interesting bots with a webhook system and a websocket API; that I can interact with people programmatically over an OAuth2 API; that I can use markdown in messages, embed files and youtube videos, pin messages; that I can manage large communities using a thorough group and permission system (I'm managing a Discord server that has 20k+ people on it, this is stuff that can't be done over IRC quite simply).

And you know what, I like the custom emojis too.

Quassel isn't good enough (speaking as someone who loves quassel). IRCCloud isn't good enough (speaking as someone who loves IRCCloud and heartily recommend everyone here to support them by buying a subscription).

I used to say: Our best chance is that Hangouts is open sourced. Nowadays, I'm rooting for Matrix but I think our best chance is that Discord is open sourced. These protocols, they get developed with very little awareness of what people actually want -- they copy features left and right, try to either support everything and end up a bloated or unusable plugin mess (XMPP) or support nothing and end up unpopular. Most of them are toys. In the end, we need serious players, passionate about creating not just protocols but good interfaces to them. This is hard to find in open source.


None of the features you mention are useful for actually communicating and getting work done.

Your concept of "better" is distinctly different from mine. In my world, software without completely useless and unnecessary features is better than bloatware. irssi + tmux + logging + grep works great for 100% of actual not-embedding-useless-cat-videos-to-avoid-having-to-actually-get-work-done use cases.

In the interest of adopting your own borderline-uncivil tone: Stop assuming objectivity in your notion of evolution and improvement being the same as everyone else. It's not. Just stop. Please.


> None of the features you mention are useful for actually communicating and getting work done.

I respectfully disagree. It's incredibly helpful to be able to video/voice call a coworker instead of typing back and forth. It's also incredibly helpful to be able to quickly past a screenshot of an issue you're seeing, or to paste a quick snippet of code, or log, with nice formatting.

Yes, I could use my phone or another app, and I could paste my image to imgur and share a link, or point them to github - but that's another step, another roadblock on the road to communication and understanding.


> It's incredibly helpful to be able to video/voice call a coworker [...]

In my experience it is pretty rare in software development to have the need for a voice/video call. There are use-cases but they are rare and better handled by a specific software.

> It's also incredibly helpful to be able to quickly past a screenshot of an issue you're seeing [...]

And also painful. Sometimes I get screenshots from terminal screens showing error messages and have to retype them when e.g. grepping for keywords in source.

> [...] quick snippet of code, or log, with nice formatting [...]

If it's short just blob it into the chat window. If it's long then please use some paste service, as screenshots of logs are a nightmare (see previous point).

> [...] but that's another step, another roadblock on the road to communication and understanding.

Why is there another step? You can have multiple programs, tabs, terminals, shells, sessions, etc. open at the same time.


For developers that might be true that voice/video call is not happening often but I don't think that other business functions would share the same perspective. The ability to call, video conference and easily share images and docs is an important need for collaboration in Design, Marketing, Product Management and as a PM I often had to share screenshots back with engineers to illustrate what I'm talking about. Then, from my experience large orgs do not want to have multiple chat systems that compete with each other internally, so they'll take the one that offer more versatility while being also easy to use.

Disclaimer: I'm an ex-Atlassian (Product Manager) and my feedback is genuine, coming from experience. I'm also super happy to see my ex-co-workers getting Stride out but my opinion is not a Marketing plot. Software now requires the collaboration of many different roles, many of them who would prefer Slack/Stride over IRC.


> In my experience it is pretty rare in software development to have the need for a voice/video call

And in mine, it's very common! I lead a distributed team, and frequently it's easier and quicker to move from text chat to voice in order to explain something.


You should check out Riot.im, a Matrix client. It's great!


And that is why I and many others are working on adding exactly that into today's IRC clients.

Why I'm working on copy-paste of images and long text for quassel.

Why people are working on WebRTC via IRC.

All this is coming.


Why not XMPP though? Why hang onto IRC? I mean sure this is cool but it's client specific features with no standardisation of the protocol (correct me if i'm wrong).

If I have to install a special client (quassel) to access these features how is that any better than installing a XMPP client?

Only thing IRC has going for it is the existing userbase, most of who run clients that won't support these new features.


Actually, all these features are being standardized into the IRC protocol. That's the good part.

And we've got all the developers of all the major IRCds and cloents together, working on these things. In contrast to XMPP, where support for an XEP between clients is spotty, and in contrast to Matrix, where a single dev team runs the server with ~50% of global users, builds the clients, and servers.

I agree that XMPP is a better protocol, but with the people we have, we can, long term, change the IRC protocol, too.


Is it IRCv3? http://ircv3.net/ Is the plan to update RFC 2813 and RFC 1459?

Either way neat, and good luck. Like it or not, IRC is certainly going to be around for a long long time. It's going to be a long time before you get project devel/help channels to move elsewhere!


> All this is coming.

And when it gets here, then IRCCloud and Quassel would be a good answer to my original comment. But now, those clients don't provide those features, while Slack does.


I’m writing on these things right now. They’re going to be in Quassel at least before the end of the year, on desktop and mobile. In developer builds they’ll already be in in a few weeks or a month.

And almost all functionality already is there anyway, as said.


> And when it gets here, then IRCCloud and Quassel would be a good answer to my original comment. But now, those clients don't provide those features, while Slack does.


Then help implement it. There’s so many companies and communities that are paying millions for slack, but never paid a cent on developing for IRC.

The only company that ever funded anything for Quassel for example was Nokia. And that obviously ended ages ago, it’s all volunteers now.


Except it's not going to be part of the standard, and there's no way that I can guarantee that the other people in the chat room are using the same thing.


It doesn’t have to be. You just need copy-paste to a pastebin or upload site, and need clients to support embedding content.

Then it doesn’t matter how each client does it.

This already works between Textual, IRCCloud, QuasselWebserver, and a handful more.


So now I need yet another service, which may not be accessible to the other people.

I'm going to stick with the one that does the things that I want it to do now, and doesn't require me to hope that the other person can see what I'm trying to post.


You mean, you’re going to stick with the one where you rely on a central authority, all your data is accessible to them and the intelligence agencies of their country?

There’s a major tradeoff to be made there.


You need to go where your community is. If your audience is primarily on IRC, you can't just ignore it.


At the end of 2014, I was in a solid ~40 irc channels and active in maybe 15 of them.

Today, I'm in 10 and active in none. All the channels I left, even some of the ones I'm still in now, have switched to Discord, Slack or Matrix. The two only channels I care about are actually both mirrored on Discord using the excellent Matterbridge (https://github.com/42wim/matterbridge/).

I was a heavy IRC user. The audience is gone.


Except I have no guarantee whatsoever that anyone else in the chat is using those.


You really also need to run a bot server on a reliable connection that can log and index everything to approach the utility of Slack.


You need to do this on slack unless you pay for it. Comparatively IRC is free and it's actually easier to make a logging IRC bot than it is to make one on slack.


The time it would take me to research a logging bot, set up a server, add monitoring to make sure it stays up would cost more of my time than purchasing Slack for several years for my small team. I don't see how you claim it can be easier than Slack since Slack by definition has everything stored already, you just have to pay for it.


Quassel (a bouncer/client combination) has that included.

A one-click setup powers my IRC clients with multiple devices and logs even when I’m not online, powers a fulltext search ( https://gluu.kuschku.de/dl/videos/2016-09-16_04-03-36.mp4 ), powers a fully public logger https://gluu.kuschku.de/logs/ and much more.

All this exists, is free, and just works.

And there’s many more such systems that provide this functionality. From IRCCloud to many web clients.


key point: you have to pay for it

re IRC it's not a hard problem to solve whatsoever


Custom emojis.


This is probably the main thing our company likes about it!


relevant XKCD: https://xkcd.com/1782/


> I'm not sure when chat rooms became a business tool.

IRC has been around for decades and is often used for the same purposes that I now use Slack for with various open source communities. Before slack, it was IRC for many years.


Cisco Spark too.

Yes, I echo your concerns about having some "reply" time. Particularly since so many of my co-workers are all too eager to install these on their phones and use them outside of the work-place (i.e. always available to some degree). I absolutely refuse to install the apps, that's my line in the sand!


I'm on call a lot, otherwise I'd be right with you.


You might be interested in Topicbox, which we (FastMail) have built for precisely this reason. We use Slack for our real-time comms, but we still used mailing lists for more thoughtful discussion and documenting decisions, so we made mailing lists unsucky:

https://www.topicbox.com/

It's still in soft-launch at the moment while we finish off a couple of key features that we identified in beta.


Slack, Discord, Gitter, Microsoft Teams, and Atlassian Stride aren't just "chat rooms". They are essentially hosts for programmatic bots.

Imagine a newly hired developer posts a question on Stride about some feature-request/bug for a product. A chatbot smartly intercepts this question, posts a response linking to the precise jira ticket that addresses this feature request, when it was closed & who worked on it last. This exists. Imagine the savings in cost & time.

New developer posts a question - hey how should I implement this feature in xyz language ? Bot intercepts, posts a response connecting to the API docs of xyz, or better yet, posts a code snippet from stack overflow implementing the algo in xyz. Imagine how much $$$ that saves in onboarding & training costs. This exists too.

Maybe the Atlassian Stride chatbot will have more meangingful jira webhooks that the Slack chatbot won't.

This is really a next-gen NLP+AI play. Nobody cares about the actual chat per-se - Chat is just a QA platform, and superior QA bots indistinguishable from human are one of the primary goals of AI.


Totally agree with you. We're integrating our ticketing system into chat apps (e.g. Slack) with a similar workflow as you described. http://askspoke.com/


Personally, I find myself distracted more than anything from all the notifications these apps cause, I get less done.

Then set your notifications and coworker's expectations appropriately. Chat tools can't fix bad culture.


I do not consider Discord to belong in that space. it is aimed at gamers and not productivity at work

in that sense it is more like steam and xfire.

other than that I completely agree, but it still beats people coming over to your desk every few minutes and asking questions for which you need to stop your music and drop everything immediatly.


Many companies and open source communities have migrated from Slack to Discord. How is it different, aside from marketing and playful copy?


Feature set.

Slack has a bazillion integrations with different services. Discord's integrations are mostly focused around game streaming. Slack lets you use a different email and identity for each team. Discord gives you a single unified identity that you use everywhere and doesn't even expose email. Slack has customizable data retention policies. I'm pretty sure Discord doesn't, but I don't actually know what limits it even places on message history. Discord lets you block people (which makes sense for a social group). Slack very intentionally doesn't support blocking or ignoring (because it's for business communications; if you're being harassed, that's an HR issue, employees should not be able to simply ignore each other).

And of course there's more, like SSO, user provisioning, custom user groups, guaranteed uptime, etc.

Don't get me wrong, Discord is great. But it's not really the right tool for companies. The only reason a company should use Discord instead of Slack (or Stride or whatever else) is because they're cheap and don't want to pay for their business communication tool.


marketing is it really. I am not sure if I could sell a tool where I am working when it states it is for gamers.

But maybe my marketing skills are just not up to the task.

I use both in a very similar way though.


I mute every channel I am in except for the private channel of my team.


I mute everything except for direct notifications in Slack. I advise team members this and if they want my immediate attention that have to tag me.


I get coworkers mad that I'm not online.

That is a team management problem, not a tools problem.


Mattermost, Rocketchat, ... ?


Of those I only use Slack, so I can't speak for the rest of them, but isn't the whole point that you can silence channels that you're not interested in at that moment? Otherwise you might as well use AOL Instant Messenger.

It is the absence of that feature that causes me to ignore e-mail.


I'm only familiar with Slack from that list but I'm assuming other IM apps work in a similar fashion in terms of being able to fine-tune the level of notifications you're getting.

Also, I'd take Slack convo over someone coming over to my desk to pull me into a whiteboarding session.


matrix.org/riot.im (if you want open source protocol and client. it also has bridges to most others)


I'd like to try Matrix, but I can't get past the Jimmy Wales style begging that greets me on their home page.


This is pretty perverse - strangely enough we're not begging voluntarily or through greed. I'm not sure the fact that we need to pay our rent should turn you off the protocol...


It's not the fact that you need to "pay rent", it's your approach to doing it. As it stands now, I actually quite like the sound of Matrix on paper but I can't present it to my CTO as an alternative to our current comms platform if the first thing he's going to see is begging - it makes it look like the project is dying.

There's obviously a smart team behind this, and the protocol obviously has a lot of potential - I'm positive there are other ways you could fund this.


Past that, the user experience is great. Easy to get signed up and messaging.


Discord is more in line with TeamSpeak and Mumble; being that it's targeting gamers.


We use Discord for all communications at my company, including now our video chats. We are fully remote and Discord is so much better than Hangouts it's not even funny.

I've also transferred all my skype and hangouts contact lists into Discord. It's a lovely tool, lock in be damned.


About your usage of Discord, do you miss the following features ?

- replies/threads (where you can reply to a specific message)

- star/flag messages (to retrieve them later)

- unable to set font size in the mobile app (the font size is too small for most people)


Slack threads are... terrible.

Let's just add another layer of indirection, and a layer of depth to the streams of information you manage!

Ugh.


I agree about the drawbacks of threads as "another layer of indirection".

But if you don't have threads, and the number of participants in the same chat room grows, how do you manage the intertwining of messages belonging to different subjects?


More channels


Yes, but as far as I know, only admins can create a new channel on Discord. If you want to continue a discussion on a specific topic in a dedicated group, then you have to ask an admin?


Sounds like a severe limitation of discord :)


Ok, LOL :)

For the record, I very much like Discord, and I want to use it for a large group of volunteers looking for a coordination and discussion tool. We currently use Telegram. This is why I'm asking this weird questions ;)


Fwiw, I really wished we could just use irc


How is Discord on Linux?


Excellent, save screenshare which is currently broken on the Discord desktop client (but works fine in web browser). I use Linux exclusively, I wouldn't be propping discord up if it weren't :)


Its built with electron, so identical besides maybe font rendering etc.


Mostly the same, since every client is a chromium wrapper for a web page.


You're correct that there's a lot more overlap with the gamer space, but that's not limiting them right now or in the future. They'd be wise to court other communication needs.

Anecdotally, I really enjoy the Reactiflux discord server/group: https://www.reactiflux.com/


I think the point is not chat rooms business, it's everyone's deep down burning desire to replace emails with something but homo sapiens working in corporate haven't figured this out yet, not because there are not sophisticated tools but because they are not flexible!

http://venturehacks.com/articles/no-email-at-angellist


Well stride kind of handles that with focus mode. I think most people are aware that sometimes you need to disconnect to focus.


I actually have a computer that's just my "work" machine. By work, I only have the tools on it for my deep, focused worth, whether it's writing, or coding, experimenting, etc... All my messaging is on a different machine. (This setup isn't for everyone.)


Curious do you work in-office, or remotely?

Being on a remote team, without slack we'd be a lot more disjointed without having chat.

We have some business folk who insist to chat through email, and it always ends in a very convoluted chain with 15 people in...and it's horrible....


On Slack it's always a huge chain and 15 people on it, and it's not broken down by conversation. And it demands immediate attention to boot.


There is a 'Focus' mode; built into the app, which provides a summary after you come out of it.

Seems like a neat feature - if it became the norm across app apps, it may solve the concentration problem.


Also Jabber. From Cisco, it integrates nicely with your Cisco phone. i.e. you can play voice messages, make calls.

Otherwise it's probably less featureful than the ones you mention.


They're a a foot in the door to chat ops, which leads to customer buying the best integrated tools with said chat app: the same companies that make the ops tools.


Don't forget about Mattermost. I work in fin-tech and we've been evaluating Mattermost because of on-Prem.


Rocket.chat is also on-prem as well.


And you're leaving off Flock.com (Slack clone) and Google Hangouts (whenever that emerges in its new form).


Flock? That product built by the billionaire that wanted to change the world by creating a Slack clone?


Yes that Flock


There is also google hangouts chat


And Amazon Chime :)


Turn notifications off then.


You forgot Rocket.Chat.


and IRC


I wouldn't describe them as "chat rooms" exactly, because they have direct messaging and audio/video calls, etc. They are generalized communication tools geared towards synchronous communication. Email is async.

Without defending Slack (because I have reservations about it too), your coworkers should stop being mad you're not online, that isn't Slack's fault.


i'd prefer a cubicle when the only visits are of people you like and people who need to work with you.




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

Search: