The difference is that Discord voice chats work like "meeting rooms".
I don't want to call everyone in a channel, I want to see who's already hanging around and join them on a whim. It's not really "calls" per se as you don't actually call anyone and they're not coupled to actual text conversation channels.
That's the big UX difference, and it's a big deal for gaming and more casual communities with many participants.
Thanks all for the responses - the whole “matrix doesn’t have voice channels” thing is much clearer now: it’s not the hard bit (voice/video conferencing!) but just the UX of how it’s hooked up. This we can fix :)
"it's not the hard bit but just the UX" – I think this is not a good statement. Maybe I'm reading too much into it, but it shows a certain state of mind: Tech/protocol/crypto/algorithms are hard, but UX is just decor and easy. That's just wrong. For many users, UX is way more important than Key Backups and Cross signing of devices. If FOSS projects want to be an alternative to Slack/Discord, then these things are precisely what matters – a lot.
Well, tech/protocol/crypto/algorithms require changes to all servers involved. UX is something that can be deployed and iterated upon much more easily. That makes it the "easy bit", for some definition of easy.
Good to know you guys are listening, but I'll dispute that UX isn't hard! I think Matrix/Element is great but open source projects at large are let down by UX/UI issues more than anything.
That's great to hear that you are open to addressing this UX feature.
Being able to hang out in a room alone to signal that you are open to chat if someone wants to join makes for a completely different user journey from calling someone and interrupting your interlocutor.
I haven't used Discord or Matrix in a while so please forgive me if I have this wrong, but just reading this comment and the parent comment, the only difference there seems to be that the Matrix voice room can (optionally) be coupled to a text chat room, whereas Discord cannot do this, and the voice chat rooms there are always separate. That actually seems like Discord is doing worse here, if you were aiming for maximum flexibility. (Maybe you aren't, I don't know)
The UX of just being able to naturally sit idling in a voice chat and have friends drop in at will is the point of discord and it's done very well. This user interaction being a first-class citizen is a big deal.
Maybe alien to some people, but I've spend the last 17 years of my life hanging out in Xfire/Teamspeak/Vent/Mumble/Discord and I think it's one of the absolute best things that tech has been able to give us, just constantly being in a room with all your friends.
I don't understand, is there some reason you cannot idle in a Matrix room? Again I don't know, but for the sake of discussion it would be good to mention that.
Not GP, but Discord user too. UX matters. People are very sensitive to the context of features, what the subtle meaning of using them is, how we initiate the communication and how it all "feels" like, for lack of a better word.
Kind of like there is no difference between (s)ftp and dropbox, and yet there is.
Ok but just for me as an observer, it's not clear what the actual UX difference here is. The discussion seems to suggest that the actual capability of the UX is in fact worse in Discord, and maybe not worth copying exactly if it causes a feature regression. It would help to specify exactly what you would like changed around, i.e. if there is a button that could change to make it more clear what is happening when you join a voice room, or something like that. It could turn out that this could just be a matter of some small cosmetic changes.
The difference is that the discord UI conveys information that is strictly missing in other UIs. By having a separate voice channel, it's implicitly broadcasting "these people want to talk".
It's also broadcasting who -is- talking; I've very frequently made a binary choice of "do intrude" versus "don't intrude" based on who's actually talking. I know based on the social circles that if person A and B are talking, they're likely "talking shop", because person A commissions work from person B. But I also know that if it's person A and C, they're probably just gaming, and I'm welcome to join them.
This implicit social signaling is obscenely important. It's a make or break feature.
When I'm using slack, by comparison; I can see that a coworker is in "some mysterious voice call" but I have absolutely NO IDEA who they're calling, and whether I'm welcome to join. I have to openly intrude on their time, and ask that explicitly, and that's inherently rude. I'm able to do that with close friends because I have a huge buffer of goodwill, but interrupting people is always inherently rude.
Discord gives you a way to get this information without being rude.
If the only way to do it is to be rude, then - here's the kicker: It introduces an outright failure state! Quite a few people will actually decided "gosh, I don't feel comfortable interrupting this person I barely know, I'm just not going to." They literally DON'T make a call they otherwise would make, and it's 100% down to UX. It's a full on, binary, "failure to provide service", and it's because of how your software psychologically runs on the people using it.
There are two computers running your software, not one. One of them is electronic, but the other one is biological. UX is about that second wetware system; some of it is calculable, consistent stuff that holds true for a statistical majority of people - just like how certain optimizations will benefit a "consistent majority" of the electronic computers running your software.
> By having a separate voice channel, it's implicitly broadcasting "these people want to talk".
Is that significantly different from making a new channel and labeling it "voice channel"? To me it doesn't seem to be, but I haven't tried it.
>It's also broadcasting who -is- talking
That sounds like a legitimate feature request, if it's not in the issue tracker already?
On the rest of your comment: thank you for the context, it was an interesting read, but I think I got what you meant with the first three sentences... maybe edit out some of that that if you file a github issue :)
> Is that significantly different from making a new channel and labeling it "voice channel"? To me it doesn't seem to be, but I haven't tried it.
Yes it is. For matrix currently you'd need to have the discipline to always leave and join that text channel too when you join/leave a room. And another use case is having multiple rooms. Consider the scenario of four friends sitting in a channel and playing 2v2 games and they randomize team every round. With discord/mumble/teamspeak etc. this is extremely simple, you just switch channels with one (double)click.
Another one is that sometimes we have multiple sub-groups of our friend group sitting on the teamspeak server (e.g.) playing different games in different voice channels at the same time. Because you can see all the channels and who's currently actively talking in them, sometimes we just pop over to the other guys and ask if they're up for a round of game X. Sometimes they are, sometimes they're not and we just pop back into our channel.
And there's a lot more things that I personally consider absolutely mandatory, like push to talk, voice activation, individual volumes etc.
I honestly believe anyone who's doing VOIP seriously needs to look at how gaming VOIP has always done it with teamspeak/mumble etc. Discord has successfully copied this too, and imo all other VOIP is so far behind it's not even funny.
The text channels in mumble/teamspeak are pretty much irrelevant because matrix already has good text channels, the IRC part. The text channels there are just to post the odd link or something in mumble/ts.
There's a reason discord is winning, and i'm saying that as a matrix+mumble/ts user. They integrated modern IRC and modern (worse but free)/teamspeak nicely.
Honestly, I don't really want to file feature requests about this because if it's not as good as mumble i'm not going to use it for voice.
And making it as good as mumble is not trivial, because browser tech sucks. WebRTC is entirely inadequate imo. (I have messed around with POCs myself)
I'm sorry, I don't understand why you are saying this? This would not be about me copying something or you using something, this would be if you had a feature request to Matrix or to Discord.
I very much want to use matrix over discord so I went and did a cursory check of all the desktop clients listed on the matrix website (again). It's unclear to me that any of the implement voice rooms at all? Am I missing something?
I am not using any Matrix clients right now but I was referring to this GP comment by the Element CEO: "in Element, you can hit the voice or video call button in any channel (not just voice channels!) and it will spin up a voice/video conference in that channel"
In discord you see a room of people in voice chat which features drop in drop out.
You can them independently drop in and drop out of any text chat room.
The most common way to share text channel based content is to say "hey I'm posting an image in voice chat check it out"
The important part here is making voice the first class primary communication while not prohibiting the use of any text channels because there is no coupling.
Complete independence is better than coupling imo.
Separation can be done with permissions for both a single text and voice channel.
Also as long as someone has access to the voice channel they have access to the video channel of all active live streams.
I don't want to call everyone in a channel, I want to see who's already hanging around and join them on a whim. It's not really "calls" per se as you don't actually call anyone and they're not coupled to actual text conversation channels.
That's the big UX difference, and it's a big deal for gaming and more casual communities with many participants.