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

Failure to register with the public gateway isn't reflected on main screen #263

Closed
gnarea opened this issue Jan 14, 2021 · 12 comments · Fixed by #527
Closed

Failure to register with the public gateway isn't reflected on main screen #263

gnarea opened this issue Jan 14, 2021 · 12 comments · Fixed by #527
Assignees
Labels
bug Something isn't working released

Comments

@gnarea
Copy link
Member

gnarea commented Jan 14, 2021

So the user is told that they're connected to Relaynet, when they're not.

We could, for example, display the screen for when the user is disconnected from Relaynet -- or, preferably, create a new one for this state.

@gnarea gnarea added the bug Something isn't working label Jan 14, 2021
@Filmaluco
Copy link
Contributor

@gnarea can you specify a bit more on what you would want visually?
A simple text change, something disappearing or appearing...?
And maybe Claudia could take a look based on those?

@gnarea
Copy link
Member Author

gnarea commented Oct 28, 2021

@Filmaluco, I'd be inclined to go for a new screen state roughly based on the "you're disconnected from Awala" screen, but I agree it'd be great to have Claudia design it.

In hindsight, I think this should be a generic error screen that's only displayed when the user is connected to the Internet but we failed to communicate with the public gateway for whatever reason when: (a) registering with it (the original scope of this issue) or (b) collecting parcels.

"Failing to communicate" could mean anything that prevents the request from completing successfully (e.g., DNS resolution failure, HTTP 4XX/5XX responses).

@claudiaacabado
Copy link

Hi @gnarea. I created two options for the case you're tackling. Option 1 - Illustration + main copy + additional copy + action / Option 2 - Illustration + main copy. Something like these would work?
disconnected

@gnarea
Copy link
Member Author

gnarea commented Nov 23, 2021

Sorry for the delay, @claudiaacabado. Missed this notification.

I'd go for a variation of Option 1:

  • Title: "You're connected to the Internet but not Awala"
  • Description: "This may be a transient issue that will fix itself soon or, if you live in a country where access to the Internet is censored, it may be that Awala is blocked. If you think it may be the latter, try using a VPN (we recommend TunnelBear)."

However, I'm not sure what to do about the CTA, because we might need two:

Thoughts?

@sdsantos
Copy link
Collaborator

Sorry for the delay, @claudiaacabado. Missed this notification.

I'd go for a variation of Option 1:

  • Title: "You're connected to the Internet but not Awala"
  • Description: "This may be a transient issue that will fix itself soon or, if you live in a country where access to the Internet is censored, it may be that Awala is blocked. If you think it may be the latter, try using a VPN (we recommend TunnelBear)."

However, I'm not sure what to do about the CTA, because we might need two:

Thoughts?

I think we can keep the description more generic, and have the generic "Get help online" option. That way we can iterate on the copy there, and even offer some kind of support.

@gnarea
Copy link
Member Author

gnarea commented Nov 24, 2021

I think we can keep the description more generic, and have the generic "Get help online" option. That way we can iterate on the copy there, and even offer some kind of support.

I'm torn. On the one hand, what I'm proposing above feels way too complicated UX-wise (too much text and two CTAs). On the other hand, I'm 100% sure that the Awala gateways will get blocked by censors as soon as it starts to pick up popularity, so I think it's important to give users some helpful pointers. Is there some kind of middle ground?

For example, what if we display a different description and CTA depending on which country the user is located? Assuming we can do that without asking for additional permissions. For example:

  • User is in country likely to block Awala:
    • Description: "The government of $COUNTRY may be blocking Awala, so you may want to try using a VPN."
    • CTA: "Install TunnelBear", opens TunnelBear in the Google Play Store app.
  • User is in country unlikely to block Awala:
    • Description: "This is likely to be a transient issue. If it isn't fixed in a few minutes, try getting help from the Awala community."
    • CTA: "Get help online": opens https://community.awala.network/c/users/5

The annoying thing with this approach is that it'd make manual testing harder. Plus the implementation wouldn't be as straightforward as a generic screen.

Thoughts?

@sdsantos
Copy link
Collaborator

Aren't countries that are blocking Awala also likely to block TunnelBear? Maybe not the Google Play Store though... Ideally, we would point to a website that would be hard to block where we could adjust the instructions however we want, instead of having that inside the app. But a quick solution for the worst situations is a better UX.

"The government of $COUNTRY may be blocking Awala" does sound like a reach in most cases, I think initially these issues would be mainly bugs until Awala gets a certain adoption, and we hear about the first cases of censoring.

@gnarea
Copy link
Member Author

gnarea commented Nov 24, 2021

Aren't countries that are blocking Awala also likely to block TunnelBear? Maybe not the Google Play Store though... Ideally, we would point to a website that would be hard to block where we could adjust the instructions however we want, instead of having that inside the app. But a quick solution for the worst situations is a better UX.

TunnelBear is pretty effective at circumventing Internet censorship, whereas Awala has no built-in mechanism to circumvent Internet censorship -- so we have to rely on VPNs/Tor/etc (until we do).

It's pretty easy for governments to block any website and Awala public gateways. We can't create a website that's hard to block, but we can only advise users on how to bypass censorship more generally.

"The government of $COUNTRY may be blocking Awala" does sound like a reach in most cases, I think initially these issues would be mainly bugs until Awala gets a certain adoption, and we hear about the first cases of censoring.

I agree that copy isn't quite right and there's a possibility that the connection is failing due to a bug, but it may be fixed by tweaking the copy. For example: "This may be due to an issue with Awala. However, your local government may be blocking Awala, so you might want to using a VPN."

(Side note: based on my understanding of the code we have today, that screen would only be displayed if we failed to make a HEAD request to the PoWeb endpoint of the public gateway but we managed to make a HEAD request to google.com. So, barring any bugs in that logic, it effectively means that the screen would only be shown if the public gateway has an outage (possible but unlikely) or the public gateway was blacklisted by the govt)

I like the idea of evolving the app based on future feedback, but in this particular case, I don't see what we could do differently once we start hearing reports of Awala being blocked: I have no doubt this will start to happen shortly after we go live, and TunnerBear is the only tool I'd recommend to circumvent the blocking of Awala gateways.

@gnarea
Copy link
Member Author

gnarea commented Nov 24, 2021

BTW, the problem with tools other than TunnelBear is that they can be too complicated/intimidating for the average person (e.g., Tor) or have very questionable orgs running them (e.g., most VPN providers).

There's one, maybe two, VPN providers that I'd probably trust enough to recommend them to Awala users, but in the interest of keeping things simple I think it'd be best to pick one.

@sdsantos
Copy link
Collaborator

Then maybe let's go with your first suggestion, without country differences for now? #263 (comment)

@gnarea
Copy link
Member Author

gnarea commented Nov 25, 2021

Sounds good 👍🏾

@github-actions
Copy link

🎉 This issue has been resolved in version 1.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working released
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants