nextcloud / spreed

🗨️ Nextcloud Talk – chat, video & audio calls for Nextcloud
https://nextcloud.com/talk
GNU Affero General Public License v3.0
1.63k stars 436 forks source link

Grouping of Chats #2448

Open szaimen opened 5 years ago

szaimen commented 5 years ago

Please notice: I hope you are with Nextcloud Talk not heading into the direction of Microsoft Teams/Slack because I think my proposal has advantages over what Microsoft Teams and Slack are doing.

Is your feature request related to a problem? Please describe. When trying to use Nextcloud Talk for work, currently you are ending in a lot of chats for every topic, that are put together in one list with private messages etc, which is something you probably don't want.

Describe the solution you'd like Grouping of Chats. So that you are able to create a "Superchat", where you can invite people or usergroups to. When clicking on that "Superchat" you then see a list of topics in a second level. (also in an "chatlist" but you should always show just one level, so you would need a "Go Back" arrow in the top left to show, that you are in a second level; placed next to or directly on the back-arrow, you could probably also show a notification dot or count how many new messages have arrived in the chatlist level on top)

Every People and usergroup that you have invited to the "Superchat" should then see automatically every topic from the "Superchat", but you should be able to blacklist or whitelist people or usergroups for each topic alone (or for more than one topic at the same time through a bulk selection).

e.g. If you create a new topic, all people and usergroups, that are invited into the "Superchat" automatically join all topics. Only if you blacklist them during the creation of a new topic or afterwards, they don't have accessrights and don't join the topic.

One advantage would be, that topics with new messages would arrive at the top of the chatlist inside the "Superchat" and you have always automatically the same people inside each topic, when not manually changed. So it is just really easy to create a new topic with the same people for each new case. (Archiving should also be possible...)

The private chats would then be at the first chatlist level, normal group chats and the "Superchat" too. Topics of a "Superchat" would be on the second level. New messages inside a "Superchat" would then be grouped together in a notification counter for the Whole "Superchat" on the first level. When you are on the second chatlist level with the topics of a "Superchat", all new messages in other Superchats or private chats or normal groups are then grouped together in a notification counter next to the "go back" arrow.

BTW: If you ask because why not adding another 3rd chatlist level: I think everything is already possible with 2 Levels. Since if you have another group of people you then create just another "Superchat" with these people. A 3rd Level would make everything more complicated and much harder to use.

Describe alternatives you've considered I think this second chatlist level is needed to really make Nextcloud Talk userfriendly and useful for work and not that cluttered.

Additional context If you haven't understand my proposal or wonder how this could work, please feel free to ask! I have thought that through.

szaimen commented 5 years ago

BTW: File or folder conversations could also benefit from this, since they are currently also spamming your chatlist if you are having many conversations on different files: I think they should also get grouped together into a "Superchat" but probably without the possibility to invite people or usergroups to this "Superchat" directly.

The same would in theorie apply to private chats or group chats but I think it makes more sense to let them stay on the first chatlist level.

sunjam commented 4 years ago

Perhaps some part this kind of proposed chat grouping could be handled via Projects functionality as it continues to evolve. See this discussion for a Project Manager.

phileastv commented 4 years ago

This is definitely an interesting idea but I'm not sure to understand it at 100%. Are you able to create multiples "Superchats" to discuss different topics ? If yes, this is pretty similar to what Twist - a slack competitor - offers.

This is what Twist organisation looks like

Level 1 : You create multiples Channels for each topic with their own permissions options. Looks this is what you call a "Superchat", from what I understood.

Level 2 : In thoses Channels you create Theads. Threads can be seen to all people who are added in the corresponding channel. Like when you described Topics.

Level 3 : In each topic you send classic chat messages, like an actual Talk conversation.

What I didn't understood in you first idea, was if you can send "classic" chat messages in Level 2 and 3. In Twist, Level 2 are in fact threads.

But, is this even a good idea ?

The Twist-like organisation looks awesome to me (I never actually used it, but it definitely make every subject easily findable). But I think it requires a bit of work to actually find the best way of how to split different subjects in different levels. It is not a straightforward solution, especially for users who just want to chat freely of random things, since you have to create a thread every time you want to discuss a new subject.

When I read issues like #2450 and #1469 , it seems like talk developers do not want Talk to implement "Threads-like" conversations (which I think is a shame). So that level of message splitting is maybe a bit too much for now.

This is what Twist UI looks like :

image

szaimen commented 4 years ago

Hm yes, it is actually a bit comparable.

This is a mockup how it could look like:

Either this way (should be easier to implement)

First level: (Normal Chat) image

Second level: (if you click on the Superchat) image

Or this way (which would probably much more work and harder to get right on mobile)

First level: (Normal Chat) image

Second level: (if you click on the Superchat) image

IMHO my first way is the cleaner solution but doesn't use the available space that efficient. But the second way would bring a lot of problems with it. So I think I would go with the first one.

szaimen commented 4 years ago

@phileastv I think the biggest difference between my idea and Twist is that I wouldn't seperate "Threads" or how I call it "Superchats" from Messages/Normal Chats, so that you have just one list for Normal Chats and Superchats how I showed it in the Mockups.

biva commented 3 years ago

I think that what Mattermost proposes is a very nice idea to group threads within what they call collapsed thread: https://mattermost.com/blog/collapsed-reply-threads-beta/

szaimen commented 1 year ago

Telegram introduced recently a very comparable feature like the by me proposed one which is named Telegram Topics:

https://telegram.org/blog/topics-in-groups-collectible-usernames#topics-in-groups

https://telegram.org/blog/ultimate-privacy-topics-2-0#topics-2-0

Murazaki commented 1 year ago

I think that what Mattermost proposes is a very nice idea to group threads within what they call collapsed thread: https://mattermost.com/blog/collapsed-reply-threads-beta/

AS mush as thread helps having conversation in the same place, they don't fix the per subject + privacy issues of a multi topic work group. It seems important to find a way to compartimentalize conversation per type for teams, even inside the same team in a company.