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

Improve submission flow #149

Open
4 tasks
henrytao-me opened this issue Jun 24, 2020 · 7 comments
Open
4 tasks

Improve submission flow #149

henrytao-me opened this issue Jun 24, 2020 · 7 comments
Assignees

Comments

@henrytao-me
Copy link
Member

henrytao-me commented Jun 24, 2020

image

User flow:

Home > Enter code > App consent > Framework consent > Loading

Action items based on different possible scenario:

1. Home > Enter code > App consent > Framework consent > Loading > Success

✅ Green path. No action item.

2. Home > Enter code > Drop

✅ No action has been taken. No action item.

3. Home > Enter code > App consent > Drop

  • Related issue: Enter code -> submit -> don't agree and close shows wrong screen  #145
  • The OneTimeCode can only be claimed one and it's sent once from the officer.
  • After entering the code, the app sends to server immediately to validate and generate private / public key for next step. When user is on consent screen, they have option to cancel it which should not navigate user back to OneTimeCode screen again. If user decides to accept the consent later, they won't be asked for the code again.

Action items:

  • Change below UI in Home screen to something else as the Enter code is no longer valid.

4. Home > Enter code > App consent > Framework consent > Drop

  • Current: go back to enter Enter code screen. Existing code doesn't work anymore.

Action items:

  • Expect: go back to App consent screen.

5. Home > Enter code > App consent > Framework consent > Error

  • The error could be something wrong with the framework. It's not likely to happen but possible.

Action items:

  • Suggestion: back to App consent screen, show a toast message asking user to accept consent again because some unknown error.

6. Home > Enter code > App consent > Framework consent > Loading > Error

  • The error could be network / unknown error

Action items:

  • Have new UI for retry. At this point, the app already has consent and enough data from the framework. It just needs to retry to upload to server.

cc @emilybulger @gavrix @jordanAtShopify

@emilybulger
Copy link
Member

emilybulger commented Jun 24, 2020

I can work on #3 with @AdamWhitcroft to replace the "COVID Shield code" card.

For #5, I don't think it's a toast -- it should likely be similar to the error they see if there is something wrong with the 8 digit code, but specific to this point in the flow. I can take a look at that as well.

For #6, is it possible to try multiple times before showing an error to the user? This is strictly a system issue, not a user issue, so would be good to minimize likelihood of showing to extent possible. What do we do if a retry also fails? Is there a case where we would take them back to the App consent screen, since we don't have an entry point to this state via Home?

@henrytao-me
Copy link
Member Author

henrytao-me commented Jun 25, 2020

Just want to clarify for #5, there is nothing wrong with the 8 digits code at this point. The code is already submitted successfully to the server. This step fetches temporary keys from the framework and somehow it is failed.

For #6:

is it possible to try multiple times before showing an error to the user?

We can start with retry 3 times.

What do we do if a retry also fails? Is there a case where we would take them back to the App consent screen, since we don't have an entry point to this state via Home?

I suggest to show a UI saying something like Something went wrong. Please try again later.

  • Primary action is Close or Go back to home screen.
  • Secondary action is Retry now.

@AdamWhitcroft
Copy link

Just so I understand, for #3, the issue here is that as soon as that code has been entered and Submit code is tapped, the code is essentially "used" regardless of it the user accepts the following step. Which would mean that users would see Enter code again, thinking they could re-use that same code - which is now invalid.

Is that correct?

@henrytao-me
Copy link
Member Author

@AdamWhitcroft Exactly. 👍

@henrytao-me
Copy link
Member Author

Link to downstream PR https://github.com/cds-snc/covid-shield-mobile/pull/152/files which needs to cherry-pick later.

@emilybulger
Copy link
Member

For both #4 and #6, we should also change the Home card to the same thing as in #3 (in case they totally exit the flow), since they do not need to enter the 8 digit code again. I'm working on the Home card wording now.

@emilybulger
Copy link
Member

Updated home card wording (for #3, #4, #6):

Header: Help to slow the spread
Body: Share your random IDs to help others know if they have possibly been exposed to COVID-19.
CTA: Share

Permissions error for scenarios #5 and #6:

Header: Loading error
Body: A problem occurred while sharing your random IDs.
CTA: OK

Let's steer clear of error toasts and instead use a dialog that's the same style as the 8-digit code error. This is generic enough to handle a few different situations, but is written to avoid placing any blame on the user.

I'll update the English json now and will ask @annemarieleger and @Guillaumegranger1 to handle French translations.

emilybulger added a commit that referenced this issue Jul 1, 2020
Add ShareIDsCardTitle, ShareIDsCardBody, ShareIDsCardAction to create new card for cases when a user successfully completed the 8 digit code authorization step but did not complete the flow to share their random IDs. See #149 for context.

Add PermissionsErrorTitle, PermissionsErrorBody, PermissionsErrorAction to create new error messaging during share IDs flow. This will only be surfaced for errors in the permissions stages, not the 8 digit code authorization step. More details in $149.
emilybulger added a commit that referenced this issue Jul 1, 2020
Add ShareIDsCardTitle, ShareIDsCardBody, ShareIDsCardAction to create new card for cases when a user successfully completed the 8 digit code authorization step but did not complete the flow to share their random IDs. See #149 for context.

Add PermissionsErrorTitle, PermissionsErrorBody, PermissionsErrorAction to create new error messaging during share IDs flow. This will only be surfaced for errors in the permissions stages, not the 8 digit code authorization step. More details in $149.
henrytao-me pushed a commit that referenced this issue Jul 1, 2020
Add ShareIDsCardTitle, ShareIDsCardBody, ShareIDsCardAction to create new card for cases when a user successfully completed the 8 digit code authorization step but did not complete the flow to share their random IDs. See #149 for context.

Add PermissionsErrorTitle, PermissionsErrorBody, PermissionsErrorAction to create new error messaging during share IDs flow. This will only be surfaced for errors in the permissions stages, not the 8 digit code authorization step. More details in $149.
lpcox pushed a commit to covidsafe/CovidShieldExposure that referenced this issue Jul 7, 2020
Add ShareIDsCardTitle, ShareIDsCardBody, ShareIDsCardAction to create new card for cases when a user successfully completed the 8 digit code authorization step but did not complete the flow to share their random IDs. See CovidShield#149 for context.

Add PermissionsErrorTitle, PermissionsErrorBody, PermissionsErrorAction to create new error messaging during share IDs flow. This will only be surfaced for errors in the permissions stages, not the 8 digit code authorization step. More details in $149.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants