Interfacce che si adattano

Cominciano a comparire nei blog dei relatori alcune delle presentazioni al recente Information Architecture Summit di Las Vegas. E ce ne sono da leggere con attenzione.

Come per esempio quella di Stephen Anderson, “Creating the Adaptive Inferface” che affronta il problema della progettazione di interfacce che non si manifestino allo stesso modo a tutti gli utenti, ma siano in grado di adattarsi alle diverse esigenze, ai diversi usi, e anche al grado di padronanza che con l’uso l’utente è in grado di dimostrare.

L’idea – non nuova – di Anderson è quella di sfruttare le informazioni “involontariamente” lasciate dall’utente nel sito web, come per esempio l’indirizzo di ip (e quindi, con buona approssimazione, la località) e, nel caso di servizi sotto login o che sfruttino i cookie, le variazione nelle attività dell’utente e la frequenza di utilizzo.

Questo permette al software che produce l’interfaccia di evidenziare le sezioni più richieste a scapito di quelle meno utilizzate, di precompilare alcuni campi in base alle preferenze dell’utente e di personalizzare alcune etichette dell’interfaccia.

Il concetto è sicuramente interessante, come lo sono i diversi esempi presentati. Esistono comunque alcuni fattori da tenere in grande considerazione nel progettare questo tipo di interfacce. Il primo, riconosciuto dallo stesso autore, è che l’utente non va spaventato dandogli a vedere che sappiamo molto di lui: l’aiuto dell’interfaccia dev’essere discreto e non superare mai i limiti della cortesia.

A questo aggiungo che esiste un rischio nel modificare il comportamento dell’interfaccia verso un utente col il progredire della sua esperienza, ed è quello di generare dubbi e confusione perché eravamo convinti “che quel pulsante fosse lì” e che “quella funzionalità si attivasse in quel modo”. Anche queste variazioni vanno studiate con molta cautela.

Usabilità per dispositivi mobile

Per chi fosse interessato ad approfondire le tematiche di design e usabilità per dispositivi portatili, come i cellulari, consiglio di provare la versione mobile di Gmail.

Vi si può accedere con un dispositivo portatile all’indirizzo http://m.gmail.com, ma anche le ultime versioni di Firefox sono in grado di visualizzare l’interfaccia, se volete limitarvi a curiosare.

E’ interessante notare come i tipi di Google abbiano adattato l’applicazione ai limiti dei dispositivi portatili, cioè display piccoli e tastiera limitata.

Prendiamo ad esempio la schermata di creazione di un nuovo messaggio.

Scrivere un nuovo messaggio in Gmail Mobile

Come potete vedere, l’interfaccia va subito al dunque. Per prima cosa è richiesto il mittente: cliccando “Add Recipients” sono visualizzati per primi i destinatati contattati più di frequente, così da aumentare la probabilità di averli subito presenti nella lista. Se invece vogliamo inviare il messaggio a qualcun altro, in fondo alla stessa schermata è comunque possibile compiere una ricerca.

Lista dei destinatari più frequenti

Tornando alla schermata di spedizione notate anche che la copia carbone e la copia carbone nascosta sono state spostate in fondo alla pagina, visto che sono funzioni usate di rado.

Anche l’organizzazione e visualizzazione dei messaggi tiene conto dei limiti del mezzo. Nel mio cellulare, ad esempio, ogni messaggio è suddiviso in più pagine che è possibile scorrere avanti e indietro. Ogni voce di menù è poi accessibile tenendo premuto un numero del tastierino, evitando quindi di scorrere la pagina nel diplay.

E’ presente inoltre la possibilità di personalizzare l’interfaccia grafica, in modo da privilegiare le operazioni compiute più di frequente.

Personalizzare l'interfaccia

L’esempio di Gmail mobile fa anche riflettere chi sostiene (io non sono tra questi) che accontentare dispositivi eterogenei sia solo una questione di applicare fogli di stile diversi. In realtà ci vuole molto di più: si tratta di ristudiare completamente non solo l’interfaccia, ma anche l’interazione dell’utente con l’interfaccia, oltre a trovare altre soluzioni per la visualizzazione dei contenuti.

