I'm planning to write a group chat platform to use in crowded situations, like events, parties or shows, for example.

the simple approach would be to put everybody in the same room. but having a thousand people talking in a same room doesn't work. the multiple possible parallel conversations overlap and none can actually be understood or followed.

I'm not talking here about performance issues. I'm looking for design options. I couldn't find any discussion like this out there. if anyone have a link or a suggestion, that would be fine :)

so far, I could think about the following alternatives and corresponding downsides:

  1. I could offer multiple rooms with limited capacity. let's say 50 people per room. each user could explicitly pick a room to join, knowing its current capacity beforehand, or could be randomly put in any non-empty and non-full room.

the problem with having multiple rooms is that someone can be in one room at each time, and so, if I want to talk to the host of the party, I must get into the room he is, or no deal. so... just picking a non-full room to join may just not be good enough.

the same happens to being randomly put in a room. that may be good to keep rooms balanced, but might cause the friend I just invited to join other random room and we get separated.

  1. other possibility would be have a single room, a thousand people inside, but just some messages would be broadcast to everybody in the room. the problem is to choose who is allowed to talk and why would anyone join a chat group to be just an expectator :P

for example, for starters, the 50 initial users to join would be allowed to talk. as long as they live, the next ones in the queue would gaining opportunity to join the conversation.

or maybe only the most active (by some ranking) would be allowed to talk.

  1. other hybrid alternative would be to allow users to create their own rooms and (auto-)close these rooms when they get empty, and only invited people can join their rooms.

this alternative does not solve the problem of trying to talk to the host, but gives the users the responsibility to keep their rooms conversations healthy.

  1. a last hardcore approach would be to use machine learning to put everybody in the same room and broadcast the messages to limited people (selected by the ML algorithm), possibly grouped by interest or part in the conversation.

the problem here is that recently joined users have not enough data to be put in any cohort. actually, most chat messages are just too short and too similar to have a good ML classification applied.


I'm looking for any reference, suggestion, paper, idea or anything that could help this analysis.

those are objective answers. please do not close this question as not constructive. and... in case of unavoidable closing, please tell me the correct place to ask this question (and this would also be an answer to my question, since it would help my analysis by getting me to the right forum).

thanks in advance :D

  • My first thought would be to approach it like a forum, smaller rooms separated by a topic (at a concert people could create a chat room about venues, food, meet-ups, etc.) so not everyone is shoved in one yet people don't feel like they're joining random overflows. Then there could be one big sticky room to chat with the admins/event hosts.
    – DasBeasto
    Aug 23, 2016 at 13:15
  • 1
    My first thought is: Why re-invent twitter hashtags? Use a commonly used plattform instead of "forcing" everyone to download and get familiar with a new app? Aug 24, 2016 at 6:39
  • What problem are you trying to solve for users entering these chat spaces? Sep 22, 2016 at 19:28
  • Whoever solves this problem should bring it to Twitch IMMEDIATELY.
    – plast1k
    Sep 22, 2016 at 19:57
  • 1
    Is it formal or informal? You could experiment with some really interesting options around having a dynamic "room" and having the chat mesages spacially separated so users can navagate around until they find a conversation they like and start interacting. Just like an actual crowd.
    – Joe
    Sep 22, 2016 at 20:02

4 Answers 4


• Let the user choose (and create) what conversations they want to be involved in, not who they are in a conversation with. This could be achieved through the use of topics, categories or labeled conversation threads. Then users can naturally come and go from conversations that they find of interest, much like you would do at a real party.

• If a user can see a list of who is following any particular conversation and how many people are in that conversation at any one time, they will have an easier time reaching the event host for example.

• Let only super-users (like even organizers for example) broadcast on the 'general' channel (i.e to all users)


This reminds me of Yahoo chat forums we had earlier? Not sure if they still do exist. So in there the user can choose any room they want to be in . Some rooms are full so they can either wait and a notification is sent that you can now be available Messages can be broadcasted to everyone in the room and you can also choose to select a random person whom you want to have a 1:1 chat

Also you can broadcast anonymously messages to the entire community since its a party I assume people know each other so this might be an interesting feature to add

These forums also are related to Interests or hobbies of people . But if its a one time group then maybe best to leave it upto the group people if they want to create a sub room with a specific topic in mind


Moderated forum with short visible rules. Host will interact when they can and where they think it is appropriate.


Speaking from the user perspective, I think to limit a number for users to join a chat room or group chat is a bad propose. If this chat room is very popular, I will never or hardly to join this room.

Therefore, with unlimited numbers to join the chat room will also solve the issue if a user want to talk to the host.

Secondly, admin can create several chat rooms in advanced for users to join. E.g. Party, Night Club, Food and etc. To assign the Moderators, this could be like the MIRC. This way you can have someone to help you manage the chat room.

Meantime, Users can create private room. Only invitees can join the room.

Thirdly, users are allow to right click and select an menu 'who is in the room' to check host nickname and others people who join this room. So, you can according to this nickname to invite or send private message to host or friends.

Lastly, users are allow to create chat room as well. But this require some rules.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.