Here's the tweetstorm version of my talk from @build_eth yesterday! I talked about how, from a user's perspective, dApps don't feel like normal apps. This is because of the inherent technology that makes dApps decentralized.

But dApps should feel like apps!
First, some alternative titles...

((please stare at the infinite spinner for 30 seconds to get the full effect))
Self-sovereign ownership is a paradigm shift in how we interact with the world. The ability to own a digital thing sans middleman is a revolution in our understanding of the digital realm. But it's _not_ easy to make that experience usable. (yet!!)
For now, dApps occupy a "they're different from apps" mindset in our developer-focused #buidl ecosystem. But for consumers, dApps should just be apps. The word 'dApp' shouldn't exist. Consumers don't care about decentralization or privacy or self-sovereignty.
One of the largest contributors to this "dApps are unique experiences" mindset is Severe Asynchronicity: the idea that blockchains are just really damn slow databases, and that directly affects how users operate your app.

I talk more about it here: medium.com/xlnt-art/solvi…
The Severe Asynchronicity of the decentralized web robs users of confidence in their actions! "Is this even working" is a universal thought when using decentralized apps; the user has _no_ context and _no_ feedback on what's happening. Did they do it right??
The inherent knowledge of the space is something we take for granted, but newcomers 1) don't want to and 2) can't realistically learn about private keys, signatures, transactions, confirmations, Ethereum, etc.

It's all nonsense and completely useless for the user's experience.
So design your interface for the consumer; should they be seeing transaction hashes? Only if they're a developer! Take a learning from Gmail and hide SMTP headers behind a little carat. Or all of the developer information behind devtools. Design for layers of technicality.
Here are some other approaches we can use:
pls no 'blockchain'



sell the benefits of the tech, not the tech itself
Use the existing patterns of optimistic UI and optimistic state; don't make the user wait on actions that they can safely ignore.

Users need the confidence to proceed with whatever they were doing next, so give it to them!
If you have to block (for exchanges, high-value tx, etc), make blocking actions enjoyable.

And regardless, give users hella context about what's going on. Make sure they're not forgotten and that everything is going great.

New technology is scary! Reassure your users!
It's time to make passwordless auth UX a thing (this time for realsies!)

If a users sees a private key or a mnemonic, you've lost 98% of the world. Investigate projects like @uport_me that implement standardized DID and self-sovereign identity for Ethereum.
You can pay for a user's gas fees using signed intents rather that direct transactions! And then you can use any monetization model you want! I don't need crypto to be (relatively) self-sovereign!

ps: props to the @ideocolab fellows for pioneering some good thoughts on this!!
Basically: make dApps === Apps

notice the triple equals for strict equality!

You can do this by 1) embracing the technical differences (self-sovereignty, privacy, passwordless-ux, etc) and 2) smoothing over the bad stuff (like severe asynchronicity)
If you follow me, you already know about gnarly github.com/XLNT/gnarly but hey, check it out one more time, why not. Solves that whole severe asynchronicity thing.
Solving Severe Asynchronicity and consumer-focused UX, by the way, seems to be the trend at yesterday's BuildETH, which is excellent!
the hot take: total decentralization is great, philosophically, but no consumers are going to care for years, if ever. Build things that work well and deliver value today by making tradeoffs in decentralization.

Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Nifty™ Matt Condon (XLNT) (Not Giving Away Angery)
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!