Principi
LEVERAGE ON USERS KNOWLEDGE: Utilizziamo lo conoscenze pregresse dell’utente, quindi
- use standard widgets
- use standard gesture
- usare metafore (interruttori, cestino)
DISCOVERABILITY:
- non nascondere i controlli
- ad esempio non nascondere le azioni sotto uno swipe (tipo che se fai swipe su una chat poi escono altri bottoni)
FEEDBACK - action and reaction:
- ad ogni azione deve essere associata una reazione
- ad esempio su una pagina che posso scrollare se sto tutto sopra (q quindi teorixamente non posso più dalire) se provo a scrollare verso l’altro posso, l’intefaccia sale comunque poco (ma richiede più energia) anche se non c’è niente da vedere, quando lascio fa effetto molla e torna in dietro, cosil’utente capisce che quella schermata si può scrollare, ma non va avanti solo perché finito il contenuto
MEMORY
- se un utente va su una nuova schermata, può essere utile mettere qualcosa che fa ricordare dove si stava prima.

USER in CONTROL:
- Cancel se l’operazione è importante e non reversibile mettere sempre un tasto cancel vicino al confirm (e non reversibile) (es. pagamento, connessione a wifi)
- Undo si utilizza dopo un operazione effettuata (reversibile) (es. modifica file)
- PROGRESS BARS usa le progress bar, cosi l’utente capisce che l’attesa è dovuta a un motivo e non ad un errore
CONSISTENCY (coerenza)
- same gesture same action (non possiamo fare due gesture uguali ma che fanno cose diverse in parti diverse dell’app)
- AVOID MODES (è meglio non utilizzare modalità, tipo modalità scrittura e lettura, che cambiano le cose che si possono fare con la stessa interfaccia)
Material & Color

Layer e Distanze:
Anche se vediamo una schermata 2D la dobbiamo immaginare in 3d can layer e distanze tra gli elementi.

- oss: l’ombra può essere utilizzata per indicare la distanza, più è diffusa più l’oggetto è lontano dal layer sottostante
Componenti
LISTS: multiple line items in a vertical arrangement as a single continuous element

CARDS: piece of paper that contains unique related data

ALERTS:
- inform about critical situations
- require users to make decisions
- system generated

BOTTOM SHEETS
- present a set of actions
- user solicited
