Pensieri e parole su HCI, home computing, tecnologie desktop e sul Progetto Lobotomy

lunedì 31 maggio 2010

Belli e Brutti

1 commenti
Poco tempo addietro ho avuto la pessima idea di iniziare a seguire per mezzo dell'apposito feed RSS le mie sottoscrizioni su del.icio.us, per vedere cosa gli altri reputano interessante nei contesti da me scelti. L'idea e' "pessima" perche' provoca una quantita' immensa di traffico (almeno 200 items al giorno, che solo in minima parte posso ovviamente consultare), il feed non viene epurato dai doppioni e dunque spesso e volentieri la consultazione risulta complicata dalla necessita' di scartare a mente i links che sono gia' stati visitati, e quel che e' peggio un singolo tag ("UI") su tre ("UI", "HCI" e "filesystem") ha il monopolio dello stream.
Dati 100 elementi in totale, 90 sono taggati come "UI". Di questi, 85 parlano di design espressamente rivolto al web. Un quarto del totale (25) sono riferimenti a plugins ed estensioni per jQuery. Circa 10 sono elenchi di soluzioni grafiche da cui prendere spunto ed ispirazione, e molte sono anche le liste in stile "i 20 migliori stili CSS" o "i 10 migliori set di icone" (buona parte di queste enumerazioni arrivano da Smashing Magazine). Un'altra fetta importante e' rappresentata da tools e suggerimenti per fare mockups e wireframes, e non faccio mistero di aver iniziato io stesso a prototipare le mie interfacce leggendo piu' e piu' volte al giorno questi temi nel mio feed reader.
Par proprio che ad oggi l'unico contesto apprezzato dai designer sia il web. Un po' per moda ("cloud computing" e' a tutt'ora una buzzword estremamente diffusa ed apprezzata), ma anche (e soprattutto?) perche' HTML, CSS e JavaScript forniscono strumenti immensamente piu' flessibili in termini di formattazione e decorazione che non i classici widgets per lo sviluppo sul desktop, piattaforma in cui l'evoluzione dell'interfaccia utente si e' fermata poco dopo la sua stessa nascita. E laddove si possono facilmente aggiungere animazioni, sfumature, sfondi e inserti di ogni genere, li' trova ristoro il creativo sinora relegato a pulsanti tutti uguali tra loro da incasellare sullo schermo.
Ma la situazione attuale implica uno stallo.
Da una parte, appunto, i migliori designer si lanciano gioiosi sul web, plasmabile a proprio piacimento, bistrattando il classico desktop, e ben pochi si curano piu' dell'aspetto delle applicazioni native, lasciate a marcire in previsione di una imminente (?!) decentralizzazione di ogni attivita' digitale sull'Internet. Dall'altra, nessuno e' realmente pronto per questa migrazione di massa: i produttori di software perche' molti fondamenti tecnici per diversi generi di implementazioni mancano (ad esempio: solo adesso qualcuno inizia a pensare alle notifiche), e gli utenti per l'innata resistenza a cambiamenti radicali. Risultato: il web e' bellissimo ma vuoto di funzioni, il desktop fa tutto ma e' brutto come un debito.
Uscire da questo imbarazzo e' impossibile, se non attendendo pazientemente una risoluzione portata o dall'implementazione degli standard mancanti per una piena funzionalita' della cloud (per sfruttare webcam e microfono via HTML5, ad esempio) o viceversa da una esplosione delle tecnologie grafiche per il desktop (come ad esempio il Clutter Toolkit o la gestione avanzata di CSS in QT, giusto per menzionare quanto disponibile almeno su Linux e che suppongo abbiano analoghi su altri sistemi). La prima opzione e' piu' probabile, considerando gli ampi sforzi che da ogni direzione si muovono verso la Rete, ma non pongo limiti alla provvidenza.
Quando questo accadra', nessuno lo sa.

lunedì 24 maggio 2010

Pennello alla Mano

0 commenti
Lo confesso, anche se chi mi conosce come programmatore gia' lo sa: io rientro in quella (nutrita) categoria di developers che dedicano pochissimo tempo alla progettazione ed ogni volta che iniziano un nuovo software o ne modificano un'altro pesantemente aprono l'editor di testo ancor prima di avere ben chiaro cosa fare. L'unico passo intermedio tra la decisione di fare qualcosa ed iniziare a farla sta nella scelta del nome: ogni progetto che si rispetti deve avere un nome!
So perfettamente che si tratta di una pratica malsana, e piu' e piu' volte ne ho pagato le conseguenze, ma d'altro canto sono convinto che l'eccessivo grado di "ingegnerizzazione" oggi in uso nel mondo dello sviluppo sia ugualmente dannoso: una dettagliata pianificazione trasmette un senso di eccessiva sicurezza, e quando le cose sono troppo ben incastrate tra loro si rischia di non avere spazio sufficiente per aggiungere quelle correzioni e quelle modifiche che, nel mondo reale, accadono sempre e comunque in qualsiasi circostanza.
Detto cio', nell'ultimo periodo ho iniziato quantomeno a progettare le interfacce delle mie applicazioni. Direi che e' gia' un passo avanti.
Ho sempre considerato il wireframing alla stregua di qualsiasi altra forma di progettazione, ma mi sono dovuto ricredere: laddove una architettura software e' oggettivamente qualcosa di completamente fumoso e dunque imperfetto finche' non la si traspone in qualcosa in esecuzione sullo stack (per poi immancabilmente fallire perche' non era stata presa in considerazione una data situazione), una interfaccia grafica e' qualcosa di concreto, in quanto anche se cliccando sul tasto non succede nulla il tasto e' comunque li' invece di essere da un'altra parte, occupa un determinato spazio e riporta una data etichetta o icona invece che un'altra.
Il primo esperimento quasi serio l'ho fatto usando MockFlow, strumento online (in Flash) per mettere insieme mockups di pagine destinate al web: la versione gratuita ha una limitazione sul numero di progetti e pagine che si possono creare, ma poiche' quelle poche pagine hanno altezza infinita si possono aggregare insieme piu' contenuti e con un poco di pazienza il paletto viene facilmente aggirato. Il secondo tentativo, rivolto ad un programma desktop (di cui scrivero' dettagliatamente in un'altra occasione), l'ho fatto con Gazpacho: progetto ad oggi leggermente defunto, nel concetto simile a Glade (che dovro' a sua volta provare, essendo pure aggiornato alle ultime evoluzioni di GTK+), funge da editor completo "a la Visual Studio" ma essendo io un programmatore vecchio stile lo ho usato solo per farmi una idea di dove posizionare i widgets che sono andato poi ad implementare a mano.
Entrambe le esperienze si sono rivelate inaspettatamente produttive: disegnare la propria interfaccia prima di riportarla sul codice permette di avere subito una idea di cosa ci si trovera' dinnanzi e, meglio ancora, di cosa ci si vorrebbe trovare; vengono subito identificate e corrette falle estetiche e funzionali nel design, si possono sopprimere o ridefinire aggregati di elementi che nella realta' appaiono molto peggio di quanto ci si era immaginati, e ci si capacita in fretta se nel concetto originale e puramente astratto mancava un qualche dettaglio che, ai fatti, sarebbe determinante ed indispensabile. Tutto questo con un costo estremamente basso, in quanto in un paio d'ore di cliccate si ottengono risultati piu' che sufficienti per condurre una valutazione ed eventualmente ridefinire la proprio linea: tutto tempo che altrimenti verrebbe riccamente sprecato per implementare, compilare, eseguire, cancellare e re-implementare.
Gli strumenti per prototipare e costruire bozze realistiche non mancano, anzi ce n'e' una abbondanza, e val proprio la pena almeno di provarli.

sabato 8 maggio 2010

La Mia Radiosveglia

0 commenti
Io, come credo una buona maggioranza della popolazione dei paesi industrializzati, ho un pessimo rapporto con le sveglie. Ne ho gia' cambiate diverse nella mia vita, ma il problema principale si e' sempre riproposto: dopo un po' di tempo l'udito e tutta la parte cognitiva di riferimento diventa assuefatta, ed il suono ripetitivo e costante o non sortisce effetto alcuno (quando mi sveglio trovo l'interruttore di attivazione ancora sollevato, ovvero l'aggeggio ha suonato indisturbato per almeno 40 minuti per poi cedere nel suo tentativo e tornare al silenzio) oppure stuzzica la corteccia quel tanto che basta per far compiere al mio corpo il gesto meccanico ed automatico di spegnimento senza pero' riuscire a penetrare la nebbia dell'incoscienza onirica. In entrambi i casi, mi sveglio sempre troppo tardi.
Per tali motivi, qualche tempo addietro mi sono procurato una radiosveglia.
La radiosveglia elimina perfettamente il problema dell'abitudine: poiche' ogni giorno alla stessa ora viene trasmessa una canzone diversa, o gli speaker dicono cose diverse con diversi toni, la trappola psicologica permette di tentare il conscio e di farlo uscire dalla sua tana notturna.
O almeno in linea teorica: qualche volta, anche codesto metodo fa cilecca.
Ho meditato sulle motivazioni di tale fallimento, imputandolo dapprima al volume: se troppo basso, il suono risulta inintelligibile e dunque non sufficiente a stimolare la ripresa di coscienza, in modo del tutto analogo al trillo ripetitivo e monotono della sveglia classica; se troppo alto, si rischia di indurre una reazione di shock cui si risponde con un riflesso incondizionato di spegnimento dell'apparecchio. Ma questa tesi non reggeva: in fin dei conti non ho un udito cosi' fine da percepire una differenza di quei pochi decibel di scarto impostabili con l'apposita rotellina, una volta trovato il compromesso giusto non c'e' piu' ragione per cui non debba funzionare.
Ma ieri sera, riponendo l'infernale aggeggio sul comodino, ho forse inteso la reale causa del problema.
Vanno fatte due premesse. La prima e' che cambio relativamente spesso l'orario in cui la sveglia deve operare, in quanto qualche volta devo prendere il treno presto, altre volte posso stare nel letto fino alla tarda mattinata, ed altre volte ancora vado a dormire alle prime luci dell'alba e solo per pudore imposto la sveglia al primo pomeriggio. La seconda e' che la suddetta radiosveglia e' analogica, senza auto-tune, e per selezionare la frequenza desiderata c'e' una manopolina abbastanza sensibile, che richiede una discreta precisione per riuscire a trovare l'angolazione per cui si sente bene una stazione, e che facilmente perde la taratura.
Detto cio', cosa accade? Che quando ripongo l'aggeggio dopo averlo innescato la mano va a cascare proprio sulla rotellina della frequenza, posta sul lato opposto rispetto a me e dunque percepibile solo al tatto (potete immaginare quanto io mi curi delle sensazioni tattili quando mi corico a seguito di una sessione di programmazione...), pertanto e' facile che si perda l'impostazione giusta e, giunta l'ora di suonare, dall'altoparlante esce poco piu' che rumore bianco. Il quale, notoriamente, invece che aiutare a destarsi facilita il rilassamento e non incide sul conscio, lasciandolo placidamente sonnecchiare sul cuscino.
Gia' intuii il fenomeno in passato, tant'e' che quasi senza badarci troppo di quando in quando ho sempre provveduto a controllare e reimpostare le due manopole (volume e frequenza), ma appunto solo ieri sono stato folgorato sulla via di Damasco giungendo alla conclusione qui sopra esposta. Spero che tale consapevolezza mi aiuti a svegliarmi ad orari un poco piu' decenti.
E la prossima radio che acquisto dovra' irrevocabilmente avere l'auto-tune.