Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UX Audit of 5 DApps #1

Closed
hesterbruikman opened this issue Apr 13, 2018 · 10 comments
Closed

UX Audit of 5 DApps #1

hesterbruikman opened this issue Apr 13, 2018 · 10 comments

Comments

@hesterbruikman
Copy link
Contributor

# UX Audit of 5 DApps

Decentralized apps, DApps, are the Apps of Web3.0. They are decentralized applications that use blockchain and smart contracts as their backend.

Status wants to help people onboard to web3.0. The more DApps are available on this new web, the higher the likelihood of people finding applications that are meaningful for them. For reference, the App store would not be interesting if it offered only 1 app and a TV network would not be as interesting if it offered only one channel.

We want to increase the number of quality DApps by providing developers UX guidelines for good DApp design. Understanding what makes a good DApp is the first step.

Task

  • Conduct a UX audit of 5 DApps of your choosing (excluding Status core app).
  • Use well known usability heuristics and describe positive findings and areas of improvement.
  • Identify heuristics that you find are specific to a good DApp experience.

Deliverable

  • Overview of DApp performance on each heuristic.
  • Illustration of key heuristics with screenshots
  • App store design guidelines
@status-open-bounty
Copy link

status-open-bounty commented May 30, 2018

Balance: 0 ETH
Tokens: SNT: 5000.00
Contract address: 0x2c20b0bfc12345da97a1b405210b56cd1c515fb3
Network: Mainnet
Status: Pending maintainer confirmation
Winner: alegw
Visit https://openbounty.status.im to learn more.

@alescode
Copy link
Contributor

alescode commented Jun 11, 2018

Hey peeps!

I'm tackling this one for the next couple days. Did a UX audit of Peepeth and started gathering usability heuristics specific to Ðapps.

If you're curious, here's a sneak peek. I like Markdown for these kinds of written tasks, but am open to format suggestions:
https://hackmd.io/FhfCq-rCTyKFQ_j6eyKSjw

Comments welcome!

@hesterbruikman
Copy link
Contributor Author

Great start @alegw!

Looking forward to see how Peepeth compares to some other DApps and understand if there are basic heuristics that are structurally lacking (e.g. due to ecosystem limitations) that we can shift our focus to.

Thanks for the update!

@alescode
Copy link
Contributor

alescode commented Jun 15, 2018

Ok, just finished producing a thorough report. You can read the whole thing here. I offer my recommendations humbly, since I'm new to the space:

  1. Acquiring ether and convincing users to spend it are the main sources of initial friction. Let's keep working on ways to abstract gas away during onboarding. Good resources to build on are this talk on Universal Logins, and the current implementation of Identity Gas Relay.
  2. Currently, the burden of estimating fees and letting users pick a confirmation speed is on Ðapp developers. This is inefficient for developers (reinventing the wheel) and confusing for users (variety of interfaces for the same task). Let's research if web3 providers could take over this responsibility.
  3. Ðapps should follow standards for signing messages. If users can be certain that a transaction is being requested from a URL they trust, there'll be less of a need to prime them before every transaction – explanations could be embedded in the web3 provider's request.
  4. Ðapps should be able to communicate with users that opt-in by using their Ethereum address. This would enable natively notifying the user when his transactions go through. We should converge on an address-to-address messaging standard, but communication should operate off-chain.
  5. Making web3 access opt-in will be key to avoid fingerprinting. We should propose a standard that web3 providers follow when requesting the user's permission to expose a wallet address.
  6. web3 providers should use USD when communicating with the user, or even better, request the user's native currency. Toshi does a fantastic job here.
  7. There should be a standard way to open Ðapp links in the user's preferred application. Let's research how this could be done.
  8. Let's create a standard on how logging out works: should it require signing a message? should Ðapps flush cookies upon logout?

If this has been useful, I'd like to review Bloom. They invest heavily in user experience, and we could derive more heuristics from a thorough analysis. It doesn't work on Status yet – they use Metamask-specific code and are planning to roll out native apps that also act as web3 providers. ETHLance could also be interesting, although my first impression is that the signup cost of around $10 is too high for most users.

@hesterbruikman @jpbowen

@alescode
Copy link
Contributor

Hey, any updates here?

@hesterbruikman
Copy link
Contributor Author

Thanks for pinging @alegw ! Totally missed this while I was out on vacation. I'll walk through the report today. Thanks for preparing!

hesterbruikman added a commit that referenced this issue Jul 20, 2018
@alescode
Copy link
Contributor

alescode commented Aug 5, 2018

Is the Open Bounty app working correctly? The pull request was merged, but the 5000 SNTs haven't been transferred.

@pablanopete
Copy link

@alegw sorry for the slow response on bounty payout, could you drop your wallet address here so I can send you the bounty amount Out of Band while we wait on a dashboard fix in Status Open Bounty.

If you don't feel comfortable putting it here in the comment could you email a ERC20 compatible wallets address to me? chris.hutchinson@status.im

@alescode
Copy link
Contributor

Emailed. Thanks!

@pablanopete
Copy link

Payout sent!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants