The UX of web3 and the fundamental principles it breaks
And a few thoughts on how we could do better
Hello there! Welcome to my eclectic newsletter. My name is Ev, and I blog about technology and product, with a dash of strategy and a pinch of trends.
Today we will review a couple of universal human-centered design principles that web3 products break consistently. (And think of potential solutions.)
Web3 is in crisis, and I’m not talking about the crypto market nosedive. It’s in a crisis of basic usability. And while most new technologies are not polished, to get web3 products into the hands of the majority their developers must show more than a simple conviction that blockchain tech can change the world. Crypto maximalism has run out of steam.
My bet is that to empower the rest of the world through crypto, we must get back to the universal principles of design. In total, there are seven such principles. While all of them are important, two are consistently violated by most web3 product development teams.
Principle #1: Simple and intuitive
All products intrinsically have learning curves. For instance, learning to ride a bicycle is easier than learning to pilot a fighter jet, owing to the complexity of a jet. While consumer web3 products are not jets, they must be as easy to use as their web2 analogs. Right now, adopting a typical web3 product requires a lot of work, and it shouldn’t be.
Imagine you’ve built a decentralized web3 Instagram. To sign up, your users must have an Ethereum Name Service address. Cool. Now they also need to figure out how to get that ENS handle. To get the ENS, they need a wallet, and they need to figure out how to create one, and so on. You get the picture.
The Simple and Intuitive principle means that the product is easy to understand, regardless of the user’s past experience, knowledge, language skills, or concentration level. Unless we bring the level of web3 complexity down to “I can create an account with just an email”, it will continue to put brakes on the growth of otherwise groundbreaking products.
Ways to solve for simplicity and intuitiveness
The lazy way: Education
Have you ever wondered why every web3 startup is trying to educate its users about the benefits of crypto tech, how to use the product, and how to make sense of it? For the exact same reason why web1.0 and early web2.0 products were trying to educate their early adopters: pushing out educational content is faster and easier than solving the hard adoption and interaction problems.
Education is necessary, but insufficient, as it offers diminishing returns. After all, a typical user cares more about getting their problem solved, rather than learning exactly how your product does it under the hood.
The user-friendly way: Progressive disclosure and micro-interactions
Recall the last time you used a product that anticipated your next action and gave you just the right amount of information to make a decision. A product that, despite its complexity, made you feel smart, powerful. When we see products like this, we call their user experience “seamless”. There are, of course, seams. Someone stitched those interactions together, but they hid the complexity away from you as a user.
Principle #2: Tolerance for error
Accidentally shared your wallet where you shouldn’t have? That will be 100 Eth, thank you for your contribution to our scam. Ciao! Next time, think before you act.
The laughable security of self-custodial web3 products against social engineering attacks is to blame for the never-ending stream of Twitter threads that tell sorry stories of lost riches. It doesn’t have to be this way.
Web3 products that aim to win consumer hearts must be designed in ways that prevent user errors. Specifically, this means that they must minimize risks and negative consequences of accidental or unintended actions.
Consider modern neobanks, such as Revolut, Wise, and Monzo. One of the beautiful things about them is that their users have a plethora of ways to protect themselves from potential fraud, such as transaction notifications, per-transaction 2FAs, and even burner credit cards. Sure, sometimes those things get a little annoying. But hey, I’ve never been a victim of credit card fraud just because I entered my card where I shouldn’t have.
Imagine if you could create a burner wallet in your Coinbase account, get that airdrop, and then transfer it to your standard wallet. Some web3 products are actually starting to implement this approach, but it is still not as popular or accessible as it should be.
Ways to improve tolerance for error
The lazy way: Ask the user to be careful
Seriously, why we’re still doing this?
The user-friendly way: poka-yoke, aka error-tolerant design
Error-tolerant designs employs behavioral constraints that force the user to stick with a specific series of actions. For instance, if you’re connecting a wallet to a service that you’ve never interacted with, a burner wallet can be spun up automatically to minimize risk.
Curious to know more about the design patterns that could work in web3?
Check out my previous post: A case for web3 superapps.
Illustration by Icons 8 from Ouch!