Il design di un’interfaccia al giorno d’oggi è un’operazione ancora più complessa di quanto non lo sia stata negli anni passati.
Le applicazioni, i siti web, devono poter essere utilizzati su una vasta gamma di dispositivi, dai più classici, come i personal computer, agli smartphone e ai wearable, dalle televisioni alle automobili. Ognuno di essi mette a disposizione vari metodi di input (mouse, tastiera, touchscreen & gesture), schermi con dimensioni e risoluzioni anche drasticamente differenti, e caratteristiche proprietarie di cui tener conto durante la progettazione.
E' all'ordine del giorno progettare applicazioni che gli utenti utilizzerano su dispositivi diversi. Se pensiamo alla nostra vita quotidiana ci possiamo rendere conto di come anche senza rendercene conto utilizziamo la stessa app da computer e da smartphone, magari anche in contemporanea; quello a cui il nostro design deve puntare è il mantenimento della medesima esperienza utente, quello che vogliamo evitare è il dover costringere l'utente a re-imparare ad utilizzare l'applicazione.
Ogni applicazione ha inoltre una o più piattaforme target, può essere web o nativa. Gli intrecci tecnologici che si vengono a creare fanno si che si debba affrontare il tutto con grande cura, sia in fase di analisi che durante il disegno dei wireframe.
Portiamo un semplice esempio: utenti che usano browser o sistemi operativi diversi hanno abitudini diverse e contrastanti. Da tale considerazione nasce la necessità di dover ricorrere ad elementi o soluzioni native, che devono andare ad incastrarsi con le scelte di design senza intaccare l’esperienza utente; pensiamo alle differenze tra le gestures di sistema di android ed iOS.
Per cercare di evitare scelte ridondanti o contrarie ai comportamenti già conosciuti dall’utente lo UX Designer deve costantemente rimanere aggiornato sulle nuove tecnologie e sulle nuove piattaforme.
Uno dei problemi annosi con i quali i team di sviluppo si trovano a confrontarsi è quello della retrocompatibilità; pensiamo alle diverse specifiche dei browser (soprattutto in passato), ai problemi di frammentazione degli OS, come nel caso di Android, a tutte quelle realtà che sono costrette ad utilizzare sistemi legacy per motivi economici, per difficoltà nell’aggiornamento delle infrastrutture tecniche o per l'impossibilità di formare rapidamente il personale.
Tutto questo fa lievitare ancor di più verso l'alto il coefficiente di difficoltà e il livello di importanza del processo di UX Design.
Abbiamo prima asserito che in un contesto di utilizzo multi-device, l’utente che utilizza la nostra applicazione da dispositivi diversi (smartphone-desktop) non deve mai essere posto nella condizione di ri-apprendimento, deve riconoscere le caratteristiche del brand e i pattern di utilizzo ai quali è abituato. In questo e nel risolvere tutte le problematiche prima accennate ci viene in soccorso il concetto di Design System.
Un Design System comprende un insieme di elementi e componenti dell’interfaccia utente, definisce delle regole chiare riguardo il loro utilizzo, la loro disposizione e le interazioni con essi.
Le più grandi compagnie hanno creato e reso disponibili le guidelines dei loro Design System proprietari, dal Material Design di Google all’Apple Design System; infatti oltre a contribuire alla consistenza della UI, al miglioramento e alla continuità dell’esperienza utente all’interno dell’applicazione stessa, un Design System mira anche alla creazione di uno standard e di un’identità del prodotto.
I software di design moderni offrono svariate funzionalità di gestione dei layout, di composizione e di adattamento dei componenti in base ai vari formati di pagina relativi ai diversi dispositivi. Imparare a conoscere tali funzionalità fin da subito ci permetterà di risparmiare enormi quantità di tempo quando dovremmo appartare modifiche
La sola bravura nell'utilizzo degli strumenti tecnici tuttavia non basta a rendere scalabile e resiliente un progetto: è necessario il rispetto delle convenzioni e del naming, un'adeguata organizzazione dei componenti. Solo così ad ogni iterazione saremo certi di riuscire ad apportare rapidamente le dovute modifiche o quantomeno di avere una base di partenza solida.
Un utilizzo consapevole e la capacità di effettuare scelte valide si rafforzeranno naturalmente solo con l’esperienza, affrontando di volta in volta nuove problematiche alle quali non eravamo mai andati incontro.
Nonostante l'applicazione in questione sia un gestionale, dalle linee grafiche essenziali e da una UI non particolarmente complessa, il fatto di avere un'applicazione dedicata per gli operatori, sviluppata oltretutto con una diversa tecnologia, ha fatto sì che la fase di design risultasse importante ai fini della continuità dell'esperienza utente.
Gli addetti oltre ad utilizzare l'app su tablet per prendere le letture dei contatori in loco, quando erano in azienda lavoravano invece da desktop sul gestionale. Il mantenimento degli stessi pattern di interazione e degli stessi elementi di UI principali è stato quindi un requisito essenziale affinché il training di queste figure sul nuovo gestionale risultasse il quanto più veloce possibile e che soprattutto non vi fossero errori di utilizzo durante le operazioni lavorative quotidiane.