Kind of like there is no difference between (s)ftp and dropbox, and yet there is.
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.
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 :)
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.
Maybe there should be another feature request to auto join voice comms when entering a channel?
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)