If you ask anyone in Web3 what the biggest hurdle for mainstream adoption is, UX is more than likely to be the answer. There are many ways in which it can be improved. The following are key issues that have a significant impact on UX.
- Making users distinguish between different networks
- Hexadecimal addresses
- Badly thought out contract interactions
- Seed phrases
Many centralised Web3 platforms targeting mainstream adoption make everything appear as familiar as possible for this reason. They appear more like a Web2 platform than a decentralised application. Crypto exchanges list cryptocurrencies as any other financial asset, and NFT marketplaces show ownership of NFTs in account views associated with email addresses.
Such approaches give their users a more familiar experience than what is currently a true Web3 experience. For many, their first experience of Web3 is when they try to use a native decentralised application.
At this point, they are faced with a Web3 wallet such as Metamask which is where the challenges start. I’m a fan of Metamask and what they’ve done for Web3, but given its market-leading position, it highlights the challenges many users face when they first onboard to Web3 proper.
First of all, users are presented with multiple blockchain networks with which to work. Should they be using the Ethereum mainnet, or another layer 2 such as Polygon, or an Ethereum clone like Binance Smart Chain?
Their account may have a name, but beneath it is a hexadecimal string, representing the account address of the wallet. Unless you have studied computer science or engineering, you are unlikely to have any appreciation of what this represents. Yet at present, understanding the concept of addresses on Web3 networks is absolutely essential to doing anything.
Projects such as the Ethereum Name Service are doing a great job of removing this complexity, by mapping an address such as 0x8A8f93cEFC3D70d22b186e864d826ba6127A90C6 to myname.eth, but usage needs to be not just widespread, but ubiquitous. You never expect users of the internet to have to use IP addresses such as 142.250.179.206 instead of typing google.com. We have to get there with Web3. Nothing could be worse than what we have now — lengthy hexadecimal strings, that no one could ever type without making a mistake, and are only possible to memorise if you have a world-class memory.
The one upside of these strings being unmemorable is that it forces people to copy and paste them, but verifying them visually is very hard, and if some malicious software were to change them slightly, most users would be none the wiser.
This brings me to the next point, which is interacting with smart contracts or sending funds to another account. With bank accounts, people just about have the patience to verify the destination account details as they consist of digit groups of numbers covering account numbers and sort/routing codes. Even if a 34 character IBAN code is being used, at least there are groupings within the number, with Web3 addresses we have none of this.
When interfacing with smart contracts it’s even worse. As soon as a user has to do more than one interaction, they’re likely to switch off and stop paying attention to the specifics of what they’re doing. It’s just like someone agreeing to the terms and conditions of installing software, they’re not interested in the specifics of what’s happening as long as they obtain the end result they’re interested in. They need a simple transaction verification process with very limited information required for them to double-check the proposed transaction.
In addition to all of the above, not only do users have a password to manage their wallet, but also a seed phrase they need to use to recover the wallet. These multiple layers of complexity illustrate just how high the barriers to entry are for moving into Web3 fully, and until they can all be addressed or abstracted away, we’re…
Read More: blog.web3labs.com