Dato un utente, stupido a piacere...

Ho davanti il libretto di istruzioni dell'ultimo apparecchio elettronico che ho comprato. Le istruzioni iniziano così:
1) Leggere le istruzioni. Leggere tutte le istruzioni di sicurezza e d'uso prima di utilizzare il prodotto.
2) Conservare le istruzioni. Conservare le istruzioni di sicurezza e d'uso per consultazioni future.
3) Rispettare le avvertenze. Rispettare tutte le avvertenze relative al prodotto e indicate nelle istruzioni d'uso.
4) Seguire le istruzioni. Attenersi a tutte le istruzioni di uso e funzionamento.
Siamo italiani, e non è una critica. Siamo italiani, e quindi europei, e sorridiamo quando leggiamo queste istruzioni. Sappiamo tutti che è un'impostazione che viene dagli Stati Uniti dove, forse a causa della facilità con cui vengono vinte certe cause, le aziende sentono la necessità di cautelarsi contro un utente che, dopo aver letto le istruzioni, ritenga che non è opportuno seguirle. In Europa l'impostazione era diversa, almeno fino a non molto tempo fa. Ora stiamo importando, insieme ai prodotti, anche questo modo di affrontare le istruzioni, e gli utenti.
Qualche mese fa sono stato all'Ikea. Vicino alle casse, in vista di chi era in coda, un cartello diceva più o meno: "per velocizzare le operazioni, posizionare gli oggetti in modo che il codice a barre sia ben visibile e raggiungibile dalle casse". Si richiedeva all'utente un comportamento intelligente; lavorando nell'informatica, che è uno dei settori che più velocemente si sta avvicinando all'impostazione "Stati Uniti", me ne sono stupito. Certo, è probabile che pochi utenti seguano l'indicazione, ma più che altro per pigrizia: se ci fosse un vantaggio riconoscibile per l'utente, sono certo che sarebbe tutto un girare di codici a barre verso le casse.
Prima di proseguire, credo che sia il momento di spiegare perché parlo di queste cose su una pagina tipicamente dedicata alla sicurezza. Il motivo è semplice: nei prossimi anni l'utente svolgerà attraverso il computer una grande quantità di attività critiche; già adesso, spesso queste attività vengono proposte attraverso servizi insicuri, con la motivazione che una maggiore sicurezza richiederebbe all'utente di svolgere operazioni più complesse, cosa che non è in grado di fare. Se rimarrà questa impostazione, temo che molti potenziali sviluppi, dall'e-commerce all'e-government, avranno parecchie disillusioni. È opportuno quindi porsi alcune domande importanti. Dobbiamo davvero partire dall'idea che un utente non sappia svolgere compiti complessi? Quanto è colpa dell'utente, e quanto del sistema, dell'interfaccia, o delle istruzioni? Quanto si può contare sulla capacità dell'utente di capire quello che sta facendo? Quanto è legittimo mettere a repentaglio la sicurezza delle sue attività in base ad una sua presunta incapacità di decidere e di agire?
Torniamo al libretto delle istruzioni. Dopo le indicazioni banali, subentra la parte tecnica. Nella stessa colonna della prima pagina, poche righe più sotto,  troviamo quindi:
14) Messa a terra o polarizzazione: Se il prodotto è equipaggiato con una spina a corrente alternata polarizzata (una spina avente una lamella più grande dell'altra), essa si introduce nella presa in un unico modo. Si tratta di una funzione di sicurezza. Se non si riesce a inserire completamente la spina nella presa, provare a capovolgerla. Se la spina continua a non entrare, rivolgersi al proprio elettricista per sostituire la presa obsoleta. Non annullare lo scopo di sicurezza della spina polarizzata.
A parte la poca cura nell'italianizzazione (noi non abbiamo spine polarizzate con lamelle), si potrebbero fare molte considerazioni su questo mirabile connubio di tecnicismi e banalità; è interessante ad esempio  l'idea che chi sa cos'è una presa polarizzata o come se ne annulla lo scopo di sicurezza, non sappia infilare una spina. Questa è una caratteristica tipica delle istruzioni di buona parte degli strumenti elettronici ed informatici: l'accostamento di concetti banali "per spiegare all'utente inesperto", a concetti, termini e procedure che invece richiedono una competenza specifica. Il problema, oltre che alla poca cura, è spesso dovuto al fatto che al tecnico che prepara le istruzioni non viene posto realmente il problema di farsi capire dall'utente generico. O forse, il problema è proprio che le istruzioni le prepara un tecnico, preoccupato più di essere corretto che di essere chiaro. Nell'informatica il problema è particolarmente evidente. Vediamo ad esempio KDE, giusto per non fare tutti gli esempi con prodotti Microsoft. Con un click del pulsante destro sulla taskbar, compare una voce Help, che apre una finestra che dovrebbe servire all'utente ignaro a capire cosa fare, o almeno a cosa serve e come usare la taskbar; in realtà, cliccando in diversi punti della taskbar compaiono help su argomenti completamente diversi (ovvio, dirà l'informatico, sono i diversi componenti della taskbar; peccato che questo concetto sia ovvio solo per l'informatico). Uno di questi Help riguarda il Kicker. Dopo la solita sequela di disclaimer e copyright, troviamo: "Kicker is the KDE application starter panel and is also capable of some useful applets and extensions. It usually resides on the bottom of the desktop". Se questa presentazione non fosse abbastanza criptica per chi non sa cos'è un applet o un'estensione, la sezione "Introduction" aiuta l'ignaro utente a capire meglio la situazione: "Kicker is the application launcher panel of the K Desktop Environment. Besides the K Menu, where you can start applications, Kicker is also capable of running docked applets like the pager, the taskbar or the clock, and extensions, such as child panels". L'Help generale di KDE è peggio, parte con una storia di Unix e delle interfacce a linea di comando... Microsoft Office è meglio? Basta provare nell'Answer Wizard (ho una versione in inglese di Office 2000) una semplice domanda come "How do I position an image in the middle of the page?" per capire che il programma ha sì indovinato cosa mi serviva, ma il testo di spiegazione parla subito di "anchors" e simili. La maggior parte degli utenti di Office, anche quelli che usano questo strumento da anni, non ha idea di cosa sia un'anchor, e quindi pare strano trovare questo concetto in un "Help Wizard". Comunque si possono provare a seguire pedissequamente le istruzioni: partendo dall'idea di non sapere già  dove andare a parare, non si va da nessuna parte. Se invece la domanda è "How do I put an image in the middle of the page?", la situazione è molto peggiore. Non tutte le risposte sono così imprecise, ma alcune sono peggio. In effetti, le librerie e le edicole sono piene di libri di "Office for dummies"; ma non sono esattamente le informazioni fornite da questi libri,  quelle che servono all'utente inesperto che cerca in una pagina di help? Perché queste informazioni devono essere scritte in libri di terze parti, e non sono nell'help? (Possibile risposta: perché l'Help, nonostante il nome, non ha come scopo principale aiutare l'utente, bensì documentare le funzionalità).
Uno dei passatempi tipici degli informatici è raccontarsi storie dell'orrore su comportamenti paradossali degli utenti che causano danni di vario genere ai sistemi, o che sprecano il tempo di sistemisti ed Help Desk con problemi assurdi.  Si dice anche spesso che un programma deve essere "a prova di stupido", alludendo alla capacità degli utenti di fare delle azioni impreviste e irrimediabilmente dannose nell'uso di un programma.
Questa abitudine, purtroppo, è spesso indice della reale convinzione di molti informatici (sistemisti, programmatori, progettisti...) che l'utente sia irrimediabilmente incapace di ragionare e di comprendere come svolgere le operazioni più elementari.
Vorrei fare allora una considerazione, ovvia ma doverosa: con qualunque categoria di persone si parli, ognuna avrà le sue horror stories da raccontare sui suoi utenti: idraulici, avvocati, poliziotti, falegnami, negozianti: ognuno può raccontare qualcosa, e generalmente ognuno può finire nei racconti di qualcun'altro, e in questo gli informatici non fanno differenza. Tuttavia, non sento mai un idraulico dire per questo che "le persone sono stupide" (o forse lo fanno solo quando parlano fra di loro?), anche se su alcune singole persone certamente si sbilanciano. Inoltre, ognuno nel proprio campo tratta problemi complessi, ed è in difficoltà con i problemi complessi degli altri. Perché allora l'impostazione dell'informatico nel suo lavoro è così negativa?
Un primo suggerimento forse lo può dare una semplice considerazione: spesso, un programma a prova di stupido è semplicemente un programma robusto: un programma che permette solo alcune operazioni, e che a tutte queste operazioni risponde in modo consistente; un programma ben fatto, insomma. Qui si ribalta la prospettiva: non è il comportamento dell'utente ad essere in discussione, ma la qualità della realizzazione dell'informatico.
Certo, i computer sono probabilmente gli oggetti più complessi che l'uomo abbia mai realizzato, e quindi sembra difficile intefacciare l'utente in modo semplice.  Proviamo però a considerare un'automobile moderna: si tratta di un oggetto più complesso di un computer, come minimo perché di computer ne contiene alcuni. Tuttavia, questa complessità è tenuta ben lontana dalle mani e dagli occhi dell'utente: l'utente dispone di pochi semplici comandi, e se si vuole c'è anche il cambio automatico. La guida si riduce così a un volante, un freno, un acceleratore e i controlli delle luci. Nessuno propone all'autista di regolare a mano la miscela aria/benzina (se non gli piace quella di fabbrica, o se sta salendo di quota), e l'autista non può cambiare neanche i colori delle luci del cruscotto. Per essere precisi, neppure il meccanico lo può fare, a meno di manomettere seriamente la vettura. Magari in futuro qualcuno proporrà di personalizzare il cruscotto, e magari allora rischieremo che la macchina non parta a causa di una schermata blu. In realtà forse ultimamente ci stiamo spingendo proprio in quella direzione, così avremo davvero le macchine che si fermano per un divide-by-zero,  dopo le portaerei (è divertente ricercare questi aneddoti prima nella propria memoria, poi sulla rete). Speriamo non lo facciano spesso quanto i PC: chi non ricorda il famoso aneddoto del confronto fra l'evoluzione del PC e quella dell'automobile?
Certo, l'automobile tutto sommato deve fare una sola cosa, abbastanza semblice, mentre il computer è utilizzato per molti compiti anche complessi. Spostiamoci quindi sul PC. Clicco con il pulsante destro sullo sfondo, scelgo "Proprietà" e mi si apre la finestra di configurazione delle proprietà dello schermo (uso Windows come esempio, ma non è una particolarità di Microsoft: KDE ad esempio ha una funzionalità analoga). Bene, questa finestra che si è aperta ha in sè forse più comandi, opzioni e scelte di quante ne abbia un'intera automobile, autoradio compresa. Servono per svolgere compiti complessi? No: l'utente la usa tipicamente per cambiare il colore o il tema dello sfondo...  per aumentare la robustezza del tutto, questa stessa finestra permette di cambiare il driver della scheda video; certo in alcune aziende l'utente non si amministra la workstation, ma sono poche, e nel caso dell'utenza domestica gli utenti sono tutti amministratori...
Torniamo al nostro utente e alla sua interfaccia. Togliendo la maggior parte delle personalizzazioni, si tolgono anche molte delle possibilità di fare danni: di fatto sappiamo che il modo migliore per far funzionare a lungo un computer è "non toccare niente", che è esattamente come funzionano le automobili. Cosa che l'utente pensa sempre di aver fatto, ma i posti in cui sono nascosti pulsanti, menu e opzioni pronti ad intrappolarlo al primo click sbagliato sono più di quanti lui riesca effettivamente a gestirne.
Certo, ci sono attvità per le quali l'utente deve (o vuole) avere una scelta. Se prendiamo un Word Processor, ad esempio, l'utente vuole cambiare font, stili, eccetera. Il fatto è che non conosco nessuno che abbia fatto gravi danni al PC dal menu di scelta dei font: al contrario, dove l'utente esercita il maggiore controllo risultano evidenti invece i limiti del programma, ed è l'utente a raccontare le horror stories su come il programma non riesce a gestire il posizionamento delle immagini, o sulle bestialità scritte dal correttore automatico. Forse perché qui l'utente è nel suo, mentre le altre opzioni sono nel mondo misterioso dell'informatico.
È proprio questo il punto importante, e del resto non è niente di nuovo: se l'utente ha difficoltà nell'informatica, dove alla fine i problemi si manifestano anche su attività relativamente semplici, il problema non può essere l'utente, ma deve essere nel modo in cui l'informatica gli viene presentata. Se l'informatica venisse presentata nel modo più adatto all'utente, questi potrebbe concentrarsi sul significato di quello che fa, e non sul modo in cui è costretto a farlo. In effetti, se pensiamo all'interfaccia offerta dai primi MacIntosh e la confrontiamo ad esempio con quella di un XP, potremmo dire che forse era persino migliore quella del MacIntosh, ma nel migliore dei casi sono equivalenti: in vent'anni, l'evoluzione dell'interfaccia utente è stata vicina allo  zero. Invece, le funzioni tipiche dell'amministrazione del sistema, quelle necessarie per le (eccezionali) modifiche all'hardware, quelle per l'installazione di programmi e quelle utili per le attività di tutti i giorni, sono mescolate in modo caotico. Al contrario, si tratta di funzionalità che dovrebbero essere ben separate e riconoscibili; non dovrebbe esistere su un PC domestico un "utente amministratore": dovrebbero esserci delle funzionalità accessibili solo dopo una procedura autenticata talmente evidente e scomoda da far passare la voglia di premere semplicemente "Avanti", e da far passare ai produttori di software ed ai venditori di servizi la voglia di usarla quando non è necessario.
Sia chiaro che non sto suggerendo di togliere all'utente il controllo del suo sistema. È un'illusione che un gran numero di bottoni sia equivalente ad un maggiore controllo; al contrario, distraggono l'attenzione da quello che è importante, e come sappiamo tutto si può dire tranne che l'utente di un PC sappia realmente quello che succede sul suo sistema. Purtroppo, anche le distribuzioni Linux si stanno in buona parte avviando su questa strada.
C'è poi il problema del customer care: se l'utente deve fare cose più complesse, è più facile che abbia difficoltà, e che rinunci o si rivolga all'Help Desk; entrambe opzioni svantaggiose per chi offre il servizio. Naturalmente ci allontaniamo sempre più dalle mie competenze, ma una considerazione la posso fare: per quanto riguarda le problematiche di sicurezza, la qualità dell'informazione che arriva all'utente è pessima, e non mi stupisce che questi non la capisca. Prima proviamo a pensare meglio alle istruzioni e informazioni che vengono date all'utente, e poi potremo casomai dire che "non ce la fa". Non entro nel merito dei processi con cui queste informazioni vengono preparate: il risultato è scadente, ed è davvero difficile credere che non si possa fare meglio.
La controprova è un servizio che richiede di prendere un prodotto da uno scaffale, individuare il codice a barre, posizionare un lettore di codice a barre alla giusta distanza e premere una sola volta il tasto di lettura (un suono indica la corretta lettura); le letture effettuate possono essere verificate sul display con una pressione di un altro tasto, ed un altro permette ci cancellare un prodotto dall'elenco. Una procedura difficile per l'utente medio? Non è uno strumento per magazzinieri addestrati: come molti avranno intuito, si tratta del Salvatempo delle Coop, uno strumento utilizzato quotidianamente ormai da moltissime persone, compresi massaie e pensionati. Le stesse persone probabilmente si perdono davanti ai cento e più tasti di molti telecomandi per televisione... e la maggior parte delle persone non ha avuto bisogno nè di istruzioni a prova di stupido, nè tantomeno di Help Desk; al contrario, avendo imparato da amici e parenti, probabilmente è stata attenta a non fare figuracce, ed ha usato il cervello.
Possiamo quindi proseguire sulla strada "all'americana", giustificando l'utente quando legge le istruzioni e non le segue, oppure possiamo fornirgli delle istruzioni degne di questo nome, degli strumenti pensati per lui e non per l'informatico, ed aiutarlo a svolgere con cognizione di causa le proprie attività. Comprese quelle legate alla sicurezza.