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

giovedì 12 febbraio 2009

Metodo

0 commenti
Da quando ho preso a lavorare per ItsMe un nuovo e stravagante mondo mi si e' aperto dinnanzi. Non parlo qui del contenuto del progetto stesso (su cui probabilmente in futuro avro' modo di soffermarmi), ma proprio della metodologia di lavoro con cui i diversi componenti del team di sviluppo interagiscono e si coordinano.
Specifiche, prototipi, diagrammi... Tutti concetti di cui ho forse sentito parlare molto lontanamente ai tempi dell'universita' ma su cui non mi sono mai soffermato, anteponendo ad essi la necessita' immediata: avendo negli ultimi tre anni scritto software ancor prima di sapere cosa dovesse fare, per riuscire a stare dentro a tempistiche e consegne gia' fissate ancora prima di mettere piede per la prima volta nell'ufficio torinese, ho sempre contemplato con distacco e diffidenza i dogmi dettati da questa strana dottrina chiamata Ingegneria del Software, e per abitudine e dimestichezza ho finito col gestire nello stesso modo un po' tutti i progetti con cui ho avuto a che fare sia professionalmente che amatorialmente.
Eppure ora scopro che il tempo passato a progettare e pianificare la propria applicazione, soprattutto se complessa e strutturata e ricca di interazioni, non e' proprio tutto tutto tempo perso.
Certo, non sono tutte rose e fiori: nessuno al mondo mi convincera' mai che uno schema UML abbia una qualsivoglia utilita', sia pratica che teorica, e neppure credo che l'"astrazione a tutti i costi" porti ad un approccio sano a quello che, volenti o nolenti, un giorno o l'altro dovra' essere tradotto in codice usando strumenti e librerie fatte in tutt'altro modo rispetto alla rappresentazione concettuale che ci si era fatti. Pero' molto altro si salva dalla mia osservazione critica: in primis il fatto di partire con la propria analisi non gia' dalla struttura del sistema ma da quello che dovra' fare e da cosa ci si aspetta che faccia in determinate condizioni, criterio apparentemente scontato ma non cosi' banale, ed in secundis la volonta' di implementare un prototipo per valutare sul campo l'API disegnata; a tutt'oggi storco un pochino il naso all'idea di scrivere del codice (in Python, oltretutto...) che ha lo scopo di essere buttato dopo una rapida occhiata, ma non nego che tale concetto possa risultare vincente nell'ottica di poter profilare l'architettura basandosi su dati reali anziche' su un disegnino tracciato su un foglio.
Ieri sera, per questioni personali, ho noleggiato un Virtual Private Server (cosa che suggerisco a tutti: oramai si pigliano ottime macchine a bassissimo costo, ed avere a disposizione una macchina sempre esposta sull'Internet e' una immensa comodita'), e tra i desideri del prossimo periodo vi e' quello di spostare su di esso lo sviluppo del Progetto Lobotomy: il sito, il repository (quando ci sara' del codice da condividere...), il futuro prototipo web di cui da tempo parlo, ma da principio credo che, al pari dei miei colleghi milanesi, installero' una istanza di Trac da usare come collettore di impressioni ed idee, da ordinare poi disciplinatamente e da cui estrarre poi una raccolta di "requirements" da usare come guida e riferimento in fase di definizione del sistema vero e proprio.
E che sia la volta buona che riesco a concretizzare almeno una parte delle infinite idee che ho in merito a tali ciclopica impresa.

La Sottile Linea

0 commenti
Abbastanza inevitabilmente, dato il mio interesse sia per i progressi nel campo dell'interfaccia uomo-macchina sia per le novita' nel mondo freesoftware, mi trovo a leggere talvolta in merito a KDE4.
Sorvolando sui commenti piu' o meno soggettivi in merito alla stabilita' del prodotto o alla presunta somiglianza con il non propriamente amato Windows Vista e' interessante vedere come il team del progetto sia proiettato verso la sperimentazione di nuove forme di interazione e presentazione, e l'ultimo bollettino proveniente dall'ennesimo meeting degli sviluppatori menziona una serie di interventi che si vogliono apportare per perfezionare l'integrazione fra le componenti.
Ma il punto e' proprio questo: al di la' dell'introduzione del supporto alle animazioni, la sommaria integrazione con OpenDesktop, e la serie di nuovi plasmoidi che man mano vanno ad infoltire il set di quelli con cui l'utente puo' personalizzare, nell'attuale versione 4.2 ed in tutte le possibili evoluzioni annunciate e non, cosa c'e' di realmente nuovo? Quello che dall'intero mondo free viene osannato ed indicato come rivoluzionario e radicale progetto, cos'altro e' se non il solito desktop arricchito da qualche animazione? Persino il team di Gnome, environment che da sempre si caratterizza per la coerenza anche fra applicazioni diverse e la pulizia dell'API, sta cedendo alle lusinghe della popolatita' e per non essere da meno a KDE sta includendo deplorevoli funzionalita' di dubbio gusto.
So di aver ripetuto questa manfrina piu' di una volta, anche su questo blog, ma ogni qualvolta torno a leggere gli stessi entusiastici commenti rivolti a qualcosa che di entusiasmante ha poco se non gli screenshots torno a riflettere sulla questione: si cerca di elevare un pochino il grado di integrazione reciproca tra le diverse applicazioni, si aggiungono strabilianti features grafiche (che non fanno altro che aggiungere possibilita' di infrangere ogni genere di coerenza tra le applicazioni), eppure la sottile linea che separa l'innovazione dal rimaneggiamento non viene mai oltrepassata.
Mi capacito del fatto che tale linea, in fin dei conti, tanto "sottile" non e', in quanto implicherebbe una riscrittura drastica dell'intero concetto di "computer general purpose con una interfaccia grafica", ma chiaramente ci si trova sempre a scontrarsi con l'abitudine della becera utenza e l'impossibilita' di diffondere agevolmente presso la massa elementi di novita'.
Ah, ho una gran voglia di tornare a lavorare su Lobotomy...

sabato 7 febbraio 2009

Ma il Multitouch...

0 commenti
Da lungo tempo, e soprattutto da quando l'iPhone rappresenta uno dei maggiori centri di gravita' dell'informazione spiccia tecnologica, si fa un gran parlare di multitouch. Ogniqualvolta esce un nuovo dispositivo, in particolare mobile, uno dei primi criteri di valutazione e' il suo supporto a tale meccanismo di input: se e' possibile usare piu' dita per manipolare l'interfaccia e' figo, altrimenti no.
Poco tempo addietro ho marginalmente toccato l'argomento facendo notare che ancora non avevo espresso un mio parere completo nei confronti di tale strumento, ed e' venuto il momento di approfondire.
Quando vidi il primo (o comunque il piu' noto) video in cui veniva mostrata una interfaccia di tal fatta ne rimasi come tutti entusiasta, anche se chiaramente la maggior parte della mia ammirazione derivava dalla novita' e dalla teatralita' dell'effetto in se'. Da allora altri filmati sono spuntati in Rete a decine, a centinaia, in ogni dove, in cui si vedevano persone che navigavano mappe, ridimensionavano e spostavano foto, e... Beh, nulla di piu'.
Alla fine e' evidente che allo stato odierno la tecnologia c'e', ma non ne esiste alcun utilizzo pratico: certamente questa e' solo una impressione dettata dal fatto che la stragrande maggioranza dei demo puntano a stupire l'utente medio, ed il software per trattare il ridimensionamento delle immagini allontanando ed avvicinando le dita e' sufficientemente banale (di librerie, anche open, che permettono di farlo e' pieno) da garantire un bel risultato scenografico con un minimo sforzo, ma finche' non esistera' una innovazione che renda codesto meccanismo realmente appetibile temo che cio' restera' semplicemente un decorativo orpello da nerd ed una strategia di marketing.
Gia' ce n'e' voluto del buono per ottenere qualche progresso nella fase di studio per un paradigma di user interface adatto al touchscreen, e comunque siamo ancora lontani da un risultato ottimale; figuriamoci quanto si dovra' attendere prima che il multitouch diventi parte integrante di tale paradigma. Ed io stesso non riesco a figurarmi particolari funzionalita' speciali che potrebbero essere implementate solo in virtu' del tocco multiplo.
Dunque: al momento non mi faccio particolarmente impressionare quando nel corso di una presentazione l'imbonitore di turno orgogliosamente fa vedere le sue agili ditina andare parallelamente su e giu' sullo schermo, e neppure mi curo del fatto che un tale apparato abbia o meno tale supporto hardware. Di strada da fare prima di arrivare a quello ce n'e' ancora tanta.