Ci sono giorni in cui mi ricordo perche' le tecnologie semantiche non mi convincono affatto. Oggi e' uno di essi.
Dal mio reclutamento tra le fila Nepomuk e' passato del tempo, ma sinora si e' prodotto poco: qualche altra discussione in lista Xesam, mi son migrato a mano i tickets dal vecchio tracker al nuovo, e poco altro. Evidentemente tutta la fretta imposta all'inizio non esisteva affatto, ma di questo ho gia' parlato.
Ieri son stato direttamente precettato per dire la mia in merito ad una questione che potrebbe portare ad una pesante revisione nella gestione delle mail in NMO, l'ontologia destinata al trattamento dei messaggi. I ragazzi di Tracker hanno avuto la bella pensata di riportare nella struttura semantica una mappatura 1:1 delle mail, suddividendole nei vari componenti MIME di cui sono assemblate, ed adesso che sono fuori specifica gli urge che tali correzioni vengano integrate in Nepomuk per essere compatibili con Strigi; in sostanza, hanno buttato all'aria la precedente struttura che manteneva un minimo di coerenza tra tutti i tipi di messaggi contemplati nell'ontologia.
Il bello e' che neppure gli posso dar torto, in quanto il fatto di mantenere l'informazione integra della mail cosi' com'e' non e' forse da considerare vitale ma comunque importante. Dunque, come si fa?
Cio' che si evince da questa vicenda (tutt'ora in corso: ci sara' da bestemmiare per trovare non solo una soluzione che mantenga uno straccio di coerenza ma che vada bene pure a sti' fenomeni che hanno implementato la loro propria soluzione senza chiedere niente a nessuno) e' che forse forse l'idea di "etichettare" ogni genere di contenuto nel minimo dettaglio permette certo di maneggiare con piu' rapidita' e disinvoltura il dato, ma presuppone comunque una conoscenza approfondita del dato stesso. Nello scenario di cui sopra, qualora si mantenga la struttura proposta, chiunque vorra' trattare una mail dovra' essere ben cosciente di cosa e' MIME, quali sono i metadati usati per tenere le informazioni rilevanti, ed ovviamente dovra' cambiare strategia nel momento in cui vorra' reperire un messaggio di altro tipo, ad esempio un SMS. Ed evitiamo di parlare del caso in cui vorra' far convergere questi due elementi...
Il problema intrinseco, almeno nel momento in cui tali strumenti si applicano al desktop, credo sia nella eterogeneita' dei contenuti che si dovrebbero rappresentare: i files son fatti tutti a modo loro, secondo formati propri, talvolta noti e talvolta chiusi, e la loro rappresentazione richiede troppo spesso o una mappatura completa del formato stesso o una perdita: totalmente inutile se si vogliono far collassare piu' cose secondo un criterio unificato.
Ce n'e' ancora di strada da fare per rendere usabile sta' baracca.
Pensieri e parole su HCI, home computing, tecnologie desktop e sul Progetto Lobotomy
martedì 28 luglio 2009
RDF = Rendiamo Difficile Fare
Pubblicato da
Roberto -MadBob- Guido
alle
01:30
0
commenti
Etichette:
integration,
nepomuk,
semantics
domenica 26 luglio 2009
opengnomedesktop.org
Pubblicato da
Roberto -MadBob- Guido
alle
01:42
0
commenti
Etichette:
code,
development,
integration,
social,
web
Finalmente son riuscito a mettere online questa roba: opengnomedesktop.org e' disponibile per tutti coloro alla ricerca di qualche nuovo tema con cui personalizzare il proprio ambiente Gnome, e possono navigarne una ricca selezione (presa da gnome-look.org) valutandoli per mezzo di thumbnails simili, per non dire uguali, a quelle comunemente disponibili nel pannello "Appearance" del sistema. Allo stato attuale solo i temi GTK+2 e quelli per Metacity sono trattati, prossimamente potrei aggiungere anche quelli per il mouse, i fonts e le icone.
Quanto ora online e' da considerare a malapena un proof-of-concept, ampiamente suscettibile a prossime migliorie: il demone di sync con gnome-look.org va perfezionato per non limitarsi a fetchare gli ultimi contenuti ma per allinearsi con altri dettagli di quanto gia' assimilato, va implementata l'interfaccia Open Collaboration Service per permettere l'accesso programmatico alle risorse, devo trovare un modo furbo per eseguire la generazione delle preview (gia' che per problemi tecnici non posso eseguirla in batch direttamente sul server), va introdotto uno straccio di sistema di news per il sito... Insomma, non sono manco all'inizio.
Ma ho comunque immesso il progetto tra le proposte per il gia' piu' volte citato Social Desktop Contest, anche al fine di raccogliere un po' di feedback, ed un poco alla volta entro nell'ottica di presentare un giorno il pacchetto completo direttamente al team Gnome per l'inclusione nella piattaforma: la libreria Glib per l'accesso ai provider OCS ce l'ho, l'applicazione web che raccoglie i contenuti in modo coerente anche, mi manca un prototipo di client dedicato che ricalchi appunto il layout del pannello Appearance ma tratti il materiale online anziche' quello installato localmente e dovrei avere piu' o meno tutto.
Gia' da qualche tempo in Gnome si sente la necessita' di una piu' stretta integrazione col web, nella prossima release 2.28 saranno inclusi diversi componenti mirati in tal senso, e mi piacerebbe provare a cavalcare l'entusiasmo per spingere anche l'integrazione con OCS: sorvolando sul problema odierno dell'unicita' del fornitore (solo la rete OpenDesktop e' al momento erogatrice di risorse per mezzo del protocollo) considero tale strumento assai importante per coinvolgere con maggior profitto all'interno della community free persone che pur non sapendo nulla di programmazione possono dare il loro contributo, almeno in termini di materiale ludico con cui abbellire il desktop.
La strada per il dominio del mondo passa anche per qualche simpatica icona...
Quanto ora online e' da considerare a malapena un proof-of-concept, ampiamente suscettibile a prossime migliorie: il demone di sync con gnome-look.org va perfezionato per non limitarsi a fetchare gli ultimi contenuti ma per allinearsi con altri dettagli di quanto gia' assimilato, va implementata l'interfaccia Open Collaboration Service per permettere l'accesso programmatico alle risorse, devo trovare un modo furbo per eseguire la generazione delle preview (gia' che per problemi tecnici non posso eseguirla in batch direttamente sul server), va introdotto uno straccio di sistema di news per il sito... Insomma, non sono manco all'inizio.
Ma ho comunque immesso il progetto tra le proposte per il gia' piu' volte citato Social Desktop Contest, anche al fine di raccogliere un po' di feedback, ed un poco alla volta entro nell'ottica di presentare un giorno il pacchetto completo direttamente al team Gnome per l'inclusione nella piattaforma: la libreria Glib per l'accesso ai provider OCS ce l'ho, l'applicazione web che raccoglie i contenuti in modo coerente anche, mi manca un prototipo di client dedicato che ricalchi appunto il layout del pannello Appearance ma tratti il materiale online anziche' quello installato localmente e dovrei avere piu' o meno tutto.
Gia' da qualche tempo in Gnome si sente la necessita' di una piu' stretta integrazione col web, nella prossima release 2.28 saranno inclusi diversi componenti mirati in tal senso, e mi piacerebbe provare a cavalcare l'entusiasmo per spingere anche l'integrazione con OCS: sorvolando sul problema odierno dell'unicita' del fornitore (solo la rete OpenDesktop e' al momento erogatrice di risorse per mezzo del protocollo) considero tale strumento assai importante per coinvolgere con maggior profitto all'interno della community free persone che pur non sapendo nulla di programmazione possono dare il loro contributo, almeno in termini di materiale ludico con cui abbellire il desktop.
La strada per il dominio del mondo passa anche per qualche simpatica icona...
venerdì 17 luglio 2009
Mail, XML e Thumbs
Pubblicato da
Roberto -MadBob- Guido
alle
22:52
0
commenti
Etichette:
code,
contest,
development,
influenze,
lobotomy,
SubConsciousDaemon
Questo post non e' per un commento o una divagazione specifica e mirata, ma semplicemente per aggiornare i miei lettori sulle attivita' correnti. Del resto, se non ho tempo di bloggare e' perche' ho altro da fare.
Per conto di Itsme negli ultimi giorni ho dovuto "smontare" Evolution, il client mail di Gnome, e trarne una sorta di mail client batch, che non interagisca con l'utente per mezzo di una interfaccia grafica ma popoli il database del backend con le mail in ingresso ed intercetti le nuove mail create (sempre sul database) per spedirle. Al di la' del gusto intrinseco di codesta attivita' (andare a mettere il naso in qualche progetto open ha sempre il suo fascino...) la cosa interessante e' che, con qualche opportuno ritocco qua e la', codesto componente potrebbe divenire il primo pezzo concreto del SubConsciousDaemon di Lobotomy: il funzionamento e' esattamente quello che contavo di realizzare appunto per il mio ambiente, dunque tanto vale riutilizzare questo codice che sara' comunque prossimamente rilasciato in licenza free.
Sempre in merito a Lobotomy: sembra quasi incredibile, ma son tornato a lavorarci. Negli scorsi giorni ho ripreso in mano il dialetto XML per i Thoughts, per accertarmi del fatto che vengano coperti tutti i casi piu' comuni e che comunque non esistano limiti intrinsechi alla definizione di pressoche' tutte le "applicazioni" utili. A breve, terminati gli altri task gia' in corso (e descritti sotto) conto finalmente di iniziare Synapse, ovvero l'interprete del suddetto XML e piu' in generale il gestore dei templates.
Altrove sto ultimando l'opera sul generatore di thumbs dai contenuti di Gnome-Look.org: nonostante abbia avuto un po' da magheggiare per ottenere il risultato desiderato, in quanto i links dei temi da cui trarre la preview non sono fatti per essere trattati programmaticamente e negli archivi compressi i files sono organizzati spesso in modi totalmente arbitrari, e nonostante le limitazioni tecniche sul VPS su cui andra' poi a girare il sito (non son riuscito ad eseguire X.org non essendoci giustamente una scheda grafica, e senza X.org non si puo' lanciare il codice di generazione batch delle thumbs), il demone preposto al download ed all'elaborazione dei temi GTK e Metacity e' pressoche' pronto ed ora debbo solo rifinire l'interfaccia web del sistema. Una volta completata anche quella sottoporro' pure questo progetto al Social Desktop Contest, che ad un mese dalla chiusura conta un solo partecipante (me!) e da cui posso dunque sperare in una proclamazione: sembra la sceneggiatura di uno spot del Gratta e Vinci, quelli della serie "Ti piace vincere facile?", ma se cio' comporta l'acquisizione da parte mia di un netbook non me ne lamento.
Insomma, c'e' sempre qualcosa su cui lavorare...
Per conto di Itsme negli ultimi giorni ho dovuto "smontare" Evolution, il client mail di Gnome, e trarne una sorta di mail client batch, che non interagisca con l'utente per mezzo di una interfaccia grafica ma popoli il database del backend con le mail in ingresso ed intercetti le nuove mail create (sempre sul database) per spedirle. Al di la' del gusto intrinseco di codesta attivita' (andare a mettere il naso in qualche progetto open ha sempre il suo fascino...) la cosa interessante e' che, con qualche opportuno ritocco qua e la', codesto componente potrebbe divenire il primo pezzo concreto del SubConsciousDaemon di Lobotomy: il funzionamento e' esattamente quello che contavo di realizzare appunto per il mio ambiente, dunque tanto vale riutilizzare questo codice che sara' comunque prossimamente rilasciato in licenza free.
Sempre in merito a Lobotomy: sembra quasi incredibile, ma son tornato a lavorarci. Negli scorsi giorni ho ripreso in mano il dialetto XML per i Thoughts, per accertarmi del fatto che vengano coperti tutti i casi piu' comuni e che comunque non esistano limiti intrinsechi alla definizione di pressoche' tutte le "applicazioni" utili. A breve, terminati gli altri task gia' in corso (e descritti sotto) conto finalmente di iniziare Synapse, ovvero l'interprete del suddetto XML e piu' in generale il gestore dei templates.
Altrove sto ultimando l'opera sul generatore di thumbs dai contenuti di Gnome-Look.org: nonostante abbia avuto un po' da magheggiare per ottenere il risultato desiderato, in quanto i links dei temi da cui trarre la preview non sono fatti per essere trattati programmaticamente e negli archivi compressi i files sono organizzati spesso in modi totalmente arbitrari, e nonostante le limitazioni tecniche sul VPS su cui andra' poi a girare il sito (non son riuscito ad eseguire X.org non essendoci giustamente una scheda grafica, e senza X.org non si puo' lanciare il codice di generazione batch delle thumbs), il demone preposto al download ed all'elaborazione dei temi GTK e Metacity e' pressoche' pronto ed ora debbo solo rifinire l'interfaccia web del sistema. Una volta completata anche quella sottoporro' pure questo progetto al Social Desktop Contest, che ad un mese dalla chiusura conta un solo partecipante (me!) e da cui posso dunque sperare in una proclamazione: sembra la sceneggiatura di uno spot del Gratta e Vinci, quelli della serie "Ti piace vincere facile?", ma se cio' comporta l'acquisizione da parte mia di un netbook non me ne lamento.
Insomma, c'e' sempre qualcosa su cui lavorare...
lunedì 29 giugno 2009
libopengdesktop
Come precedentemente annunciato negli ultimi giorni mi son messo ad implementare una piccola libreria che permette l'accesso ai servizi web compatibili Open Collaboration Services con un wrapper Glib, e dunque facilmente usabile in Gnome e XFCE. Sebbene certamente non ancora all'altezza di attica, ovvero l'implementazione per KDE, credo che libopengdesktop sia gia' usabile per piccoli applicativi senza pretese: mancano ancora le funzioni che permettono di comunicare con il server remoto in modalita' asincrona, indispensabili per l'utilizzo in una qualsiasi applicazione grafica che interagisca direttamente con l'utente, ma gia' il GTK+ Theme Thumbnailer menzionato nel precedente post sarebbe realizzabile senza eccessivo sforzo.
Per quanto questa faccenda del Social Desktop Contest in parte non mi torni, in quanto sembra abbastanza una bufala architettata a tavolino per l'interesse di pochi (e come al solito approfondiro' queste tematiche sull'altro mio blog), ha comunque stimolato i miei neuroni gia' peraltro eccitati dal bioritmo estivo, ed ora mi trovo con una quantita' di idee grandi e piccine che potrebbero essere presentate o comunque messe in opera per il puro gusto di far qualcosa di utile. Poiche' gia' so che non riusciro' mai a realizzarle tutte le condivido nella speranza che qualcun'altro si prenda carico di qualcuna di esse: se cio' dovesse succedere, lasciate un commento a questo pezzo cosi' evitiamo di lavorarci in due...
Per quanto questa faccenda del Social Desktop Contest in parte non mi torni, in quanto sembra abbastanza una bufala architettata a tavolino per l'interesse di pochi (e come al solito approfondiro' queste tematiche sull'altro mio blog), ha comunque stimolato i miei neuroni gia' peraltro eccitati dal bioritmo estivo, ed ora mi trovo con una quantita' di idee grandi e piccine che potrebbero essere presentate o comunque messe in opera per il puro gusto di far qualcosa di utile. Poiche' gia' so che non riusciro' mai a realizzarle tutte le condivido nella speranza che qualcun'altro si prenda carico di qualcuna di esse: se cio' dovesse succedere, lasciate un commento a questo pezzo cosi' evitiamo di lavorarci in due...
- una implementazione AGPLv3 della piattaforma Open Collaboration Services (per quanto incredibile lo stesso OpenDesktop, riferimento stesso della specifica, sembrerebbe costruito su una piattaforma web closed source... Andiam bene...). Questo di per se dovrebbe essere il progetto che andrebbe ad includere anche il GTK+ Theme Thumbnailer, ed il primo su cui mi mettero' a lavorare non appena avro' un poco di tempo
- un driver Gwibber per le funzionalita' di microblogging incluse nel formato
- un driver Evolution per gestire i messaggi privati tra gli utenti
- un'altro driver Evolution (o comunque un convertitore iCal) per importare nel calendar le informazioni relative agli eventi che vengono pubblicati
- una qualche forma di integrazione con GeoClue per la gestione ad alto livello delle informazioni geografiche (magari una estensione di libopengdesktop?)
- una applicazioncina Facebook che condivida su tale popoloso network le attivita' svolte su una piattaforma Open Desktop
venerdì 19 giugno 2009
GTK+ Theme Thumbnailer
Giusto il tempo di commentare il Social Desktop Contest, che in quattro e quattr'otto contro ogni piu' rosea aspettativa son riuscito ad implementare (sebbene sia da rifinire) la prima proposta che avevo in mente. Non si tratta di nulla di eclatante, per la carita', ma la trovo comunque una opzione nella sua semplicita' originale ed utile.
Partiamo da un presupposto: i contenuti solitamente accessibili sui vari siti della rete OpenDesktop hanno il grosso problema di non essere programmaticamente gestibili. Bellissimi i Nautilus Scripts, o le applicazioncine su kde-apps, ma fintantoche' la loro installazione ed il loro utilizzo richiedono un intervento consapevole dell'utente (che deve decomprimere l'archivio e leggere il README per sapere di volta in volta quali files prendere e dove spostarli), e non esiste dunque alcuna forma di pacchettizzazione, non si puo' pensare ad uno strumento che faciliti la propagazione di codesti micro-applicativi con una modalita' di interazione fruibile dagli utilizzatori domestici (ovvero: "Clicca qui e faccio tutto io"). Dello stesso difetto, o meglio di una sua variante, soffrono i materiali meno impegnativi e destinati all'abbellimento grafico del proprio desktop: splendide le sfilze infinite di GTK+ engines e decorazioni per le finestre di Metacity, ma se ognuna di esse e' rappresentata da uno screenshot preso alla meno peggio dal rispettivo sviluppatore/artista ed in situazioni sempre diverse e' difficile poterne valutare la gradevolezza e tocca comunque scaricare ed installare prima di accorgersi che la personalizzazione sulla propria postazione di lavoro non piace.
Proprio a questa seconda problematica e' rivolto il mio modestissimo progetto: un servizio web che wrappi alcuni dei contenuti di gnome-look generando automaticamente le preview dei vari temi disponibili sempre secondo lo stesso layout di widgets.
Mettendo il naso nel codice di gnome-control-center, ovvero l'applicativo che in Gnome permette la selezione di vari parametri di visualizzazione, si scopre che le thumbnails sono generate dinamicamente partendo sempre dalla stessa configurazione di widgets (si vedono rispettivamente un pulsante, una checkbox ed un radiobutton) si' da affiancare in modo equo e confrontabile le differenti opzioni; da li', e' stato un attimo isolare le funzioni che provvedono a tale generazione e realizzare un eseguibile standalone capace di produrre una JPEG a partire da un qualunque tema, da poi fornire in accompagnamento ai contenuti esposti da un ipotetico server che come detto funga da provider per un altrettanto ipotetico pannello Gnome arricchito da un tasto che permetta di pescare da esso (come gia' succede nel pannello dei wallpapers di KDE).
Paradossalmente adesso arriva la parte piu' noiosa e complessa, ovvero quella di provvedere ad una libreria C (e magari GObject oriented...) che wrappi l'API REST descritta dalla specifica Open Collaboration e permetta di comunicare col server senza doversi ogni volta parsare l'XML, e gia' da solo questo task meriterebbe di essere contemplato come entry a se' stante per il Contest. Ad ogni modo credo che l'ostacolo piu' imponente, ovvero la creazione di preview coerenti, sia stato abbondantemente superato, e da adesso la strada e' in discesa: non so se una trovata cosi' modesta possa realmente avere uno spazio all'interno della competizione internazionale (e anche se lo fosse, l'Italia e' storicamente tagliata fuori dei concorsi a premi che si svolgono nel resto del mondo...), ma ribadisco l'intento puramente materialistico dell'opera.
Ogni tanto un qualche simpatico hack per passar la serata e' d'uopo...
Partiamo da un presupposto: i contenuti solitamente accessibili sui vari siti della rete OpenDesktop hanno il grosso problema di non essere programmaticamente gestibili. Bellissimi i Nautilus Scripts, o le applicazioncine su kde-apps, ma fintantoche' la loro installazione ed il loro utilizzo richiedono un intervento consapevole dell'utente (che deve decomprimere l'archivio e leggere il README per sapere di volta in volta quali files prendere e dove spostarli), e non esiste dunque alcuna forma di pacchettizzazione, non si puo' pensare ad uno strumento che faciliti la propagazione di codesti micro-applicativi con una modalita' di interazione fruibile dagli utilizzatori domestici (ovvero: "Clicca qui e faccio tutto io"). Dello stesso difetto, o meglio di una sua variante, soffrono i materiali meno impegnativi e destinati all'abbellimento grafico del proprio desktop: splendide le sfilze infinite di GTK+ engines e decorazioni per le finestre di Metacity, ma se ognuna di esse e' rappresentata da uno screenshot preso alla meno peggio dal rispettivo sviluppatore/artista ed in situazioni sempre diverse e' difficile poterne valutare la gradevolezza e tocca comunque scaricare ed installare prima di accorgersi che la personalizzazione sulla propria postazione di lavoro non piace.
Proprio a questa seconda problematica e' rivolto il mio modestissimo progetto: un servizio web che wrappi alcuni dei contenuti di gnome-look generando automaticamente le preview dei vari temi disponibili sempre secondo lo stesso layout di widgets.
Mettendo il naso nel codice di gnome-control-center, ovvero l'applicativo che in Gnome permette la selezione di vari parametri di visualizzazione, si scopre che le thumbnails sono generate dinamicamente partendo sempre dalla stessa configurazione di widgets (si vedono rispettivamente un pulsante, una checkbox ed un radiobutton) si' da affiancare in modo equo e confrontabile le differenti opzioni; da li', e' stato un attimo isolare le funzioni che provvedono a tale generazione e realizzare un eseguibile standalone capace di produrre una JPEG a partire da un qualunque tema, da poi fornire in accompagnamento ai contenuti esposti da un ipotetico server che come detto funga da provider per un altrettanto ipotetico pannello Gnome arricchito da un tasto che permetta di pescare da esso (come gia' succede nel pannello dei wallpapers di KDE).
Paradossalmente adesso arriva la parte piu' noiosa e complessa, ovvero quella di provvedere ad una libreria C (e magari GObject oriented...) che wrappi l'API REST descritta dalla specifica Open Collaboration e permetta di comunicare col server senza doversi ogni volta parsare l'XML, e gia' da solo questo task meriterebbe di essere contemplato come entry a se' stante per il Contest. Ad ogni modo credo che l'ostacolo piu' imponente, ovvero la creazione di preview coerenti, sia stato abbondantemente superato, e da adesso la strada e' in discesa: non so se una trovata cosi' modesta possa realmente avere uno spazio all'interno della competizione internazionale (e anche se lo fosse, l'Italia e' storicamente tagliata fuori dei concorsi a premi che si svolgono nel resto del mondo...), ma ribadisco l'intento puramente materialistico dell'opera.
Ogni tanto un qualche simpatico hack per passar la serata e' d'uopo...
giovedì 18 giugno 2009
L'Unione fa... il Desktop
Sembra che la community di sviluppo freesoftware si sia svegliata tutta d'un colpo per concentrare almeno una parte delle risorse in tema di design ed usabilita' dei prodotti open: dopo il recentemente commentato contest di Mozilla (per cui ammetto di aver abbandonato il proposito di partecipare in modo serio, avrei voluto mettere insieme un piccolo prototipo ma le incombenze sono sempre troppe...) nel giro di pochi giorni sono spuntati fuori il progetto "One Hundred Paper Cuts" ed il "Social Desktop Contest".
Il primo si tratta di uno "sprint" che punta ad individuare e correggere 100 piccoli bugs all'interno dell'interfaccia di Ubuntu (notoriamente: Gnome) entro un breve periodo di tempo, puntando l'attenzione soprattutto sulle piccole ma fastidiose incoerenze che possono peggiorare la user expericence dell'utente novizio ma d'altro canto possono essere sistemate con poco sforzo. La lista delle segnalazioni e' ricca, e posso sperare che i developers coinvolti non chiuderanno la baracca arrivati al centesimo ticket chiuso ma lavoreranno comunque per sistemare il sistemabile. Considero l'iniziativa ottima, purtroppo non ha molto senso che a condurla sia un'unico vendor (Ubuntu, appunto, considerando che alla fine il codice corretto e' quello di Gnome) ma e' un modo efficace per coinvolgere l'utenza domestica, piu' sensibile ad imprecisioni che potrebbero passare inosservate ad un esperto, e perfezionare alcuni dei dettagli che fanno la differenza tra un prodotto buono ed uno eccelso.
Di tutt'altro genere e' il contest indetto da Social Desktop (che in realta' e' solo un'altro nome per OpenDesktop...), che mira a stimolare la produzione di qualche applicativo nuovo e creativo che sfrutti la specifica Open Collaboration Services by Freedesktop.org per l'integrazione del desktop Linux con funzionalita' di social networking. Sebbene in lavorazione da qualche tempo il formato per il recupero, la condivisione e la valutazione di contenuti addizionali per i PC casalinghi (wallpapers, icone, piccole utility...) non ha mai preso particolarmente piede, forse anche perche' l'unico fornitore degno di nome del servizio e' appunto OpenDesktop (quelli, per capirci, che mandano avanti gnome-look e kde-look), e solo ultimamente l'implementazione di una parte dei servizi all'interno di KDE4 (come al solito annunciata con le fanfare) ha riportato l'attenzione sul tema. Io credo che alla specifica manchi ancora molto per essere davvero utilizzabile e non rappresentare solo un guscio di fuffa "duepuntozero", ma tornero' prossimamente su tali considerazioni: al momento sto accarezzando l'idea di assemblare qualcosa per suddetto contest, sperando di produrre qualcosa di piu' che non per la sopra menzionata competizione Mozilla, e quando opportuno esporro' un approfondimento.
Insomma, la morale del post e': basta un poco di ingegno per architettare iniziative ampiamente fruibili dalla community (e non solo dagli sviluppatori, che paradossalmente sono sempre piu' una minoranza), in grado di condurre a ricchi risultati con un impiego modesto di risorse. Mi auguro di continuare a vedere spesso questo genere di imprese da parte dei team piu' grandi e con maggiore risonanza mediatica.
Il primo si tratta di uno "sprint" che punta ad individuare e correggere 100 piccoli bugs all'interno dell'interfaccia di Ubuntu (notoriamente: Gnome) entro un breve periodo di tempo, puntando l'attenzione soprattutto sulle piccole ma fastidiose incoerenze che possono peggiorare la user expericence dell'utente novizio ma d'altro canto possono essere sistemate con poco sforzo. La lista delle segnalazioni e' ricca, e posso sperare che i developers coinvolti non chiuderanno la baracca arrivati al centesimo ticket chiuso ma lavoreranno comunque per sistemare il sistemabile. Considero l'iniziativa ottima, purtroppo non ha molto senso che a condurla sia un'unico vendor (Ubuntu, appunto, considerando che alla fine il codice corretto e' quello di Gnome) ma e' un modo efficace per coinvolgere l'utenza domestica, piu' sensibile ad imprecisioni che potrebbero passare inosservate ad un esperto, e perfezionare alcuni dei dettagli che fanno la differenza tra un prodotto buono ed uno eccelso.
Di tutt'altro genere e' il contest indetto da Social Desktop (che in realta' e' solo un'altro nome per OpenDesktop...), che mira a stimolare la produzione di qualche applicativo nuovo e creativo che sfrutti la specifica Open Collaboration Services by Freedesktop.org per l'integrazione del desktop Linux con funzionalita' di social networking. Sebbene in lavorazione da qualche tempo il formato per il recupero, la condivisione e la valutazione di contenuti addizionali per i PC casalinghi (wallpapers, icone, piccole utility...) non ha mai preso particolarmente piede, forse anche perche' l'unico fornitore degno di nome del servizio e' appunto OpenDesktop (quelli, per capirci, che mandano avanti gnome-look e kde-look), e solo ultimamente l'implementazione di una parte dei servizi all'interno di KDE4 (come al solito annunciata con le fanfare) ha riportato l'attenzione sul tema. Io credo che alla specifica manchi ancora molto per essere davvero utilizzabile e non rappresentare solo un guscio di fuffa "duepuntozero", ma tornero' prossimamente su tali considerazioni: al momento sto accarezzando l'idea di assemblare qualcosa per suddetto contest, sperando di produrre qualcosa di piu' che non per la sopra menzionata competizione Mozilla, e quando opportuno esporro' un approfondimento.
Insomma, la morale del post e': basta un poco di ingegno per architettare iniziative ampiamente fruibili dalla community (e non solo dagli sviluppatori, che paradossalmente sono sempre piu' una minoranza), in grado di condurre a ricchi risultati con un impiego modesto di risorse. Mi auguro di continuare a vedere spesso questo genere di imprese da parte dei team piu' grandi e con maggiore risonanza mediatica.
lunedì 8 giugno 2009
CustomCaptionPanel per GWT
Come ogni altro framework, anche il Google Web Toolkit (gia' piu' volte menzionato in questo blog) inizia a dare soddisfazioni quando lo si riesce ad usare decentemente. Oggi, ispirato da un colpo di genio (o meglio di memoria...), questo articolo e la consultazione del codice interno di alcune classi, ho implementato ed incluso in GASdotto questa semplice classe che permette di utilizzare un fieldset come Cristo comanda, ovvero con le label.
Grazie a questo piccolo espediente e' possibile generare una gerarchia DOM che formatta i contenuti senza fare uso di tabelle (non tanto per questioni di accessibilita', comunque compromessa trattandosi di roba compilata in Javascript, ma interessante in termini di elementi che il layout engine del browser si trova a dover manipolare), e riccamente configurabile per mezzo di CSS come nell'esempio incluso nel codice della classe sopra linkata.
Il risultato ottenuto e' esteticamente assai gradevole, ed ovviamente ancora migliorabile se solo fossi capace di spremere CSS in modo esaustivo, e sebbene ancora non perfetto (il CaptionPanel cosi' taroccato non permette di installare listeners sugli elementi trattati, per intercettare ad esempio il focus, e non ho ancora capito come aggirare...) spero che questo pezzetto di codice torni utile a qualcuno.
Grazie a questo piccolo espediente e' possibile generare una gerarchia DOM che formatta i contenuti senza fare uso di tabelle (non tanto per questioni di accessibilita', comunque compromessa trattandosi di roba compilata in Javascript, ma interessante in termini di elementi che il layout engine del browser si trova a dover manipolare), e riccamente configurabile per mezzo di CSS come nell'esempio incluso nel codice della classe sopra linkata.
Il risultato ottenuto e' esteticamente assai gradevole, ed ovviamente ancora migliorabile se solo fossi capace di spremere CSS in modo esaustivo, e sebbene ancora non perfetto (il CaptionPanel cosi' taroccato non permette di installare listeners sugli elementi trattati, per intercettare ad esempio il focus, e non ho ancora capito come aggirare...) spero che questo pezzetto di codice torni utile a qualcuno.
venerdì 5 giugno 2009
Tanto va il Bob al Largo...
Pubblicato da
Roberto -MadBob- Guido
alle
23:59
0
commenti
Etichette:
influenze,
nepomuk,
semantics,
xesam
Ci sono situazioni della vita in cui non si puo' non restare affascinati dinnanzi agli inaspettati risultati che una caotica serie di eventi puo' produrre: ho piu' volte conosciuto per puro caso persone che a distanza di tempo ed in intricate circostanze si sono rilevate indispensabili, ho vissuto esperienze incredibilmente belle o incredibilmente brutte che mi hanno permesso di accedere ad altri scenari ancora piu' estremi, e mi sono trovato in condizioni paradossali a seguito di non meglio descrivibili catene di cause ed effetti.
Questa e' una di quelle situazioni.
Io, eterno scettico nei confronti del desktop semantico, e acceso critico nei confronti di organizzazioni ufficiali e para-corporate nel contesto dello sviluppo free, sono da oggi co-maintainer di un componente di Nepomuk.
Non sto qui a spiegare il come ed il perche' di tale evoluzione, e se lo facessi comunque pubblicherei il resoconto sul mio blog piu' "politicamente attivo" a causa dei risvolti che la vicenda ha e continuera' ad avere, ma basti qui menzionare il fatto che nel prossimo periodo avro' modo di approfondire persino piu' del dovuto il tema delle tecnologie semantiche ed i loro risvolti.
L'incarico si prospetta tutt'altro che semplice, considerando che in fin dei conti la definizione di una ontologia non e' null'altro che un confronto dialettico tra due o piu' persone che vogliono imporre la propria visione soggettiva delle cose senza poter fondare la discussione su aspetti tecnici e misurabili, lunghissimi flames sono gia' stati prodotti nei confronti di innumerevoli dettagli che avrebbero dovuto essere inclusi, esclusi o modificati ed il mio compito sara' quello di moderarli. Se a cio' aggiungiamo l'hype che Nepomuk detiene, avendo galvanizzato una buona fetta della community a seguito dell'implementazione (comunque a tutt'ora in corso d'opera) in KDE, ed il fatto che dovro' confrontarmi con personaggi di un certo spessore e di una certa esperienza (nella pagina sopra linkata appaiono, oltre al mio, i nomi di almeno un paio di maintainer di Tracker ed il co-maintainer di Xesam), la sfida si fa ancora piu' ardita.
Ridendo e scherzando gia' so che passero' il weekend a documentarmi sui tickets gia' in passato aperti sul componente a me assegnato e sulle modifiche che qualcuno ha arbitrariamente apportato senza pero' passare per la validazione da parte della community, preparandomi mentalmente e fisicamente al ciclo di sviluppo che iniziera' nel prossimo periodo a causa della chiusura dell'originario progetto Nepomuk sponsorizzato dall'Unione Europea ed alla migrazione della baracca sotto l'egida della fantomatica OSCAF, ambigua organizzazione il cui compito non e' ancora chiaro e per la quale indirettamente mi son trovato in codesta situazione.
Vabbe', guardiamo il lato positivo: con tutte le mail di insulti internazionali che dovro' mandare, magari il mio inglese scritto migliorera'...
Questa e' una di quelle situazioni.
Io, eterno scettico nei confronti del desktop semantico, e acceso critico nei confronti di organizzazioni ufficiali e para-corporate nel contesto dello sviluppo free, sono da oggi co-maintainer di un componente di Nepomuk.
Non sto qui a spiegare il come ed il perche' di tale evoluzione, e se lo facessi comunque pubblicherei il resoconto sul mio blog piu' "politicamente attivo" a causa dei risvolti che la vicenda ha e continuera' ad avere, ma basti qui menzionare il fatto che nel prossimo periodo avro' modo di approfondire persino piu' del dovuto il tema delle tecnologie semantiche ed i loro risvolti.
L'incarico si prospetta tutt'altro che semplice, considerando che in fin dei conti la definizione di una ontologia non e' null'altro che un confronto dialettico tra due o piu' persone che vogliono imporre la propria visione soggettiva delle cose senza poter fondare la discussione su aspetti tecnici e misurabili, lunghissimi flames sono gia' stati prodotti nei confronti di innumerevoli dettagli che avrebbero dovuto essere inclusi, esclusi o modificati ed il mio compito sara' quello di moderarli. Se a cio' aggiungiamo l'hype che Nepomuk detiene, avendo galvanizzato una buona fetta della community a seguito dell'implementazione (comunque a tutt'ora in corso d'opera) in KDE, ed il fatto che dovro' confrontarmi con personaggi di un certo spessore e di una certa esperienza (nella pagina sopra linkata appaiono, oltre al mio, i nomi di almeno un paio di maintainer di Tracker ed il co-maintainer di Xesam), la sfida si fa ancora piu' ardita.
Ridendo e scherzando gia' so che passero' il weekend a documentarmi sui tickets gia' in passato aperti sul componente a me assegnato e sulle modifiche che qualcuno ha arbitrariamente apportato senza pero' passare per la validazione da parte della community, preparandomi mentalmente e fisicamente al ciclo di sviluppo che iniziera' nel prossimo periodo a causa della chiusura dell'originario progetto Nepomuk sponsorizzato dall'Unione Europea ed alla migrazione della baracca sotto l'egida della fantomatica OSCAF, ambigua organizzazione il cui compito non e' ancora chiaro e per la quale indirettamente mi son trovato in codesta situazione.
Vabbe', guardiamo il lato positivo: con tutte le mail di insulti internazionali che dovro' mandare, magari il mio inglese scritto migliorera'...
martedì 2 giugno 2009
Mozilla Design Challenge, parte 1
Essendomi perso il contest per il re-design di OpenOffice, qualche giorno fa' ho deciso di partecipare a quello indetto da Mozilla per l'ideazione di una alternativa alle classiche tabs per la navigazione di piu' pagine contemporaneamente in Firefox.
Si parte dal presupposto che (cito testualmente) "oggi avere 20 o piu' sessioni parallele e' cosa comune", e nell'ottica di fornire un nuovo strumento di gestione della propria vita digitale si sta cercando un mezzo piu' efficiente che non le comodissime ma comunque limitanti tabs tradizionalmente poste al di sopra delle pagine.
Ieri sera ho confezionato una prima proposta, anche se ammetto apertamente che sia piuttosto banale: come si vede in questi mockups (e nell'orribile video che riporto anche qui sotto) ho piazzato le tabs in una sidebar, ispirandomi all'oramai diffuso utilizzo di monitor widescreen che offrono tanto spazio orizzontale, anche se tale presupposto non vale per gli altrettanto diffusi netbooks e tale approccio contempli comunque una semplicissima reimplementazione dello stesso identico concetto gia' esistente.
se non che si e' trattato di un (neppure tanto riuscito) esercizio di stile.
Ma come gia' detto, questa si tratta solo di una prima proposta: un'altra ne ho nel cassetto, in buona parte ispirata ed adattata dal meccanismo di navigazione dei templates pensato per Synapse. Certamente un "template" (nell'accezione assunta all'interno di Lobotomy) e' cosa diversa da una pagina web, dunque qualche revisione va apportata, ma provero' quanto prima a confezionare anche quest'altra proposal da inviare al team Mozilla.
Apprezzo immensamente lo sforzo profuso da Mozilla nella ricerca in campo di usabilita' e HCI, settore in cui tipicamente il software open deficita: il fatto di trattare l'interfaccia della propria applicazione con la stessa cura con cui si tratta il codice e' sintomo di consapevolezza nei confronti del "mercato" e dell'utenza, ed evidenzia l'intenzione di elevare la qualita' del software secondo canoni troppo spesso tralasciati e considerati secondari.
Con i miei modestissimi interventi non conto di lasciare un segno particolare presso il team Mozilla, ma il solo fatto di fomentare la creativita' di collaboratori freelance avvezzi al design ed all'usabilita' permette di avere una ricaduta su tutto il panorama e di generare concepts che potranno essere facilmente riutilizzati in altri progetti. Ben vengano dunque iniziative di questo genere, che dovrebbero anzi essere intraprese da tutti i progetti open di un certo spessore.
Si parte dal presupposto che (cito testualmente) "oggi avere 20 o piu' sessioni parallele e' cosa comune", e nell'ottica di fornire un nuovo strumento di gestione della propria vita digitale si sta cercando un mezzo piu' efficiente che non le comodissime ma comunque limitanti tabs tradizionalmente poste al di sopra delle pagine.
Ieri sera ho confezionato una prima proposta, anche se ammetto apertamente che sia piuttosto banale: come si vede in questi mockups (e nell'orribile video che riporto anche qui sotto) ho piazzato le tabs in una sidebar, ispirandomi all'oramai diffuso utilizzo di monitor widescreen che offrono tanto spazio orizzontale, anche se tale presupposto non vale per gli altrettanto diffusi netbooks e tale approccio contempli comunque una semplicissima reimplementazione dello stesso identico concetto gia' esistente.
se non che si e' trattato di un (neppure tanto riuscito) esercizio di stile.
Ma come gia' detto, questa si tratta solo di una prima proposta: un'altra ne ho nel cassetto, in buona parte ispirata ed adattata dal meccanismo di navigazione dei templates pensato per Synapse. Certamente un "template" (nell'accezione assunta all'interno di Lobotomy) e' cosa diversa da una pagina web, dunque qualche revisione va apportata, ma provero' quanto prima a confezionare anche quest'altra proposal da inviare al team Mozilla.
Apprezzo immensamente lo sforzo profuso da Mozilla nella ricerca in campo di usabilita' e HCI, settore in cui tipicamente il software open deficita: il fatto di trattare l'interfaccia della propria applicazione con la stessa cura con cui si tratta il codice e' sintomo di consapevolezza nei confronti del "mercato" e dell'utenza, ed evidenzia l'intenzione di elevare la qualita' del software secondo canoni troppo spesso tralasciati e considerati secondari.
Con i miei modestissimi interventi non conto di lasciare un segno particolare presso il team Mozilla, ma il solo fatto di fomentare la creativita' di collaboratori freelance avvezzi al design ed all'usabilita' permette di avere una ricaduta su tutto il panorama e di generare concepts che potranno essere facilmente riutilizzati in altri progetti. Ben vengano dunque iniziative di questo genere, che dovrebbero anzi essere intraprese da tutti i progetti open di un certo spessore.
lunedì 1 giugno 2009
Fuori Onda
Pubblicato da
Roberto -MadBob- Guido
alle
15:19
0
commenti
Etichette:
integration,
news,
social,
web
Giacche' il web sembra in fermento per l'ultima trovata Google, inutile non volerne discutere anche su questo blog.
In poche parole: Wave e' un tool per far convergere diverse forse di discussione, tra cui instant messaging e commenti sui blogs, e di editing collaborativo. Sara' che gli esempi forniti nel corso della presentazione ufficiale del prodotto (di cui e' disponibile il video nella homepage del progetto) sono abbastanza banali ed ingenui, ma al contrario della maggior parte della blogosfera a me non pare nulla di particolarmente eccitante.
Per la carita', una API che permetta di gestire in modo complesso gli stream di discussioni e commenti e' piu' che benvenuta, e gia' pregusto il momento in cui la includero' in GASdotto per arricchire le possibilita' di interazione degli utenti, ma in fin dei conti di strumenti per l'editing collaborativo ne esistono gia' a quintalate (sia web che desktop), e neanche si contano i mezzi con cui due o piu' persone possono comunicare in modo piu' o meno sincrono.
Probabilmente l'aspetto piu' innovativo del prodotto sta nella formalizzazione di un protocollo per l'aggregazione di contenuti, che garantisce la possibilita' di implementazioni inedite e maggiori spazi per l'integrazione di servizi offerti da diversi providers (nonche' di applicativi di interfaccia magari un po' piu' usabili che non il client Wave proposto da Google stessa, che mi pare tutto fuorche' immediato e semplice da utilizzare), ma come sempre c'e' da vedere se davvero tale arnese verra' portato laddove ce ne sarebbe bisogno, ovvero social networks e piattaforme di (micro)blogging, oppure se ancora una volta le divergenze del libero mercato concorrenziale imporranno limiti alla radicazione della specifica.
Piu' in generale, il mio giudizio nei confronti di questo genere di strumenti di carattere "social" e' sempre abbastanza critico: bellissima la possibilita' di condividere commenti, informazioni, notizie ed opinioni, ma se alla fine tutto questo popo' di tecnologia viene usato per far divulgare le foto delle vacanze non si ottiene nulla di piu' che non la versione globalizzata e 2.0 della "serata a casa degli amici a vedere le diapositive della settimana al mare". Quel che mancano non sono i mezzi, ma i contenuti, o comunque un qualche criterio che faccia emergere i dati realmente utili per la conduzione dei processi di decision making.
Gia' mi sono altrove espresso favorevolmente nei confronti dei nuovi media e dei canali di comunicazione "peer2peer" offerti dalla moderna Internet, ma giunti a questo punto ci si aspetterebbe da un colosso come Google (o da chiunque altro con un forte potenziale innovativo) qualcosa di piu' che non un servizio di instant messaging potenziato.
Forse la salvezza arrivera' dal semantic web, ma i tempi sembrano tutt'altro che maturi. Forse la salvezza arrivera' da Lobotomy, o da Itsme, o da qualche altro progetto che porta l'aggregazione dell'informazione al centro del modello di interazione, ma l'attesa sembra essere tutt'altro che breve. E nel frattempo aumenta la mole di informazione da filtrare a mano, e troppo spesso succede di perdersi i pezzi per la strada.
In poche parole: Wave e' un tool per far convergere diverse forse di discussione, tra cui instant messaging e commenti sui blogs, e di editing collaborativo. Sara' che gli esempi forniti nel corso della presentazione ufficiale del prodotto (di cui e' disponibile il video nella homepage del progetto) sono abbastanza banali ed ingenui, ma al contrario della maggior parte della blogosfera a me non pare nulla di particolarmente eccitante.
Per la carita', una API che permetta di gestire in modo complesso gli stream di discussioni e commenti e' piu' che benvenuta, e gia' pregusto il momento in cui la includero' in GASdotto per arricchire le possibilita' di interazione degli utenti, ma in fin dei conti di strumenti per l'editing collaborativo ne esistono gia' a quintalate (sia web che desktop), e neanche si contano i mezzi con cui due o piu' persone possono comunicare in modo piu' o meno sincrono.
Probabilmente l'aspetto piu' innovativo del prodotto sta nella formalizzazione di un protocollo per l'aggregazione di contenuti, che garantisce la possibilita' di implementazioni inedite e maggiori spazi per l'integrazione di servizi offerti da diversi providers (nonche' di applicativi di interfaccia magari un po' piu' usabili che non il client Wave proposto da Google stessa, che mi pare tutto fuorche' immediato e semplice da utilizzare), ma come sempre c'e' da vedere se davvero tale arnese verra' portato laddove ce ne sarebbe bisogno, ovvero social networks e piattaforme di (micro)blogging, oppure se ancora una volta le divergenze del libero mercato concorrenziale imporranno limiti alla radicazione della specifica.
Piu' in generale, il mio giudizio nei confronti di questo genere di strumenti di carattere "social" e' sempre abbastanza critico: bellissima la possibilita' di condividere commenti, informazioni, notizie ed opinioni, ma se alla fine tutto questo popo' di tecnologia viene usato per far divulgare le foto delle vacanze non si ottiene nulla di piu' che non la versione globalizzata e 2.0 della "serata a casa degli amici a vedere le diapositive della settimana al mare". Quel che mancano non sono i mezzi, ma i contenuti, o comunque un qualche criterio che faccia emergere i dati realmente utili per la conduzione dei processi di decision making.
Gia' mi sono altrove espresso favorevolmente nei confronti dei nuovi media e dei canali di comunicazione "peer2peer" offerti dalla moderna Internet, ma giunti a questo punto ci si aspetterebbe da un colosso come Google (o da chiunque altro con un forte potenziale innovativo) qualcosa di piu' che non un servizio di instant messaging potenziato.
Forse la salvezza arrivera' dal semantic web, ma i tempi sembrano tutt'altro che maturi. Forse la salvezza arrivera' da Lobotomy, o da Itsme, o da qualche altro progetto che porta l'aggregazione dell'informazione al centro del modello di interazione, ma l'attesa sembra essere tutt'altro che breve. E nel frattempo aumenta la mole di informazione da filtrare a mano, e troppo spesso succede di perdersi i pezzi per la strada.
Iscriviti a:
Post (Atom)