There’s a huge learning curve for any experienced developer looking to break into the world of decentralized applications (dapps) for the first time.
Building with blockchains is hard — from deciding which platform to build on top of to learning the intricacies of each smart contracting protocol… There is a lot of ground to cover for new developers.
And even after learning the ins and outs of core Ethereum tools — solidity, truffle, infura — you still have to solve for usability hurdles.
Luckily, there are a number of tools that have been shipped over the last couple of months to take on some of these challenges for you. We’ve compiled this list to help you understand which projects are solving different web 3 UX challenges.
Hopefully this will give you a better picture of usability in the Ethereum ecosystem, and enable you to create a dapp that is easy for the average web consumer to use!
While we are all familiar with wallets like MetaMask, EQL, Balance, and Coinbase Wallet, there are a lot of new innovations happening around wallets to improve user onboarding.
Portis has a javascript SDK that enables dapps to provide users a local walletless experience. Portis handles setting up a wallet, signing transactions, and gas fees. Portis makes engaging with your dapp feel like a web 2.0 experience. And users still control their keys — Portis just stores them securely.
Fortmatic is a Web 3-compatible JavaScript SDK that enables end-users to interact with any dapp with just their phone numbers on any modern desktop or mobile browser.
https://github.com/austintgriffith/burner-wallet
Burner wallets enable new users to quickly transact right from their browser. Austin Griffith has been leading the community in developing this approach — which worked flawlessly at ETH Denver.
Embark is a developer environment that’s designed to help you get a dapp up and running as quickly as possible. It comes packed with some pretty powerful features right out of the box:
disclosure: I’m working with Blocknative and am a huge fan of the tool.
Assist.js helps dapp development teams onboard new users easily — enabling them to transact with more clarity and confidence.
How? By programmatically identifying and outlining clear steps for end-users to follow. This helps users overcome common obstacles, and prevents common pitfalls.
Assist is broken into four parts:
https://github.com/austintgriffith/dapparatus
Austin Griffith created a set of reusable react components for dapps. Some of the components included are: contract loader, metamask, gas, transaction ui, event parers, etc. It’s a great starting place for those looking to own their full code base.
Featuring: Jeff Vier (Ideas by Nature), Tom Teman (Portis), Taylor Monahan (MyCrypto), Matt Cutler (Blocknative), Sean Li (Fortmatic). Moderated by Gustavo Esquinca (ConsenSys Design)
An overview of Rimble, from ConsenSys Design
Design systems are a series of components that can be reused in different combinations. They’re meant to enable designers and developers to scale best practices and consistent design across large projects. Think of bootstrap as one of the OG design systems.
For Web 3 design systems, check out:
disclosure: I used to work at ConsenSys.
Meta is an open source blockchain UI framework from Universe Labs
A few projects have made parts of their design open for the community to build on:
These are a collection collection of libraries which allow devs who are already familiar with JS or react to build dapps and/or integrate ethereum smart contracts.
My good friend Ryan recently gave a talk titled “Dapps are cool… dapp users are cooler.” His point was that decentralized applications can’t change the world if we don’t get people to start using them, and we won’t get people to start using them if we don’t improve the UX.
Hopefully this will inspire you to build a human-friendly dapp moving forward. Best of luck!
Sean O’Connor is the product and design lead at Saffron Solutions — connecting the threads of business and blockchain. If you’re building a dapp and need help with UX or product development — please reach out!