Milton Berman

WakeUp Labs co-founder.

September 5, 2023

From Building in Web3 to solving real-world problems.

Some of the most common barriers that you will need to overcome.

In a previous article, we delved into the essential aspects to consider when embarking on Web3 development. Let's examine our challenges when introducing our product to the audience.

-

The Web3 Onboarding Nightmare

I think the MOST complex barrier [to OVERCOME] for end-users is the crypto onboarding.

Since 2009, we read instructions such as:

- “Please, write these 12/24 words on paper”.

- “Do not write them digitally”.

- “Make two or more copies; you keep one, give another to your grandma, another in a safe…”

- “Don’t copy-paste it; you may have malware, and the clipboard is dangerous”.

- …

- “AH! Please add an extra password here and there…”

“Now, you can play Axie Infinity or use my super decentralized social network.” 🤯



Meanwhile, in the traditional world, other products are simplifying the user onboarding process:

- TikTok and Instagram: Please provide an email and password.

- Clash Royale: Just start playing.


For Fintech or Homebanking apps, we might still have a few extra steps, but they are progressively enhancing the user experience to reduce it to just 2 or 3 taps/clicks.


As crypto builders, we must aspire to that simplicity and create familiar and straightforward user flows while keeping crypto core features: decentralization, sovereignty, and permissionless digital ownership.

If we cannot [maintain] them, we could easily use our Old and Beloved SQL Database, or why not, just use Excel (?).


We must force ourselves to reduce the onboarding burden to the bare minimum, asking questions like: 

  • Do we need to do the whooole process just to play a game or use a social network?

  • Or just to purchase a few tokens or NFTs to make a video game run?

Perhaps not. However, in other situations: 

  • Is it necessary to ask the user to do the whooole onboarding process to our app if they will deal with substantial amounts of Ether or Bitcoin? Probably, yes.


Let's think about these questions when creating our products.


Good stuff is being built lately regarding these issues:

* Account abstraction 

* MPC Wallets 


We need to start using them more and more.

-

I don't have any crypto 😬.

Our end-user has climbed Mount Everest of crypto-onboarding; good job!

You'll now tell them things like:

  • "Please deposit X token into the vault."

  • "Please send this 'free' transaction."

  • "Please mint this NFT to play."

  • etc.


Usually, these tasks require spending the blockchain's native token (e.g., ETH, MATIC, etc.) to pay for "gas".


The user will answer things like:

  • What's gas? Is it something related to Shell or Axion? ⛽️🤔

  • Do I need crypto? How can I get crypto?

  • Please, SEND HELP!!! 🆘


Contrary to our crypto-twitter (“X”) bubble beliefs, most people don't handle cryptocurrencies but rather fiat money.

We should explore options to allow them to acquire it, such as enabling credit card transactions. Alternatively, we could defer this request for future moments in the user journey. Let them understand the value of your app before asking them to spend money.


Currently, some Web3 products are managing the Onboarding process better.

There are various reasonable "on-ramp" solutions to purchase crypto with FIAT; excellent centralized exchanges (e.g. Binance) with web2 user experiences simplify these processes.

The thing is: (remember this step) If you don't help your end users in this matter, your dApp could become useless at the exact moment you ask your users to have crypto in their wallet.

-

Web3 UX, where are you?


The web3 space is known for having poor UX and UI. That is one of the reasons why there is still no mass adoption. Users can be easily frightened off due to a bad user experience and unappealing appearance.

There must be more than just bypassing all the previously appointed issues (creating a wallet, acquiring crypto, understanding the value).

We, as builders, have to be focused on providing good UX flows for the end user, nice UIs, and helping our users in all the required interactions, specifically those interactions that never existed before in web2: signing transactions, paying for gas, blockchain explorer, tx hash, blockchain address, etc.

Create poka-yoke user flows by abstracting complexities to avoid user doubts.

And design beautiful UIs: If you seek mass adoption, avoid those nerdy UIs (that we, the nerds, love), such as a vintage Windows 3.11 desktop or an Apple2 UI from the 80s or 90s.

Let's leave those for more pro users or niche dApps.


-

Vintage “Nerdy” UI > CURVE


Modern UI > UNISWAP


Try, whenever possible, to pay the gas on behalf of the user. Meta transactions or relays could help here.

Avoid using all the complicated words such as "hash", "gas", "metamask", "testnet", "ERC20", "web3", "NFT", etc.

Explain in plain language different typically required crypto flows for newcomers, for example, what a token approval means and how it works, and seamlessly guide the user on these flows.

The output here is that when designing your Web3 product, remember to take a few minutes, put yourself in the user's shoes, and assume they are not crypto-savvy.

No matter how great our idea may be, we will only progress if it's effectively communicated, well-implemented, and, crucially, a positive user experience. To excel in Web3, we need an inviting, intuitive, and visually appealing UX that guides users seamlessly through the platform. Simplifying complex processes and ensuring an enjoyable experience will drive higher adoption in the Web3 space.

-

📩 If you seek further advice or require assistance during the development of your project, do not hesitate to reach out to us. Feel free to email us at community@wakeuplabs.io 🙌


Thanks for reading!