owned this note
owned this note
Published
Linked with GitHub
# Polkadot Human-Interface Guidelines
Guidelines for the creation and design of information systems, primarily but not purely, those using web technologies.
This guide aims to provide information relevant to both Polkadot and Kusama. Where information specific to one or the other is needed, the points will be labelled `Kusama:` or `Polkadot:`.
## Account display
### Identicon
Accounts will always be displayed with the Polkadot identicon to the left of them, as provided by the `polkadot-identicon` NPM package.
### Copying
Accounts should always have a means of copying the full SS58 account ID address (not the index address) to the system clipboard. On desktop platforms, this should be done through, at least, a click on the identicon, though other means may also be used. Mobile platforms may do it through a tap of the identicon, through a secondary icon, a menu icon or a long-tap, at their discretion.
### Label
The account shall be textually identified with a label. The content of the label may differ depending on circumstances. In this order, the content may be determined:
- The name of the account where there is a local address book entry for it, provided by the user.
- The name of the account where it is a known system account (e.g. Treasury account, Society account).
- The name of the account according to the on-chain identity registry, if one exists.
- The SS58 address rendering of the *account index*, if there is an on-chain indices module available, and if it has an entry for the account.
- The SS58 address rendering of the *account ID*.
In the case where there in an on-chain identity/registrar system and where the account has a registered name and where the standing is not positive, the label will be rendered with an opacity of 66% of normal (or a color to that effect). In all other cases, it should be rendered in normal foreground color.
#### Unicode
In case labels contain unicode emojis, all characters should be rendered in grayscale.
### Label prefix
In the case where there in an on-chain identity/registrar system, the label will be prefixed with an indication of registration status. This should be:
- a green circle with a tick inset where the worst registered standing is not negative and the best is positive;
- a red circle with a horizontal bar inset where the worst registered standing is negative;
- a gray circle with a horizontal bar inset where there is no negative nor positive registered standing.
### Sub-label
If there is adequate space (either on the line below or to the right), the SS58 address rendering of the *account ID* should be displayed *also*. Due to its length and nature, it should be rendered:
- 33% smaller than normal text;
- 66% of the opacity of normal text (or a color to that effect);
- Elided as needed with a "..." to indicate that some content was omitted for brevity.
SS58 addresses for both account indexes and IDs should *always* be rendered in preformatted/fixed-width, ideally in a simple sans-serif font (Monotype is good).
## Account entry
In purely offline systems (e.g. Parity Signer), accounts MUST be enterable through inputing the full SS58 address rendering of the account ID.
In generally online systems, accounts SHOULD be enterable though at least:
- The full SS58 address rendering of the account ID;
- The SS58 address rendering of the account index (this will require an on-chain lookup to validate and determine the account ID - if offline, then the user may be given an error message indicating that the functionality is unavailable until the system becomes on-line);
- The name of the account where there is a local address book entry for it, provided by the user.
- The name of the account where it is a known system account (e.g. Treasury account, Society account).
Enhanced systems: systems that are able to index named accounts in the registry on chains that support the Identity pallet or similar (e.g. explorers) should allow the text of any registered non-negative account name to be entered.
## QR-Codes
QR URI, substrate:address:pubKey:name. https://github.com/maciejhirsz/uos
## Key derivation
hd-derivation, default is '//kusama' for kusama network?
### Password
Support ///passphrase for wallet and hardware wallet.