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

Onboarding Customisation Experiment #3003

Merged
merged 16 commits into from
Apr 3, 2023

Conversation

nalcalag
Copy link
Contributor

@nalcalag nalcalag commented Mar 24, 2023

Task/Issue URL: https://app.asana.com/0/72649045549333/1203826977705495/f

Description

Implement Onboarding Customisation experiment where experimental group will see an extra onboarding dialog with DDG feature options.

Steps to test this PR

Change all variants to 0 except for the mj variant

New multiselect dialog

  • Uninstall previous version of the app or clear storage
  • Install from this branch
  • Welcome animation will appear
  • Check new dialog with DDG feature options appear

Skip selecting options

  • Follow same instructions as "New multiselect dialog" test
  • Tap on Skip This Step
  • Check existing welcome cta dialog appears
  • Check pixel m_onboarding_option_skip is fired

Continue without options selected

  • Follow same instructions as "New multiselect dialog" test
  • Tap on any option to select it
  • Remove the selection tapping again
  • Tap on Continue button
  • Check existing welcome cta dialog appears
  • Check pixel m_onboarding_option_skip is fired

Continue with options selected

  • Follow same instructions as "New multiselect dialog" test
  • Tap on one or more options to select them
  • Tap on Continue button
  • Check existing welcome cta dialog appears
  • Check pixel m_onboarding_option_selected is fired
  • Check pixels for each option selected is also fired. You can find the list of pixels for each option here -> https://app.asana.com/0/0/1204137437551040/f

UI changes

Screen_Recording_20230328_170114_DuckDuckGo.mp4

@nalcalag
Copy link
Contributor Author

Current dependencies on/for this PR:

This comment was auto-generated by Graphite.

@cmonfortep cmonfortep self-assigned this Mar 24, 2023
@nalcalag nalcalag force-pushed the feature/noelia/onboarding_customization branch 3 times, most recently from dfccc9c to ff39553 Compare March 29, 2023 10:51
@nalcalag nalcalag marked this pull request as ready for review March 29, 2023 10:55
@nalcalag nalcalag requested a review from malmstein as a code owner March 29, 2023 10:55
Copy link
Contributor

@malmstein malmstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seeing that this is an experiment, and it's not sure that it will be permanent, I'd prefer that all modifications stay as contained as possible. That means, everything new, even colors and styles should stay in the app module. If and then this becomes permanent, then we follow the process of adding a new Component from ADS.

Copy link
Contributor

@cmonfortep cmonfortep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

works as expected, leaving the UI discussion to the UI code owners 😁.

(Agree with David that new components should go through ADS standard process, however not clear if this is an established component atm. I assume we have some lint checks and that's why we put some colors inside common-ui, if that's the case, maybe we can do something similar to what we do with strings...have a separated file, or declare them under a comment that indicates they are not established. Just some thoughts)

app/src/main/res/values-sw600dp/bools.xml Outdated Show resolved Hide resolved
app/src/main/res/layout/include_dax_dialog_cta.xml Outdated Show resolved Hide resolved
private val command = Channel<Command>(1, DROP_OLDEST)
internal fun commands(): Flow<Command> = command.receiveAsFlow()

fun determineScreenOrientation() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

include one test for this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will 👌

@nalcalag nalcalag force-pushed the feature/noelia/onboarding_customization branch from d4bd59b to 450079f Compare March 30, 2023 12:06
@nalcalag nalcalag requested a review from malmstein March 30, 2023 12:07
@nalcalag
Copy link
Contributor Author

@malmstein following @cmonfortep suggestion I added a new resource file called temp_colors.xml where I put all the colors needed for the customView because I need to add them to the theme file so they can change depending on the theme. I also migrated all styles and attributes to new resources files in the app module so they are not in common-ui anymore 🎉

@cmonfortep thanks a lot for all your feedback, I changed everything you suggested and added tests for portrait checks 👍

Copy link
Contributor

@malmstein malmstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing the changes @nalcalag. Good work!

@nalcalag nalcalag force-pushed the feature/noelia/onboarding_customization branch from 3315c87 to 6a7c383 Compare April 3, 2023 13:15
@nalcalag nalcalag merged commit f6b6a73 into develop Apr 3, 2023
@nalcalag nalcalag deleted the feature/noelia/onboarding_customization branch April 3, 2023 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants