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

Revamp "Coin" template #241

Closed
13 of 18 tasks
samajammin opened this issue Jun 1, 2020 · 0 comments
Closed
13 of 18 tasks

Revamp "Coin" template #241

samajammin opened this issue Jun 1, 2020 · 0 comments
Assignees

Comments

@samajammin
Copy link
Collaborator

samajammin commented Jun 1, 2020

Summary

Revamp this template, primarily the README, based on feedback from our recent dev survey.

Most of the feedback from #234 also applies to this template.

  • The important bits in the README are drowned in between explanations on boilerplate code that are not relevant for the sake of learning the new concepts.
  • Bring the steps to deploy to the top of README to make users able to test the project right away.
  • The template should provide a quick overview on the real-world use cases / applications of tokens. Go deeper into what is a "coin" in the context of Ethereum, so the value of the example is clear to the user.
  • Use the term "token" instead of "coin" - more widely used
  • This template should build off the explanations from the new Hello World template (Revamp "Hello World" template #234). We should assume the user has already done that (& explain that for a more basic introduction, start w/ Hello World)
    • Remove the duplicate explanations, e.g. in Coin.sol the comments should focus on new concepts that we introduce (e.g. events & reading from the msg object)
    • Explain how events and subscriptions work
    • Explain how to connect to a node and how to connect to the user's wallet (currently obscured by the magic Contract object)?
  • Since this project focuses on sending txs, there should be more attention to that. There is no mention in the README about where the sender account comes from, or how it would work for a real-life user. It just instructs to "call mint", and it all works without understanding how or why.
    • Not clear how to find an address that user can paste in to the address field
    • Not clear how to create new accounts
    • Readme should instruct to send tokens across accounts & check balances
    • Introduce the user account selector in the README
  • The readme starts by indicating that it will cover "events that clients can subscribe to", though there is nothing about events in the app (except for emitting them, but then it's not clear what to do with them).
    • Events aren't emitted to console or shown in the tx tab, there's no way to see them
  • UI allows for minting but not sending of tokens. Should the template be simplified so minting happens in the constructor (with issuance amount as a parameter?) & sending happens in the UI? Or add sending capability in the UI? Button text even says "Send" which makes it confusing (e.g. trying to do this from an address other than the owner, the tx fails). At very least, text should display "Mint new coins" instead of "Create new coins".
  • Not obvious how to get here from Hello World (After Hello World, how to get to the next project? #229)
  • Not obvious how to get to the next template (Crypto Pizza) from here
  • Link to the actual ERC20 standard at the end, to contextualize the example.
  • Provide next steps in for developers to bring this project into a local dev environment using their favorite IDE to keep coding their coin smart contract (logics) and the users UI/UX.
    • Possible to make these projects easily exportable to a local dev environment? How would that work?
  • Bug: trying to send tokens (via Interact panel) as an account other than the owner does nothing. No error message, no UI feedback at all. Entire interact tab appears to break.
  • Bug: trying to send tokens (via Interact panel) - am told I have insufficient balance - how to check ETH balance? Can we give more by default so we don't hit this issue? https://share.getcloudapp.com/jkuQddbv

Motivation

After digging into app usage:

  • ~50% of total sessions are < 10 seconds
  • ~50% of visitors create a project
  • ~20% of projects created deploy a contract

The goal here is to improve these metrics, specifically increasing the % of projects that actually deploy a contract.

Describe alternatives you've considered

  • Add onboarding tours of the IDE (e.g. via tooltip popups)
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

2 participants