DISCOVERY & RESEARCH
Background
Wallet connectivity is a crucial component of the decentralized application (dApp) ecosystem, enabling seamless cross-platform transactions and interactions. These “wallet connection applications” or “bridges” have become an essential part of the user experience, allowing individuals to securely access and manage their digital assets across various dApps and decentralized finance (DeFi) protocols.
Among the leading wallet solutions in this space is MetaMask, a widely adopted cryptocurrency wallet that has become a ubiquitous bridge for users navigating the decentralized web. This case study will focus on how I tackled the challenge of optimizing the transaction signing user experience (UX) to enhance the overall wallet connection process.
My idea/solution is subject to scrutinisation and open to feedback but hear me out first…
Discovering the problem
The current wallet connection and transaction signing process in decentralized applications (dApps) can be frustrating for users. Even after successfully connecting their wallets, users often encounter friction when trying to complete transactions, such as having to repeatedly send the signing request or restart the process if their connected account is no longer available. This case study will explore two key problem scenarios identified through research:
- Users are required to repeatedly send the transaction signing request to their wallet, even when the wallet remains connected to the dApp, causing unnecessary friction
- Users are forced to restart the entire transaction signing process if the connected account is removed from the wallet bridge but still linked to the dApp, leading to a disjointed and inconvenient experience.
Solution alignment
To address the identified pain points and enhance the transaction signing user experience within wallet connection applications, the MetaMask design team implemented the following solutions:
- Implementing a persistent transaction signing queue that enables users to complete the signing process even if the initial request is not fulfilled, eliminating the need to repeatedly send the transaction.
- Developing a smart account management system that automatically detects and handles changes in the user’s connected accounts, seamlessly transitioning the transaction signing process without requiring a full restart.
Product goals
- Enhance the overall user experience
- Streamline the transaction signing workflow within wallet connection applications
- Fostering greater user trust, adoption, and engagement in the decentralized finance (DeFi) and web3 space.
Design process
Research time
I conducted a thorough heuristic evaluation of the existing MetaMask transaction signing UX, benchmarking it against established usability principles and best practices. This analysis helped identify specific areas for improvement, such as the need for better error handling, status updates, and account management functionality.
Also, I undertook a comprehensive research process to deeply understand the challenges users face with the transaction signing experience in wallet connection applications, with a specific focus on MetaMask. I also observed users as they navigated through real-world wallet connection and transaction signing scenarios, both within MetaMask and across various dApps. This provided valuable insights into the user’s mental models, decision-making processes, and pain points encountered in the moment.
User persona
This user persona was developed to create a user-centered product that effectively meets the needs and addresses the pain points of users.
Security risk
I know what you’ll say, there’s a security risk to caching a data like that which might not be the only security risk. Due to the caching that will be introduced on all transactions so as to log them, a malicious user can create a malware that can disrupt or change the transaction data.
Solution: Bridges should encrypt every transaction so that hackers will not be able to change the data of the transaction and users will not need to bother proofreading the transaction details again when they’re back to the bridge app to complete the transaction.
STRUCTURE
User flow
Draw a user flow for the transaction signing to further breakdown how the users would experience the new transaction signing with the improved UX.
DESIGN DECISIONS
SOLUTION TO PROBLEM 1
Implementing a persistent transaction signing queue that enables users to complete the signing process even if the initial request is not fulfilled, eliminating the need to repeatedly send the transaction.
SOLUTION TO PROBLEM 2
Developing a smart account management system that automatically detects and handles changes in the user’s connected accounts, seamlessly transitioning the transaction signing process without requiring a full restart.
CONCLUSION
Learning & Take aways
In working to enhance MetaMask’s transaction signing UX, several key learnings and takeaways emerged. The process highlighted the importance of minimizing friction during critical interactions, such as wallet connection and transaction signing, within decentralized applications (dApps). Users, particularly those who are tech-savvy and rely heavily on MetaMask for daily operations, experience significant frustration when required to repeatedly send signing requests or restart transactions due to disconnections or account changes. This revealed that even minor interruptions in the transaction process can disrupt user workflows, leading to inefficiency and dissatisfaction.