A/B test landing in the editor - #17429
Conversation
This will be a good place to house logic for explat branching later on
This uses the regular page editor for now, and will be customized in later commits.
This implements a view controller (and related collaborators) for editing a homepage during the site creation flow.
|
You can trigger an installable build for these changes by visiting CircleCI here. |
|
You can trigger optional UI/connected tests for these changes by visiting CircleCI here. |
|
Great work @mkevins 👍 |
antonis
left a comment
There was a problem hiding this comment.
Thank you for your work on this @mkevins 🙇
The code LGTM and I think we can proceed with the final testing with an ExPlat experiment.
A potential enhancement would be to add some analytics to track the land on the editor flow. On Android I added one new event for this.
This merges and resolves conflicts in `SiteAssemblyWizardContent` that arose from other changes to the onboarding flow to improve quick start. This should be refactored, if possible, to simplify the implementation(s) of the onboarding code paths.
Good idea, I will add this as well! 👍 |
This adds an analytics event and also fixes an issue with the conflicts with the quick start dialog. This can be refactored, and is only a rudimentary step to get things working again.
This refactors the implementation of the ExPlat experiment to land in the editor so that the logic in the consumer can be close to the original implementation.
I've added an analytics event w/ 2d38fe3 |
It seems a few lines were inadvertantly left while cleaning up a refactor. This commit removes them.
|
Thank you for reviewing and testing this Antonis! |
Related PR:
wordpress-mobile/WordPress-iOS-Shared#306
Description
This PR adds a custom
GutenbergViewControllerfor editing the home page. This is used after the last step in site creation to bring the user directly into the editor after the new site is launched. It provides a modified UI (with a custom navigation bar), and a completion callback to launch quickstart when editing is finished.This flow is conditioned on an ExPlat experiment named "wpios_land_in_the_editor_phase1_v3", and should leave the current behavior intact for the control variation.
Fixes tracks event regression
This PR also addresses a minor regression in which the tracks event
enhanced_site_creation_preview_ok_button_tappedwas not emitted at the end of the site creation flow for users who entered that path via the authentication screen.Known Issue(s)
Animations
At the end of the existing user flow for the treatment variation, there is an issue where multiple dismiss animations occur before the quick start dialog is presented. It may be worth exploring ways to make this smoother (i.e. faster).
Potential for stale starter-site content
I did not encounter this, however, I foresee that this could cause potential confusion in the future: when Gutenberg is updated to somehow modify the format of a particular block that is used in the content of one of the starter-sites, the editor will parse this content when initializing, and automatically migrate the existing content to the new format. A minor issue is that this causes the content to have changed, prompting the user to save unsaved changes when they're continuing to complete the flow. For users who have not made any changes, such a prompt may be confusing, imo, especially if this is their first experience with the app / editor.
To test
Note: To change the experiment variation between
Control(default) andTreatment(experiment):wpios_land_in_the_editor_phase1_v3(internal ref:pbxNRc-1fJ-p2)Bookmarklettooltip to set theControlorTreatmentvariation for your user.Alternatively you may use a proxy (e.g. Charlie) to intercept the call to the experiments endpoint (
/wpcom/v2/experiments/) and return the desired variation (detailed instructions in this previous experiment). E.g.For each of the tests below, please also verify that the tracks event:
enhanced_site_creation_preview_ok_button_tappedis emitted.Control: Login or New user
Controlvariation assigned (check note above)Want a little help to manage your sitedialogVideo
login-control.mp4
Treatment: Login or New user
Treatmentvariation assigned (check note above)landing_editor_shownanalytics event is emittedWant a little help to manage your sitedialogVideo
login-treatment.mp4
Control: Existing or Logged in user
Want a little help to manage your sitedialogVideo
existing-control.mp4
Treatment: Existing or Logged in user
Treatmentvariation assigned (check note above)landing_editor_shownanalytics event is emittedWant a little help to manage your sitedialogVideo
existing-treatment.mp4
Regression Notes
Potential unintended areas of impact
Site creation flow
What I did to test those areas of impact (or what existing automated tests I relied on)
Manual testing of site creation flows
3. What automated tests I added (or what prevented me from doing so)
I began writing tests for the ExPlat A/B test, but was unable to cleanly stub the necessary dependency since the variation is provided via an enum getter (Swift enums cannot be inherited 😞 )
PR submission checklist:
RELEASE-NOTES.txtif necessary.