Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When you mouse over a group, they should also hear YOU #12

Closed
toomim opened this issue Jan 31, 2017 · 5 comments
Closed

When you mouse over a group, they should also hear YOU #12

toomim opened this issue Jan 31, 2017 · 5 comments

Comments

@toomim
Copy link
Member

toomim commented Jan 31, 2017

I just cleaned up the audio volume calculations: 552ceae

It's working well for us in considerit. When I mouse over a buddy's group, I can hear them. However, they cannot hear ME! This is gonna be confusing, because in real life, whenever you can hear someone, they can probably hear you too. Mousing over a group would be a great way to say "Hey guys, wanna come join my group?"

So I think we need to pass through the mousover group information to the server, because other people need to know when you are mousing over them so that they know to increase your volume. Maybe we should design this at the same time as making groups globally editable (#10)? Do these designs interact?

@karth295
Copy link
Contributor

karth295 commented Feb 1, 2017

On point 1, yeah that makes sense to me. In the future we should have a subtle notification if you're lurking in a group for more than some time (e.g. 10 seconds) that you can join the group by dragging yourself. I like Hangouts's subtle notification when you're muted but talking.

On the other hand, how does your buddy's group react when they hear a random voice talking to them? Should there be some visual cue that an unseen person is talking?

@karth295
Copy link
Contributor

karth295 commented Feb 1, 2017

On the architecture of state, we were imagining a global '/groups' state that looked like this:

[
  {
    gid: 1,
    members: [1, 2, 3],
  }
]

We could expand the /groups state like this:

[
  {
    gid: 1,
    members: [1, 2, 3],
    lurkers: [4, 5, 6],
  }
]

On the frontend, rather than setting volume per group, you need to figure out the volume of individuals.

if not lurking:
  if in group:
    listening = group.members
  else:  # not in group
    listening = everybody
else: # lurking
  listening = lurking_group.members + lurking_group.lurkers
  if in group:
    listening += group.members

@toomim
Copy link
Member Author

toomim commented Feb 1, 2017

That code looks great! I'd add that instead of gid: 1, if we make this key: '/group/1', then the group's state/widget can update/rerender independently over statebus whenever someone mouses into it.

For the UI, I think the "lurker" (or should we call them a "voyeur"?) should also go from opacity .5 to 1 to make it obvious that you can now talk to and hear from them. I think that solves the problem, no?

I guess they are actually more than lurking or voyeuring, they are talking too. I would probably call them a mouseoverer.

@toomim
Copy link
Member Author

toomim commented Feb 3, 2017

Hey @karth295 is this done? I think you did it last night.

@toomim
Copy link
Member Author

toomim commented Feb 4, 2017

Marking this closed cause it looks like it's working. :)

@toomim toomim closed this as completed Feb 4, 2017
karth295 pushed a commit that referenced this issue Feb 4, 2017
karth295 added a commit that referenced this issue Feb 11, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants