What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 128 Stack Exchange communities.

Why do we have our own separate chat system rather than going with IRC? What does the current chat client offer that IRC can't and what benefits could this choice have in the future?

share|improve this question
12  
Why the downvotes? This isn't a "chat sucks" or "IRC sucks" post. Asking about the difference in functionality between our chat system and some other popular chat system is a totally legitimate meta-chat question, I think. (I would answer, but I've never used IRC.) –  Pops Oct 17 '10 at 1:27
4  
Chat is click and go. There's all sorts of things like starring items and oneboxing. Also rep association etc. It's just a completely different system, and it has a much lower entry point in terms of technical know-how. –  Peter Ajtai Oct 17 '10 at 1:28
5  
-1: attracting "Why the downvotes" comments. –  Shog9 Oct 17 '10 at 2:34
    
For IRC veterans: irccloud.com –  Sathya Oct 18 '10 at 0:47
    
@Sathya good luck with networks that limit the amount of connections per IP ;) –  badp Oct 18 '10 at 11:45
    
"What does chat offer that IRC does not?" Less trolls? –  Christian Apr 8 '11 at 11:24
add comment

5 Answers 5

up vote 43 down vote accepted

First of all, you're comparing apples to biology books. IRC is a protocol. So the question

What does the current chat client offer that IRC can't[...]?

is like saying

What does Facebook offer that FTP can't?

That said, there are many reasons why the Stack Overflow chat infrastructure is not based on IRC. Here are the (in my view) most important ones:

1. The technology stack

Almost all of Stack Overflow's / Stack Exchange's technology runs on Windows, IIS, and ASP.NET MVC. Now, anyone can think that this is an inferior technology, evil proprietarism, or waste of money – it doesn't matter what they think, because the bottom line is: It is how it is.

And when a company offers a product, they have to support it. And for obvious reasons, almost all Stack Overflow's developers have long-time experience with this stack (myself being an exception). So building the product with the same technology makes sense.

Of course you can throw in a "best tool for the job" argument here, but matter of fact is: "the job" is not only "offer a chat service", but "offer a chat service that integrates well into the rest of the company's toolchain/development process/support mechanisms/infrastructure".

2. Features

There are many features that we want to have in the Stack Overflow chat that are not (or not without a big hassle) supported by IRC. rchern has named some of them in her answer. Others include

  • good persistence of data, including searchability (integrated and through search engines),
  • supporting ways to highlight important (in whatever meaning of the word) parts, to assist people in finding their way around without having to read through 24 hours of chit-chat – the SNR is naturally very low in realtime chat,
  • permalinking single messages or groups of messages to easily quote important content somewhere else,
  • sustainable community moderation,

3. Parent site integration

This somewhat ties in with 2), but is important enough to be its own point.

