This is a case study of how we designed the Endpass Wallet, the first decentralized cloud wallet for Ethereum, Ethereum Classic, and ICO Tokens.
We’re live and in open beta today — try it now — or check out the source code on Github.
What do you think it’s going to take to boost blockchain adoption worldwide an order of magnitude? And why hasn’t it happened already? What’s preventing those millions of newcomers from joining the crypto world already?
Quite a lot, actually.
Based on extensive user feedback collected over the past year, the majority of normal cryptocurrency users agree: the user experience of cryptocurrency in 2018 is akin to starring in a low-budget horror movie.
As a huge believer in the future of cryptocurrency, smart contracts, and Ethereum, I must still observe that beginner to intermediate users often view the cryptocurrency experience as unwelcoming and hostile to the user.
We decided early on that jumping into the crowded crypto wallet market would only make sense if we could build something completely different from anything else on the market.
But first:
The four recurring usability nightmares of blockchain.
Nightmare #1: People are terrified of hackers and malware
The biggest threat to mass adoption is without a doubt, security. It’s still way too hard to properly secure plain text private keys without making a mistake along the way. We cannot expect mainstream users to be security experts in a world where the most common password is still “123456”. Security needs to be built in to the product by design, not left up the user.
Solution: Decentralized Cloud Wallet
Endpass is the first decentralized cloud wallet, combining the best features of fully decentralized clients with the ease of use of web wallets.
Your wallets are first encrypted client side in your browser, and then securely backed up to Endpass keystore servers and synced to all of your desktop and mobile devices. This is similar to other wallets that don’t hold your funds like Blockchain.info.
Unlike any other web wallet, Endpass is built on a decentralized open protocol, so users are not required to use the wallet with our cloud. Anyone can run their own server, or even use the wallet with a local server running on their computer.
You control your funds and can view and export your private keys at any time.
Of course, we never have access to any private keys or funds.
Why do many people keep their crypto assets on centralized exchanges?
Because exchanges often have better security enforced by the server.
What if we took security features from exchanges like two factor authentication with Google Authenticator and email confirmation, and combined them with client-side encryption of the wallet?
Because you have to log in with the server to get the encrypted wallet file, your wallet can be protected by two factor authentication, and you still hold the private key.
Nightmare #2: Everyone is freaking out about losing their devices
In conversations with users, this came up over and over again, especially with mobile wallets. People are very confused about how and where to back up their wallet file, if the backup worked, how to restore a wallet, and so on.
As long as drunkenly dropping your phone in a koi pond is tantamount to Lehman-Brothering your retirement, most people will be very hesitant to invest more into cryptocurrency they do not know how to store properly. The issue of ransomware also comes up as a major threat to those who do not have up to date backups.
Solution: Keep client-side encrypted backups in the cloud, sync to all devices
We want to make it as easy as possible to use the same Ethereum accounts on all of your devices. Endpass Wallet is a browser native web wallet, so it works on all modern desktop and mobile devices, and any changes to your accounts are reflected on all devices.
The idea is to make the experience more welcoming to new users by building on familiar patterns they already know, like signing up for a PayPal account.
To create a wallet in Endpass, you just enter your email address, click a link to confirm, and you have access to an Ethereum account. There’s nothing to download or install, and the onboarding closely models well-known tropes of traditional Web 2.0 SaaS apps. Many users are more likely to try something new if it echoes something familiar.
Nightmare #3: Stuck transactions make users anxious as hell
This is a big, big one. Proof of stake and sharding are coming to Ethereum, but the usability problems of pending transactions need to be solved today.
One thing we do know for certain: Pretty much nobody knows what the hell gas price and gas limit is, and how to shove a Gwei or 20 in there to get their ICO transactions unstuck.
Solution: Don’t force the user to make too many decisions
These are all implementation details that should be abstracted away from the user! Users don’t care about gas limits or why they got that arcane out of gas error and now some of their unstoppable internet money mysteriously evaporated. They just care about the priority of their transaction!
This is how we decided to allow setting gas price and gas limit:
That’s it. We run a custom gas price oracle to automatically set the relevant gas price and gas limit, and present three easy to understand priority options that are relevant to achieving the user’s goals.
Most dApps and wallets need to aggressively simplify their UI to highlight the most critical components. Otherwise, too many users will get frustrated and give up before taking the time to engage with the product.
Sane defaults whenever possible should always be preferred over allowing extreme customization.
Always keep the user one to two clicks away from the happy path.
One click cancel and resend for pending transactions
We added easy, obvious resend and cancel buttons for pending transactions. If your transaction is stuck, you know exactly what to do to get it unstuck.
The happy path is when everything is working smoothly for the user, and they are sending and receiving transactions without problems.
Anything else, like a stuck pending transaction that is also blocking you from sending any other transactions is bewildering and confusing to most users.
If a user is in an unhappy state like trying to fix a stuck transaction, they should be able to get back on the right track as easily as possible. Always keep the user one to two clicks away from the happy path.
Nightmare #4: Even pros are worried about doing something horribly wrong
You know that feeling of tension right before hitting “Send” on a big transaction? When you hold your breath and double check that the address is exactly right and that you didn’t add an extra 0 to the amount?
Solution: Make it foolproof
The solution is putting guard rails in place and reassuring users that it’s safe to experiment and learn the product, because they won’t screw anything up.
There are many subtle ways to comfort users. For example, we automatically show the fiat value of the transaction in the user’s national fiat currency as an extra sanity check on the amount.
Automatically detecting and managing tokens protect users from many forms of phishing
We also automatically identify thousands of ICO tokens on the Ethereum and Ethereum Classic blockchain, and track the well-known addresses of their smart contract, so users don’t need to enter them by hand.
Fix usability, and you fix mass adoption
Blockchain technology is still in its very, very early days, so the experience can be expected to be a little bit rough around the edges. Blockchain is often compared to the early world wide web. But we’re building with 2018 technology, not 1994 technology. We need to demonstrate that the Web 3.0 user experience is equal to or better than the Web 2.0 apps users are used to. We have no excuse.
Endpass Wallet is our demonstration of some novel solutions to some of the biggest obstacles standing in the way of massive market growth. We look forward to the community’s feedback.
Source: Crypto New Media