Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
195 stars 9 forks source link

User Blocking Functionality #557

Open Frooxius opened 4 years ago

Frooxius commented 4 years ago

Hello everyone!

After long discussions with the team, it is the (unfortunate) time to make this topic. We've been getting stady influx of new users and with the community growing, there are unfortunately personal conflicts. We've been getting an increasing amount of user reports and requests for this kind of functionality, as well as reports of people avoiding Neos due to lack of this functionality (which didn't seem too necessary until now).

It is our philosophy to use global banning only as the absolute last resort (e.g. in cases of illegal activity or severe attacks) to avoid cutting people from their socialization platform or workspace and instead providing you with the functionality to help you manage your own experience better.

Because of that, I'll be prioritizing the user blocking functionality soon (within a week or so), but first I wanted to gather your thoughts and feedback on how it should be approached.

The proposal is as follows:

This should be the gist of it. It's not too of a nice feature to talk about, but I'd love to hear your thoughts, concerns and ideas!

And also importantly, please let us know any problems you might be experiencing with other users or any concerns you have. You can always talk to Veer, our chief of moderation, about any issues, or reach out to other members with the moderation badge.

We take your problems seriously, even if we avoid taking immediate action against the member. Like I mentioned, as an official team we only want to step in when it's really necessary (and when we have evidence to do so) and instead opt in to give you better tools to help manage your own experience and for that, any kind of feedback and report is valuable and lets us prioritize those!

Thank you all for understanding.

BlazeVR commented 4 years ago

What about some kind of feature, that would briefly fade the world for the user and show the warning message in front of them, so they would be forced to take notice?

That is something very unique and I would support it, some people just dismiss the "You have received a warning" message and go on. Something like the "world fading away briefly" would break their immersion and remind them to take it easy, as everyone should have a great time in Neos.


I'm not quite sure about letting the user stay in a world where they block admins/mods, as it severely impacts their ability to moderate.

What if there is only one toxic Admin on that headless server and you block that one? You would get booted back to your home and wonder what happened, would totally confuse people.

Other users could send reports, but those are hard to deal with when it's something going on realtime in your world that you can't even see.

Now that you mention it... What about if the Admins/Mods are able to see the reported person afterwards when people invoke a "Report user to Admins/Mods", regardless if that toxic user blocked all Admins/Mods? Since they got chosen by the server owner to moderate at the end and should have the power to do so. Or simply they are immune to blocks from normal users, only to get muted at most (default avatar etc.)

I think if the user blocks the entire moderation force of the world because they're toxic, it's better if they go into different world instead.

But what if the most popular and busy servers are moderated by toxic server members and you wish to join them to meet new people? I know it's unrealistic that all of them have that situation but we will never know what the future brings.

BlazeVR commented 4 years ago

@FuzzyFoxe The problem is that you can edit previews in the inventory too. Also maybe that said avatar has multiple assets altering their looks, possibly copying from other players to get them blocked/banned etc.

Frooxius commented 4 years ago

@FuzzyFoxe It could in some cases, but it wouldn't cover everything and it's easily exploitable. The avatar might not come from inventory in some cases or be changed in-world. But also the inventory preview can be changed by the user, so they could swap it for a completely different avatar.

@BlazeVR Yeah I made it into separate issue to see what people think: https://github.com/Frooxius/NeosPublic/issues/591

If only one admin is blocked, then I think it could be still allowed. In any case it would be communicated if they can't join (if we go that route), but there could be a threshold on how many of them can be blocked.

One of the proposals was to let admins still hear the user if they're blocking them, but this could be weird too. E.g. if they block them so they can't hear them.

I think that when the particular world is controlled by too many toxic people, then the visitors will naturally go somewhere else. There's no way to really prevent that. But anyone can always start a session or host headless, so I think there will be enough. What could help in there is some rating system for worlds/sessions, so worlds like that quickly become less popular.

peterthethinker commented 4 years ago

So here is my hot thoughts on this whole thing.

The idea is pretty simple. Ideally there would be a escalation of force. Personally if I ban someone it would be only for 24 hours. I think it is perfectly reasonable to the ask to check a few checkboxes to make a ban permanent. People are saying that this is gonna make someone uncomfortable. The reality is that in a court of law eventually you have to face your accuser.

and like in most modern civilizations police cannot arrest you for indefinite amount of time. So basically yes you can ban someone for a short amount of time but unless you do your due diligence too basically make a few button presses your ban is not permanent 24 H is fair

. In the same context I do think a ban should be immediate. This is good to have in case we have crashers or hackers or the like. but I do think it's fair that after a few minutes to within 24 hours the requirement to fill out what has happened with something as simple as a check box is acceptable.

also it gives the person you are accusing a reason why they are banned. Again mirroring most modern laws a rid of citori is the same kind of analog. BTW the US supreme court states of the traffic stop shouldn't take longer than 15 minutes. us with a 24H detain time is MORE then reasonable ..

If I ban some one then I need to take a moment and open up the appropriate menu. And then check the box for malicious avatar. Or inappropriate behavior. Things of that nature Or other ( fill in blank)

TehTurk commented 4 years ago

@Frooxius SoftBlock in this case would be anything that doesn't permanently block the user in question, PermaBlock was just "Ok Bye" they were the general terms I'm been using to differentiate between the different types of interactions/cases.

+1 for the warning system/notification system in some form. As for headless I would genuinely leave that up to the headless owner to settle/decide 🤔 Admin's of a headless would be able to ban/kick and if they end up blocking/not interacting. Would they not be kicked yes, but I don't think Blocking would interrupt with moderation tools in any form. Blocking currently only prevents the social interactions not the objective ones.

Erosensei69 commented 4 years ago

Facts: • Any creator of a session is able to remove a nuisance from his own session, period. • Any user with enough permission is able to remove said nuisance from the session as well. • Anyone is able to reduce another user's volume • You can avoid joining the session of the person you dislike • You can adjust permissions of a session, so somebody who joins will not be able to be malicious • You can ban a user from a session, and he will not be able to re-join • You wouldn’t like to be around a person you dislike

Scenario: So let’s assume you've blocked someone, you can’t join him, he can’t join you. But what if two mutually blocked users encounter each other in someone else's world? Then we will get a nice awkward situation where we will have interactions with "local replacements avatar". And reactions as "wHo aRe yOu TaLkinG tO". In a community of just 45 players daily on average, with fluctuating numbers due to time zones, this will not completely isolate the problem. In fact, it will worsen it, people who still see the parties (1) may and probably will inform on who is being interacted with, (2) it will be awkward and involve them and others into unnecessary drama. You cannot just "block" personal drama, especially in such a creative sandbox, where everything is about interaction, crumpled together in a card box of a community. This is not VRchat where you just pop a person and he is out of your sight, out of your mind and yet the echo still remains.

Now I've met all kinds of players over the past 2 years, some mild ones, some toxic ones, some racist ones, some that made enraged me. To be honest I myself prefer speaking my mind as well sometimes disregarding of the opposite user baby-bambi feelings. But never ever had I ever got the feeling that a blocking tool is necessary, not for myself, not for any given situation. Even with the Ichigo Mayo (the public moaner) incident, where that user was globally muted, it caused tremendously big concerns, people were actually concerned why he was globally muted in the first place and it was starting to look like a bug to them. That incident made me understand and regret, that any action in the user experience will cause a rift or somehow affect everyone. And we are not a 1000+ user community where something like that will just slip through the gaps and not be noticed. It will cause waves. You either confront your problems, or you avoid them. Now blocking, as you currently presenting it, is not avoiding, it is equal to running over people's heads while screaming LALALA I CANT HEAR YOU. Surely it will keep out / fade out the unwanted person in some way. But it will leave a scar in the community that will never heal. And in such an early stage, with more than half of the community either being team / group members and where almost everyone is interlinked in some way, this will not be good, long term, not in this moment. Not with 30 - 45+ players on average.

You want to block people for their "heavy" avatars, in a application where people experiment with pretty much everything? Some things cannot even be seen, like logix within avatars. We might as well start a Avatar Strip Search Inquisition and check everyone's performance. Use common sense when you’re in public sessions. And surely you can resolve your problems while in some other friends’ sessions. Or set to spectator for newcomers, and I am repeating myself again, we do have enough tools and thankfully speak most of the time the same language. Have you asked them kindly to switch to a lighter avatar?

You want to add autoblocking for people streaming? Does that include recording as well? In the JP community pretty much all of us are recording or probably streaming (you can’t even tell the difference, it just says "live"), to catch funny experiences, would be a shame if you would walk into that configuration turned on.

tl;dr This is a dangerously double edged knife, it may seem handy, but it will slice up the user experience in a nasty way. Encourage the players to use common sense, do not give them "control" of an experience that spreads like the flu and affects other players that are near that encounter, will encourage them to block more, instead of going into / avoid a dialog or simply letting time heal the wounds and personal boo boo's.

Just because a user doesn’t know how to use a saw to cut a small piece of wood, this should not be an objective to give him a loud ass chainsaw.

peterthethinker commented 4 years ago

to add

You want to add autoblocking for people streaming? Does that include recording as well? In the JP community pretty much all of us are recording or probably streaming (you can’t even tell the difference, it just says "live"), to catch funny experiences, would be a shame if you would walk into that configuration turned on.

It takes NO effort to just use the VR preview window and capture on OBS so Ill assume any one at any point is capturing. to that point. 99% of the time I am live . I am not streaming. I am capturing something in one of my worlds .Or I have a Friend at my PC with Me in meat space. that is locally sharing what I see to show them VR ..

In short . banning/blocking ppl who have a live "flag" set in Neos is fully pointless .

FuzzyFoxe commented 4 years ago

It's not banning or blocking people with a live status, it's just being invisible to those that are. Some people don't want to be recorded, and it's merely a privacy thing.

peterthethinker commented 4 years ago

what ever it is . its dead easy to get around. its a pointless feature

any one who wants to get video can with ease.

unless neos wants to become malware and look for OBS and other programs Live on a PC at runtime. Pre covid I did all my capture on a 2nd PC with the HDMI from the gamer rig feeding my mac pro with a capture card for AV editing ..

BlazeVR commented 4 years ago

This is indeed a difficult topic, but the user should be put first and foremost over anything and have the control over their Neos experience.

Sure, the community as of right now is not that big and the current focus is on developing stuff however this will change. In the future not everyone will have the time and be interested to create stuff, they just simply want to socialize and that function should be available as a last resort.

To quote Froox again from his main post:

We've been getting an increasing amount of user reports and requests for this kind of functionality, as well as reports of people avoiding Neos due to lack of this functionality (which didn't seem too necessary until now).

From the perspective of a new player I would question myself if the developers here are making me force to see people I don't want to interact in any way, and telling new players "yeah you can't actually block users here" would be suboptimal to keep me around. I would normally look for the block option since I am used to it by hundreds of services enforcing a block feature already (which all work differently in their context).


To help discouraging the overuse of blocking, the blocking should be placed only in the "current users" list, pressing "block" will do a "1 hour block" and should be enough to think about it. However for permanent you would have to go through another menu and putting more effort in from temporary to permanent as said before by others.

I personally don't think we will have the trigger-happy blocking culture here as in other projects (if we will, welp it is how it is then). Also not everyone is that strong willed and has the courage to talk conflicts out, especially not around other players if something happened between them e.g. in relationships (to take an example said here before). If people are gonna go "don't you see blocked user?", the person can say no and dismiss it as it's not anyone's business why they have blocked someone. They will get reminded about blocked user but at least they can't interact with them in any way which is far better than seeing a muted and replacement avatar of them.


I assume the world/session browser will get more reworked later so we can tell how many and which players there are. For games-related worlds like prop hunt I think this could be easily solved by displaying a "Info: There are blocked users in that selected session" next to it. But it should not suppress the ability, e.g. making a "block-free" world. Could be easily done as world tags are a thing and displaying only for them (or instead globally for every world which could be problematic if you blocked too many people seeing that message).


About the recording and getting invisible is pointless indeed, people should be aware that they're joining on a public session and potentially recorded, there is no way out of it. They should join people's session they trust as it is. You have to accept it simply since it's like the public life: Whether it is a security camera, tourists doing recording of something and you happen to move in the frame, smart devices activated 24/7 etc...

Frooxius commented 4 years ago

@TehTurk I see. What would be the proposed functional differences between soft block and permablock then? Would it be just keeping the ability for the user to join your sessions if just softblocked or also additional behaviors?

I think it might be more beneficial to simply make it work the same and use Block & Ban to prevent joining your sessions.

@peterthethinker This feature isn't specifically about banning, but rather blocking the user. In case of banning it is also planned to allow only temporary bans. However those work more like not letting people into your house and don't affect any other sessions, only ones you host.

@erosensei89 As I mentioned in my posts above, using common sense, mediating issues and resolving them through discussion is definitely preferred way and something we encourage.

However with the growth of users, we are now dealing with situations where attempts to do that have failed and none of the existing functionalities help resolve the problematic situations, to the point we're being asked to ban certain people completely from the platform and where some users are leaving because they're too uncomfortable with behavior of certain people towards them (e.g. stalking).

The community is actually bigger than you think, the "45 players daily" is incorrect, we're currently averaging about 300 players daily. We have about 40-60 peak concurrent players each day, but it's a lot more people overall throughout the day.

I understand that it's not something that affects everyone in the community yet, so a lot of people haven't fortunately encountered these behaviors, but it is harming a portion of the community already, so we need to do something.

Often times this happens on neutral grounds, where the user isn't a host and potentially doesn't have builder rights either, so some form of control is necessary.

Big part of this feature is that it also blocks yourself from the other person too, making it near impossible for them to mess with you. As such it's a solution that's less aggressive than outright asking the host (or Neos team) to ban them.

But you're right that it's indeed a double edged sword and can be misused in many ways as well. However it's also necessary in the long run one of or the other. People don't always listen to reason. The best we can do it find how we can mitigate the bad behaviors and what other features we can include that will help deal with those problems with minimum collateral damage.

On the avatar blocking and such, see my posts above. This is only a side thing and not the main reason for this feature (I might not add that mode until later on). More optimizations and profiling tools are the main goal there.

@peterthethinker Sure the live status can be easily gotten around by a malicious user, but in this case that's not the goal. Main thing of the "LIVE" indication is a personal courtesy, which is something we want to foster.

Some people are uncomfortable being on live streams or recorded for variety of reasons (some of them professional), so this will help them out in a lot of situations. If someone really wants to record them covertly, they still will be able to, there's no going around that, but I don't think it's the reason to throw this away in majority of cases since most streamers should be courteous enough to not do that.

TehTurk commented 4 years ago

The concept was remarked earlier in the discussion Froox, so I'm a little confused by your confusion on it. But it's just been my term to differentiate between the different types of moderation/blocking. Well that's the thing, there's muting, softblock(invis avatar, muted), ban, and then perma. At least that's how I see the orders of things. Tying the Moderation Tools and Blocking together I think might be a bad influence of things down the line. Blocking is a person to person interaction, Moderation is for the session, because if the person is aware that they are blocked, and are joining the session with the blocked user(but not hosting), that should be fine and left to the nuance of the situation in that case.

Frooxius commented 4 years ago

@TehTurk I'm confused by your confusion of my confusion! (sorry, just being silly x3 )

It's just that we're juggling a bunch of different ideas and approaches, so I'm not 100 % sure which form we're talking about.

In what I was talking myself, the softblock and permablock you're talking about are the same feature technically, it's just one expires and the other one doesn't.

Ban is a feature that's mostly orthogonal to this. You could ban somebody from your sessions, but not block them. And vice versa. Or rather, that's what we're discussing, how decoupled they should be, because it leads to some weird scenarios otherwise.

peterthethinker commented 4 years ago

I love the live indicator . its a good idea as a icon. Ie a LED ! but in SW tiling it to any action like block or what not is IMO futile

Erosensei69 commented 4 years ago

@Frooxius

Often times this happens on neutral grounds, where the user isn't a host and potentially doesn't have builder rights either, so some form of control is necessary.

And this is exactly what I've meant by spreading the flu. That isolates the problem of two parties, but it comes with a price bof involving and messing with the experience of others around them. So in the neutral ground people will be interacting with the blocked users, which will cause confusion with the ones around them, on "neutral" grounds or in someone else's session, which is basically the same thing. Also, for the stalking bit, if there are some real stalkers, they might just log in anonymously, also doesnt take also much to make a new account.

If this is happening "often" on specifically neutral grounds, then it should not be a global feature. And honestly, I personally do not believe that there are neutral grounds on Neos. Every session, every headless client is someone's ground. That solution isn't less aggressive, it is passive aggressive, which is just as toxic.

This feature should be highly isolated and bound as session setting, as in: Create New Session -> [x] Allow Blocking (Block List)

That way the creator of the session, the user, is in full control of his experience, as it should be, and not have people inside someone else's space with their own written rules. And it would still prevent for the two user to interact / join each other, as they could turn the flag on and be in their safe bubble. That is some form of control I personally welcome with open arms, because it comes with a choice.

Frooxius commented 4 years ago

@erosensei89 What could we do that would decrease the confusion? It will show a proxy avatar, so people know there's someone there. Perhaps we could also give some visualization that they're talking, without the actual voice (maybe replace it with some innocent sound) so they don't interrupt each other in conversation?

With the stalking, that's not necessarily true. The banning functionality for example works even if you make a new account, there's more involved than just the user's account, so this could do the same. Could be still worked around as well, but that's true for any feature like this. If it becomes more work for the offending party than is worth, they will give up sooner or later, especially if the block is way quicker than them having to work around it to look like a new user.

What I mean by neutral grounds is that the host is either headless or not involved in the conflict. Nothing is truly 100 % neutral of course, but context is important.

But ability to disable blocking within a world/session is definitely coming, we discussed that above already if you'd like to see more details, but in short it will be necessary for game worlds, which could be broken by this and the users would be warned that blocking is not available in given world./session.

It could be used for social ones as well if you prefer to host "no block zones", so that way it's everyone's choice how they host and who they join, so that should work well in this scenario I think.

Erosensei69 commented 4 years ago

@Frooxius

What could we do that would decrease the confusion? It will show a proxy avatar, so people know there's someone there. Perhaps we could also give some visualization that they're talking, without the actual voice (maybe replace it with some innocent sound) so they don't interrupt each other in conversation?

