-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Insert CTAs into concept test experience #1 #697
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
Insert CTAs into concept test experience #1 #697
Conversation
… is selected as default browser * Avoid adding continuation screen to onboarding pages when DDG is default browser and suppressing continuation screen is active
* handle result mapping only possible transitions
ConfirmationScreen to ContinueUI
Cover not showing DefaultBrowserCta if suppressed in variant
subsymbolic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! A couple of optional comments.
| Variant( | ||
| key = "mz", | ||
| weight = 1.0, | ||
| features = listOf(ConceptTest, SuppressDefaultBrowserContinueScreen), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Optional: The feature lists outline what's different to the control and I was expecting mz to be the same as mv but with a new feature. I wonder if we could copy mv and add this as an extra "positive" feature e.g "ConceptTestDefaultBrowser"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update: We discussed this and SuppressDefaultBrowserContinueScreen makes sense
| } | ||
|
|
||
| private fun handleOriginInternalBrowser(): Boolean { | ||
| var forceNavigateToBrowser = false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Optional: Can we rename this to navigateToBrowser, forceNavigateToBrowser sounds too alarming
| } | ||
| } | ||
| is Origin.ExternalBrowser -> { | ||
| if (newViewState is ViewState.ContinueUI) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is hard to follow. It would be good if we could tweak newViewState() to do the heavy lifting and provide a valid state here without all these conditionals. Right now the logic is spread out.
Making more clear state transitions moving some parts into more concrete methods. Not rendering DefaultBrowserDialogUI(false) to hide instructions card, instead always hide instructions card when user navigates to browser.
Task/Issue URL: https://app.asana.com/0/72649045549333/1158528929795781/f
Tech Design URL:
https://app.asana.com/0/0/1159351515769075/f
https://app.asana.com/0/0/1159576948378809/f
CC:
https://app.asana.com/0/0/1159508097265265/f
Description:
Inserting the two retention CTAs (default browser + search widget) into the concept test onboarding.
The first experiment will run having default browser CTA inside onboarding flow, and search widget CTA after Dax journey is finished.
Steps to test this PR:
Check CTAs are shown for control:
mucontrolContinueMake DuckDuckGo Your Defaultonboarding is shownMaybe laterto get to the home screenCheck CTAs are shown for control:
mucontrolContinueMake DuckDuckGo Your Defaultonboarding is shownStart BrowsingConcept variant
mvvariant in theVariantManagerusing theConceptTestvariant feature.Let's do itConcept variant with CTAs
mzvariant in theVariantManagerusing theConceptTestandSuppressDefaultBrowserContinueScreenvariant feature.Concept variant with CTAs
mzvariant in theVariantManagerusing theConceptTestandSuppressDefaultBrowserContinueScreenvariant feature.Maybe laterInternal references:
Software Engineering Expectations
Technical Design Template