Voxer Private Chats
End-to-End Encrypted Walkie Talkie
THE PROBLEM
Implement end-to-end encryption into the current native apps. Identify all possible flows a user may encounter.
CONSTRAINTS
1. The solution must be available on iOS and Android and launched at roughly the same time.
2. Private Chats is only available on one device at a time.
3. Private Chats is only available for one-on-one chats.
THE TEAM
1. Product Designer - myself
2. Server Engineer
3. iOS Engineer
4. Android Engineer
GOALS
1. Provide users with an overview of Private Chats
2. Educate users about end-to-end encryption
OVERVIEW
I worked with the engineers to identify the technical constraints and limitations. The intent was for Private Chats to be embedded into the current flow of messaging. My role was to work through all possible flows a user may encounter and enhance the user experience.
In the initial Private Chat flow above, a user is introduced to Private Chats through the use of a 'What's New' modal, a blue flag, and additional copy inside the Private Chat. Each encounter is an opportunity to educate and inform the user about Private Chats. One of the biggest challenges was writing descriptive copy that was informative yet simple.
CHALLENGE
Uncover edge cases and identify how best to solve the user flow and educate the user. One use case we identified is when User A sends a message to User B and User B is not on the latest version and cannot receive the messages. Below are two different solutions to this problem.
POSSIBLE SOLUTIONS
Option A
Inform the message sender that the message could not be encrypted.
User A [Wilson] sending a Private Chat message to User B [Gregory]
PROS
- The sender would know that the receiver is not getting the messages.
- The sender would know why the message could not be encrypted.
CONS
- The receiver wouldn't know anyone was trying to send them a private chat message.
- The receiver wouldn't know that they need to update their version in order to receive Private Chat messages.
Option B
Send a default message to both the message sender and the message receiver.
User A [Wilson] sending a Private Chat message to User B [Gregory]
User B [Gregory] has not updated and cannot receive the Private Chat message from User A [Wilson]
PROS
- Both the sender and receiver will be aware that a message attempt has been made.
- The message instructs User B to update their account in order to participate in Private Chats.
- The message doesn't let User A waste time speaking/writing a message that will not be delivered to User B.
CONS
- The sender doesn't learn that the receiver will not get their message until after they have sent a message.
- The receiver may never open the message and may never learn that they need to update in order to receive Private Chat messages.
USER FLOW TIMELINE FOR USER A & USER B
TEST & ITERATE
After testing we found that some users were aware of end-to-end encryption and wanted to learn more about it, while others were less interested and not familiar with end-to-end encryption. We used copy to convey the core concept of end-to-end encryption and provided users with ways to learn more, such as through a blog post. We found that giving the user an action such as 'update the app' helped the user identify what their next steps were.
NEXT STEPS
- Identify new ways for users to create a Private Chat
- Educate users on when to use Private Chats versus regular chats