If we are to consider only "speaking" for the moment, even though Neos consists of interaction trough voice, spawning, creating objects all the interaction that goes with it etc etc, and you are really entirely sure to push that idea through, then, from my experience and in my personal opinion, nothing will really decrease the confusion. It will always be there, no matter what. We either have the blocking, in some sort of form, or we dont. With the blocking being there, it will be accompanied by the consequences. Now I've seen all sorts of blocks in online games/forums/chats (completely vanishing / a visualisation that somebody is talking (which looks like a big middle permanent middle finger by the way) / graying out / etc). No matter how it is done, the negative feeling and confusion it provides, will still be there. Even in discord, for example, you block a person, but if he spams, you still see the shadow of his blocked messages. Some may live with it, to others it is equal like a red cloth to a bull. You cant make everyone happy. But if it outweights the claim that there so many lost users because of that and so many outcries of people asking for that feature, then you just roll it out and hope for the best. In one of my frustrated moments due to one bad experience, I did ask for such a similar feature, yet again, that request was due to me being temporarily rustled because of that.

I can only give my personal opinion on how I would like to see the initial blocking. If I were ever to block someone, which would be a last resort for me (a session I want to stay for a while in but not interact with someone who I cant remove) then I would personally see nothing of that person, who has driven me to that point, not even a shadow, receive absolutely no stats, not a bit and byte from that user.

What I mean by neutral grounds is that the host is either headless or not involved in the conflict. Nothing is truly 100 % neutral of course, but context is important.

Just to mention headless clients / servers, and why I didnt mention them in my previous message, I thought (in a case of a temporarily PC hosted session by a headless client) they should not be included in that feature, as they are even more bound to a creator, since he is using his personal machine, connection, personal time and power to provide them and it is his fair right to have sufficent control trough the config file. Except for the host willingly is hosting a cloud based / PC based dedicated session for the purpose of people enjoying his world publicly for whatever reason he has, knowingly giving in to the fact that he wont be there 24/7 monitoring the outcome of his session, then that is completely understandable.

And as long as there is the choice of either having the blocking feature enabled or disabled within a session, anything is fine. But I dont think it should be hardlocked on or off due to a category. Even if a world is categorised as a game/social/etc world, our activity within it vary, we all use this application differently. (it still feels quite early to talk about this though) Choices matter.

Reiko9 commented 4 years ago

@erosensei89 If Some World-sessions could have User-Blocking disabled, then if Confusion became to much of an issue Meetings would likely Migrate to these worlds... (May have a symbol next to the world orb to indicate public-square or everyone visible/audible)

Neos is a Self-correcting problem by design... Worlds Compete against each other for users time and if they create trouble for the community they wither and die.. (maybe get archived)

The goal is to Shift the responsibilities/blame onto World creators instead of the Neos project itself, such that controversial decisions do not kill it..

After all the Point of Neos is not to be simply Social-media, but a Platform to run your own VR applications/experiences on top of..

The Beef will be with individual world creators for making the wrong decision, since ideally they will be given the power to chose for themselves how users interact..

The point where Neos is responsible is if the Default settings are stupid.... to put it bluntly...

(So developing common-sense defaults is where most of the drama happens apparently...)

This Mentality is a Dramatic contrast with Vrchat, where it tries to enforce a specific consistent user experience that "hopefully" makes the Majority of users happy..

Aka Vrchat is an Application and people expect it to function a certain way..

Whereas Neos is a Platform with many Worlds/Applications operating within and if users do not like the user-experience of a specific world, they can move to a different one...

I believe its Modeled after the Free-market-system, but instead of Voting with your wallet, you vote with your Time...

I live in America and I have seen how quickly Businesses can rise and fall depending on if they provide the product/service and policies that customers want...

I have also read about terrible situations when the Government tried regulating corporations in the wrong ways and customers suffered... (but posting specific details here would derail this thread)

Anyways we have the same situation here... Neos Developers are like the Government and Worlds are like the Corporations... To much bureaucracy from developers will make worlds a miserable experience..

In Simple terms... Stupid annoyances WILL happen, but if Players always have somewhere Else to go to Avoid these Issues Neos will continue to be active...

In other words Keep the Issues Local, Not Global! , Each World has its own problems!, and World Problems kill a World, Game problems kill a Game! ...

Like how many folks Stopped using Vrchat, because a World was crash buggy......

IF Neos actually has the Vision I have stated above, then we have little to stress about except for technical issues...

Anyways after seeing how much fear you put into the last several posts I figured you should know why I do not stress much about the project anymore (the above vision)...

Just relax...

Frooxius commented 4 years ago

Thanks everyone for the great feedback so far! I've summed the main points up in the weekly update, crossposting it here as well for further discussion:

The major concern is that features like this can be misused by many users and create a negative culture, where users get blocked permanently over trivial matters. At the same time it is important that the ability to block somebody shouldn’t be taken away, as it can be necessary to deal with some genuinely distressing situations.

The best compromise for this kind of situation would be a system, where the one-click block is temporary (e.g. 24 hours). This way when dealing with annoyances, the user isn’t blocked forever.

To actually apply a longer or permanent block, you’d have to expand the block options and add a little personal note (a private one, not shared anywhere, could be even random text) in order to apply the block. This way the permanent block is a bit more effort than the temporary one, but also nothing that would take more than a minute.

We believe that this setup would help nudge people towards using the permanent block in situations where they’re really serious about it and using the quick temporary one to deal with annoyances.

However this presents one problem - having this kind of UI for blocking isn’t implementable with the current UI, so in order to implement it this way, we’d have to wait for the new UI to be replaced, which will likely take a few more weeks.

This way, we have two main options:

  1. Implement the permanent block now as a single button with the existing UI. Later replace it with the system proposed above once the new UI is in.
  2. Delay the blocking functionality until the new UI is in and use other moderation tools to deal with the situations.

Which option would you prefer? Do you feel that the blocking functionality is urgent enough to warrant it being added now or do you think it’s sufficient to wait? Let us know your thoughts or if you’d prefer to give your feedback anonymously, you can contact team members on Discord (preferably Veer, our chief of moderation).

There are some other points raised as well. We recommend reading the GitHub for details, but one important one is that the ability to block users can also be disabled by a host of the world. This will prevent game worlds breaking and will allow to also host “block-free” social zones. The fact that blocking is disabled in a particular world would be displayed of course, so users are aware before they join.

