Mogujie Accounts Consolidation

Create a master key

Summary

This project started because the executives in my company, Mogujie, strategically decided to merge the account systems of our five products. Because of my experience in helping customer service and develop departments deal with registration related issues, I was recommended as the lead product designer for this project.

Objective


Challenges

Big structure and system difference

Each product’s structure and account system differs with each other greatly, and we need to deal with a lot of information conflicts, which can easily confuse users.

Many departments are involved

Internal stakeholders including designers of each product, security team, financial team, mobile developers, back-end/front-end developers, Customer service, the legal team and so on are involved.

My contribution

As the lead product designer, I worked with various teams to discuss problems and create solutions. I was also responsible for managing the project’s progress with a developer project manager.

Results

About 40 days after release, the coverage of new versions of each product reached to about 90%, We forced all users to upgrade and no longer provide the old method of registration. At this point, we decided that the project was completed.

  • Within 40 days after the release of new version, the account complaint rate increased less than 1%.
  • The third month after the new version was released, the account complaint rate dropped by 27% compared with previous version, showing that the new account system has been greatly improved in both security and user experience.

Define Tasks

As a product designer, I did not just aim to realize the account integration. I also decided to redesign the entire account system in order to make the new system unified, safe, and bring  a delightful experience. In order to achieve this goal, I set three main task goals:

2. Redesign registration/login flow

Solve potential security risks, and make sure the new system is safe and reasonable.

3. Optimize User Experience

Minimize the unpleasantness of the merging process and improve the experience of registration and login.

Solution part-1


Current Product and Goal Analysis

Current: Each product has different ways to register/login

Currently, the account system of the five products is completely independent, having several different ways to register/login. 


Goal: One Super Account with access to all products

We need to merge these different ways into one Super Account to log in all products.


Challenges



After a comprehensive collection, we divided account information of different platforms into two types: main identify information and other personal information.

Principles

Considering that the changes may cause operational burdens on users, I set some principles for solving this problem:

Flow Chart

After discussing with the cooperating departments, I decided to provide all products with one main processing logic. Each sub-product will then adjust the logic according to the special conditions of the various products. This is the main processing logic that has been determined after several iterations:

Example for Explaining Flow Chart

Due to the complex nature of the logic, I gave an example of the processing logic as a typical user case so that each member involved to better understand it.

UX flow

Solution Part - 2

Problem

Based on user feedback, we found that there was a serious security issue in the current registration/login flow. Some users changed their phone number, and the number was taken back and resold by mobile network operators, which might allow other users to access their account.

Why did this happen?

After discussing this with colleagues in the customer service and development departments, and after communicating with users, I found the main reasons behind this problem:

  1. Registration process vulnerability:
    The current registration process allow new users to combine old accounts by only verifying a phone number; no password authentication or other verification is required.
  2. Most users do not update phone numbers after they change it due to its inconvenience:
    - Our app does not have this function, the phone number can only be updated on the web page.
    - Old phone numbers often expire when users want to update.


Solution

To deal with these problems, we put forward solutions one by one, and integrated them into a new registration/login process:

  1. Remove the logic of binding an old account by verifying phone numbers in the third-party registration process. Since the phone number is already in the hands of new users, we cannot guarantee that new users will not bind it maliciously.
  2. Allow users to unbundle their phone numbers from previous binded accounts when meeting the requirements, so that new users can register a new account with an old phone number.
  3. Add the function of updating phone numbers in the app and provide other authentication methods for users whose phone number has expired, so that they can still update their information (since this is an independent feature and has little to do with the registration process, I will not go into detail about it here).


1 Third party registration

2 Phone number registration

Solution Part - 3

I optimized user experience throughout the entire project design process. Here, I extract some independent points to illustrate this.

3.1 Username optimization

Our products are partly social, and previously, in order to reduce registration costs, the system will randomly provide usernames composed of numbers and letters if the user does not want to set it themselves. I checked the data and found that more than 40% of accounts use default usernames, all of which made them look like spam accounts, destroying the community atmosphere.


So I decided to adjust the logic of setting usernames in the registration process to let more users use lovely names.  But if users are required to set usernames manually, registration costs will inevitably increase, which may increase the turnover rate of registration. So how might we help users have lovely usernames without increasing operation costs?

Why did this happen?

I investigated the reasons behind why users do not like to set their own usernames:

  • They feel it's useless, too lazy to set.
  • They set a name only to find that it's unavailable. They don’t want to set it again.

Solution

I have used three methods to solve this problem:
1. Highlight a personal image in the registration process


2. Lower setting costs: extract username from third party accounts

3. Provide recommended usernames when what users have filled in are unavailable. Make sure that they can finish the process by inputting information only once.

I read a lot of comments to see what kind of usernames users would prefer, and I found that many users added English or numeric prefixes or suffixes to their usernames.


Therefore, I decided to provide English or number suffixes when a username was unavailable.


3.2 Password security optimization

Problem

As an e-commerce platform, security is very important to our accounts. But our security department is always worried that users are using very simple passwords. In fact, a slight increase in the complexity of passwords can greatly increase account security. How can we encourage users to increase password complexity without increasing their operational burden?

Why do users use simple passwords?

First of all I dug through a variety of ways the reason why users always set a simple password: They are unaware of the importance of passwords when registering, and also did not realize that the complexity of the password can greatly improve account security.

Solution

In order to enhance the user's safety awareness, I designed two measures:



3.3 Safety verification logic optimization

Only those whose network environment are unsafe will receive a security verification.

Problem

In order to increase account security, our security department requires an additional step of safety verification in the registration process, but this will inevitably increase users’ operational burden and affect user experience. How might we add security verification without compromising user experience?

Solution

At first, my discussions with the security department focused on which steps to add safety verification, and to try and reduce verification times. But safety and experience are hard to get along. After many rounds of tug-of-war negotiations, I suddenly realized that security and experience should not be antagonistic. We shouldn't compromise the experience of the majority users because of the security risk of the minority.

In the end, we have taken this strategy: determine users’ network environment in advance, divide them into different security levels, and then take different verification strategies under different levels of security.

Flow chart

UX flow

Result and Reflection

The project lasted three months and involved more than 100 people in 9 teams. Within 40 days after release, the account complaint rate increased less than 1%. The third month after the new version was released, the account complaint rate dropped by 27% less than previous version, showing that the new account system had greatly improved in both security and experience.

This is my first time to be the Lead Product Designer of a large scale, cross-departmental cooperation project.