In un epoca di “fuga dei cervelli”, è rincuorante sapere che a livello di software semi-professionale il made in italy è ancora vivo e vegeto. Stiamo parlando di blueMarine, prodotto dell’ italianissima Tidalwave rivolto a tutti quelli che quotidianamente per lavoro o per hobby hanno a che fare con la fotografia. Di seguito riportiamo l’ intervista che abbiamo fatto al responsabile del progetto:
1) Come ti è venuta l’ idea di sviluppare questo software?
Sono appassionato di fotografia da un po’ di anni e nell’estate 2003, quando avevo appena comprato una Nikon D100, ci fu una memorabile ondata di caldo. Sostanzialmente costretto a restare in casa per buona parte del giorno, mi dedicai a studiare il formato “raw” di Nikon (NEF), anche perché non era documentato (non lo è neanche oggi) e questo è sempre uno stimolo irresistibile per un informatico. Così cercai qualche informazione sul web e scrissi un piccolo decodificatore in Java; successivamente lo integrai con un primitivo sistema di catalogazione che avevo messo in piedi un paio di anni prima per le foto analogiche, basato su fogli OpenOffice e un po’ di codice Java. A quel punto decisi di sviluppare l’idea di “non-destructive editing”, cioè la capacità di mantenere sul disco la foto originale e memorizzare le modifiche effettuate come annotazioni. Per me era molto importante siccome ero alle prime armi di foto digitale e sicuramente avevo bisogno di tornare più volte sulle mie decisioni; oggi è un concetto piuttosto comune (ad esempio in Aperture e Lightroom), all’epoca era presente solo in alcuni prodotti specializzati. Infine, un amico ingegnere e fotografo amatoriale, esperto di foto astronomiche, mi parlava di elaborazioni fotografiche specifiche di quel mondo, che venivano supportate da un workflow piuttosto complesso, facendo ricorso a applicativi diversi, spesso a riga di comando. Mi venne quindi in mente l’idea di sviluppare un’applicazione basata su plugin che supportasse qualsiasi workflow, anche “esotico”. Infine, essendo fotografo di volatili, volevo un meccanismo di catalogazione sofisticato, in grado di supportare la tassonomia del mondo animale, che all’epoca non ero riuscito a sviluppare in nessun prodotto di catalogazione esistente.
2) Perchè hai scelto Java come linguaggio di programmazione (visto che la JVM penalizza parecchio in termini di velocità)?
Be’, ad esempio perché non è vero che la JVM penalizza parecchio in termini di velocità :-) In realtà nel 2003 e nel 2004 ero decisamente sicuro di quest’affermazione per le applicazioni “lato server”, incluso alcuni progetti un po’ fuori dal normale (come ad esempio la distribuzione di dati di telemetria in tempo reale), per diretta esperienza professionale. Java non era un gran che sul desktop, ma in prospettiva ero sicuro che le cose sarebbero migliorate. In qualche modo, l’idea di blueMarine era anche di verificare la realizzazione di un’applicazione desktop sofisticata, dove la mia esperienza era limitata. Effettivamente ho avuto gravi problemi fino al 2005 (onestamente anche dovuti a qualche scelta progettuale errata); oggi posso dire che tutti i colli di bottiglia finora trovati (e in parte eliminati) sono dovuti a scelta di algoritmi non ottimizzati. Ovviamente, performance a parte, l’idea di Java era anche legata alla facilità di scrivere dei plugin, grazie alla dinamicità del linguaggio, e alla portabilità. In particolare mi ha sempre interessato l’idea di usare Linux come sistema operativo primario anche per l’elaborazione fotografica (oggi uso Mac OS X, ma sono sempre più stufo dell’arroganza di Apple).
3) Nel sito parli della possibilità di espandere il vostro programma con plugin. Che conoscenze sono necessarie per poter sviluppare i propri plugin?
Nel 2006 blueMarine è stato riscritto completamente da zero usando NetBeans RCP, una tecnologia open source di Sun Microsystems che potenzia Swing, il tradizionale ambiente desktop di Java. NetBeans RCP include un sacco di funzionalità pronte per l’uso, incluso un meccanismo sofisticato per costruire plugin che possono essere installati a caldo e scaricati da rete. Pertanto, il primo requisito è ovviamente conoscere bene questa tecnologia. Per il resto, ci sono i JavaDoc di blueMarine, anche se per ora sono incompleti. Sinora Emmanuele Sordini, il citato amico astrofotografo, è stato in grado di scrivere il primo plugin contribuito da terzi.
4) In che fascia si vuole collocare il tuo prodotto? Chi è il tuo “utilizzatore tipo” ?
L’utilizzatore tipo è il fotografo dilettante o amatorIale-serio; in particolare penso agli utenti che vogliano lavorare con Linux (o Solaris, che verrà ufficialmente supportato a breve, non appena finisco di avere un’installazione stabile), vista l’attuale mancanza di prodotti sofisticati e “open” in quei segmenti. A questo punto va detto che l’applicazione non è ancora completamente pronta per l’uso (mancano alcuni test di qualità e le ultime ottimizzazioni di performance) e, in particolare, la parte di editing è stata lasciata volontariamente indietro per dare priorità a catalogazione e geotagging (ma l’editor dovrebbe ritornare quest’estate). Man mano che le vengono aggiunte nuove funzioni, il target di utenti potenziali si espanderà anche a fotografi professionisti. Io penso a blueMarine come ad un prodotto che fornisca anche supporto specifico per ogni comunità di fotografo, con gli opportuni plugin, in vero spirito “open”. Tanto per fare un esempio: il navigatore di metadati avrà sia un’interfaccia semplificata, adatta a fotografi generici, che mostra solo i tipi di dati più comunemente usati (come accade oggi per esempio in Lightroom), sia un’interfaccia avanzata, con cui si potrà analizzare il singolo bit, dedicata a chi si sente più smanettone.
5) Quali sono i prossimi obiettivi che ti sei prefisso nell’ ambito dello sviluppo di blueMarine?
La priorità più alta è il completamento del sistema di catalogazione di metadati, che è quasi pronto. Ha richiesto un po’ di lavoro perché, in linea con il resto dell’applicazione, è basato su un disegno modulare, per cui chiunque può aggiungere nuovi tipi di metadati semplicemente descrivendone la struttura con poco codice in un plugin. E’ molto importante per me in quanto ritengo che con il suo completamento blueMarine inizierà ad avere un valore reale per molti utenti, specialmente in ambito Linux. Il sistema di catalogazione verrà poi evoluto nei prossimi mesi con alcune idee nuove che non mi paiono ancora presenti in nessun programma sul mercato, per lo meno in quelli più diffusi. Per ora non dico niente, ma ad OSSblog.it posso anticipare che verranno utilizzate alcune tecnologie del Web Semantico. Dopodiché ci sono alcuni moduli, oggi presenti nell’incubatore a vari stadi di sviluppo (alcune sono quasi complete), che dovranno essere rifiniti e aggiunti al programma principale: le “light table”, la pubblicazione su web, gli slideshow, il supporto per i video. Una delle caratteristiche più “esotiche” è probabilmente la capacità di lanciare grandi batch di elaborazione su una rete di computer casalinga, oppure persino su servizi di Grid Computing massivi come Sun Grid. Il codice prototipale per queste feature è stato sviluppato da un anno insieme al citato Emmanuele Sordini (il suo plugin astrofotografico richiede grandi elaborazioni batch), e anche presentato ad un paio di conferenze Java, ma ha bisogno di parecchio lavoro per l’interfaccia utente e il setup (che oggi non è banale) in modo che sia alla portata dell’utente casuale.
6) Da quante persone è composto il team di sviluppo?
Questo è ancora un punto dolente. A parte Emmanuele con il suo plugin, il 95% del codice è ancora scritto da me, con alcuni contributi puntuali di altri sviluppatori, anche importanti come qualità, ma poco significativi come quantità. Il che è un peccato, perché si potrebbero fare veramente milioni di cose interessanti. Un po’ mi aspettavo maggiore interesse da parte di altri sviluppatori a partecipare ad un progetto opensource di questo genere (che tra l’altro da un anno a questa parte viene regolarmente presentato a varie conferenze internazionali del mondo Java, nell’ordine Jazoon, JavaPolis e tra un paio di mesi la JavaOne a San Francisco); in alcuni casi probabilmente non sono stato capace io di “instradare” qualche volontario fino a metterlo in moto e me lo sono perso per strada. Il problema è che se qualcuno si fa avati mentre io sono in qualche periodaccio di lavoro intenso (per ora il 95% del mio fatturato non arriva da blueMarine), a volte non ho neanche il tempo di rispondere alla email a stretto giro di posta. Confido comunque nel futuro. Spero anche di trovare al più presto un graphic designer (magari italiano…) che sia disposto a fornire le icone per l’applicazione: per ora sono copiate da varie distribuzioni open, ma non c’è lo stile omogeneo che vorrei.
7) In cosa si differenzia il tuo prodotto da altri software come Picasa o F-Spot? Quali sono i suoi punti di forza rispetto agli altri due programmi citati?
Facendo il confronto oggi, Picasa o F-Spot hanno meno funzioni “esotiche”, ma sono immediatamente utilizzabili; blueMarine non lo è ancora e - come già detto - si concentra per ora più sulla catalogazione che non sull’editing. Per i la metà del 2008 potrebbe essere sostanzialmente già competitivo con quei due prodotti (editor a parte); a metà del 2009 dovrebbe arrivare anche l’editor e iniziare a mettere “nel mirino” prodotti di fascia superiore. Dipende tutto da un sacco di cose, incluso trovare altri collaboratori. Può anche succedere che carichi di lavoro improvvisi o problemi personali rallentino la tabella di marcia, come è già avvenuto. Tuttavia, preferisco guardare il futuro con ottimismo. :-)
La palla passa a voi, cari lettori: fateci sapere le vostre impressioni e il vostro giudizio su questo interessante software che ha la fortuna di nascere (per di più open) proprio nel nostro bel paese.
Eccovi alcune immagini (tratte dalla versione per OS X) di blueMarine:
softcodex
13 mar 2008 - 08:12 - #1notevole il lavoro. complimenti!
Xander.
13 mar 2008 - 09:06 - #2A giudicare dalle immagini, un gran bel lavoro.
Complimenti! anche da parte mia.
Conad il Rabarbaro
13 mar 2008 - 09:22 - #3Si presenta bene, bella la GUI.
E soprattutto è made in italy.
bft
13 mar 2008 - 10:04 - #4lightroom o picasa sono di gran lunga più evoluti, sopratutto per quanto riguarda il post-editing delle foto
Lore
13 mar 2008 - 10:06 - #5Sembra un ottimo programma, complimenti! F-Spot a confronto è una pallida utility.
Lo proverò sicuramente.
pasana
13 mar 2008 - 10:57 - #6@Conad il Rabarbaro
logico, ma questo è un tool arrangiato diciamo, mica sviluppato da un grosso team … a sto punto Aperture se lo mangia proprio .. xrò è un bel sw anche qesto, e va apprezzato ..
Rehdon
13 mar 2008 - 14:25 - #7Complimenti allo sviluppatore. Capisco benissimo i problemi che incontra, ma probabilmente è anche una questione di notorietà: pur essendo appassionato di software libero non avevo mai sentito menzionare questo interessante prodotto, difficile trovare collaboratori se la gente conosce solo Picasa o al massimo FSpot.
Rehdon
Fabrizio Giudici
13 mar 2008 - 23:04 - #8Intanto ringrazio tutti per i commenti. L’applicativo oggi non puo’ certo essere confrontato pienamente con niente, in quanto come detto nell’intervista, non è ancora una versione “da produzione”.
@rehdon - non l’ho ancora pubblicizzato esplicitamente nelle comunità di fotografi o di opensource - aspetto di avere la prossima versione, che avrà un minimo di workflow completo. Tuttavia, il progetto è abbastanza noto nelle comunità Java, ed era da lì che speravo di trovare qualche programmatore in più.
Vi ricordo che su http://bluemarine.tidalwave.it/forum c’è un forum utenti, per qualsiasi suggerimento o contributo vogliate dare.
iplutooo
14 mar 2008 - 06:52 - #9Ma scusate l’hanno fatto degli italiani e non c’è manco la lingua italiana -.-