Erosensei69 commented 4 years ago

As for my given reasons above and since there are only two options (?), I am sticking with the option 2, delaying and additionally rethinking of how and how much the blocking functionality blocks the user.

From reading this entire conversation, I saw no other reasonable explanation of having blocking in NeosVR at all, rather than "sessions where the user has not enough permissions". I would be repeating myself and others in this thread with reasons like spectator mode, personal experience, permissions, choice of presence in sessions, actual size of the average present online users etc. not to implement a feature like that (or in the proposed form) and this would end up as an endless debate.

As of feedback, surely the community is growing, but some "moderation" by the moderators should also be approached with moderation.

Frooxius commented 4 years ago

@erosensei89 There are a few reasons we talked about. To sum them up:

I should also note, this isn't tool for moderators of the session specifically, this is for individual users to help control their experience. It's everyone's personal choice who they block and for how long (but it'll also be choice of the world host if the blocks apply in their world).

LeonClement commented 4 years ago

I guess I'll share some opinions here. Not a whole lot to add, just my thoughts on what's been discussed.

I think that giving the Host the power to control if blocks are applied or not within their spaces is an amazing idea because it will give people the opportunity to not have to deal with other people's drama and issues as a side effect, at least not in a setting where one user is speaking to two people who can't see each-other. It's one thing to deal with a friend's drama willingly, it's another to be hosting a session and have the drama come to you unwillingly and most likely as a surprise.

I believe the temp block into perm block is sensible. I also agree that there will 100% be people who block others for their avatar. It's not a secret that people have their own opinions on what is or isn't "laggy". Giving people the power to temp ban or perm ban based off an opinion is just a reality that comes with the system, unfortunately.

I personally will find almost every reason I can to not block people and host a majority of my sessions as "blockless", for lack of established terminology, worlds, which will cause friction for users who have a need for blocking certain individuals.The only thing I hope for is that people won't become divided because of scenarios like that, having to pick sides and leaving little room for neutrality is never a good thing for people who aren't directly involved. BUT, this was bound to happen eventually. This is more so me wishing the world was a utopia and that we wouldn't have to deal with people who are incompatible with each other in the first place.

Hope you all on the dev team are doing okay, I'm sure this has been incredibly stressful for you guys. I just hope this is all worth it in the end considering the UI update and future updates have been hindered to make this happen. Best of luck!

inzanesonikku commented 4 years ago

i'm down for option two. wait for the new UI

Erosensei69 commented 4 years ago

@Frooxius

I gave my opinion regarding the permissions and stalking, it is understandable that there are problems and situations not all of us have encountered. Mental issues is a point where I get off the conversation, as this is a dark topic and I do not hold a psychology or any medical degree. Thank you for mentioning it though, it suprises me to hear that the situation is that bad. However, blocking a person out of anxiety will not (always) guarantee their safety or comfortability in all sessions, they will end up being kicked / banned from others, or even in the same session they blocked the person in. The host might side with the blocked person and remove the blocker, amplifying his anxiety further more.

I should also note, this isn't tool for moderators of the session specifically, this is for individual users to help control their experience. It's everyone's personal choice who they block and for how long (but it'll also be choice of the world host if the blocks apply in their world).

As for the moderation, I understood that it is for individual users to shape their experience. I was refering to the entire moderation of Neos regardless of it is a session host, user or team member. Some control, in places where it is needed, is understandable, but it also should not be out of control. After all, we are all users with different minds, ideology and experiences.

But thank you for giving some insight on where we are headed, it is not pleasant reading any of this and talking about it, all of this feels very rushed and forcefully pushed to me, I cant help but disagree with most of these points, but on the other hand, I personally am present specifically only in the japanese community, which surely is just a fractal of what Neos is at the moment, and can share my experiences about that, to picture the other side of Neos, that not everyone sees, just like I do not see the other side of the community because I am never there. The only malificent cases were caused by racist english-speaking users, overly drunk english players harassing the others, who were banned from the session and people spamming explicit porn into public sessions, who were downgraded to spectator and left by themselves. And all these cases date way back to January 2020, when the attention was much higher, once it has calmed down, there hasn’t been a single case and I am satisfied up to this day the name of our moderator remains "common sense", and I hope that in the future it will serve as an example for Neos. Yet again, it is a different culture and people approach differently each other. I hope this helps.

I wish you best of luck further on, less stressful encounters and more inspiration. Thank you for keeping this issue open to the public and considering all the concerns.

Reiko9 commented 4 years ago

So far Player-Blocking Bubbles seem to be a good short-term solution.... Basically in an "Ideal" Implementation unwanted Players would be Not Rendered / Invisible to the player as Long as they had the Shield-Bubble active.... This Shield-Bubble is Visible to other players so they can/will Adapt their Conversations Accordingly and know the player with the Shield bubble may not hear one/some of the players in the conversation...

The Whisper-Bubble I am basing this concept on and it showed how Successfully the community was able to adapt their conversations thanks to visual feedback...

IF a Problem Came up and the Player Needed to hear a Message directly from a Blocked-member, the Other players could Remind the player to Turn-Off their Player-Blocking Bubble....

The Slight social Awkwardness of having a Player-Blocking bubble Visually turned on would prevent it from being Overused, I would think... (Just like how Whisper-Bubbles are Not Over-used)

If someone is trying to figure out if they are blocked by the player using the Player-Blocking-Bubble, they will not know if they are being simply Ignored or blocked... (If a Bubble is Overkill another Visual Indicator should be used to keep Conversations from becoming way to confusing from players Assuming the player actually hears / sees them)

H3BO3 commented 4 years ago

If one player blocks the other, both players will be audibly restricted for each other and the avatars will be locally replaced with simple, blank ones, so you know if you've been blocked. A bubble is very redundant, if someone wants to turn off a block for another user to hear what they want to say, they can do that. Nobody else will know if two users have blocked each other, which defeats the point of any social pressure initiative, which isn't needed in the first place.

shiftyscales commented 4 years ago

I don't believe that's correct, @H3BO3. Blocks are to be mutual- so as long as either user has the other on their block list, both will not be able to see/hear the other. Both parties would need to remove the block to commuicate- which is the purpose of the block.

