desmos-labs / mooncake

The first decentralized social app based on Desmos
MIT License
46 stars 14 forks source link

Implement the mnemonic phrase backup curtain page #22

Closed kwunyeung closed 4 years ago

kwunyeung commented 4 years ago

We need to implement the full UX to ask users to backup their mnemonic phrase at a certain condition. It will be like this.

User flow

  1. At a certain condition, a curtain page will be displayed
  2. The curtain page requires the user to complete the backup process before allowing him/her to continue using the app.
  3. If the curtain page is passed, the user will be able to continue using the app. Optionally getting some rewards as finishing a quest.

Conditions on triggering the curtain page

  1. The user has made a certain number of transactions, e.g. after 5 posts or reactions
  2. The user account has a certain value of assets
  3. The user is going to operate some asset related operations, e.g. staking, which will be directed to Telescope in the future.

Rewards

  1. Drop a certain number of DSM to the account
  2. Get a Badge

@RiccardoM @bragaz Let's discuss. We will also need @Rooty2020 to help prepare the design.

kwunyeung commented 4 years ago

I think this is a quite important UX that make Mooncake different from other crypto-related project. We are giving Mooncake users at least 3 new aspects.

  1. No need to go through any centralized registration to use Mooncake
  2. The mnemonic is very important, back it up before doing anything else
  3. Use it immediately. You can backup and continue if you like it, or just leave it on your phone. The airdropped tokens and the activities done are still yours.

@RiccardoM @rooty2020 @ryuash please consider putting this at a higher priority. We don't need to drop the rewards or the badges to the users at this stage. We only need the records and drop the tokens later.

Link back to the original screen flow for reference. https://xd.adobe.com/view/078b798a-9afc-407a-67c4-15748a11be5b-71ba/screen/da41e4ab-e3c9-406f-b41d-f11d195a837d/

RiccardoM commented 4 years ago

@ryuash I think that implementing this issue might be the best way to learn a lot about the overall project structure. I think that the following already existing pieces could be useful:

The UX should be pretty much the same of the one that the user goes though when he wants to export the mnemonic, so other things might be found when exploring that code.

If you think that the code structure can be improved somehow, just do it :wink: