User Interfaces Design
Interfacce Utente - Organizzazione di Contenuti
Carmine Dodaro - Università della Calabria
Organizzazione dei Contenuti
Organizzazione di Contenuti
I contenuti devono essere organizzati in modo coerente con le aspettative degli utenti, seguendo due principi di base:
Organizzazione del Contenuto
L’organizzazione dei contenuti è utile quando si devono mostrare grosse quantità di dati (ad esempio in tabelle), oppure nel caso di ricerche, filtri, navigazione, ordinamento, ecc. I metodi principali sono:
Organizzazione di Obiettivi e Workflow
Nel caso di interfacce il cui scopo è raggiungere un obiettivo oppure in cui si debba seguire un flusso di lavoro è opportuno seguire delle linee guida generali:
Struttura dei testi
Struttura dei Testi
Linee guida per la gestione dei testi:
Contenuto dei Testi
Il contenuto dei testi è importante quanto la struttura (UX Writing):
Google I/O 2017. Cambiare “Book a room” in “Check availability” ha portato a un aumento del 17% del coinvolgimento.
Schermate
Schermate
Tipicamente possiamo osservare 4 diversi tipologie di schermate:
Schermate di riepilogo
Alcune considerazioni da tenere a mente quando si considera il design di queste schermate:
Schermate Focus
In questa tipologia di schermate è importante che il contenuto sia in risalto, possono essere presenti dei pulsanti di navigazione ma devono essere meno evidenti.
Riproduzione a tutto schermo su youtube:
Schermate di creazione
Queste schermate permettono di creare o aggiornare oggetti digitali. Ad esempio, questa tipologia di schermate sono comuni nell’ambito degli editor di testo o di immagini, per lo sviluppo del codice, ecc. In genere abbiamo due tipi di architetture:
Schermate di azione
Questa tipologia di schermate comprende le interfacce che servono per compiere un’azione. Le azioni possono essere diverso tipo:
Per queste schermate si utilizzano spesso le Form.
Navigazione
Navigare tra i contenuti
Alcuni tipi di navigazione:
Un aspetto importante della realizzazione di interfacce grafiche è nella navigazione tra i contenuti:
Lo scopo della navigazione è di aiutare gli utenti a conoscere e capire le informazioni relative allo spazio in cui si trovano.
Navigazione globale
È presente nella maggioranza di siti e applicazioni. Di solito ha la forma di menu, tab, barre laterali, ecc.
Navigazione di aspetti non legati all’applicazione
In molte applicazioni è presente un sistema di navigazione per alcuni aspetti che non sono propriamente legati alla fruizione dell’applicazione in sé. Un tipico esempio è la navigazione di aspetti legati alle informazioni personali degli utenti o alle impostazioni.
Navigazione per contenuto correlato
Collegamenti ad altre schermate che sono concettualmente vicine al contenuto attuale. Nel momento in cui l’utente interagisce con l’applicazione, questi collegamenti presentano delle opzioni che possono essere immediatamente rilevanti per l’utente.
Un esempio tipico è la sezione “Articoli correlati” su siti/applicazioni di informazione oppure “Acquisti simili” su siti/applicazioni di e-commerce.
Inoltre, è possibile usare i tag, cioè delle parole chiave, scelte dall’utente oppure inserite nel sistema, che permettono di visualizzare contenuti correlati per argomento.
Linee guida per la progettazione della navigazione
La navigazione di un’applicazione deve essere progettata accuratamente: quali opzioni di navigazione mostrare, come chiamarle, quando e dove viene mostrata la navigazione all’interno dell’UI, ecc.
Modelli di navigazione
Esistono diversi modelli di navigazione:
Modello a hub
In questo modello è presente una schermata centrale (hub), ad esempio l’home screen, e tante piccole schermate collegate a questa.
L’utente:
Hub
Pagina
3
Pagina
4
Pagina
1
Pagina
2
Modello fortemente connesso
In questo modello ogni schermata è collegata a tutte le altre. Può essere presente una pagina iniziale, ma ogni pagina ha un collegamento a tutte le altre. Ad esempio, perché esiste una navigazione globale che permette di accedere a tutte le pagine.
Pagina
3
Pagina
4
Pagina
1
Pagina
2
Modello gerarchico o ad albero
In questo modello esiste una gerarchia di schermate, partendo da una schermata home (o radice) da cui si possono raggiungere le sottocategorie.
Home
Categoria
1
Categoria
2
Categoria
3
1a
1a
3a
2a
3a
3b
Modello a step
In questo modello esiste una sequenza di schermate, dove si può raggiungere la precedente e la successiva. È il caso tipico delle presentazioni, dei wizard o dei questionari.
1
2
3
4
Modello piramidale
È una variante del modello a step dove esiste una schermata principale a cui ogni pagina si collega direttamente. È tipico di alcuni siti internet in cui ci sono delle storie, come Facebook o Instagram.
1
2
3
4
Hub
Navigazione flat o assente
È importante sottolineare che, sebbene la navigazione sia spesso uno strumento utile, non è sempre richiesta.
Ci sono delle applicazioni, come excel, eclipse, photoshop, ecc. dove gli utenti hanno una grossa varietà di strumenti subito visibili e utilizzabili. In questo caso non c’è una vera e propria navigazione all’interno dell’interfaccia, o è limitata ad aspetti di configurazione.
Regole da seguire
Esempio Sidebar
Layout
Layout
Per layout si intende la disposizione degli elementi all’interno della schermata.
Gli elementi principali di un layout sono:
Gerarchia visiva
Cosa fa apparire un contenuto come più importante di un altro?
Dimensione
Gerarchia visiva
Cosa fa apparire un contenuto come più importante di un altro?
Colori (sia degli elementi che dello sfondo)
Gerarchia visiva
Cosa fa apparire un contenuto come più importante di un altro?
Densità
Layout e psicologia
Alcuni principi Gestalt:
Cards
Un elemento di layout molto diffuso consiste nelle cards.
Sono molto utili per separare contenuti eterogenei, per mostrare notizie, interazioni social, foto o video, ecc.
Cards
Regole generali:
Consigli estetici:
Stili ed estetica
Stili ed estetica
La gradevolezza estetica ha un ruolo cruciale nel successo di un’applicazione o di un prodotto. Un buona interfaccia grafica deve adottare degli stili e dei parametri estetici appropriati.
Punti cruciali:
Colori
I colori sono molto importanti in una qualsiasi interfaccia grafica, perché sono uno degli elementi percepiti immediatamente dall’utente. Alcune regole di base:
Una guida dal mondo android: https://material.io/design/color/the-color-system.html
Schema di colori
Si possono utilizzare diversi schemi di colori:
Per la composizione dei colori useremo il concetto di Hue Saturation Value (HSV), tradotto come tonalità, saturazione e valore. Spesso è anche chiamato Hue Saturation Brightness (HSB), tradotto come tonalità, saturazione e luminosità. Inoltre, faremo riferimento alla ruota del colore (color wheel in inglese).
Link utili:
Schema monocromatico
Lo schema monocromatico prevede l’uso di un unico colore con diverse variazioni. Suggerimenti:
HSV(217,73,96)
HSV(217,73,46)
HSV(217,73,16)
Schema monocromatico: esempio
Primo colore: 60%
Secondo colore: 30%
Terzo colore: 10%
Colori analoghi
I colori analoghi sono gruppi di tre colori vicini nella ruota del colore. Suggerimenti:
HSV(187,72,96)
HSV(217,72,96)
HSV(247,72,96)
Colori analoghi: esempio
Colori complementari
I colori complementari sono gruppi di due colori opposti nella ruota del colore. Suggerimenti:
HSV(37,72,96)
HSV(217,72,96)
Colori complementari: esempio
Colore principale HSV(217,72,96): sfondo del pulsante Visualizza
Colore principale dark HSV(217,72,36): testo header
Colore principale “medio” HSV(217,72,56): colore testo
Colore opposto HSV(37,72,96): sfondo dell’immagine
Colore opposto dark HSV(36,72,36): bordi e testo del pulsante Scarica
Colori complementari divisi
Questo schema è simile a quello dei colori complementari, dove il colore opposto viene diviso ulteriormente in due colori. Suggerimenti:
HSV(7,72,96)
HSV(217,72,96)
HSV(67,72,96)
Colori complementari divisi: esempio
Schema a triade
Questo schema è una variante dei colori complementari divisi, dove però i colori sono distribuiti equamente nella ruota dei colori. È preferibile usare un colore dominante e gli altri due per dare enfasi a qualcosa. Suggerimenti:
HSV(97,72,96)
HSV(217,72,96)
HSV(337,72,96)
Schema a triade: esempio
I colori del pulsante “ordina subito” e del blocco “regalo per te” hanno una luminosità del 66% per donare più contrasto.
Schema a rettangolo
Questo schema usa 4 colori, di cui 2 coppie sono complementari e 2 coppie sono analoghi. Suggerimenti:
C2 - HSV(187,72,96)
C1 - HSV(217,72,96)
C3 - HSV(37,72,96)
C4 - HSV(7,72,96)
Schema a rettangolo: esempio
Gradienti
I gradienti sono molto utili nelle schermate grandi per aiutare gli utenti a focalizzarsi su una specifica azione. Suggerimenti:
HSV(247,72,91)
HSV(217,72,96)
Gradienti: esempio
Tipografia
Tipografia
Immagini
Le immagini sono uno strumento importante per una qualsiasi interfaccia. Alcune considerazioni:
"Artificial Intelligence & AI & Machine Learning" by mikemacmarketing is licensed with CC BY 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by/2.0/.
Icone
Le icone sono delle piccole immagini che si possono utilizzare in combinazione del testo (o in sostituzione del testo) per esprimere un’idea o denotare una funzionalità. Suggerimenti:
Es. Modalità Notturna
Stili
Ci sono diversi stili visivi nel design, alcuni di questi sono:
Liste di elementi
Liste di elementi
Una delle cose più comuni di un’interfaccia grafica è mostrare delle liste di elementi in un’interfaccia grafica. Per elemento si intende:
Liste di elementi
Osservazioni da fare:
Liste di elementi
Quando l’utente seleziona un elemento all’interno di una lista, come mostrare i dettagli dell’elemento selezionato?
Split View, la schermata non cambia, i dettagli dell’elemento vengono mostrati all’interno della lista stessa.
Liste di elementi
Quando l’utente seleziona un elemento all’interno di una lista, come mostrare i dettagli dell’elemento selezionato?
Singola-finestra, i dettagli dell’elemento occupano lo spazio della lista.
Liste di elementi
Quando l’utente seleziona un elemento all’interno di una lista, come mostrare i dettagli dell’elemento selezionato?
Inlay, l’elemento è mostrato all’interno della lista stessa. La lista si espande per mostrare i dettagli dell’elemento.
Liste di elementi
Come mostrare una lista con immagini, video, testo?
Cards: Immagini combinate con testo.
Liste di elementi
Come mostrare una lista con immagini, video, testo?
Griglia di Thumbnail: vengono mostrare piccole preview delle immagini.
Liste di elementi
Come mostrare una lista con immagini, video, testo?
Carosello: è un’alternativa alla griglia di thumbnail dove c’è un oggetto in primo piano e delle frecce per scorrere all’interno della lista.
Liste di elementi
Come mostrare una lista con tanti elementi?
Liste di elementi
Come mostrare una lista con elementi organizzati in categorie o gerarchicamente?
Liste di elementi: suggerimenti
Quando una lista ha un ordine alfabetico o numerico (es. una rubrica telefonica), potrebbe essere utile aggiungere un modo di navigare utilizzando le lettere.
Nel caso della presenza di un campo di ricerca o di filtro, prevedere un testo nel caso di lista vuota.
Se l’utente può aggiungere elementi alla lista, prevedere la presenza di un pulsante in fondo alla lista per aggiungere velocemente un elemento. Questo è molto importante nel caso in cui il risultato di una ricerca sia vuoto.
Schermata Netflix nel caso in cui non ci siano elementi nella mia lista.
Visualizzare dati complessi
Visualizzare dati complessi
La visualizzazione di dati complessi è una disciplina a sé all’interno della realizzazione di interfacce grafiche.
Da un punto di vista grafico si possono utilizzare diversi elementi: tabelle, grafici, mappe, diagrammi, ecc. Tuttavia lo sforzo maggiore è richiesto nella progettazione degli elementi da visualizzare:
Organizzazione dei dati
In genere i dati vanno mostrati utilizzando un modello organizzativo:
La scelta del modello organizzativo comunica all’utente la forma che si vuole associare ai dati da mostrare.
Evidenziare i dati
Quanti di questi numeri sono superiori a 1?
0.912 | 0.943 | 0.558 | 0.567 | 0.241 | 0.713 | 0.732 | 0.555 | 0.023 | 0.085 |
0.321 | 0.234 | 0.235 | 0.984 | 0.124 | 0.567 | 0.588 | 0.632 | 0.006 | 0.301 |
0.015 | 0.236 | 1.279 | 0.135 | 1.079 | 0.685 | 0.111 | 0.241 | 0.079 | 0.892 |
0.154 | 0.135 | 0.079 | 0.236 | 0.122 | 0.135 | 1.115 | 0.135 | 0.543 | 0.568 |
0.001 | 0.960 | 0.567 | 0.246 | 0.192 | 0.863 | 0.928 | 0.904 | 1.279 | 0.597 |
0.885 | 0.654 | 0.079 | 0.135 | 0.079 | 1.070 | 0.864 | 0.889 | 0.158 | 0.465 |
0.114 | 0.984 | 1.104 | 0.344 | 0.990 | 0.792 | 0.098 | 0.111 | 1.223 | 0.263 |
Evidenziare i dati
Nel caso precedente, il carico cognitivo del cervello aumenta insieme al numero di opzioni. In questo caso, gli occhi devono scorrere tutti gli elementi e valutare ogni singolo numero.
Esistono diverse tecniche per velocizzare il processo di riconoscimento.
Evidenziare i dati
Si può utilizzare lo stile.
0.912 | 0.943 | 0.558 | 0.567 | 0.241 | 0.713 | 0.732 | 0.555 | 0.023 | 0.085 |
0.321 | 0.234 | 0.235 | 0.984 | 0.124 | 0.567 | 0.588 | 0.632 | 0.006 | 0.301 |
0.015 | 0.236 | 1.279 | 0.135 | 1.079 | 0.685 | 0.111 | 0.241 | 0.079 | 0.892 |
0.154 | 0.135 | 0.079 | 0.236 | 0.122 | 0.135 | 1.115 | 0.135 | 0.543 | 0.568 |
0.001 | 0.960 | 0.567 | 0.246 | 0.192 | 0.863 | 0.928 | 0.904 | 1.279 | 0.597 |
0.885 | 0.654 | 0.079 | 0.135 | 0.079 | 1.070 | 0.864 | 0.889 | 0.158 | 0.465 |
0.114 | 0.984 | 1.104 | 0.344 | 0.990 | 0.792 | 0.098 | 0.111 | 1.223 | 0.263 |
Evidenziare i dati
Si possono utilizzare i colori.
0.912 | 0.943 | 0.558 | 0.567 | 0.241 | 0.713 | 0.732 | 0.555 | 0.023 | 0.085 |
0.321 | 0.234 | 0.235 | 0.984 | 0.124 | 0.567 | 0.588 | 0.632 | 0.006 | 0.301 |
0.015 | 0.236 | 1.279 | 0.135 | 1.079 | 0.685 | 0.111 | 0.241 | 0.079 | 0.892 |
0.154 | 0.135 | 0.079 | 0.236 | 0.122 | 0.135 | 1.115 | 0.135 | 0.543 | 0.568 |
0.001 | 0.960 | 0.567 | 0.246 | 0.192 | 0.863 | 0.928 | 0.904 | 1.279 | 0.597 |
0.885 | 0.654 | 0.079 | 0.135 | 0.079 | 1.070 | 0.864 | 0.889 | 0.158 | 0.465 |
0.114 | 0.984 | 1.104 | 0.344 | 0.990 | 0.792 | 0.098 | 0.111 | 1.223 | 0.263 |
Evidenziare i dati
Si può utilizzare la dimensione del testo.
0.912 | 0.943 | 0.558 | 0.567 | 0.241 | 0.713 | 0.732 | 0.555 | 0.023 | 0.085 |
0.321 | 0.234 | 0.235 | 0.984 | 0.124 | 0.567 | 0.588 | 0.632 | 0.006 | 0.301 |
0.015 | 0.236 | 1.279 | 0.135 | 1.079 | 0.685 | 0.111 | 0.241 | 0.079 | 0.892 |
0.154 | 0.135 | 0.079 | 0.236 | 0.122 | 0.135 | 1.115 | 0.135 | 0.543 | 0.568 |
0.001 | 0.960 | 0.567 | 0.246 | 0.192 | 0.863 | 0.928 | 0.904 | 1.279 | 0.597 |
0.885 | 0.654 | 0.079 | 0.135 | 0.079 | 1.070 | 0.864 | 0.889 | 0.158 | 0.465 |
0.114 | 0.984 | 1.104 | 0.344 | 0.990 | 0.792 | 0.098 | 0.111 | 1.223 | 0.263 |
Evidenziare i dati
All’interno dei grafici si possono utilizzare colori e simboli diversi.
Esplorazione dei dati
Una buona navigazione dovrebbe permettere agli utenti di concentrarsi sui punti di interesse. Ci sono diverse tecniche per esplorare i dati:
Ricerca e filtro dei dati
La ricerca e il filtro all’interno dei dati è fondamentale, una buona interfaccia di filtro o di ricerca:
Input dagli utenti: Form e Controlli
Form
Nella realizzazione dei form è opportuno tenere a mente i seguenti principi:
Form
Messaggi di errore
Messaggi di errore
La progettazione dei messaggi di errore è fondamentale nella realizzazione di una UI. Alcune regole:
Esempi: google moduli
Esempi: github.com
Esempi: Mail
Apple
Gmail