If they believe they need to contact the user they're blocking- they just shouldn't block them, but use another means instead, e.g. muting them locally.

H3BO3 commented 4 years ago

@shiftyscales That's pretty much exactly what I said, but clarify - Why would the set blocked status go both ways? If someone else blocks me, I don't want them to appear in my list of people I've blocked, so I know they've blocked me, that's ridiculous. I will be able to see their "blocked" avatar and mute status if I come across them in a session, nothing more. They can do their own thing, if they want to unblock and talk to me, they are the one responsible for that, and it shouldn't require any action on my part. Otherwise I'm gonna be spending way too much time removing people off my block list if they happened to block me, because I don't block others on a whim

shiftyscales commented 4 years ago

Not what I'd meant. I misinterpretted what you were saying as applying in a case in which two users had blocked each other because the context of the conversation was 'how to communicate with a blocked user'? To which the only answer there is- you don't.

H3BO3 commented 4 years ago

Oh, okay. Yeah, bit of confusion between the actual state of having blocked someone else, and the mutual session muted/avatar-less state indicating a block has taken place from either/both ends...

Reiko9 commented 4 years ago

@shiftyscales @H3BO3 The Entire Point of Some Visual-Indicator is to know if User-Blocking is ON or OFF, it does Not tell Who you Blocked.. (Dramatically helps with troubleshooting and prevents having to Explain you blocking someone) If the Indicator is OFF, then players have a near Guarantee you will hear everyone in a Group conversation, but if the indicator says ON, then players will remember there is a Possibility you will be Unable to hear some of the members in the meeting... Without an Indicator Players in a Group may ask the blocked player to Speak-Louder or ask both players if there is some Network-routing issue between these 2 players... (Because they do not know blocking is active, especially new players)

I have experienced this before... Justly Declarable is in Australia and their Internet connection and Latency to Washington state where I live often makes the player freeze for extended periods of time (sometimes minutes) , Yet Other players can still See and Interact with the player, because they are closer and have a better connection... (Its practically a temporary player-block) ........

With NO as in ZERO visual Indicator that you have Player-Blocking Turned ON, eventually players will Figure out that you are not responding to a player in a group meeting and they will have Several responses:

A: Think a Technical Problem has occurred between your Connection and theirs

B: Think you are being Rude

C: With Continued lack of Response to the player they will Know you are Blocking them...

They will be Especially Irritated with you, if you have Wasted their time trying to Debug things and mess up the flow of their conversation by acting like you care Nothing about what someone has to say...

Having User-Blocking Enabled 'Visually' lets people know Immediately of the types of Problems they could encounter and they will be Far more Forgiving, since they know what to expect...

Additionally it shows players they should be more Respectful around you, since you do not tolerate everyone's behavior... Like if someone had Player-Blocking ON I would avoid Offensive Jokes that my other contacts would normally find funny, since likely this player was disgusted by such behavior and actively blocks someone...

IF you have Player-Blocking OFF 'visually', then Players can Relax and Speak to you without worrying nearly as much about you Blocking them....

Likewise with Player-Blocking ON 'visually" players can just Assume you were blocking a Player if you do not respond to them, instead of creating a bunch of Drama pretending its a technical issue or seeming Rude, then players finding out it was a Lie... Or worse Developers being Pestered about Networking-Problems that do not Exist, because players Lie about Network-problems to Cover up the Fact they are Blocking a player...

EVEN IF Only the Session-Host of a World could see what Players had Blocking-Enabled, then players could Ask the session-host if they are encountering server /player networking issues and they could Explain its "Simply a Block" happening.

The Limitations of the Internet and Human psychology will create a Lot of Drama unless we take them into account....

IDEALLY we should Dedicate Specific Public World Instances to Test Out experimental User-Blocking technology instead of applying it Globally, and suffering the large scale confusion that could result if something goes horribly wrong... (Imagine if a Glitch Randomly blocked players globally during the testing versions and it could have been isolated during testing on a public-server) We are Playing with Fire here and any wrong move is going to get someone or a Lot of people burned....

