openedx / platform-roadmap

Tracking the maintenance, enhancement, and advancement of the Open edX project.
11 stars 0 forks source link

[Proposal] Autogenerate username behind a flag #330

Open wajeeha-khalid opened 6 months ago

wajeeha-khalid commented 6 months ago

Abstract

Choosing a unique, valid username is a friction point in the registration step. We are proposing to remove the username field from registration form and autogenerate a human readable username in the backend. This experience will be behind a Django configuration (default to existing experience). The human readable auto generated username will be visible to learners/staff/instructors in the same way as it does in existing experience but we will reduce the footprint of autogenerated username in the UX.

Context & Background

We are solving for 2 problems with this proposal:

  1. Choosing a unique, valid username is a friction point in the registration step while we already are asking for another unique ID (i.e. email). Hence, we are proposing to ask for only one unique identifier i.e. email ID and remove username from the registration form.
  2. Our SSO flow, asks the user to authenticate with a 3rd party and then lands the user back to the registration form which is an unnecessary step in the process. We do this extra redirection in order for learners to confirm their username considering it cannot be changed later; reference an example of this problem in openedX community.

Once we remove username from registration form, we will be able to not only create a simple, quick registration form experience but also a 1-click SSO experience.

Scope & Approach

Key Use Case

As a learner, I want to create my account with as little friction as possible in order to start my learning journey.

Supporting data

  1. Competitor analysis suggests that big ed-tech platforms are not asking for username. Competitor analysis; username
  2. We ran a survey and a lot of users have complained about this friction in account creation.
  3. We have run an A/B and are seeing a significant increase in CTR with removing username from the form.

We have data from both pt 2 and 3 but that are confidential to 2U and we would prefer to not share the data as part of this public proposal.

Proposed Solution

Our solution will be to make the following changes behind a toggle configuration that will default to existing experience. If/when set to ‘True’ it will allow following new experience:

  1. Remove username field from registration form.
  2. Autogenerate username while creating an account in the following format, where length of alphanumeric characters in the end will be configurable. <fullname_initials>_<registration_year><registration_month>_<alphanumeric_characters>
  3. Inform users about their auto-generated username on the platform.
  4. Decrease the overall exposure of the username in learner-facing places in the platform where it’s not desirable, while retaining the places where it’s critical for support and instruction purposes. Areas where we would like to decrease the learner-facing visibility of the autogenerated username are covered in Remove username technical footprint - Externally shareable. Some of these are optional for this initiative but we feel they would be improvements to the platform.

Value & Impact

Our primary metric is on-page Registration rate i.e. successful registrations out of all users who land on register page. Our A/B suggests an increase in registration rate with removal of username friction in the registration form and a better, faster SSO registration experience.

Milestones and/or Epics

Milestone 1: Remove username from registration form and autogenerate in the backend.

  1. As an edx.org user, when I land on registration page, I can register without the need to creating a valid and unique username in the registration form.
  2. As an edx.org user, when I use any of the SSO options to register, I am able to register successfully as soon as i authenticate with the third party app and no additional step is needed.

Primary KPI: on-page registration rate i.e. registration page conversion rate.

Named Release

R

Timeline

It is a single milestone initiative that could be launched with the next upcoming release. For 2U, we are already working on this and as soon as we get product review, we want to merge in master and release this for 2U business asap (ideally early Q2-2024).

Proposed By

2U

Additional Info

Proposal wiki: [Proposal] Autogenerate username behind a flag

github-actions[bot] commented 6 months ago

Thanks for your submission, @openedx/open-edx-project-managers will review shortly.

jmakowski1123 commented 5 months ago

Thanks for submitting this, Wajeeha! I'll take on coordinating the review for this and follow up with a few questions in the wiki proposal.