lunedì 21 dicembre 2009

How to dismantle an adobic bomb


Leggo da più parti, su siti, forum e blog nazionali ed esteri, che una delle cose che frenano l'adozione di GNU/Linux tra i web developers è la mancanza di un software equivalente a Dreamweaver sulla piattaforma del pinguino. Effettivamente DW è davvero un ottimo software, e la potenza della sua interfaccia WYSIWYG ha permesso l'avvicinamento di un mare di persone al web design, senza che queste dovessero confrontarsi con tutte le asperità che le innumerevoli tecnologie per il web possono presentare.
In particolare, però, la feature più cara a chi utilizza DW - feature vistosamente assente in altri software dedicati alla stessa attività - è la gestione dei template e delle library, che permette di costruire elementi comuni a tutte le pagine del sito, e di modificarli senza massicci copia-incolla su decine di file.
Questo post racconta l'esito delle mie disavventure con un progetto di lavoro che, partito come costruzione di un mockup di un portale, è approdato alla dimensione di una vera e propria versione statica di un oggetto altrimenti generato attraverso un CMS - considerando, soprattutto, che per lavoro non faccio il grafico, nè il programmatore web, nè tantomeno il web designer.
Come si può facilmente immaginare, la costruzione di un mockup web di poche pagine dimostrative può essere eseguita con qualunque editor di testi: anche dovendo ripetere porzioni di codice su più pagine, l'overhead dovuto alle modifiche è minimo, per via - perlappunto - della dimensione contenuta. Il disonesto "cambio di scala progressivo" operato dal cliente mi ha messo nell'imbarazzante situazione di dover gestire le modifiche di decine di pagine statiche; dall'imbarazzo si è passati alla palese difficoltà (e ad una conseguente acrimonia), nel momento in cui mi sono state chieste versioni "stagionali" del portale, moltiplicando, di fatto, per 4 lo sforzo necessario.
Alla richiesta di modifiche ai menù della demo statica, mi sono reso conto che l'incarico rischiava di diventare un bagno di lacrime e sangue.
La prospettiva di dover approntare un ambiente Windows-based solo per installarvi DW, peraltro, mi inorridiva.
Attratto dalle sirene dell'Internet, sono stato portato a credere che Quanta+, NVU e Kompozer fossero in grado di risolvere i miei problemi, ma le similitudini tra i due prodotti open e DW si fermavano ad una serie di aiuti nella scrittura del codice (X)HTML, come l'autocompletamento.

Ormai distrutto e disperato mi sono lanciato in una serie di improbabili query su Google; lacrime sono state versate nel constatare l'imminenza della vittoria del duo Microsoft/Adobe.
Fino a scoprire, all'interno del succitato Quanta+, uno script chiamato dwt.pl: sostanzialmente uno script in Perl che, nelle intenzioni del suo creatore, dovrebbe permettere di riprodurre il funzionamento dei template di DW all'interno dell'editor open-source, attraverso l'utilizzo di un markup direttamente derivato dai template in formato .dwt (quelli generati da DW, per intenderci). Feature senza documentazione, abbastanza oscura da necessitare ulteriori ricerche, ma pur sempre feature.
Giubilo ed eccitazione, fino a scoprire in breve che dwt.pl non funziona (perlomeno non la versione inclusa nel programma, nè la spartana interfaccia per gli script offerta da Quanta+). The road had been opened: alla ricerca di una versione funzionante e di qualche howto su dwt.pl, ho avuto la fortuna di imbattermi nelle gloriose parole Template Toolkit, ed il buon senso di approfondire l'argomento.
Template Toolkit è una collezione di script in Perl molto potente per la generazione di documenti di qualunque tipo a partire da template; permette la costruzione di pagine web statiche (attraverso tpage e ttree, script bash che fungono da wrapper per gli script in Perl) e dinamiche (usando scripting CGI). TT è davvero complesso - esiste un libro intero dedicato ad esso, pubblicato da O'Reilly Media - ma, per le esigenze sopra esposte, basta imparare ad utilizzare tpage (tpage [ --define var=value ] header mypage footer > mypage.html ), capire come funziona il markup (che permette anche semplici funzioni condizionali) e seguire alcuni piccoli accorgimenti relativi al naming dei file.
To make a long story short, la riscrittura delle poche pagine del mockup secondo la logica di TT mi ha permesso di risparmiare incalcolabili quantità di tempo, senza dover installare Windows, Wine o Dreamweaver, peraltro aumentando la mia conoscenza del bash scripting, delle regexp, di CSS/XHTML/Javascript e di parecchie buone pratiche del web design.

