Nhu Nguyen

Product Designer

available for work

Nhu Nguyen

Product Designer

Nhu Nguyen

Product Designer

Nhu Nguyen

Product Designer

Revamp Login

Company

Zalo

Company

Zalo

Company

Zalo

Year

2024

Year

2024

Year

2024

Timeline

6 weeks

Timeline

6 weeks

Timeline

6 weeks

Contribution

Enterprise UI/UX

Contribution

Enterprise UI/UX

Contribution

Enterprise UI/UX

The existing login system was outdated, relying solely on basic username-password and OTP authentication, which led to significant security vulnerabilities and increased maintenance costs. I designed a new login flow, incorporating alternative authentication methods to enhance usability and security.

Reduced workload on the CS team
Reduced workload on the CS team
Reduced workload on the CS team
Reduced SMS costs by 10%
Reduced SMS costs by 10%
Reduced SMS costs by 10%
Time on task decreased by 80%
Time on task decreased by 80%
Time on task decreased by 80%
define

Problem Framing

Currently, Zalo offers two login methods: password login and OTP login sent to the user's phone number. Zalo users are not required to set a password when creating an account, leading to OTP login being more popular (~65% A1).

Additionally, whenever users have their phones stolen or lose ownership of their phone numbers without setting passwords, they cannot proactively protect their accounts and have to contact customer support to lock them down, creating delays and increasing the risk of losing accounts.

We conducted some quick user interviews to understand why users don't set passwords and gathered the following insights:

Zalo's password setting rules are too complicated. No matter how I try to set it, it doesn't work, so I just skip it altogether.

I find logging in with OTP much more convenient and faster.

This situation raises two issues:

  • User-side: Increased risk of account loss if the user loses access to their phone number.

  • Business-side: Incurring OTP costs.

Scoping

After analyzing the issues, to address the security and cost concerns without sacrificing user convenience, we decided to add alternative authentication methods besides the two existing ones include:

  • Receiving OTP via mail

  • Authentication using another device

  • Passkey

Phasing

  1. Revamp the UI and add authentication using another device.

  2. Add a mechanism to set up email and receive OTP via email.

  3. Add authentication using passkey.

This case study will focus on phase 1.

Ideation

Competitor Analysis

This authentication method is already quite popular and widely adopted, so it wasn't particularly challenging for me to conceptualize and design this solution.

I conducted quick research on how trusted device authentication operates across various applications. The most common implementations include those by Google, Facebook, Apple and Zalo’s direct competitor, Telegram.


User Flow

I started by gathering and reviewing all the old wireflows to clarify the current authentication process, highlight key technical considerations, and understand the rationale behind the design of the previous solution.



Although the login flow is a very familiar and seemingly simple flow, it has quite a few edge cases due to using the 2FA mechanism, and the choice of authentication method depends on two factors:

  • The trustworthiness of the device

  • The trustworthiness of the network the user is using

After clarifying all the mechanisms of the current flow, I created a user flow to get a comprehensive view after adding the familiar device authentication method as shown below



We also added an emergency account lock mechanism to help protect users when they lose their passwords, so I also drew another user flow illustrating the scenario where a user loses their password and their account is taken over by a stranger as shown below


final solution

We discussed whether to send OTPs via messages like Telegram or display them in a full-screen format like Google. Then we decided on the full-screen approach to better alert users in case of account compromise, as users might often skip messages from official accounts, mistaking them for advertisements.

Phone Input

The phone number input screen has been refreshed and utilizes the design system to ensure UI consistency across the entire app.

Phone Input

The phone number input screen has been refreshed and utilizes the design system to ensure UI consistency across the entire app.

Phone Input

The phone number input screen has been refreshed and utilizes the design system to ensure UI consistency across the entire app.

Get OTP

The OTP notification screen clearly specifies the trusted device receiving it to avoid user confusion and includes an exit option for users without access to the device.

Get OTP

The OTP notification screen clearly specifies the trusted device receiving it to avoid user confusion and includes an exit option for users without access to the device.

Get OTP

The OTP notification screen clearly specifies the trusted device receiving it to avoid user confusion and includes an exit option for users without access to the device.

OTP Input

The OTP input screen is UI-synchronized, reiterates device information, and includes an exit option for users without access to the device.

OTP Input

The OTP input screen is UI-synchronized, reiterates device information, and includes an exit option for users without access to the device.

OTP Input

The OTP input screen is UI-synchronized, reiterates device information, and includes an exit option for users without access to the device.

Z-OTP (trusted)

The OTP display screen appears on the current online device if the login-requesting device is trusted, accompanied by a medium-level security warning.

Z-OTP (trusted)

The OTP display screen appears on the current online device if the login-requesting device is trusted, accompanied by a medium-level security warning.

Z-OTP (trusted)

The OTP display screen appears on the current online device if the login-requesting device is trusted, accompanied by a medium-level security warning.

Z-OTP (strange)

The OTP display screen appears on the current online device if the login-requesting device is unfamiliar, accompanied by a high-level security warning and an emergency lock option for the user.

Z-OTP (strange)

The OTP display screen appears on the current online device if the login-requesting device is unfamiliar, accompanied by a high-level security warning and an emergency lock option for the user.

Z-OTP (strange)

The OTP display screen appears on the current online device if the login-requesting device is unfamiliar, accompanied by a high-level security warning and an emergency lock option for the user.

Emergency Lock

The emergency lock screen activates if the user confirms they did not request login on an unfamiliar device.

Emergency Lock

The emergency lock screen activates if the user confirms they did not request login on an unfamiliar device.

Emergency Lock

The emergency lock screen activates if the user confirms they did not request login on an unfamiliar device.