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

domenica 29 giugno 2008

KiazmaIconView

0 commenti
Questa sera ho in buona parte completato il primo widget effettivo della nuova riscrittura di Kiazma, la KiazmaIconView. Qui il primo screenshot, sebbene non ci sia nulla di speciale da vedere: mancano ancora le icone!
Questo non e' stato un gran traguardo tecnico, in fondo l'algoritmo di disposizione delle icone e' banale (basta metterle in una griglia...), ma nella sua semplicita' rappresenta una importante milestone nella costruzione dell'intero toolkit: prima di arrivare a cio' ho dovuto abbozzare il core di oggetti che sono l'essenza della rappresentazione grafica degli elementi relazionali carpiti dal filesystem Hyppocampus (questa KiazmaIconView ad esempio e' solo una estensione del KiazmaSet, sorgente di ogni altro widget rappresentante un result set) e mettere in piedi il meccanismo di caricamento dinamico dei widget, insomma per arrivare a quei tre quadretti azzurri c'e' stato parecchio da studiare ma adesso posso dire di essere ad un buon punto.
Prima di proseguire su questa via, magari mettendo delle icone vere in sta' iconview, c'e' pero' un'altro grosso passo da compiere: la prima stesura di Staminal. Originariamente pensato per un impiego di estremamente alto livello, nella fase finale del trattamento dei dati prima della presentazione all'utente, mi sono accorto che questo componente del progetto Lobotomy risulta indispensabile per la visualizzazione di qualsiasi item. Per fare un esempio relativo al widget presentato in questo post: una volta estratta una serie di elementi dal filesystem per mezzo di una query in cui sono stati selezionati ben specifici metadati ("SELECT pippo, pluto, paperino WHERE..."), come costruire la relativa icona? Se son stati selezionati metadati dal contenuto solo testuale, cosa appare nel disegno rappresentativo? Questo vale per tutti i widgets futuri in Kiazma, in quanto e' condizione primaria del modello MVC che si sta costruendo che ogni result set sia rappresentabile con un qualsiasi template senza sapere a priori cosa andra' ad essere rappresentato.
Adesso e' tardi (son quasi le 5:00...), vedro' di pensarci domani se passera' poca gente a Willastellone...

venerdì 27 giugno 2008

Presagio

0 commenti
Oggi apro l'aggregatore RSS, e leggo che...
Ora: e' una mia impressione, o la tendenza verso il mobile aumenta ogni giorno di piu'? Sorvolando su questa insolita sfilza di notizie strettamente correlate al settore, inutile non ammettere che comunque almeno una volta al di' capiti di trovarsi dinnanzi a qualche annuncio di una certa rilevanza: forse davvero ci stiamo avvicinando al punto di rottura, il momento in cui lo smartphone acquisira' una importanza maggiore rispetto al desktop?
Dal canto mio so solo che nei prossimi giorni provvedero' ad ordinare il mio OpenMoko presso il distributore francese con l'intento dichiarato di giocarci sopra e sperimentare lo sviluppo su questo genere di apparati, traendo magari ispirazione dal piu' fornito archivio di applicativi mobili sul web.
Per intanto profitto di questo breve post per comunicare che sto dedicando la settimana corrente a rimettermi al passo con l'implementazione di Kiazma: superati i primi momenti di panico dovuti ai primi approcci a Clutter procedo abbastanza speditamente e conto di avere una API sufficiente per costruire una prima demo a giorni.

domenica 15 giugno 2008

Touch Me

0 commenti
Periodo assai magro per lo sviluppo di Lobotomy, essendo io estremamente impegnato su un numero infinito di fronti ed impiegando ogni momento libero per portare avanti una applicazione web commerciale che mi e' stata commissionata (sviluppata per mia volonta' con GWT, al fine di acquisire maggiore dimestichezza con tale strumento e riusare l'esperienza accumulata al servizio del freesoftware).
Ma riuscendo finalmente ad intravedere una luce in fondo al tunnel, e pregustando il giorno in cui potro' tornare a dedicarmi integralmente al mio amato progetto, nel substrato cognitivo di background sono tornato a meditare a funzionalita' e perfezionamenti da apportare. Primo tra tutti (oltre chiaramente all'implementazione del nuovo Synapse in forma di interprete per i templates delle applicazioni interne al desktop environment) lo sfruttamento dei dispotivi di puntamento touchscreen.
Sembra proprio che il mondo abbia finalmente scoperto l'esistenza dei touchscreen (devo considerarmi un precursore, avendo investito gia' tre anni addietro nell'acquisto di un tablet?), e le tecnologie desktop molto puntano su tali apparati: si puo' facilmente prevedere l'uscita di una nuova schiera di tablet PC a partire dal prossimo anno, con l'avvento di Windows7 (di cui l'unica cosa che e' stata mostrata sinora e' appunto il supporto al multitouch), e gia' oggi i piu' moderni laptop targati Apple supportano gestures sul touchpad.
Proprio a proposito dell'uso del comune touchpad presente su ogni portatile in commercio (non solo quelli Mac), ho scoperto che gia' molti di essi sono in grado di identificare il tocco di piu' dita contemporaneamente: stando a questo illuminante articolo le proprieta' di tali device non sono particolarmente precise ed avanzate, ma con un poco di fantasia qualcosa si potrebbe comunque cavare: allo stadio attuale tali funzionalita' sono totalmente inutilizzate (ed ai piu' sconosciute), ed il mio personale obiettivo e' quello di provare ad implementare una sorta di piccola libreria standalone per Linux che faciliti la definizione di gestures elementari da riusare poi nel contesto di Lobotomy.
Chissa' che non riesca a rilasciare qualcosa profittando del tradizionalmente prolifico periodo estivo...