Skip to content
This repository has been archived by the owner on Oct 11, 2020. It is now read-only.

UX Flows

Aviv Eyal edited this page Jan 6, 2019 · 3 revisions

Spacemesh Software Distros

  1. OS X Bundle (Full Node + Wallet)
  2. Windows Bundle (Full Node + Wallet)
  3. Linux Bundle (Full Node + Wallet for desktop linux)
  4. Wallet stand alone: Linux, Windows or OS X
  5. Full Node stand alone: Linux, Windows or OS X
  6. Instructions to build Full Node or Wallet from source for any supported platform

Terminology

  • Full Node - spacemesh full p2p blockmesh node console app
  • Wallet - a desktop app for working with accounts and spacemesh coins
  • Awards Account - a user specified account that receives Spacemesh coins awarded for running a full node
  • Account - a user created account in the Wallet. An account includes a private and public key and an optional friendly name and unique icon

First time user story - apps from bundle installer

  1. User downloads and installs the Spacemesh bundle (Wallet + Full Node) to desktop PC (Windoz, OS X or Desktop Linux)
  2. Wallet app auto starts when install is done
  3. User creates a new account
  4. User is prompted to setup a new full node with his new account
  5. User chooses to setup a full node
  6. Full Node app opens with the provided awards address
  7. User confirms awards address (or can alternatively paste a different awards address) and proceeds with the full node setup
  8. Awards address is persisted in full node's config file and is used in future node sessions

User profile: Desktop gamer. Knows how to work with desktop apps but not necessarily comfortable with copying data between apps.

First Time User Experience - Apps built from source

Variation 1 - user opens Full Node First

  1. User builds Wallet and Full Node from a github release source
  2. User starts the full node app (although we asked to open the `wallet first)
  3. Full Node prompts the user to paste an awards account and recommends to create one in the Wallet app
  4. User starts the wallet app, creates an account and copies its address
  5. User goes back to the full node, pastes the address and proceeds with the full node setup

Variation 2 - user opens Wallet App First

  1. User builds Wallet and Full Node from a github release source
  2. User starts the Wallet and creates an account
  3. Wallet prompts the user to copy the awards address to complete the full node setup
  4. User switches to the Full Node app
  5. Full Node prompts the user to paste an awards account and recommends to create one in the Wallet app
  6. User pastes the awards address and proceeds with the Full Node setup

User profile: Techie. Comfortable with switching between desktop apps and copying and pasting text between them.

Design Considerations

  • We'd like the full node app to remain a 100% console app without any fancy UI facade as we'd like to support desktop-less linux platforms
  • We'd like to enable auto-pasting of awards account only when a full new node is being setup to reduce the attack surface
  • We can't prevent some users from opening the full node software before the wallet app. Therefore we need to present a message in this case (as part of the full node setup) prompting the user to paste an awards address or open the wallet to create one.
  • We need to provide a local-only API in the full node to accept a new award account from a wallet app instance running on the same system while the node is in setup mode.