Vorrei capire come mai, quasi,all'alba del 2012 le case non sono ancora domotizzate come le vedevo nei cartoni animati della mia infanzia.
La Domotica è una scienza troppo vasta per un singolo blog QUINDI in questo focalizzeremo l'attenzione sull'INTERFACCIA UTENTE che permette ai proprietari di una casa domotica di interagire con tutto il SISTEMA.

6) il Design al centro dell'interfaccia

Un design mirato inizia dalla stesura di linee guida che consentano di definire un complesso di regole atte a raggiungere gli scopi prefissati.
Con questa premessa le euristiche che si possono utilizzare sono molte e differenti tra loro, ma è fondamentale limitare la strategia iniziale a poche, mirate regole e possibilmente con principi di riferimento non specifici.
A tale fine le dieci regole che costituiscono le euristiche di Nielsen (J.Nielsen , Usability Engineering, Morgan Kaufman, 1993) permettono, di circoscrivere i problemi che potrebbero sorgere in categorie definite, di inquadrarli chiaramente e di stabilire i presupposti per una loro soluzione.
Nella progettazione del design pattern è essenziale che l’interfaccia utente permetta l’utilizzo di tutte le funzionalità del sistema domotico sottostante, gestendo comunque l’interazione dell’utente con il sistema in modo che si realizzino tutti i presupposti dell’usabilità ma non creando mai vincoli all’operatività. Il progettista deve esaltare i vantaggi dell’interfaccia rendendola flessibile e semplice oltre a quanto previsto dalla norma ISO 9241 che prevede di poter raggiungere prefissati obiettivi con efficacia, efficienza e soddisfazione.
In genere un design mirato inizia con un “usability test” al fine di poter capire come l’utente cerchi di ottenere i risultati preposti usando il programma a disposizione. L’enorme impegno economico di questi test induce, chi non ha a disposizione grandi budget, a progettare l’applicazione utilizzando soluzioni già adottate da altri progettisti per altre applicazioni che l’utente ha già imparato ad usare, apportando unicamente integrazioni a ciò che l’utente identifica come ambiente user friendly.
Quello che effettivamente può fare la differenza sono le idee che permettono di aumentare il livello di usabilità azzerando la distanza tra quello che si vorrebbe ottenere e quello che si riesce ad ottenere.

  1. Visibilità dello stato del sistema

L’interfaccia deve analizzare nel minor tempo possibile lo stato del sistema domotico e nel contempo deve fornire all’utente un ritorno di informazione (feedback) appropriata. Nel caso specifico la velocità di comunicazione tra sistema e utente è pressoché istantanea in quanto il canale informativo veicolato dall’interfaccia non presenta “colli di bottiglia” come nel caso di utilizzo della rete internet. Il problema potrebbe sussistere con l’utilizzo di ulteriori interfacce remote che connettendosi tramite linee telefoniche potrebbero subire ritardi nella trasmissione del flusso di informazioni. Questa variabile di tempo è importante in quanto il feedback di risposta permette all’utente di interagire con il sistema senza che il flusso dei dati subisca interruzioni ed inoltre in presenza di errori può suggerirgli eventuali soluzioni ai problemi.

  1. Corrispondenza tra la realtà e il sistema

Spesso ci si chiede perché sia l’uomo ad adattarsi alla macchina e non viceversa. L’utente deve potersi esprimere tramite l’interfaccia in modo a lui naturale utilizzando cioè concetti, frasi e costruzioni grammaticali familiari al suo normale modo di esprimersi. Il dialogo così instaurato deve essere semplice e nel contempo coerente con quanto l’utente ha pensato di realizzare. Il livello di qualità dell’interazione è legato all’efficienza e al raggiungimento della conclusione dell’azione iniziata senza che si verifichino errori. L’interfaccia deve acquisire le informazioni essenziali per eseguire il compito richiesto dall’utente ed elaborandole deve evitare di chiedere tutti quei dati che sarebbero ininfluenti alla realizzazione dell’azione voluta. Il minor coinvolgimento possibile dell’utente riduce notevolmente la possibilità che quest’ultimo possa sbagliare ed anche nel caso ciò accadesse l’interfaccia deve essere in grado di diagnosticarli facilitando l’utente nella risoluzione con adeguati messaggi.

  1. Flessibilità e controllo del sistema da parte degli utenti in caso di loro errore o disorientamento

Nell’interagire con un’interfaccia può accadere di trovarsi nel classico “vicolo cieco” e di volere tornare alla posizione di partenza. Questa prerogativa di controllo sul mezzo deve essere sempre possibile. L’utente gestisce le varie situazioni ma in particolari casi, come per gli errori o in stato di disorientamento può delegare l’incombenza di ripristinare la situazione iniziale all’interfaccia stessa che deve provvedere al ripristino dello stato iniziale. La possibilità di utilizzo di queste opzioni permette all’utente di interagire col sistema senza la preoccupazione di poter sbagliare irrimediabilmente e di conseguenza aumenta in lui la percezione di autonomia.
Gli utilizzatori con un livello crescente di esperienza nell’uso dell’artefatto e con maggior capacità di comprensione dei feedback ricevuti hanno esigenze sempre più crescenti. Il classico sistema “step to step” utilizzato in fase iniziale per ridurre il tasso di errori potrebbe rivelarsi noioso o poco gradito e per questi motivi è necessario che l’interfaccia sia flessibile nell’adattarsi alle mutate esigenze. Il progettista in fase di design deve prevedere “scorciatoie” che evitino, se desiderato, il passaggio obbligato in tutti i punti intermedi. La “frammentazione” del comando in più componenti elementari offre l’opportunità di velocizzarne la riproposizione nel caso si decida di variare solo una parte specifica del comando stesso come ad esempio l’ora di esecuzione. Questa possibilità non verrà presa in considerazione dal “principiante” ma verrà vista come una scorciatoia dal “veterano” e contribuirà, con le altre soluzioni adottate, a rendere il sistema flessibile alle necessità ed aspettative di chi lo utilizza.

  1. Standardizzazione e consistenza

L’interfaccia seppur progettata con un design mirato deve seguire sempre le stesse convenzioni per simboli o azioni possibili. Il dialogo rappresentato da un flusso informativo in ingresso o in uscita deve poter contare su aspetti standard per ogni fase di fruizione del mezzo stesso. La specifica icona deve veicolare lo stesso tipo di informazione durante tutta la fase di interazione. Anche gli effetti sulla funzionalità dovranno essere gli stessi nel caso di uguale comando. Questa proprietà è richiesta in quanto l’interfaccia è un tramite tra l’utente e la funzionalità del sistema. L’utente tende ad associare l’effetto del comando pensato all’icona visualizzata, dando per implicitamente assodato un rapporto univoco tra la stessa icona e l’azione finale sul sistema domotico. La differenza tra icone identiche e i comandi eseguiti dal sistema verrebbe interpretata come errore e porterebbe ad un disorientamento dell’utente. Anche la presentazione degli oggetti nelle varie finestre deve seguire una specifica convenzione di spazialità. La necessità di ricercare gli stessi oggetti al cambio di ogni sessione se non addirittura all’interno di finestre differenti tende ad aumentare la difficoltà di interazione con il sistema mentre uno standard imposto per tutta l’interfaccia verrebbe acquisito velocemente dall’utente “tipo” e contribuirebbe a diminuire il livello di incertezza e di conseguenza anche i possibili errori. In sostanza l’interfaccia dovrà essere prevedibile graficamente, nel funzionamento e nella trasmissione delle informazioni.

  1. Prevenire gli errori

Un elevato livello di incidenza degli errori è indice di una scarsa attenzione nella fase di programmazione. L’interfaccia deve evitare situazioni che possano indurre all’errore e dovrebbe richiedere ad ogni macro-azione specifica conferma all’utente prima di renderla esecutiva. Gli errori che accadono durante l’uso dell’interfaccia possono essere generati da una scarsa attenzione dell’utente il quale omettendo controlli critici ottiene un risultato non desiderato. Al contrario anche un’eccessiva apprensione nel eseguire i controlli comporta che se avvengono in modo inopportuno si possano generare errori. È importante comunque considerare gli errori come componente imprescindibile dell’essere umano durante il compimento di azioni. L’utente per raggiungere il proprio scopo segue percorsi logici che possono portare a situazioni di stallo e per evitare ciò è necessario prevenire la possibilità di errore mappando le situazioni critiche e ponendo vincoli all'operato di chi sta “navigando”. Questi vincoli saranno percepiti dall’utente come limitazioni in fase di apprendimento dell’operatività ma diverranno trasparenti una volta acquisite la corretta forma mentis ed una buona esperienza d’uso.

  1. Far riconoscere riducendo la necessità di ricordare

I comandi trasmessi tramite l’interfaccia dovranno essere facilmente riconosciuti dall’utente senza la necessità che lui debba ricordarsi il codice e la relativa funzionalità. Per minimizzare il ricorso alla memoria è stato deciso di operare in un ambiente prettamente grafico e di scomporre i comandi in parti facilmente riconoscibili, questo per fornire visivamente gli oggetti elementari necessari per comporre il comando relativo all’operazione che si desidera eseguire.
Il vedere il comando assemblato in forma grafica, sullo schermo permette all’utente di rendersi conto di cosa stia facendo e di come abbia scelto di realizzare il suo obiettivo. Il successivo feedback, mediante un messaggio di “comando recepito”, gli consentirà di rivedere a schermo il comando appena inviato e di poter effettuare un’ulteriore verifica senza per questo dover memorizzare le varie fasi. La memoria degli eventi pregressi, in stato non ancora compiuto o comunque quelli eseguiti con maggiore probabilità a posteriori di poter essere ripetuti (teorema di Bayes), è stata delegata all’interfaccia che è in grado di mantenere, senza il minimo sforzo, una quantità di informazioni maggiore a quanto potrebbe ricordare un essere umano. All’utente è lasciata comunque la facoltà di azzerarne i contenuti (pulendo lo schermo) nel caso non li ritenga indispensabili.
Anche l’uso della memoria a lungo termine va ridotto al minimo. L’utente che non usa l’interfaccia per un certo periodo non deve avere la necessità di rifare tutto il suo percorso formativo quando decide di riutilizzarla. Per ottenere un valido aiuto ai fini dell’apprendimento e della memorizzazione a lungo termine è utile suddividere in insiemi omogenei tutti gli elementi grafici necessari alla composizione sintattica del comando ed agevolare i legami semantici tra quanto rappresentato dall’interfaccia e le specifiche conoscenze dell’utente. L’interfaccia deve privilegiare l’uso di un mapping naturale, deve cioè tener conto delle analogie fisiche e degli standard culturali. Un comando che si compone di elementi ordinati da destra verso sinistra e dal basso verso l’alto richiederà uno sforzo maggiore all’utente in quanto non tiene conto del suo standard culturale. Un mapping facile da imparare e ricordare, rende più facile l’uso dell’interfaccia da parte degli utenti rendendo facilmente reperibili tutte le informazioni essenziali per interagire con il sistema domotico. Questo limita il carico cognitivo necessario per raggiungere l’obiettivo finale ed infine permette una sensibile riduzione della probabilità di errore durante l’interazione.
L’interfaccia deve essere progettata curando anche l’aspetto della familiarità. Secondo Norman ad una situazione imprevista il soggetto cerca, nella sua esperienza, qualcosa di familiare all’evento in corso per decidere come comportarsi prendendo spunto da situazioni simili già accadute.

  1. Capacità di adattamento dello strumento ed efficienza nell’uso

Nell’interfaccia è necessario prevedere la possibilità di utilizzare “scorciatoie” che velocizzino l’interazione dell’utente esperto ma che possano essere ignorate da chi ha ancora la necessità di apprendere l’operatività della stessa. L’utente acquisisce la padronanza dell’interfaccia con l’esperienza nell’uso e in relazione alla sua capacità di apprendere. Il livello di apprendimento è inversamente proporzionale alle difficoltà e al tempo che l’utente impiega per raggiungere il suo obiettivo tramite l’interfaccia. Il progettista, cercando il massimo livello di semplicità d’uso, favorisce la facilità di comprensione da parte dell’utente. Un linguaggio di programmazione ad alto livello, con una sintassi iconografica ed una semantica semplice capace di far capire chiaramente il significato dei simboli, permette di raggiungere la massima efficienza d’uso con un apprendimento veloce. Oltre a questo si instaura anche un meccanismo positivo in cui la gratificazione di poter apprezzare concretamente i propri progressi aumenta la voglia di trovare alternative che possano incrementare l’efficienza dell’interfaccia e quindi, in questa fase, l’utente si attende delle scorciatoie che possano velocizzare la sua modalità operativa.

  1. Ricerca del minimalismo e dell’estetica nel design

I flussi informativi che transitano nei due sensi attraverso l’interfaccia devono essere depurati dalle informazioni irrilevanti al fine di ottenere la maggior visibilità su ciò che è essenziale.
La modalità per la gestione, inserimento e acquisizione delle informazioni, deve essere chiara, precisa e senza ambiguità. L’interfaccia con facilità di navigazione, grafica piacevole, semplicità ed organizzazione nei contenuti risponderà alle aspettative e alle esigenze dell'utente, ma per ottenere questo è richiesto un design minimalista ed estetico. L’utente si approccia all’interfaccia cercando un senso compiuto nella simbologia che questa offre al fine di raggiungere il suo obiettivo e per far questo attinge da precedenti esperienze al fine di comprendere il linguaggio ad alto livello utilizzato. Quindi l'impostazione grafica deve essere essenziale ed elegante ma a differenza di un sito web un’interfaccia può essere arricchita con icone grafiche ed animate senza pregiudicare la fluidità dell’interazione in quanto non vi sono i limiti rappresentati dal trasferimento dei dati tramite una rete.
Nella ricerca del minimalismo è importante non compromettere la consistenza e la conformità alle regole e alle convenzioni comunemente accettate dall’utente “tipo”. In base al principio della coerenza le icone e le convenzioni utilizzate dovrebbero presentare un'impostazione grafica e strumenti di navigazione costanti così da permettere all'utente, specialmente quando è ancora privo di esperienza all’uso dell’interfaccia, di orientarsi più facilmente tra le modalità di composizione di un determinato comando oppure nell’interpretazione di un’informazione ricevuta dal sistema domotico.

  1. Individuazione e soluzione degli errori

“Errore KV-7312 del kernel consultare la guida in linea”. Questo messaggio di errore rappresenta quanto non si dovrebbe fare, infatti il messaggio dovrebbe usare un linguaggio comprensibile e semplice per l’utente, i codici andrebbero evitati per non creare confusione nell’interpretazione e la soluzione del problema andrebbe suggerita in modo chiaro e risolutivo. Il livello di impegno, necessario per ultimare un compito, viene misurato con il rapporto tra l’efficacia dell’interfaccia e l’impiego di risorse necessarie per il raggiungimento del compito. Tale livello di impegno viene definito efficienza e può essere misurato in relazione al numero di errori e al tempo impiegato per raggiungere lo scopo prefissato. Durante la fase di progettazione dell’interfaccia è fondamentale non dimenticare che qualunque utente in quanto essere umano sbaglia, recuperare l’errore richiede energia e tempo e quindi è compito del sistema stesso diagnosticare i potenziali errori nel momento in cui accadono e consentirne la correzione nel modo più semplice per l’utente. Al messaggio di errore formulato in modo corretto, come precedentemente esposto, diventa importante che l’interfaccia offra la possibilità di annullamento di tutte quelle operazioni eseguite nella sessione e ritenute errate.

  1. Guida informativa e documentazione


Ho una regola semplice per individuare il cattivo design.
Tutte le volte che trovo indicazioni su come usare qualcosa, si tratta di un oggetto progettato male” Donald Norman
L’affermazione di D. Norman sintetizza il concetto che l’interfaccia deve essere utilizzabile senza la necessità di ricorrere alla documentazione anche in fase iniziale. La documentazione diventa importante quando l’utente focalizza l’attenzione su un dubbio specifico purché l’informazione venga fornita con sufficiente dettaglio senza che diventi prolissa. Lo scopo di una documentazione completa è di essere comprensibile e necessaria; nel flusso informativo deve esserci valore aggiunto e l’approfondimento deve essere incrementale in funzione dell’esperienza dell’utente e delle effettive necessità.
Il rischio di una documentazione non corretta è di apparire troppo difficile e quindi inutile alla risoluzione dei problemi o troppo marginale e quindi incapace di fugare i dubbi.
Il dover ricorrere alla documentazione, specialmente in un’interfaccia, è spesso indice di una progettazione carente nell’aspetto dell’usabilità in quanto viene meno una delle caratteristiche principali: la semplicità d’uso.

Primordial question:

Primordial question:
Pensate che il bimbo sarebbe così remissivo se studiasse in una classe domotizzata con un'interfaccia semplice?

Why?

Why?
Il nonno del bimbo è certo che farà in tempo a vivere in una casa domotica ... IL BIMBO!