Add toggle between legacy and new Web IDE
Problem to solve
As we develop the new Web IDE, we want to get feedback early from both internal and external sources. Putting the new Web IDE experience behind a feature flag allows us to have the new codebase in the main GitLab project early on, but for those who have the feature flag enabled, they may be left with an incomplete editing experience.
Proposal
- Add a toggle in the User’s preference page to switch to the legacy Web IDE. The new Web IDE is enabled by default once we turn on the feature flag.
- Display a user callout enticing the user to try the new Web IDE on the project’s overview page. The user callout should only appear once.
- The goal is just to get users to try it out, not to communicate critical information about the status or how to switch back
- The critical information already shows up as soon as users open it, no matter from which place
- Overloading the UI with this in different places could feel like advertisement Once dismissed, or if the user already visited the Web IDE, it should also not pop up again.
- Create a welcome page in the new Web IDE that displays a link to the User’s preferences page where the user can turn off the new Web IDE.
User preferences | New Web IDE callout box | Web IDE Welcome screen |
---|---|---|
![]() |
![]() |
![]() |
Feature rollout
We will follow a phased rollout approach where we will incrementally enable the new Web IDE in gitlab.com. See https://docs.gitlab.com/ee/development/feature_flags/controls.html#process for more information.
Instrumentation
Until we have full instrumentation of the new Web IDE, we should at least collect a snowplow event that indicates how many users have interacted with the toggle and tried the new Web IDE.
Questions
- Can we do this on a user level? Or would it have to be at a project/group level?
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.