I hope this goes somewhere!
I hope this goes somewhere!
I think that's basically precisely the same capability as you get in Discord - except in Discord you can switch between the 'voice rooms' by clicking on them in the room list, rather than 'opting in' to the one in your current room. Also, you can do toggle mute via hotkey (which we have a draft for at https://github.com/matrix-org/matrix-react-sdk/pull/2280), but this is surely a bonus feature.
So, am I right in saying that Element effectively has voice/video rooms today - it's just that the UI is very subtly different to Discord? Or am I completely misunderstanding something fundamental about Discord's voice 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.
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.
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)
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.
It feels very different? And the use-cases are different.
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.
Proper Push-To-Talk with global hotkey is one of those features that doesn't seem important but when you need it (organizing Raids in games, big meetings, etc) it makes a world of difference. That and lack of click to join voice rooms is definitely making it harder to move gaming groups over.
I use Discord and Element/Matrix exclusively, and have groups of friends that use both. They always gravitate towards Discord for voice. I think there's a couple small reasons that kind of add up
1. When there's an active call going, you can't see who's in it unless you join. It's just this ominous box with some unknown number of participants, and it creates this feeling of "should I join them? Am I interrupting? What's going on in there?". In discord, being able to see who's in a room and even who's talking goes a long way in removing that little anxiety.
2. As others have said, having the voice channels listed as their own room, showing the current participants, that you just one-click-to-join feels different. For whatever reason it feels less like you're joining a conference call and more like you're just popping in and out. I can't fully explain why, but it does.
3. The jisti widget is pretty janky. It doesn't really size correctly, the text overflows, and it general it just doesn't feel native.
I've been using, self hosting, developing for and prosthelytizing Matrix for many years now. It started out rough, has steadily gotten better, and now I think in many ways surpasses other chat services. But the voice just doesn't quite do it.
It's an absolute must have for gaming. Near useless without it. I suspect some of the other features that are 'almost there' in fact are deal breakers in some use cases.
I think you are. Think back to messengers like ICQ or MSN, they had a group chat feature. It's like comparing that to IRC.
I personally use a separate mumble (and a teamspeak) server, instead of discord.
I hope this succeeds but it’s going to be hard to take market share. I hope the signup flows and Ux are really smooth, foss software is often pretty hard to get started with for non technical people