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

lunedì 25 febbraio 2008

LoboBuilder?

Breve post per annunciare il fatto che nel weekend ho a lungo ponderato sul traduttore di "viewers" da includere in Synapse, ed anzi per meglio analizzare il problema sto abbozzando un DTD.
Prossimamente vedro' di studiare il funzionamento ed il codice del GtkBuilder, widget recentemente introdotto nello stack GTK+ proprio per costruire interfacce a partire da una descrizione XML: quel che vorrei fare e' molto simile, con la differenza che nel mio caso devo rendere piu' esplicita la distinzione tra gli elementi rappresentativi del result set estratto da Hyppocampus su cui il template viene applicato e gli elementi dediti al layout e alle funzionalita' dell'applicazione descritta, si' da innestare automaticamente nell'interfaccia grafica finale presentata concetti come l'environmental mapping e l'aggiornamento per mezzo degli observers.
Tra ieri ed oggi ho abbandonato il proposito di usare XSLT in quanto produrrebbe risultati troppo statici, e sono orientato all'implementazione di un vero e proprio interprete che tag per tag costruisca l'interfaccia con widgets Kiazma (misto JSON?) e provveda a distribuire coerentemente i signals per l'integrazione con gli altri meccanismi impliciti del sistema.
Altre novita' fresche fresche sul modello che voglio costruire: possibilita' di creare templates di rappresentazione per result sets o per singoli items, forte contenimento dei templates (che non potranno descrivere piu' di una schermata, ma potranno comunque riferirsi ad altri templates. Insomma: l'interfaccia per il "client di posta" non sara' descritta in un unico file, ma ci sara' quello per leggere i messaggi, quello per rispondere ad una mail, quello per scriverne una nuova...), e magari anche possibilita' di includere un template dentro un altro in modo da usarli come "super-widget" riusabili.
Ma prima di andare oltre, farei quasi bene a studiarmi decentemente tutti sti' formati XML...

Nessun commento: