hippware / rn-chat

MIT License
5 stars 0 forks source link

Allow user to toggle Always/WhenNearby button before turning Share My Location on #4876

Open mstidham opened 4 years ago

mstidham commented 4 years ago

Current implementation: User is unable to toggle between Always/When Nearby when Share My Location is turned off.

Snip20200304_31

bengtan commented 4 years ago

This was brought up in a voice call meeting and I wanna add (my interpretation of) some things that were said at the meeting.

Terminology: There are two sliders in the screenshot: SML (Share My Location) and AWN (Always / When Nearby).

Enabling the SML slider instantly triggers Always sharing. This results in:

  1. A push notification to the watcher/sharedWith account (indicating an Always live location share), and
  2. The (most recent) location of the watched/sharer being propagated to the watcher/sharedWith.

This is fine if the user wanted to enable Always sharing.

However, if the user wanted to enable Nearby sharing, there's no way to do it without also triggering Always sharing (and hence, also 1 and 2).


Let's consider an average user who wanted to enable Nearby sharing (and they aren't in 'nearby' range).

They would enable the SML slider, and then change the AWN slider to Nearby. However, 1 and 2 would have happened, and their location has been propagated to the watcher DESPITE that they are not in 'nearby' range.

This is a location/privacy leak. And potentially quite serious.

bengtan commented 4 years ago

@irfirl:

This is more of a design issue than a coding issue. You're probably best placed to be the first responder for this ticket. Assigning to you for now (until it moves to coding stage).

bengtan commented 4 years ago

@irfirl:

Have you had a chance to look into this issue?

irfirl commented 4 years ago

@bengtan Yes, let's move forward with this ticket. I think this is a good solution for now.

bengtan commented 4 years ago

@irfirl:

Hmmm ... if we allow the AWN slider to be toggled regardless of the state of the SML slider ... I think it could still mislead users (who want to share When Nearby) into accidentally, momentarily, sharing Always.

Could we change this into a tri-state control? ie. choose between Not sharing/Always/When Nearby? (Text labels are not final.)

irfirl commented 4 years ago

@bengtan

I'm not sure I understand the issue. If the user has the SML slider off and slides the AWN slider, it shouldn't affect their current sharing status (which is off). I think we will eventually move to a tri-state control in this version (https://zpl.io/b67vQOy) correct?

bengtan commented 4 years ago

It's not something definite, more like a feeling that it's not ideal. Let me explain.

I think the following scenario could happen for some proportion of (naive?) users:

If the controls are in the following states: SML=off, AWN=Always, and if the user wants to share Nearby, then some users might set the SML switch first (since it is on top) ie.

  1. Switch SML=on, and then
  2. Switch AWN=Nearby.

However, by doing 1 (and before doing 2), the user is momentarily sharing Always and their location would have been exposed.


I'm not saying that this will always happen for all users. I'm saying that ... due to the design and placement of the controls, we are indirectly encouraging this to happen.


I think we will eventually move to a tri-state control in this version (https://zpl.io/b67vQOy) correct?

Fair enough. Moving to a tri-state control alleviates my concern. So I don't/won't need to push strongly for my argument then.