Chat system and its usage

Should there be a chat system like the one on SE?

For what purposes should it be used?

How should a user be able to invite other users into a chat room?

What uses does chat have which aren’t solved by threaded comments?

Should you be able to quote-link chat messages in main site’s posts and comments?

Should chat messages have up/downvotes and reactions like stars and emojis or custom icons?

How should moderation of chat work?

How should reading old messages work (chat transcript) and what actions should be available from that view?

What types of chat rooms should exist? Like normal, fully public (users with 1 rep but given writing permission can post), restricted access, private, other?

Should chat be linear with replies (like it is now) or threaded?

Should discussions be moved to chat? (I don’t think this would work anymore if we’re going to have threaded comments, and chat is going to be incompatible with that hierarchy, and besides archived comments should have their own space, IMO)

(please break this topic apart when necessary, like probably in case of chat moderation)

1 Like

I believe chats are mostly useful for moderators and users doing moderation work, who need to interact in real-time because of things happening on the site. There could be chats but I don’t see why the new site needs to implement them or host them. No need to re-invent the wheel, since chats were always a peripheral feature and not the main product. Use Discord, IRC, whatever.

Also, SO expecting diamond mods to moderate chats is a waste of resources, it is just distracting mods from the main product.


Our approach to comments should reduce the need for a chat system. I’d prefer to not worry about chat until we believe we’ll actually need it. We do not need to replicate every SE feature, particularly ones that don’t work so well on SE. Let’s focus on Q&A and associated feedback (comments, discussion, whatever we call it).


If you must, but please keep it separate from the main Q&A part of the site.

I liked SE because people couldn’t engage me unless I did so first. There are enough people that spend the effort to dig out my private email just to ask me questions privately. I certainly don’t want to have the site make this any easier.

If anything we need to figure out how to reduce all those noisy mis-used comments.

When I looked at questions that I might answer, I purposely never read the comments. Comments should never be part of the content of a question or answer. However, their very existence results in people putting pertinent information there. Let’s not make that easier.

I want to be able to get in, answer some questions, and get out without a bunch of dweebs following me around afterwards. SE was reasonably good about not being a kaffeklatsch. I hope this new site is at least as good at that.


Note: Discord is blocked in China.

A chat system is one of those things necessary to form the basis of what we call a healthy community.

  • People interact there and talk to bond and form a community.
  • It allows new comers to get themselves enlightened via various people. Regarding the site or any other topic.
  • Chat rooms for various topics facilitates communication between individuals for discussion regarding anything.

What I think is that when we will deploy and expect people from the internet, one of the most powerful things we can do is to communicate with them and answer their questions regarding trivial topics via chats (about the site again)/

Not everyone who will be on our site will be on our discord. It will be a problem if we are not able to communicate well with the people we are having on our site to assist them in any way possible. That’s required for a new site like ours.


I vote non-MVP for chat. Chat requires chat moderation and other stuff that we imho shouldn’t tackle at the start.


That’s not something we should encourage anyway. First, our Discord server is a mess; even I can’t navigate all the channels and I’ve been there for months. Second and more important, that server is for the project, not the resulting communities.

For MVP, I think the combination of meta and our improved approach to comments can address orienting new users. I agree it’s not great for community bonding. SE sites use chat very differently from each other, so before we bake in a chat system “because SE has it”, we should figure out what the actual needs are. And that’s not MVP.


What I mean is a basic chat and I didn’t say its necessary because “SE has it”. For a site that’s new, it will at least require basic communication among users. To elaborate on a basic chat:
A number of users will be active there to help the newcomers. It’s not going to be a hi, hello what is up today chat. Straight up support and answer. It will be very basic.

Also for a start, using comments to help users is not going to be efficient. We haven’t rigorously decided on how comments should be used and if we should limit extended discussions or not.

1 Like

We’ve already decided that comments will be threaded and accessible but unobtrusive. A meta question about how to use feature X seems like the perfect place to have a discussion in threaded comments with a new user having trouble with feature X. It’s right there on the site, as opposed to having to know to go find this other place and ask there.


