Prima o poi l’errore arriva, lo sappiamo. Puoi progettare la tua app in maniera impeccabile, creare controlli e form con scrupolo e coscienza, gestire tutte le eccezioni possibili. Ma arriva. Qualcosa o qualcuno manderà in panne la tua applicazione.

Magari l’errore non dipende da un bug del codice sorgente. Forse chi sta usando l’app pretende di inserire un dato che contrasta con le regole di validazione. Se l’alert che compare a video non aiuta gli utenti ad uscire dall’impasse e proseguire con il proprio task, per lorosarà sempre colpa della tua applicazione. E sono dolori. 

Un messaggio d’errore poco chiaro causa frustrazione: fa sentire le persone incapaci di risolvere un problema e completare un’operazione. Ciò comporta un'esperienza utente poco soddisfacente che potrebbe degenerare in abbandoni dell’applicazione, ticket o telefonate all’assistenza tecnica, malumori offline e online - recensioni negative, giudizi a una stella negli store - crollo dei download. 

Occorre gestire gli errori sia a livello di sviluppo che a livello linguistico. Il primo caso ti sarà già familiare: un’app dal crash facile è destinata alla rapida disinstallazione. Al secondo, forse, non hai mai dato molto peso. Di solito individui un errore, lo intercetti lato codice e lo spieghi. “Capiranno”, pensi. Ma qui è la tua fase progettuale a scatenare un’eccezione. 

Un’applicazione empatica ha le parole giuste per guidare le persone nei momenti di crisi: bug di codice, errori d’uso, falle del sistema. È un po’ come accade nella vita di tutti i giorni: quanti conflitti nascono nei momenti di tensione per incomprensioni linguistiche? Possono testimoniarlo centinaia di amici, coppie o colleghi fuori da questo schermo. L’errore arriva, ma se scriviamo il messaggio d’errore giusto, lo gestiremo nel migliore dei modi. Senza incomprensioni e frustrazioni.

Gli errori sono tutti uguali agli occhi delle persone

Le persone non distinguono i propri errori di digitazione dai bug del codice. Nella loro percezione un errore è un rallentamento o l’arresto improvviso di un processo in corso. Poco importa cosa li ha bloccati, vogliono sapere come proseguire. Al classico “Oops, questo è imbarazzante” per un problema del sistema le persone si chiedono “E quindi?”.  

Il messaggio d’errore efficace non si limita a segnalare un problema: ha in sé la chiave per superarlo. Pensa alla spia del carburante in riserva. Non sarebbe fantastico se all’accensione della spia rossa il computer di bordo ti dicesse “Sei in riserva. Puoi fare rifornimento a 5km”?

Scrivi messaggi d’errore puntuali

Limite di caratteri in un input text. Poiché sei attento, nel placeholder o in una label hai specificato che in un campo del tuo form di vendita le persone possono inserire al massimo 20 caratteri. Quale messaggio d’errore progetti per chi supera il limite?

Hai superato il limite di 20 caratteri, riprova

Oppure:

Attenzione, hai superato il limite di 20 caratteri

Pensi vada bene. Rilasci l’app in produzione ma nessuno completa l’acquisto. Come mai? Forse non hai preso in considerazione il modo in cui le persone usano le applicazioni. Ad esempio ci sarà sicuramente qualcuno che avrà avviato la tua app in metro, con un occhio allo smartphone e l’altro alle fermate. Sono situazioni dove la disattenzione è sempre in agguato e il ventunesimo carattere nell’input text può facilmente scappare. Ma quanto è davvero utile sottolineare che “hai superato il limite di 20 caratteri”? Suona un po’ saccente, non dice nulla della natura dell’errore e costringe il nostro pendolare ad uno scomodo riconteggio delle battute.

Un messaggio d’errore puntuale spiega esattamente come fare:

Il campo xxxx si aspetta 20 caratteri. Cancellane 1.

Scrivi messaggi d’errore umani

Il core del tuo lavoro è istruire le macchine affinché facciano delle cose. Quando sviluppi però non ti rivolgi a loro ma alle persone che useranno i tuoi prodotti. Un messaggio d’errore umano deve parlare alle persone, essere comprensibile e usare il loro linguaggio. Prendi questo drammatico messaggio d’errore. 

Server down

Per te è un incubo. Per le persone è l’apocalisse. Che significa? Da cosa dipende? Come risolvo?

Page 404

Oppure ancora:

C’è stato un imprevisto

Tu sai quello che sta accadendo. La persona dall’altro lato dello schermo invece non lo sa. Anche in questi casi accendiamo la spia del carburante in riserva ma lasciamo le persone al buio, senza spiegare come risolvere l’inconveniente. Gli stessi messaggi potrebbero essere riscritti così.

L’applicazione non riesce a collegarsi al server.

Prova ad aggiornare la pagina. Se il problema persiste, segnalacelo qui.

Questa pagina è inesistente o forse è stata rimossa.

Torna all’homepage.

Il messaggio d’errore come opportunità

Durante lo sviluppo ci concentriamo per far funzionare tutto nel modo migliore. Se qualcosa non va per il verso giusto ci armiamo di debug e santa pazienza per raggiungere un risultato in linea con quanto previsto dall’analisi funzionale.

Dovremmo applicare lo stesso modello anche per la scrittura dei messaggi d’errore: testarli con persone vere, diverse da noi, per capire se questi testi possano realmente aiutarle a risolvere i problemi. Guai a concepire questa fase come successiva allo sviluppo perché ogni elemento di interazione – compresi i messaggi di errore – fa parte dello sviluppo stesso. 

Senza un’esperienza utente positiva, le nostre applicazioni sono destinate a fallire. Per questo è fondamentale che sviluppatori e UX designer lavorino allo stesso tavolo. Diversamente sarebbe un errore. Purtroppo inspiegabile, anche con un messaggio scritto ad arte.