Tone note: I'm dead serious, no sarcasm anywhere in there. Things that are self-evidently true to developers like "choice is good!" aren't always true in the market. Being able to count on a specific client really helps with the feature development.
If you're interested in getting in on the action you could probably do worse than start a startup shipping an open source XMPP server, using an open source XMPP web client, and doing the rather minimal modifications it would take to make it support some manner of embedding YouTube videos and inline images. (Seriously, like, two weeks, from a standing start.)
When I last investigated XMPP for this, back in January 2014, I found that open source support by both servers and clients, for Slack-like features such as search and persistent chat history, were at least rough around the edges, if not lacking entirely.
Yes it is.
I've successfully had the following classes of people use Slack (across 4 teams):
* Wife (Engineering PhD)
* Dentist
* Martial Arts Instructor/Gym Owner
* EVP of Engineering
* Business Owner
* Student Loan Coordinator
No way I could get them all use IRC, and enjoy it. Also, Slack has much more capabilities than just a chat server. For me personally, the fact that you can easily upload documents directly and collect them in "channels" cuts down on the email volume I get.
It also works pretty great on my desktop, browser, and my iPhone.
Web chat does away with two (at least) properties I have come to appreciate in written communication: being asynchronous and contextual. Although modern web chat systems typically work even when you're offline by sending notifications, they're primarily a realtime system. There is the implicit or explicit expectation that a chat message (especially a direct one) should be answered asap, unlike an email or a tracker comment. As for context, there is little to none. In more than one company I've seen chat effectively replace the dedicated bug/ticket tracker system, with people polluting one or more channels with intermixed discussions that would be better off as comments on the ticket at hand. It's a mess for anything other than transient, throwaway stuff you wouldn't mind purging after a few hours or days.
Looking forward for a "web chat considered harmful" blog post if there hasn't been one already. </rant>
Even something as simple as having an avatar next to your name makes all the difference.
The real question should be what does Slack do that Hipchat did not? The designs are obviously much different, but other than that, was it just amazing marketing and word of mouth? Even the Slack founders seemed a bit baffled by this when asked months back.
https://blog.hipchat.com/2015/06/08/connecting-multiple-acco...
From inviting teams, to the mobile client, editing messages, emojis, youtube videos, music integration, team management, role management, bot creation, keyboard shortcuts, slack just does it better.
Hipchat's mobile client is garbage, usually requires strong connectivity to be useful, and the interface is inferior in everyway.
For example, when I get a hipchat notification on the mobile app, when I slide to unlock, it takes me to the home screen, and I have to find the chat that message came from. Via slack, it takes me directly to the message thread.
That combined with a few key adopters are what pushed Slack over the edge to meet the need before Flowdock could.
It's not just having the raw capabilities in the system (and IRC makes some of those capabilities difficult; it's a very simple protocol). It's that it raises the lowest common denominator; everyone using Slack has all the things Slack offers.
Permanent history, embedded images and other media, persistent notifications without a permanent client logged in, no additional software needed, formatted text, more intuitive access controls come to mind.
Slack frequently does not even offer this.
> embedded images and other media
Many IRC clients do offer this
> persistent notifications
I only get notifications when my client isn't logged in via Email. I can get this, and other options, with an IRC bouncer.
> additional software needed
There are web IRC clients.
> more intuitive access controls
About the same between Slack and IRC clients here. Click on a channel in the sidebar. Right click for more options. Type and hit return to send messages.
I use Slack, not IRC, but these aren't the real advantages for Slack over IRC.
> Many IRC clients do offer this
Can you list some?
Since the protocol itself supports file sharing between users and within channels, and many (most?) clients display previews of internet media links, embedded media is very straightforward in IRC.
The reason Slack works is that it's IRC with a great UX and easy-to-use clients on every device. The integrations and search are an added bonus, but the piece that separates it is a fantastic, fantastic UX.
that's how i used freenode for the longest time.