Niente di troppo user-friendly, ma sicuramente versatile e potente.

Cheers!

mercoledì 22 luglio 2009

Twitcam, Twitpic e tutti gli altri: Twitter vs. Facebbok?

In pieno spirito Twitter, Twitcam è un'applicazione per fare microbroadcasting video "in tre semplici passi".

IMHO questo sviluppo di Twitter (che comprende, per esempio, Twitpic) mostra un'alternativa al modello proposto da Facebook: dove quest'ultimo è una piattaforma chiusa "su cui" vengono sviluppate applicazioni (in una logica "walled garden"), Twitter sta diventando un ecosistema modulare di applicazioni indipendenti e "immerse" in Internet (in una logica "a plug in"). Più libero e meno controllabile centralmente. Meno monetizzabile? Probabilmente, ma anche Facebook non riesce ancora a trovare un modello di business propriamente detto, pur vedendo aumentare quotidianamente il valore delle sue azioni. Vedremo.

martedì 14 luglio 2009

Zopa, Tesoro e microcredito

Il Tesoro, su indicazione della Banca d’Italia, ha tolto a Zopa la “licenza” di fare da intermediario
http://www.repubblica.it/2009/07/sezioni/economia/zopa-sospesa/zopa-sospesa/zopa-sospesa.html

Oltre a mettere una pietra tombale sulla mia idea di p2p venture capital (le persone dietro Zopa hanno fatto parecchio lobbying presso la Banca d’Italia prima di cominciare e li hanno bloccati, figuriamoci cosa posso fare io) la notizia è abbastanza sconfortante per quanto riguarda l’”innovazione finanziaria” di questo paese.

In tutto il mondo (Giappone capofila) ci si sta muovendo nella direzione di liberalizzare al massimo il microcredito, per permettere la nascita di modelli di business di scala inferiore rispetto al mercato tradizionale del credito.

Secondo me questo fatto non solo avvantaggia la PMI, operando una liberalizzazione concreta dell’intero mercato del credito, ma facilita l’utente/consumatore: per fare un esempio, la mancata introduzione, da noi, dell’osaifu-keitai (il cellulare portafoglio tanto popolare in giappone) è stata causata direttamente dalle riserve iniziali dalla BCE sul tema microcredito.

È come al solito un'opportunità mancata che lascia nelle mani delle Banche e di poste il mercato del piccolo credito, con carte ricaricabili sempre al margine della liceità, e che, nel lungo periodo, ci lascerà (tanto per cambiare) arretrati

giovedì 30 aprile 2009

6 tips per l'innovatore