The Stack Overflow chat is not just a stand-alone application. It is intended to be supplemental to Stack Overflow itself.

  • Participation in the chat requires some participation on the parent site.
  • User authentication is 100% integrated with the parent site (in other words, at the very least you'd have to teach NickServe to understand OpenId).
  • Chat replies appear in the StackExchange™ MultiCollider SuperDropdown™.
  • Talking about questions on the parent site is an integral part.

4. End user accessibility

Please don't tell me IRC is good at making it easy for people to jump in and start chatting. Because it's not.

To somewhat effectively (let alone efficiently) use IRC, you have to get comfortable with a bunch of commands and conventions. Of course there are clients that assist in hiding some of the complexity, but in the end, if you don't have an at least basic understanding of the underlying technology, it's pretty easy to misuse IRC.

Let me quote Steve Krug here.*

Faced with any sort of technology, very few people take the time to read instructions. Instead, we forge ahead and muddle through, making up our own vaguely plausible stories about what we're doing and why it works.

[...]

Why does this happen?

It's not important to us. For most of us, it doesn't matter to us whether we understand how things work, as long as we can use them. It's not for lack of intelligence, but for lack of caring. In the great scheme of things, it's just not important to us.

*Steve Krug, Don't Make Me Think, 2nd ed., New Riders, pages 26 & 28

When a user comes to the Stack Overflow chat, what they want to do is chat, period.

This gets even more important as the Stack Exchange network expands outside the traditional technology geek area. What percentage of cooking / biking / saltwater aquarium enthusiasts have ever even heard of IRC?

But even within the geek/programmer community, the whole "They like to figure out how it works and have no problem with digging for results" idea is a myth in my experience. Even we want to get things done. And I think that the overall response to the launch of the Stack Overflow chat (both in terms of sheer numbers and in terms of the very positive reactions) is another proof of this.

share|improve this answer
4  
Chat really has evolved into an impressive tool. Kudos. –  Pëkka Oct 17 '10 at 9:53
2  
I really like your last paragraph. It's so true that even people who in general like to figure out how things work sometimes just wants to get things done. You don't care how it works ALL the time. –  Johan Oct 17 '10 at 20:58
2  
I also agree with everything here, especially the last paragraph. I did IRC years ago, and honestly, I can't think of a single feature from IRC that I miss on the chat here. I think the original question was just for curiosity's sake, and certainly worthy of being asked, but anyone who has seen the current chat and says (apparently without a hint of irony) that it should be IRC-based needs to have his head examined. –  Aarobot Oct 18 '10 at 1:10
    
TBH, web based chat offers a better experience. Moreover I do not think everyone would be comfortable opening ports for IRC clients in their office firewalls just to talk. Lots of things are wrong with IRC that web based chat cleans out. –  sajidnizami Oct 18 '10 at 5:05
    
propiatarism is not really a word. I can't edit on meta but that really bugged me. –  wds Oct 18 '10 at 10:32
    
Sounds like, Google Wave! @wds I understood. Probably at some point antidisestablishmentarianism wasn't a word. –  John Ferguson Oct 18 '10 at 21:09
1  
Everyone knows what they mean by IRC - you can skip the disingenuous bit at the top –  Michael Neale Oct 28 '10 at 2:37
    
@Michael Looking at a few comments we have received about chat and IRC, hardly "everyone knows". I sometimes get the feeling some poeple have no idea what IRC is (even in a simple sense) and still have an opinion why we should or should not be using it. –  balpha Oct 28 '10 at 6:22
1  
@Aarobot: In defense of IRC, up-arrow recall of previous sentences, seamlessly switching between different channels with a command or two. With irssi, at least. –  Faheem Mitha Mar 30 '11 at 19:28
    
@Faheem: All things that the chat already does - well, excluding the "command or two" which I really don't see as a feature. Just to be clear, I'm not saying there's anything wrong with IRC, just that it's not something the SE team should be aspiring to with its chat system considering the types of people who will be using it. –  Aarobot Mar 30 '11 at 22:41
add comment

I may not agree with the choice necessarily and I won't get into that, but this seems to be turning into oh, oh, that says irc...downvote!! despite it being a perfectly valid question, so here's a couple things. They each have their own strengths and weaknesses.

  • The chat system is tied to your site account. You must have a certain amount of rep on the parent site in order to talk in the chat. If you post spam or offensive things in chat, it can be removed and that may come with a rep penalty.

  • There is support for one-boxing, which means that if you paste in an a link to a supported url: image, amazon link, twitter status, etc, then the chat will display the actual content rather than just the link.

  • Content can be starred, and these starred items can be viewed separately.

Personal opinions on how these things could be handled not included.

share|improve this answer
1  
oh that says irc ... downvote!!! –  jcolebrand May 25 '11 at 15:51
add comment

Disclaimer : I still didn't use the chat system, so this is only reflecting my point of view.

As flexible as IRC could be, doesn't offer modern perks of modern community chat service :

  • Auth is done through third party services Nickserv which provide limited auth,
  • Providing alternative "official" ways to connect is more difficult to support ( must provide explanation for 3rd party client to connect)
  • Still prone to netsplit, which in today's age is quite frustrating for people who don't know about this.
  • IRC protocol support for client is still dodgy for "extensions" such as unicode (yeah who cares about these foreigners), and formatting (hey I also want a rainbow writing).
  • Unsupported Third party client is a security issue for the users as it has always been a habit to IRC users to ask a newcomers to execute more or less harmful command ( from "/quit" to more harmful command, either on channels or in private messaging ).
  • IRC still hold a very bad images of being too "open" for people to allow harmful activities (Impersonation would be a very good one ).
  • Command are not obvious, and command that would apply for stackexchange would be less obvious.

As bad as it could be to "reinvent" the wheel against using a proven protocol: Provide a web interface that is familiar to user (integrated), instead of try to integrate a web interface based on protocol limitations :

  • Abilities for users to moderate their peers/response with votes
  • Seamlessly integrated stackexchange features in the chat interface.
  • Administration would require a skillset that the stackexhange staff might not have.
  • Pushing a limited chat and adding features afterward to it looks way better than providing a limiting subset of features of an existing protocol then trying to implement extra features later.
  • Others stuffs I cannot think of.

Plus pushing an all microsoft solution looks very good for MSFT, so they would be more willing to support the website (technically or financially).

But my emphasis would be security. IRC still reeks too much "social engineering".

share|improve this answer
3  
You mean social engineering like this? :) –  Pëkka Oct 18 '10 at 11:52
add comment

Two good reasons not mentioned so far.

One: web-based chat is supported out of the box by all modern browsers. IRC requires you to install additional software, certainly on Windows at least. (On my Windows 7 machine, neither IE nor Firefox nor Google Chrome recognise irc:// links.)

Two: web-based chat operates by HTTP through port 80. IRC requires other ports, which are much more likely to be blocked by corporate firewalls.

share|improve this answer
4  
There are web clients for IRC, and if chat chose to use that, then there could be a custom SE web client just like there is for the current custom backend. –  Rebecca Chernoff Oct 17 '10 at 22:27
    
There already some of website that use the backend to connect to chat (meebo.com is a good example). –  dvhh Oct 18 '10 at 10:10
add comment

Wow, you all REALLY hated this. Impressive negative response! This was just my opinion. My point was that some people expressed interested in IRC -- sorry for offending you all :(.


(This should be a comment on balpha's answer, but it's too long. So I'm posting it as a response instead.)

1: Technology Stack

There are a few good points here, but basically, there is no reason you cannot write an IRC server in pure ASP.NET MVC, or whatever. There's no rule that you have to use some IRC server in another language. I don't think this really counts as an issue.

2: Features

Again, with your custom C# IRC server, many of these become trivial to implement as well, making logs available and searchable is just a few extra steps. Once you re-create the chat.stackoverflow.com website -- even as just an enhanced IRC client -- you can do the same integration with the website.

3: Parent Site Integration

As the post says, you could just have NickServ use OpenID. At this point, it's not that hard. Again, all of this can have a great UI on the client-side webirc client at chat.stackoverflow.com, and a much poorer one on a standard IRC client. That's fine. The people who are using IRC to connect to this are the ones who can figure it out.

4: End User Accessibility

Similarly, the chat.stackoverflow.com IRC "client" can create that nice experience. No more confusing commands, it offers a easy-to-use, well-designed way to get chatting quickly and easily. No hassle. The only difference anyone would notice using this type of setup would be that you can connect using your favorite IRC client.


And that would get you at least one more person idling and answering questions.

share|improve this answer
    
You can connect using your favourite IRC client, today. There's no need for the SO team to do anything. –  Greg Hewgill Oct 17 '10 at 18:31
    
I would really like to write a response to this. I have read your post at least ten times and I have honestly tried to take it seriously. Unfortunately, I have utterly failed. And your last sentence didn't exactly help with that either. –  balpha Oct 17 '10 at 19:20
    
Why would they jump through all these silly hoops just to create something that's less user-friendly? –  Aarobot Oct 18 '10 at 1:04
8  
So, if you're suggesting to wrap an IRC in a friendly UI, why not just get rid of IRC and keep the friendly UI? Oh wait, that's what chat is. –  Peter Ajtai Oct 18 '10 at 2:53
1  
"no reason you cannot write an IRC server in pure ASP.NET MVC"..."making logs available and searchable"..."just have NickServ use OpenID" wow, all that does sound really easy! Trivial, as you say. Definitely so easy it's a wonder you didn't just do it! –  Rex M Oct 18 '10 at 5:33
    
The more things I read on Meta about IRC the more I think that no one actually uses IRC on a regular basis. You seem to recognize that IRC is a protocol but then complain about the lack of features of its common clients and implementations. Protip: You are already re-inventing a protocol and the clients that use that protocol. Granted, there are a few things that Chat can do that are outside of the scope of IRC's protocol, and that's why it's OK to not be based on IRC. But the vast majority of the anti-IRC sentiment around here targets the wrong things. –  XMLbog Oct 18 '10 at 15:56
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .