L'interfaccia utente non è qualcosa che può essere applicato dopo il fatto, come una sottile mano di vernice. È qualcosa che deve essere lì all'inizio e basato su una vera ricerca. Ci sono tonnellate di ricerche sull'usabilità disponibili ovviamente. Deve non essere solo lì all'inizio, ma deve costituire il nucleo del motivo stesso per cui stai creando il software in primo luogo: c'è qualche lacuna nel mondo là fuori, qualche problema, e deve essere creato più utilizzabile e più efficiente.
Il software non è lì per se stesso. Il motivo dell'esistenza di una parte del software è PER LE PERSONE. È assolutamente ridicolo persino provare a trovare un'idea per una nuova porzione di software, senza capire perché qualcuno ne abbia bisogno. Eppure questo succede sempre.
Prima di scrivere una singola riga di codice, dovresti passare attraverso le versioni cartacee dell'interfaccia e testarlo su persone reali. Questo è un po 'strano e sciocco, funziona meglio con i bambini e qualcuno che si comporta come "il computer".
L'interfaccia deve sfruttare le nostre strutture cognitive naturali. In che modo un uomo delle caverne userebbe il tuo programma? Ad esempio, ci siamo evoluti per essere davvero bravi nel tracciare oggetti in movimento. Ecco perché le interfacce che usano simulazioni fisiche, come l'iPhone, funzionano meglio delle interfacce in cui i cambiamenti si verificano istantaneamente.
Siamo bravi in certi tipi di astrazione, ma non in altri. Come programmatori, siamo addestrati a fare ginnastica mentale e flessioni per capire alcune delle astrazioni più strane. Ad esempio, comprendiamo che una sequenza di testo arcano può rappresentare ed essere tradotta in un modello di stato elettromagnetico su un piatto di metallo, che quando viene incontrato da un dispositivo accuratamente progettato, porta a una sequenza di eventi invisibili che si verificano alla velocità della luce su un dispositivo elettronico circuito, e questi eventi possono essere diretti per produrre un risultato utile. Questa è una cosa incredibilmente innaturale da capire. Comprendi che mentre ha una spiegazione perfettamente razionale per noi, per il mondo esterno, sembra che stiamo scrivendo incantesimi incomprensibili per convocare spiriti senzienti invisibili per fare le nostre offerte.
Il tipo di astrazioni che gli umani normali comprendono sono cose come mappe, diagrammi e simboli. Fai attenzione ai simboli, perché i simboli sono un concetto umano molto fragile che richiede uno sforzo mentale consapevole per decodificare, fino a quando il simbolo non viene appreso.
Il trucco con i simboli è che deve esserci una chiara relazione tra il simbolo e la cosa che rappresenta. La cosa che rappresenta deve essere un nome, nel qual caso il simbolo dovrebbe apparire MOLTO MOLTO simile alla cosa che rappresenta. Se un simbolo rappresenta un concetto più astratto, questo deve essere spiegato IN ANTICIPO. Vedi le inscrutabili icone senza etichetta nella barra degli strumenti di msword o Photoshop e i concetti astratti che rappresentano. È necessario IMPARARE che l'icona dello strumento di ritaglio in Photoshop indica CROP TOOL. bisogna capire cosa significa CROP. Questi sono i prerequisiti per utilizzare correttamente quel software. Il che fa emergere un punto importante, attenzione alle conoscenze ASSUNTE.
Otteniamo la capacità di comprendere le mappe solo all'età di 4 anni. Penso di aver letto da qualche parte una volta che gli scimpanzé acquisiscono la capacità di comprendere mappe all'età di 6 o 7 anni.
La ragione per cui le guis hanno avuto così tanto successo all'inizio è che hanno cambiato un panorama di interfacce testuali per lo più ai computer, in qualcosa che ha mappato i concetti del computer a qualcosa che somigliava a un luogo fisico. Dove i guis falliscono in termini di usabilità, è dove smettono di assomigliare a qualcosa che vedresti nella vita reale. Ci sono cose invisibili, imprevedibili, incomprensibili che accadono in un computer che non mostrano alcuna somiglianza con qualsiasi cosa tu abbia mai visto nel mondo fisico. Parte di questo è necessario, dal momento che non avrebbe senso creare un simulatore di realtà. L'idea è quella di salvare il lavoro, quindi ci deve essere un po 'di magia. Ma quella magia deve avere un senso ed essere radicata in un'astrazione che gli esseri umani sono ben adattati alla comprensione. È quando le nostre astrazioni iniziano a diventare profonde e stratificate, e non corrisponde al compito a portata di mano che le cose si guastano. In altre parole, l'interfaccia non funziona come una buona mappa per il software sottostante.
Ci sono molti libri. I due che ho letto, e quindi posso consigliare, sono "The Design of Everyday Things" di donald norman e "The Human Interface" di Jef Raskin.
Consiglio anche un corso di psicologia. "The Design of Every day Things" ne parla un po '. Molte interfacce si rompono a causa della "comprensione popolare" della psicologia da parte degli sviluppatori. Questo è simile alla "fisica popolare". Un oggetto in movimento rimane in movimento non ha alcun senso per la maggior parte delle persone. "Devi continuare a spingerlo per tenerlo in movimento!" pensa il novizio di fisica. I test degli utenti non hanno senso per la maggior parte degli sviluppatori. "Puoi semplicemente chiedere agli utenti cosa vogliono e dovrebbe essere abbastanza buono!" pensa il novizio di psicologia.
Raccomando Discovering Psychology, una serie di documentari PBS, ospitata da Philip Zimbardo. In caso contrario, prova a trovare un buon libro di testo di fisica. Il tipo costoso. Non la merda di auto-aiuto di pulp fiction che trovi in Borders, ma le spesse cose hardbound che puoi trovare solo in una biblioteca universitaria. Questa è una base necessaria. Puoi fare un buon design senza di esso, ma avrai solo una comprensione intuitiva di ciò che sta succedendo. Leggere alcuni buoni libri ti darà una buona prospettiva.