Visto che non posto mai nulla, mi sembra il caso di pubblicare qualcosa dal profilo più "autoriale", approfittando del fatto che i problemi del mio scooter mi fanno camminare parecchio, e, quindi, pensare e leggere di più.
Leggendo, appunto, un vecchio numero (6/2007) dell'edizione italiana della rivista Technology Review del M.I.T., sono incappato in un interessante estratto da Avoid Boring People, autobiografia di James Watson, uno degli scopritori della struttura del DNA.
A prescindere dal contenuto estremamente interessante dell'articolo stesso, fantastica escursione nella genesi della scoperta scientifica, hanno attirato molto la mia attenzione due elementi. Innanzitutto la natura estremamente sociale del progresso scientifico (fatto noto, ma che contrasta l'ideale romantico del genio solitario); poi il riquadro riportato dalla rivista in coda all'articolo, contenente indicazioni per giovani scienziati would-be-genius.
Data per assodata l'idea che vi è una grossa differenza tra le evoluzioni in campo tecnico-scientifico e l'innovazione di massa, che riguarda principalmente cambiamenti nelle abitudini di utilizzo delle persone, di cui il progresso tecnico è condizione necessaria ma non sufficiente, mi pare utile generalizzare a tutto l'ambito dell'innovazione le indicazioni di Watson, se non altro perché vicini alle posizioni degli innovatori più radicali. Sembrano indicazioni generiche, ma forniscono qualche insight
1. Scegli un obiettivo presumibilmente d'avanguardia rispetto al periodo in cui vivi - La messa a punto dei dettagli viene fatta da chi non sarà probabilmente un grande scienziato (questa a mio avviso è la meno "adattabile", almeno in ambito commerciale. L'idea è che la notorietà è di chi ha la idea, poi ci saranno dei professional che la realizzeranno o metteranno a punto. Vero, se avviene all'interno di una sola azienda, o nell'ambito dello sviluppo open-source; mettiamola così)
2. Lavora solo su problemi sui quali ritieni che il successo tangibile possa arrivare in pochi anni - l'indicazione di Watson è "se si ritiene di avere almeno il 30% di possibilità di arrivare a capo entro 2-3 anni di un problema che molti altri considerano non risolvibile nel breve periodo, allora vale la pena di tentare"
3. Non essere mai la punta di diamante del gruppo - Watson: "Nulla può rimpiazzare la compagnia di altri che hanno le conoscenze [e il potere ndr] necessarie a cogliere le falle del nostro ragionamento [...] E pià intelligenti sono coloro che ci circondano, più accurato sarà il nostro lavoro. [...] Molto meglio essere il chimico meno esperto di un super dipartimento di chimica che una star in uno non altrettanto prestigioso" (mi piace molto l'idea. La genesi della conoscenza è eminentemente sociale; la coercizione porta a raffinare le idee)
4. Rimani in stretto contatto con i tuoi competitori intellettuali - "Chi vuole essere l'unico ad affrontare un problema è destinato a rimanere incastrato nelle paludi della scienza. [...] la presenza di concorrenti validi è la garanzia che il premio da vincere è di grande prestigio. Tuttavia, se il lotto dei concorrenti è troppo vasto, sarebbe il caso di iniziare a preoccuparsi. [...] si sta andando alla ricerca di qualcosa di ovvio, non abbastanza in avanti rispetto ai tempi in cui si vive da scoraggiare i più prudenti e i meno creativi [...] Più piccolo il settore, maggiore è il controllo, più alte le possibilità di spuntarla." (molto bello. Trovare una nicchia poco popolata; conosci il tuo nemico)
5. Lavora con un collega di uguali capacità intellettuali - Watson: "I migliori accoppiamenti scientifici sono matrimoni di convenienza in cui si mettono assieme talenti complementari. [...] In generale un gruppo scientifico costituito da più di due unità genera confusione. [...] Nelle collaborazioni a tre risulta più complessa la distinzione dei singoli meriti. Le persone riconoscono naturalmente la natura paritaria delle collaborazioni di coppie di successo, per esempio Rodgers e Hammerstein o Lewis e Clark" (la sua "adattabilità" è dubbia, lo ammetto ... mi sembra interessante la complementarietà dei talenti. Plausibilmente si può affermare che è meglio evitare di coinvolgere in un gruppo di progetto troppi esperti di uno stesso campo, mantenendo attivo un circuito "esterno" per verificare la "tenuta" delle idee formulate - come peraltro indicato dallo stesso Watson in un assaggio non riportato)
6. Cerca di avere sempre qualcuno che ti appoggia nei momenti difficili - "Nel tentativo di anticipare i tempi futuri, inevitabilmente si è destinati a incontrare qualcuno che penserà che vi siete montati la testa. [...] spesso li troverete sulla vostra strada in posizioni importanti per il futuro della vostra vita come [...] Quindi è sempre meglio conoscere qualcuno di importante - a parte i vostri genitori - che sia dalla vostra parte" (il ragionamento mi mette qualche dubbio. Anche ammesso - com credo, peraltro - che gli innovatori non suscitino l'ostilità di cui scrive Watson, però, è vero che il network di conoscenze permette di raggiungere traguardi maggiori - e questo sottoline le potenzialità di social network un po' più seri, come LinkedIn, o i siti di crowdsourcing come BootB o Innocentive)

Se trovate tempo e modo di leggere tutto questo, sono graditi commenti ^_^

sabato 21 febbraio 2009

Things had to be that easy

...e mi trovo anch'io a scrivere un bel post sul fenomenale Twitter. Non mi dilungherò troppo nel descrivere cos'è Twitter, anche perché in giro per la rete si trova ormai una gran messe di guide e presentazioni sull'argomento (anche molto interessanti); nè mi dilungherò sul perché ed il percome io adori questo strumento che ancora una volta dimostra che il minimalismo sia un'interessante caratteristica per gli strumenti del Web, dato che lascia agli utenti la caratterizzazione ultima dei servizi che utilizzano.
Voglio solo citare un caso personale che dimostra la potenza di strumenti di social network in mano alle aziende, soprattutto nell'instaurare un rapporto più diretto con la propria clientela: uno scambio di tweet tra me e Atacmobile (ricerca e visualizzazione a cura di Twitter Search)


La vita dovrebbe essere sempre così semplice...

EDIT: Come non detto, non posso apprezzare l'operato di un'azienda, che subito fa qualche grossa boiata