I actually find chat one of the most valuable parts of Stack Exchange in some ways. I wholeheartedly think chat should be implemented along with the rest of the site. Here’s my reasoning:

  1. It’s critical for moderation issues happening in real time, and also provides a private space for moderators to vent/deal with issues. This is absolutely critical for running the site.
  2. We want a Q/A site geared toward creating a community just as much as an encyclopedia of knowledge. Chat helps create that because it encourages more casual conversation that helps users connect. (It also helps encourage really fantastic mentorships and discussion that can’t happen in comments.)
  3. Comments can’t do everything. It’s inconvenient to have long discussions in comments - it gets much harder to keep track of and detracts from their main purpose on posts. Enter chat.
  4. It seems a major detractor from chat currently is its moderation (or rather, that SE never did anything about it). We’re building a new site; we can do something about it. I think it needs to be fleshed out, sure, but it’ll add a lot to the site.
  5. Human connection makes support and explanation easier.
  6. Not gonna lie, relying on third parties to provide chat is gross. I love discord, but it’s not optimized for the sort of stuff that would happen on a codidact chat.

Happy to respond to criticisms/questions for clarification on this, but I think chat is absolutely vital to build a thriving community around the site.


With regards to chat:

I think we should not build our own system. There are many amazing systems, which we can use. We could use a Discord server or install open-source Zulip or whatever.

I think, though, that we should build some minimal integration, which gives mods here moderation privileges there, too.

1 Like

Whatever we use should be integrated with our system - if a third party system stops existing or introduces an update we hate, we can’t do anything about it and we will all be sad.

Whatever we use should be designed with our system in mind - discord is far more casual and poorly organized than what we want. Slack is…discord with a light background and party parrots. SE’s chat system is probably the closest to what we want, except it’s largely disfunctional due to poor moderation tools and…bleh.

Something open source could make sense, but I wouldn’t dismiss building something ourselves out of hand. We’re going to the trouble of building a brand new site that we’re pitching as the ideal for Q/A. We’re aiming to be better than SE. Let’s do it right.


I agree with what you’re saying, but I don’t agree with when it should be done. I find chat useful and I think it helps form a sense of community spirit, but I don’t think it’s essential for building any community. The extremely low proportion of SE users who also use SE chat bears that out. For those who use it, it’s an important thing to have; for those who don’t… well, they don’t usually know it exists at all, and probably wouldn’t use it if they did.

So - yes, we should have a chat system; no, I don’t think it should be part of MVP. Having a functional Q&A product is our core mission, and is what we need to get finished first - once we’ve done that, we can start looking at things like chat.


Yes, but also no. A ton of moderation happens in chat, and I really do think it’s more critical than we know, even though it looks like not as many users use it (which also isn’t a super great argument; see also mother meta).

I don’t exactly disagree that it should be done later, but I think actual consideration should be given to doing it right away.

1 Like

Counterpoint: moderation happened on SE before chat came along. It’s a useful tool, absolutely, but I disagree that it’s essential—particularly in the early days where we’re not talking about great volume of users, I believe we’ll be able to handle moderation through the tools we already have, and a native chat system can be developed during that time.


Y’know what we should look at for chat? TopAnswers. Seriously, they integrate chat right into their site, and they (like us) are building anything at all because of dissatisfaction with SE. They’re open-source and using the same software license we are.

Somebody who’s more fluent in the specific technologies should take a look at what they’ve got. If they don’t already have chat packaged as a separate library, maybe that could happen (we could submit a PR to do it, even – let’s work together). See if that meets our needs.

Not MVP, but probably soon after.


I don’t think we should be using a third-party system for chat for legal reasons and to avoid removal of content by third-party, should it find something too political or against its overzealous terms of service (like automated copyright enforcement). Also, some of its parts can be geo-blocked which would make it unusable for parts of the worldwide community. And it would make it difficult for anyone else who wants to run their own instance if they don’t want to use the proposed options for third-party chat providers, but rather host it on the same servers as the instance itself.

As for the time of development, I think the space should be left for it in the codebase at the beginning, but it can be completed after the MVP is up and running.


And most of the same considerations apply to almost any third-party service - authentication, image storage, email notifications, etc. Let’s keep this as independent as reasonably possible - the exception being static libraries that can be served via CDN (taking the load off of our own server) - but even then best to limit to libraries that an instance can legally host from their own server if they choose to do so.



Do any of these extant chat systems offer third-party libraries that we can take and use? I understand this is how we’re handling authentication; we’ll run our own service but we’re not writing the code. Is there acceptable chat code that we can reuse like that? Or do all the chat systems out there roll their own and it’s proprietary?

I mentioned TopAnswers because it’s license-compatible with us, but I don’t know how their code is actually structured so I don’t know if the chat system is separable.