Closed toomim closed 7 years ago
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?
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
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.
Hey @karth295 is this done? I think you did it last night.
Marking this closed cause it looks like it's working. :)
I just cleaned up the audio volume calculations: https://github.com/invisible-college/tawk.space/commit/552ceae5b69bbde2316c9af246c971865571f5b5
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 (https://github.com/invisible-college/tawk.space/issues/10)? Do these designs interact?