The adoption problem faced by the blockchain industry is entirely self-created and entirely avoidable. There are two primary reasons for the problem:
- Poor communications
- Lack of user empathy
The poor communications issue can be fixed if every post, announcement and article directed at mainstream users follo three simple rules.
Rule #1: Lead with the benefit, not the technology. Seriously…no one cares about which layer, and algorithm your awesome new blockchain or dapp uses.
Rule #2: Skip the jargon. It may sound cool when you write phrases like “proof of work,” or “consensus algorithm,” but here’s what the reader sees “bullshit…blah blah…bullshit…” Take the time to rephrase technical concepts so people can easily understand what you mean.
Rule #3: Stop hyping vaporware. So many posts use the present tense about technologies and products that are nothing more than hot air coming from marketers. If you don’t have an Alpha release, or at minimum a prototype, don’t use language that suggests it already exists.
The user empathy issue is much bigger and it isn’t going away anytime soon. Product after product has a user experience that is developer-centric and completely opaque to mainstream users. This has to change. Here are 10 ideas for improving user empathy in blockchain products.
Idea #1: KISS. Yes, so many dapp and blockchain product developers have forgotten this time-tested mantra — keep it simple, stupid. Make the UI dead simple…if everything is front-and-center, then it’s unusable. Focus on the 1–2 things that are most important to the user.
Idea #2: Skip the jargon. Similar to the communication rule #2, stop using language and terms that most people don’t understand. Ask a fifth grader to look at your UI to get a sense of where things could be improved.
Idea #3: Use familiar concepts. Blockchain isn’t mainstream yet…it’s nowhere close. If you want users to understand and use your product, you need to bridge new concepts with stuff they already understand. Pro tip: If you have a field labeled “Gas Price” you have failed.
Idea #4: Stop making assumptions. Don’t assume that users know that writes to blockchain need transaction fees. This is a foreign concept for most users. They don’t pay to post to Instagram, send email or add a file to Dropbox. You have to inform, guide and do some hand-holding.
Idea #5: Big numbers are scary. There is no reason for user interfaces to display 18 decimal digits or to show entire hex addresses. This is scary stuff for people. Show 2–4 decimal places and only the first and last four letters of addresses. Display detail on hover or touch.
Idea #6: Waiting. Users expect most actions to complete in a reasonable amount of time. This isn’t true with blockchain. Clearly communicate through the UI that the user has submitted a “request” for a transaction, and not a transaction itself. Set clear expectations about delays.
Idea #7: Impact of actions. In most blockchain apps, write actions have permanent, irreversible consequences. Preview actions and clearly communicate to the user what impact their action will have, especially about non-obvious consequences separate from the immediate transaction.
Idea #8: Notifications matter. Actions on blockchain are always asynchronous and users have no way of knowing if their action was successful. It’s very important that your product establish a notification channel so you can keep them informed even when your product isn’t in use.
Idea #9: Ignorance is bliss. Your web app doesn’t show stupid graphs telling you how many transactions per second the back-end database is running. Why do blockchain apps feel the need to give users useless information about block times and hash rates? Enough already.
Idea #10: Be human. Your product is being used by humans, not robots. Use warm, endly language and empathy when something goes wrong. A message such as “Error: Transaction failed.” is itself a total failure. Be converional, but don’t be cute. Just be human.