nolaneo / vemos

Virtual movie nights made easy.
https://vemos.org
148 stars 18 forks source link

play/pause and mute/unmute relationship suggestions #42

Open grantbowering opened 4 years ago

grantbowering commented 4 years ago

As the prompt that comes up when one starts a vemos session points out, when you're watching something on speakers and your mic is live, the person on the other end will hear the main video's audio through your microphone, echoing at the latency delay.

If you don't have headphones, you can prevent feedback by muting yourself while the video is playing by pressing the button on your webcam video.

As such, generally when watching something on the big screen with a remote friend, I'm muted. When I want to make a comment or ask a question, I need to pause the video, which is generally on the lower left hand corner of the screen (or at best, click somewhere in the video frame), and then click my unmute button in the opposite bottom corner of my video preview, basically the whole way across the screen. This takes a second or two and is not ergonomically friendly. Then I have to do the reverse when the discussion is over, to put myself back on mute and unpause the video. I feel like this is likely a common use case for a lot of people... We can solve this problem with some potential design features.

One thing that could work would be a single button that's like a master "mute all", with a state shared across the connection.
When it's engaged, no one is transmitting audio to anyone else.
When you toggle it off, it also sends play to the main video, and when you toggle it on, it also sends pause to the main video. (Or I suppose, slaving them could be a checkbox underneath the button, in case people want to use the mute all without it controlling the video state.) Each person maintains control over their own mute button, so that when mute all is disengaged, they can remain muted if they want and have to unmute to participate in the conversation, or if their own mute is not engaged, their mic goes live when mute all is disengaged, but either way, when mute all is engaged, no one can hear anyone.
That element would solve the feedback problem (and is also a style of watching something that keeps people from talking over the movie and missing important or entertaining dialogue because they're talking 😆)

The only trouble with that idea is that, for people who ARE using headphones, you'd miss out on non-verbal aural reactions like laughs or gasps or that kind of thing, which some users may find important to their shared experience as well... So another thought might be to have a toggle in the UI of whether the user is using headphones or speakers, and make the shared mute/play button only mute people who have it set to speakers.

The absolute simplest implementation though, which would get us 80% of the way there, is just to add a main video play/pause button right next to the existing mute button on the webcam video. That would still take two clicks and other muted people would still have to unmute to respond, but at least then, everyone's mouse pointer can be idly over where it needs to be to do those things.

... k that got a bit long, so let me distill my thoughts into bullet-point feature suggestions, in what I assume are increasing order of like MVP vs. nice-to-have:

  1. Add a main video play/pause toggle right next to the mute toggle on each person's webcam video.
  2. Add a mute-all button, state shared for the session, that also toggles play/pause when toggled.
  3. Make the button from point 2 above selectable for the session (via checkbox below it maybe?) whether the mute-all button toggles play/pause, or split the button into two halves, or something like that, basically in some way make the mute-all its own feature that doesn't have to control play/pause.
  4. Allow the user to indicate whether they're using headphones or speakers (at first this could just affecs an indicator icon on their webcam video, for people's reference?)
  5. Make it selectable for the session how the mute-all/playpause button(s) affect users depending on their indication in point 4 above. (requires additional design thought as I'm not sure what that would look like)
nolaneo commented 4 years ago

Cheers @grantbowering!

I'm thinking of doing a general design overhaul of the sidebar soon and better controls would definitely fall into that. I think play/pause buttons in the sidebar make sense. What would you think about a kind of push-to-talk type interaction for muting/unmuting yourself? I think that might be quite neat and might satisfy this usecase without the need for adding lots of settings.

nolaneo commented 4 years ago

Started work on some of the control features in the Vemos bar itself. Play/Pause, Volume, Camera, and Mic controls will be at the top of the Vemos sidebar. controls