[go: nahoru, domu]

Page MenuHomePhabricator

Reconsider GrowthExperiments feature flags
Open, MediumPublic

Description

Because the Growth team tends to deploy features to pilot wikis only, we have a fairly large set of feature flags. Many of those are set to true at all wikis already (since the features scaled up sufficiently), but we still need to spend some time ensuring they are properly respected in the code, in case we ever decide to set the flag to false again. Most recently, this came up in T367330: GrowthExperiments: Do not expose configuration for unavailable features from Community Configuration, where we implemented a special case for "levelling up disabled", even though we do not have levelling up anywhere.

If we remove some of our feature flags, we will be able to simplify our code, making it easier to maintain in the future. For this reason, we should review that all of our feature flags are still needed, and consider removing them if possible. The full list of our feature flags is below:

Feature flag nameFeature flag descriptionKeep? (YES/NO)Notes
GELevelingUpFeaturesEnabledControls whether Levelling up features are available for newcomersNo
GEHelpPanelEnabledControls whether the Help panel is available for newcomers (whether they can enable it in the preferences, or whether A/B testing might enable it for them))No
WelcomeSurveyEnabledWhether the Welcome survey is served for newcomersNo
GEHomepageEnabledWhether the Homepage is available for newcomers (whether they can enable it in the preferences, or whether A/B testing might enable it for them)No
GEHomepageLoggingEnabledWhether telemetry data is collected for Homepage via EventLoggingNo
GEPersonalizedPraiseBackendEnabled / GEPersonalizedPraiseNotificationsEnabledWhether Personalised praise is available for mentorsYES
GEMentorDashboardEnabledWhether the Mentor dashboard is available for mentorsNo
GEHomepageSuggestedEditsEnabledWhether the Suggested edits are a part of the Homepage (set to false for frwiktionary; true everywhere else)Yes*
GEConfirmEmailEnabledWhether the "check your email" hint is added to Special:CreateAccountNo
GENewcomerTasksGuidanceEnabledWhether guidance is added to the Help Panel for Suggested editsNo
GELinkRecommendationsFrontendEnabledWhether Add Link is enabledYes*
GETopicsMatchModeEnabledWhether there is the AND/OR topic matching mode in the HomepageYes*
GENewcomerTasksImageRecommendationsEnabledWhether Add Image is available for newcomers (for whole articles)Yes*
GENewcomerTasksSectionImageRecommendationsEnabledWhether Add Image is available for newcomers (for sections)Yes*
GEStructuredTaskRejectionReasonTextInputEnabledWhether newcomers are allowed to add raw text when they reject a suggestion for other reasonsNo

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Urbanecm_WMF added a subscriber: KStoller-WMF.

I added in a table that covers what each of the feature flags does – hopefully that makes it easier for others to chime in whether each of the flags is needed or not. When making a decision, please note that we should probably only remove feature flags that we're fully certain we will never need again (in other words: we should only remove feature flags for features that became an essential part of Growth features at all wikis, including French Wiktionary). This is because potentially re-adding the feature flag again (after we remove it in this task) would be more costly than maintaining it along the way.

@KStoller-WMF I think this now needs you to take a look and fill the "Keep?" column with decisions. I excluded technical feature flags from the list, so hopefully all of the flags make sense to you, but if not, happy to clarify any of them either here or in our next 1:1.

Urbanecm_WMF added a project: Technical-Debt.
Urbanecm_WMF updated the task description. (Show Details)

Thanks for the explanation.
I'll review, check in with @nettrom_WMF, and update the Keep column by the end of the week.

I've added decisions in the task description.

Some of the Yes* decisions are based on the fact that we don't have these features scaled to all wikis that have Growth Features, so I assume we still need the feature flag. Please let me know if that's an incorrect assumption.

Some of the Yes* decisions are based on the fact that we don't have these features scaled to all wikis that have Growth Features, so I assume we still need the feature flag. Please let me know if that's an incorrect assumption.

Related to that the question: Is the plan to give new wikis (either newcly created wikipedias or maybe sister projects to which we might want to expand to) access to full feature suite out of the box when we enable GE for them? That would make sense to me, but I'm not sure if that decisions has been made.

Related to that the question: Is the plan to give new wikis (either newcly created wikipedias or maybe sister projects to which we might want to expand to) access to full feature suite out of the box when we enable GE for them? That would make sense to me, but I'm not sure if that decisions has been made.

No final decision, but my assumption is that new wikis should have access to the full feature suite with a few exceptions:

I hope to release further improvements to these features before enabling them more widely:

  • GETopicsMatchMode
  • GEPersonalizedPraiseBackendEnabled & GEPersonalizedPraiseNotifications

And I think we first need to check task availability and suggestion quality before enabling these tasks at new / very small wikis:

  • GENewcomerTasksImageRecommendations
  • GENewcomerTasksSectionImageRecommendations
  • GELinkRecommendationsFrontend

That makes sense to me, thank you! 🙏