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

[HOLD for payment 2024-07-10] [HybridApp] Problem #7: Reduce frustration with an explanation modal #37860

Closed
AndrewGable opened this issue Mar 7, 2024 · 12 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Reviewing Has a PR in review Weekly KSv2

Comments

@AndrewGable
Copy link
Contributor

Problem

There has been discussion about how to make sure users who are temporarily trying out the New experience don’t feel like they are trapped or become frustrated if they decide they want to return to the Classic experience. In order to combat that concern, we will show a modal to users the first time they try or use the New experience explaining how they can switch back to the Classic experience.

Solution

Wave9 Guided Setup is going to develop Onboarding Modals that can be reused for the above mentioned purpose. Triggers that decide to show or hide those Modals are located in the Welcome.ts file and are executed on initial app load for a logged in user and on consecutive app refreshes.

Triggers located in Welcome.ts can be modified (or a new trigger can be added) to check the status of ONYXKEYS.NVP_IS_FIRST_TIME_NEW_EXPENSIFY_USER key and open a specific modal if this key is undefined or true. Note that by default a user going from oldDot to newDot is most probably going to see the onboarding modals as they check for ONYXKEYS.NVP_INTRO_SELECTED key which is blank for most of the newDot users. The new explanation modal will have to accommodate for that and should be integrated wisely into the flow so that it’s shown before the onboarding modals.

Modals implemented in Wave9 Guided Setup can be easily reused by doing the following:

  1. creating a new Screen with presentation: 'transparentModal', set for its screenOptions. See getRootNavigatorScreenOptions.ts -> onboardingModalNavigator for more information. (PR not yet ready so no link)
  2. shouldUseNarrowLayout flag should be passed to dynamically decide on the styles for the modal and to apply the styles to the screenOptions. This is needed to ensure proper transitions during modal show/hide since they differ on big and small screens. See getRootNavigatorScreenOptions.ts -> onboardingModalNavigator for more information. (PR not yet ready so no link)
  3. Styling the component itself to look like a standard modal by applying styles.defaultModalContainer to its styles.
@AndrewGable
Copy link
Contributor Author

cc @MaciejSWM - Comment here and I will assign you!

@trjExpensify trjExpensify moved this to Release 2: Summer 2024 (Aug) in [#whatsnext] #wave-collect Mar 7, 2024
@AndrewGable
Copy link
Contributor Author

AndrewGable commented Mar 11, 2024

Here is the exact copy we should use for the modal:

Welcome to New Expensify
One app to handle all your business and personal spend in a chat. Give it a try and let us know what you think. There's much more to come!

To switch back to Expensify Classic, just tap your profile picture > Switch to Expensify Classic.

cc @jamesdeanexpensify

@melvin-bot melvin-bot bot added the Overdue label Mar 19, 2024
@AndrewGable
Copy link
Contributor Author

Working on it (soon)

@melvin-bot melvin-bot bot removed the Overdue label Mar 20, 2024
@melvin-bot melvin-bot bot added the Overdue label Apr 1, 2024
@AndrewGable
Copy link
Contributor Author

Working on it!

@melvin-bot melvin-bot bot removed the Overdue label Apr 1, 2024
@jamesdeanexpensify
Copy link
Contributor

jamesdeanexpensify commented Apr 1, 2024

Quick note @AndrewGable - here I updated the "Go to Expensify Classic" to "Switch to Expensify Classic". Must've been a recent update so I wanted it to be accurate in this copy, as well. Thanks!

@melvin-bot melvin-bot bot added the Overdue label Apr 10, 2024
@AndrewGable AndrewGable added the Reviewing Has a PR in review label Apr 10, 2024
@melvin-bot melvin-bot bot removed the Overdue label Apr 10, 2024
@AndrewGable
Copy link
Contributor Author

PR is linked

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Apr 12, 2024
@melvin-bot melvin-bot bot added Monthly KSv2 and removed Weekly KSv2 labels May 7, 2024
Copy link

melvin-bot bot commented May 7, 2024

This issue has not been updated in over 15 days. @AndrewGable eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

@trjExpensify trjExpensify added Weekly KSv2 and removed Monthly KSv2 labels May 28, 2024
@mateuuszzzzz
Copy link
Contributor

Hi, I'm adding a comment as an author of the PR

@trjExpensify
Copy link
Contributor

Assigned you! :)

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jun 26, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jun 26, 2024
@AndrewGable
Copy link
Contributor Author

This is done!

@github-project-automation github-project-automation bot moved this from Release 2: Summer 2024 (Aug) to Done in [#whatsnext] #wave-collect Jun 27, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Jul 3, 2024
@melvin-bot melvin-bot bot changed the title [HybridApp] Problem #7: Reduce frustration with an explanation modal [HOLD for payment 2024-07-10] [HybridApp] Problem #7: Reduce frustration with an explanation modal Jul 3, 2024
@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jul 3, 2024
Copy link

melvin-bot bot commented Jul 3, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

Copy link

melvin-bot bot commented Jul 3, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.3-7 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-07-10. 🎊

For reference, here are some details about the assignees on this issue:

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Weekly KSv2 labels Jul 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Reviewing Has a PR in review Weekly KSv2
Projects
No open projects
Archived in project
Development

No branches or pull requests

4 participants