(Good Short-Term Solution I said... We Cannot find a Good Long-term Solution until we have Tested several Short-term solutions, especially for an issue this dramatic and dividing to the community...

H3BO3 commented 4 years ago

No. Third parties don't need to explicitly know someone has blocked someone else in the session. Some kind of visual feedback from the minimal "blocked" avatar to show when they are talking would eliminate all three problems.

Reiko9 commented 4 years ago

@H3BO3 I Tried to make it Obvious... "Feature Enabled / Disabled", this means if they Enabled User-blocking Period... Not Specific to the World, NOR showing that they blocked someone else in the session... Just that they have the User-blocking feature Enabled...

Other Players do Not know when a Player is Not hearing from a Blocked player, since they do not know if the player is blocked This makes Group-meetings confusing and Frustrating... I Tried to Define in Detail why players Need to know that User-Blocking is a Possibility when Troubleshooting the issue, and the social frustration if it Seems a player is Ignoring another player... The attempts to fix the issue like telling someone to speak-louder and checking connectivity issues and possibility of administrators getting pestered if a Player does not explain what is actually going on..

You need to think Beyond the 2 Players who are blocked to each other... We have a community here and the situation will become much worse as the player-base increases...

If we only had to Worry about the 2 Players involved in the Blocking system, we would have had this issue solved Last-year.. (This Blocking-Feature can be Enabled by Default, to lower suspicions, but players will be able to suggest to disable it if something has gone wrong, since they know when its disabled, they can Rule this Out as the source of the problem) Remember the Network-connectivity issues between different players as I have experienced with JustlyDeclarable and possibly a few others....

Reiko9 commented 4 years ago

@H3BO3 Sorry for the Drama and Excess message size.... Here is a Humorously simple example of what I am referring to:

If this happens after you previously Blocked a User and you are in a Group-Chat: (Non-blocked player says) "George is Trying to Talk to you... Hello Can you Hear him? "
"Is your Network-connection working properly? Is Georges connection to you to weak?" "Are you Ignoring him?" "Can you boost your speakers or does George need to boost his Microphone?" (Do you Explain that you do Not want to hear George, because you blocked him? ) Likewise in Group-conversations Players will Assume you Know certain things, because the blocked-player said them around you.. Since they do not know you blocked them (IF players see that Everyone in a Meeting has Player-Blocking Turned OFF, then they can be almost Certain their Communication will be completely transmitted to everyone in the group, especially critical if an Admin/mod was blocked) ......I Highly respect Privacy and understand the risks of players knowing who you blocked, so this is a better alternative to most short-term methods I know... oy Just Visually show the Icon over the Nametag or somewhere whenever User-blocking Feature is Disabled, so Players know you are ready for the group meeting No Indicator needs to Exist if Avatar-Blocking Feature is enabled, since its default... Thank you! H3BO3 this Solution is Much less Clunky than Always showing its enabled! (Maybe the World-Settings / session-settings could Prevent the Block from taking affect)

Excellent World / session Disabling Blocking is already a planned feature... Now Schools will not allow Students to block Other students in their Virtual classrooms...

H3BO3 commented 4 years ago

There's going to be a world setting that will do exactly that, it will prevent blocks between users in that session from actually doing anything, in games where having someone blocked would break functionality, or it's just not what the host wants. Being able to toggle all blocks on and off via a user setting seems... odd, but I understand where you're coming from. Just try and keep the messages a little shorter please, they're hard to read.

There's a lot of "negatives" that come about from being able to block people in general, but also lots of positives, so it's just something we all accept. It's why I don't block people easily myself. How someone chooses to block or unblock others is up to them, but I don't know how a setting to personally disable blocking and indicate such would effect things. I'll think about it more, or maybe a dev can chime in.

inzanesonikku commented 4 years ago

ugh, you people are going WAY too deep into this. user blocking is and always has been what it sounds like. people blocking other people for any reason they so choose. if they're in the same world and y'all got em blocked, oh well, they shouldnt have pissed you off. simple as that. they can go to another world or y'all can ban em.

DanteTucker commented 4 years ago

This discussion started because the community wanted the ability to block people. I believe we all knew what they meant by that. But for some reason it's drifted far from trying to fulfill that request.

If you want exceptions for certain specific use cases of neos then how about we make them a separate feature request after the basic blocking functionality is added.

H3BO3 commented 4 years ago

I merely responded to all the extra stuff, wasn't intending to engage again before that.

The-furf-of-July commented 3 years ago

I would love the ability to block avatars as well. This was mentioned before for lag reasons, but it has happened at least once that I encountered someone who was kind and friendly, but had an avatar that, visually, made me uncomfortable, and I couldn't bring myself to mention them. Being able to locally see their avatar as something like the default neos bot (maybe even with their configured colors, or just random) would help a lot in that case.

DeltaEcho13 commented 3 years ago

If someone were to have asked me to implement some sort of interpersonal blocking mechanic for player-moderation, I probably would have tried to implement exactly what @Frooxius already mentioned in the issue.

I think symmetrical blocking is necessary and fair. If a player initiates a block on another player, it’s because they want to cut out as much interaction with that player as possible. They don’t want to see/hear what that player is doing and they don’t want the blocked player to see/hear what they’re doing. Makes perfect sense, they’re effectively blocked for each other - symmetrical blocking.

The reasons why a player would want this to happen to another player could range between minor annoyances and targeted malice. I agree that blocking doesn’t sound like a good solution for minor annoyances because the rampant use could lead to some unfavorable outcomes for the community. However, providing an intermediate step for players to personally moderate their experiences in Neos could help solve this problem.

I may start GitHub-issues with some ideas that a group of us have come up with to implement such solutions. I would consider these as more concrete than softblocks, @TehTurk .

Also, to assume that the overreactions with blocking minor annoyances will ruin the Neos community seem to me like, well - an overreaction. Especially considering some other reasons why someone would want to block another player. How about harassment? Sexual harassment? Stalking? Targeted griefing? I personally get physiologically sick whenever someone messes with my horizon. As more players join Neos, the amount of these serious incidents will only continue to rise. To consider that the cons of initiating the blocking mechanic would outweigh the pros prove that there is a serious lack of understanding of these problems currently ongoing in Neos. I would also go so far as to argue that having a relaxed approach on player-moderation only encourages and emboldens malicious actors.

I myself have already been victim to a variety of different harassments including some interactions with my avatar’s female anatomy without consent. I admit that I didn’t know how to react at the time. Eventually I recognized that if I am spending this much time and effort thinking about what happened, that I was alright to feel disturbed about the incident. I also recognize that it could be much more disturbing for someone who actually has female anatomy in actual-reality.

These kinds of examples are why I believe keeping an effective block mechanic away from people is unreasonable. I’m talking about the suggestions of making the block mechanic hard to get to, require a lot of effort to initiate, or require several incidents in order to execute on the actual blocking as means of trying to minimize the overactive blocks. In other words, I don’t believe it makes sense to ask players to get sexually harassed more than once before real action can be taken.

I think that having the ability to provide a report on why a player’s been blocked is great but needs to be optional. I was thinking that providing a few checkboxes with general reasons someone may want to block someone, and also a text field to provide more details if desired, would be helpful. It has to stay optional though because sometimes writing about some incidents can either be really tough or require too many personal details. After all, not everyone can just casually drop a bomb like I did about sexual harassment in the comments of a GitHub issue. It should be up to each person to choose what they’re comfortable revealing.

I think it's pretty clear that the community wants this feature and I dare say that considering the population of Neos right now compared to when the issue first cropped up, the community also needs it.

I would personally like to politely urge the devs to consider prioritizing this a bit higher. And also, thanks to everyone for your time!

HaVoK- commented 3 years ago

I agree with the proposal @Frooxius had originally set forth and think it was pretty on mark. Took some time to read through it again and also others comments, this became especially relevant the past months with the growth rate of new users and behavior I've seen around. I've got a few comments on proposed features and suggestions below.

Blocking / Unblocking a User - In Froox's original proposal he mentioned you'd find the person in the friends list, or if they're not there the search list as well.

Once it is feasible to add in, it'd be nice in addition to what Froox mentioned to also be able to:

The option Froox mentioned for timed blocks is nice as well incase it's just a matter of a minor annoyance someone doesn't want to deal with for the day. Likely per session or global blocking would be nice as well.

Mutual Blocking - This is great and should be left to the user, I believe it also mitigates time moderators / helpers would need to spend looking into minor issues. A lot of people's tolerance for interaction and how they like to experience things are up to them

World / Session Based Safety Levels - In some of the comments I've seen there is a worry some safety features or blocking might alter the experience and openness of certain worlds or even overall of Neos. (This might belong in a separate issue thread, but is a little relevant here)

I think as things advance, especially with more popularity it might be a interesting to take a look at World / Session specific Safety Level settings. There's already tiered options to give users increasing levels of power in a session, but no notification as you join or preview of the world's default setting for users. It'd likely be nice to:

Those that like the experience of a more open world / session with wild hijinx and craziness with user altering by other users etc would be able to easily view worlds they could join to do that or create them, those that like a more "safe" experience could view those worlds and experience them in a more restricted setting by default + their own user preferences piled atop.

User Safety Bubble (There's a feature from this list here: https://github.com/Frooxius/NeosPublic/issues/1317)

This could be toggled on / off via a simple checkbox live in a currently running World / Session, or on World / Session creation as an option. Where it would allow or disallow a user from being able to enable the feature themselves. It could also be displayed in the world / session viewer whether or not a world has the ability to have this toggled on / off by the user. Being able to entirely disable this feature would be required to experience some worlds properly or game systems within worlds.

If it's toggled off during a currently running session, users would be warned with a 10-30 second countdown it's being disable so they have a chance to leave if they so choose to. On the other side of things, if there's abuse going on it could be toggled on quickly for all users in the session until whatever abuse that was going on was figured out.

The Safety bubble could have settings / do things like:

Likely with going deeper into safety settings, blocking, muting etc will create a bit of a divide in the community due to different preferences and expectations of people and their experience.

In my opinion, ultimately it should be up to the user, unless a world / session explicitly states / notifies the user on viewing it or on join that it is a more open world that allows close interaction, modification etc of their avatar. There's such a diverse range of preferences for interaction and comfort level, a lot of the items mentioned in this issue should really be re-visited again as time and development effort allows.

A lot of people are too shy or don't want to seem like they're causing an issue by reporting something to a moderator/admin or even speaking up. Some people will simply just leave a world, or leave Neos in a whole if they experience too much, whether out of shame, anxiety of someone's friends targeting them or labeling them as not fun, or just not wanting to deal with it or put forth effort etc.

I hope eventually a good balance between experiences and individual user preferences will be struck.

epicEaston197 commented 3 years ago

my biggest worry is someone weaponizing this in a social engineering aspect and getting a butt load of people to block you for a reason that is false I had somebody attempt to do that to me on vrchat and it really made me have an emotional breakdown and I do not want that type of toxicity on NEOS well that's my thoughts

DeltaEcho13 commented 3 years ago

Moderation and security are of the upmost importance for any tech-group so there's no way we can just ignore it.

Besides, moderation tools aren't going to attract toxic people to NeosVR. If people in NeosVR decide to use moderation tools in the way you described, @epicEaston197, then it's because those people were already in Neos. This only serves to further cement the fact that we need those tools to help us moderate our own social situations.

I don't think there's any doubt that the need for the tools exist - every online social platform has social moderation tools by default for a reason. It's more important to determine how to implement them in a way that works best for NeosVR.

I recommend that you read some of the suggestions mentioned above in previous comments to further learn about the problems and potential solutions we've discussed about moderation tools. The "moderation tools are weapons" horse has been dead for months and it's time to stop beating it.

peterthethinker commented 3 years ago

both are true/

mod tools are needed. and yes ANY tool can be used and abused. In my 3+ years on Neos Ive seen it done. more then I am comfortable with .. easton's worry is not without merit .

HaVoK- commented 3 years ago

All valid points. Certainly any tool, functionality etc can be abused.

I believe the need for a user to control their own comfort and user interaction levels in certain scenarios and worlds far outweighs edge cases where some of the function might be abused.

It would likely also be a lot more common that an official moderator would need to deal with abuses / reports from users due to lack of such safety / comfort tools and functionality, rather than dealing with far less reports of abuses from the safety / comfort tools functionality being abused. Mitigating abuse reports to official moderators for things a user could have easily toggled on/off to prevent certain things or tailor an experience to themselves is a benefit too.

Some users are too shy or think they're troubling someone, or think they're blowing up an issue even further by reaching out to a moderator or telling other users. Getting other people involved also sometimes escalates certain situations and brings more eyes on something which can further discourage some people. Something that could be taken care of by a few additions of features.

alexderpyfox commented 3 years ago

my biggest worry is someone weaponizing this in a social engineering aspect and getting a butt load of people to block you for a reason that is false I had somebody attempt to do that to me on vrchat and it really made me have an emotional breakdown and I do not want that type of toxicity on NEOS well that's my thoughts

I agree with epiceaston this is something that we shouldn't want blocking which makes people dissapear will then make Neos a lot more empty blocking should be like muting and turning people into a default avatar like the head and hands avatar for the person that blocked you but not something severe to prevent cancel culture to become a thing in Neos

alexderpyfox commented 3 years ago

Also it becoming a head and hands avatar would make it work well in sessions because then moving things would not be like a ghost moving object around but there is a head and hands avatar moving it so that would work best for Neos as a blocking feature

Khosumi commented 3 years ago

If I block someone, they've done something to annoy me greatly, and as such, I don't want to be reminded of their presence.

uyjulian commented 3 years ago

It seems like people are not in agreement in heads/hands and completely invisible, so how about making it configurable?

Also, in addition to invisible or heads/hands for all users, make the heads/hands / completely invisible configurable based on the permission level e.g. Spectator could be completely invisible while Builder could have heads/hands

seif1 commented 3 years ago

This conversation should also include some points about what might be able to override these blocks (I.E. if you are in a public game world, like MurderX and you have another person blocked).

A world could possible employ a similar confirmation dialogue to the Get/Post requests for user confirmation and requesting the ability to override any complete visual removal block (or possible other things if the game requires them, like overriding voice block if the game relies heavily on being able to speak to the other players) while they are focused in that world. (possibly remembering your choice as long as you are in that world)

This depends heavily on the implementation, and exactly what is possible with such a blocking feature, but it should be considered.