Se dovete cimentarvi in questo tipo di progetti, Gmail mobile rappresenta un buon caso di studio.

Interfacce tolleranti

Se dovessi scegliere una funzionalità di Google Calendar che ho trovato particolarmente utile è quella chiamata Quick Add.

E’ cioè possibile aggiungere un evento al calendario senza doversi necessariamente posizionare sul giorno desiderato e inserire tutti i campi.

Google calendar

Google Calendar cerca infatti di analizzare il testo inserito in modalità Quick Add in modo da evincere se è presente un’indicazione di data e di luogo (o, come dice la pagina di aiuto di Google, “who, what, when and where”)

E’ stato portato all’estremo il concetto del pattern chiamato Forgiving Format, che suggerisce a chi progetta le interfacce di non realizzare form complicati con decine di campi, combo e check box con l’errata convinzione che imprigionare l’utente gli eviterà di commettere errori. Dei maestri (in negativo) in questo senso sono alcuni sviluppatori (tra cui, in passato, io stesso), che per evitare del lavoro in fase di validazione dell’input, giungono perfino a usare 3 combobox diverse per richedere una data.

Ancora su Ajax e usabilità

Anche le prime ore di vita di Google Calendar non sono state esaltanti. Ho perduto modifiche che ero convinto di aver salvato e soprattutto ero spaesato perché spesso non capivo se a una mia azione seguiva un riscontro del software.

L’ho già detto, e mi ripeto ancora una volta. La creazione di applicazioni basate su Ajax offre sicuramente delle nuove possibilità, ma pone anche delle nuove problematiche relative all’usabilità dei prodotti.

L’altro giorno nell’usare Google Calendar mi capitava di voler creare un nuovo evento, completarlo con alcuni dati, e solo dopo una trentina di secondi (quando oramai stavo facendo dell’altro) l’interfaccia mi informava che l’operazione non era andata a buon fine.

Mi chiedo poi se non stiamo utilizzando un po’ troppo pesantemente questo tipo di interfacce. Ci sono elementi in Google Calendar che effettivamente beneficiano di un’implementazione “ricca” (cioè usando Ajax), come ad esempio l’inserimento di un nuovo evento. Ma già quando si tratta di modificarlo successivamente, il fatto che il campo diventi editabile quando ci si muove sopra con il mouse è forse superfluo, oltre a trarre in inganno (ho passato 10 secondi a cercare un esplicito pulsante “edit”).

Speriamo sia solo l’esuberanza dei primi mesi, e che questo tipo di soluzioni maturi tanto da permettere di usarle solo dove hanno realmente senso.

Il design d’interfaccia nel web 2.0

Ho appena finito di leggere Designing Interfaces, pubblicato per i tipi di O’Reilly da Jenifer Tidwell.

Un must per chiunque si trovi a dover progettare un’applicazione, sia essa desktop, web, o web 2.0 e necessiti di qualche spunto o suggerimento. Si tratta in particolare di un insieme di pattern, ovvero soluzioni a semplici e comuni problematiche raggruppate per categoria:

  • Organizzazione del contenuto
  • Navigazione
  • Layout di pagina
  • Azioni e comandi
  • Tabelle e dati complessi
  • Form e controlli
  • Editors
  • Estetica

Non è quindi un testo dedicato esclusivamente a chi lavora con il web. Tutt’altro. Molti degli esempi riguardano infatti normali applicazioni desktop. Ma il probabile successo di Ajax è destinato a far avvicinare il design di interfaccia web a quello delle normali applicazioni; motivo in più per procurarsi questo testo.

Ma anche senza acquistarlo potete trarre beneficio da due risorse disponibili gratuitamente. Prima di tutto un capitolo gratuito, uno dei più interessanti, dedicato al layout di pagina.

E’ però soprattutto utile il sito del libro, perché vi troverete una buona selezione dei pattern presentati nel testo. Più di così…

Designing Interfaces – di Jenifer Tidwell – O’Reilly