Kindness Mode UX Update#1670
Conversation
…roxy quality check and instructions on how to improve.
|
@bitmold, it's about time you have a look at this. Since you know the Tor-controlling part way better than me: What would you consider the best way to implement the test? Additionally, I would be happy for any testing against non-standard phones and tablets. Thank you! |
|
please rebase |
|
Awesome, I'll take a look at it tonight + tomorrow morning. |
|
Something is strange with the latest merge. This commit tladesignz@b070bf1 changes Also, |
…amping: Revert "Redesign Kindness UI and simplify layouts" This reverts commit 044c520.
|
The connected UI looks great, but unfortunately it breaks in landscape
And this is a bit nitpicky, but the labels aren't lining up with these grey panels Also @cstiens it just dawned on me that on the kindness screen rectangular grey panels are used, whereas on the "more" screen to the right rounded panels are used. Personally, I think the slightly rounded ones look much nicer. |
Good catch! I removed the legacy test. |
… corners similar to MoreFragment.
…lements 24 hour check and currently-running check.
…lements 24 hour check and currently-running check.
… for now, since it automatically starts the SnowflakeProxy.
Found another problem: We need to bind to the However, doing so unintentionally starts a SnowflakeProxy. I'm afraid, |
This is true, it needs to be modified, however I don't think a thorough redesign is needed.
When the Service is created in |
For iOS/macOS I decided upon 1 hour. Since it's a foreground thing on iOS, I suppose user's are not going to move much while running the Snowflake Proxy. Of course, that can be very different on Android. But 5 minutes still seems a little much. |
|
Since there's no way to simply ask For mac an hour seems perfect though |
I didn't mean to suggest that those countries were an exhaustive list of regions where you can't run snowflake. I made the change after it seemed like a user of the iOS app based in Turkey complained after failing the test. Of course, in all the countries not in that list, if you try to start kindness mode you have the opportunity to pass or fail the definitive test. The idea was to save users who want to just get online to talk to their families or read the news time by blocking off part of this app because even though there's been all this amazing UX work put into Orbot, the app still is still inevitably filled with a lot of confusing terminology and technical concepts that most users do not have a solid understanding of. I'd rather just block it in some places where it's almost always not going to work anytime soon, rather than say something to the effect of
I think many users would find this warning confusing and scary. To me, keeping things streamlined and uncomplicated for users who have chosen to specify that they're in a sensitive area vastly outweighs being able to on ramp the rare starlink user in say Afghanistan, for example. And even if If they're clandestinely using starlink against the violent morality laws of the Taliban, then it's safe to assume that they probably have bigger concerns than helping users connect to the tor network via Orbot's kindness mode. If I had to guess, the lion's share of people in that region who are able to pass the test and sustainably run kindness mode would probably be some less than tech-savvy people in proximity to the Supreme Leader that have Orbot installed and then randomly turned on kindness mode and are somewhat unknowingly dedicating bandwidth to help people over the world connect to Tor. But say you do have Starlink in a violently censored place and do use kindness mode - well for those, what 2 dozen users, having kindness mode on is only useful while they're on that starlink network, the minute they go 6-15ft (1.8-4.5m) away from the router and possibly join another network then they're running kindness mode uselessly, while perhaps also jeopardizing their personal safety. As for someone on a privileged university Wi-Fi the same drawback is the case. Maybe, this very negligible amount of users could be snowflakes, but they're still going to become immediately unhelpful proxies the minute they leave their campus network. I would imagine this hypothetical researcher would probably be more drawn to the standalone proxy anyway. As for white SIM card holders in Iran, my understanding was those SIMs were issued to those aligned with IRGC. Since it seems like you have to be aligned with the state's project of censorship to get one of those SIM cards, I don't think those Orbot users would be interested in helping to run a technology that's historically been used for circumvention in Iran. How about this:
|
|
I 100% agree with you though that the testing dialog should have some kind of interstitial warning like you mentioned in that comment I just quoted |
…eck, deprecated api, unused import
Love your physical dedication! 😁 |
…tan. define country codes used in CensoredCountries.kt to make reading src/diffs easier and seeing what changed over time
- Add test to see if a non-orbot VPN app is running, failing the test - Make this new non-orbot VPN test happen before even seeing if there's a quality check. Users who pass a quality check should still be unable to active kindness mode if they later went about turning on a non-orbot VPN
…inks it has internet if theres an active VPN connection to another VPN app, even if that VPN connection is broken/the other app deines orbot internet connection
…f you can/cant be a snowflake without connecting to Tor. If your connection is inconclusive without attempting a direct tor connection, obtain that the user will connect DIRECTLY to Tor. Explain that any active tor connection they may currently have via a bridge will be disconnected for a moment. Only do the connection test after getting the users consent.
…tance, if you have a VPN app running explain you must either get rid of it or use Orbot as the VPN. provide a way to get into the system VPN settings
…t when appropriate
tladesignz
left a comment
There was a problem hiding this comment.
You're going a long way so you don't have to rework the SnowflakeProxyService…
|
@tladesignz this is a WIP. I will ping you when it's ready for review. There are a lot of tricky corner cases on this. It'll be done before Tuesdays meeting |
latest nat type is saved to a shraedpref when you open the kindness fragment the latest is updated stoppin the service writes the nat type to unknonw the fragment, while open, observes a change to the shared pref, so it updates live while you have the screen open
This reverts commit 79aa290.
So if you dismissed dialog, the UI didn't update... Also, no need to set a fragment result on failure





Fixes issue #1509.