Dec 232010
 

jajukOggi vi presento un colloquio con Bertrand Florat il creatore di Jajuk.

“Jajuk è un software che organizza e riproduce musica. Si tratta di una applicazione con molte funzionalità orientate verso gli utenti avanzati con grandi o disorganizzate collezioni di musica. Utilizzando molteplici prospettive, il software è progettato per essere intuitivo e di fornire visioni diverse delle varie raccolte. ”

Jajuk ha molte caratteristiche interessanti ed essendo sviluppato in Java è disponibile per Linux (è disponibile come pacchetto nella distribuzione principali), Windows e Mac OS X.

Ho trovato questo ottimo progetto qualche tempo fa (sono stato il primo traduttore italiano), ma il mio lavoro e la pigrizia mi hanno portato via dal seguire constantemente l’evoluzione del software, oggi ho incontrato di nuovo Bertrand ed è stato così gentile da darmi parte del suo tempo per questo intervista.



D: Ciao Bertrand, grazie per il tuo tempo per questa intervista. Prima domanda: ci puoi dire qualcosa su di te? Quanti anni hai? Dove abiti? Cosa fai per vivere? E quando e perché hai iniziato a usare Linux?

R: Grazie Riccardo per il tuo interesse nel nostro progetto e grazie ancora per la buona traduzione italiana che hai fatto alcuni anni fa.
Qualcosa su di me? Sono un architetto software di 34 anni. Vivo in Francia/Bretagna (Nantes), con Frédérique ed i miei due figli: Pierre e Lise. Il mio attuale datore di lavoro è l’ufficio delle tasse francese (DGFiP) da tre anni. Sono un utente Linux da circa 1997 (Slackware) e ora sono un felice utente Xubuntu da 3 o 4 anni, mi piace molto il desktop Xfce.

D: Ed ora andando su Jajuk, come e quando è partito il progetto ? e dove hai preso il nome?jajuk2

R: Il progetto Jajuk è iniziato nell’estate 2003, quando ero alle prese con alcuni jukebox KDE (migliorati da allora;-)) che eseguiva una nuova scansione globale di tutta la collezione ad ogni avvio. Penso di poter dire che non esisteva allora un serio programma di jukebox. La specifica iniziale [1] è stata fatta entro la fine del 2003 e abbiamo iniziato a lavorarci io ed un altro ragazzo della mia compagnia (Sébastien Gringoire) che ha poi rapidamente lasciato il progetto per lavorare su un gestore di foto. Jajuk 0,1 è stato rilasciato su SF nel marzo 2004. “Jajuk” significa sia “jukebox Java” (il nome”serio”) o “Solo un altro jukebox” (NDT: Just another jukebox nella modalità geek).

[1] http://jajuk.svn.sourceforge.net/viewvc/*checkout*/jajuk/trunk/jajuk/src/site/resources/specs.pdf?revision=2256

D: Perché un utente che è abituato ad utilizzare Amarok, Banshee o Exaile fare una prova con Jajuk? Ci può dire le caratteristiche che ti rendono orgoglioso di questo software ?

R: Tutte le applicazioni citate sono ottime, ed è possibile aggiungere anche aTunes un’altro eccellente progetto (stessa tecnologia di Jajuk). Devo ammettere che io non li conosco molto bene perché sono un grande fan di Jajuk 😉 ma sembra che la maggior parte degli utenti siano felici con essi. Vorrei solo consigliare loro di provare Jajuk se si verificano problemi di prestazioni con una collezione molto grande o se sono alla ricerca di caratteristiche specifiche come Digital DJ, Preparare Party, Duplicate Finder, sistema di rating automatico, ecc. o se a loro piace il “modo” in cui Jajuk usa le prospettive e punti di vista [2].

[2] http://jajuk.info/index.php/Perspectives_and_views

D: Ti posso chiedere di dare qualche dettaglio su queste caratteristiche di Jajuk ? come Digital DJ ?jajuk3

DigitalDJ (vedi http://jajuk.info/index.php/Using_digital_djs) genera automaticamente delle playlist in base a delle regole (di transizione tra i generi, le proporzioni, le valutazioni, …). Una volta programmato, il DJ è disponibile in un solo clic.

Prepare Party (http://jajuk.info/index.php/Prepare_Party) è una procedura guidata avanzata che consente di esportare una raccolta Jajuk su un supporto pronto ad essere utilizzato (come un disco esterno) insieme a una playlist generata su misura.

Abbiamo anche un sistema di rating piuttosto avanzato (http://jajuk.info/index.php/Jajuk_rating_system), tenendo conto dei tempi di utilizzo relativo, il numero di volte che una canzona è stata ascoltata e le preferenze dell’utente. Fornisce inoltre una funzione di divieto.

Jajuk fornisce anche molte caratteristiche che trovo molto utili per il mio uso personale, come la slimbar (con la casella di ricerca integrata) o la funzione album finish: quando si ascoltano brani casuali, una traccia piace particolarmente e si vuole finire l’album? è sufficiente fare clic sul pulsante Finish album!

D: Una cusiosità, qual’è la piu grande lista di canzoni gestita da Jajuk per quello che sai ?

R: Alcuni utenti hanno segnalato collezione di oltre 200 GB di file MP3, probabilmente più di 20K canzoni, ma probabilmente esistono collezioni più grandi. Jajuk è progettato per gestire correttamente collezioni di centinaia di GB senza perdere significativamente le performance rispetto ad una raccolta più piccola (lo start-up sarebbe solo pochi secondi in più). Le ricerche all’interno di Jajuk dovrebbero rimanere quasi istantanee.

Q: Sai, (più o meno) il numero di utenti attivi di Jajuk e se distribuiti nel mondo in maniera uniforme ?jajuk4

R:E’ difficile dirlo perché Jajuk è oggi disponibile in diversi repository Linux come Debian, Ubuntu e Mandriva, come torrent o, talvolta, direttamente scaricabile da alcuni siti web Freeware. Inoltre, molti utenti fanno solo una prova o lo scaricano più volte. Jajuk è stato scaricato più di 400 K volte da SourceForge sin dalla sua creazione. Forse si potrebbe stimare il numero totale di volte scaricato sul 500K e il 20% di utenti effettivi = ~ 100K utenti.
La ripartizione nel mondo è molto cambiata con gli anni. La versione attuale (1,9 Jajuk aka “Killer Queen”) sembra essere in gran parte scaricata da paesi che hanno lo spagnolo come madrelingua (Spagna, Messico …), USA e Germania (cfr. [3]), ma meno da parte dei francesi. Sembra inoltre che in Italia (il numero # 2 in download Killer Queen) piaccia davvero (nonostante il langpack molto arretrato, suppongo che gli italiani utilizzino il langpack inglese).

[3] http://sourceforge.net/projects/jajuk/files/jajuk/stats/map?dates=2010-11-13+to+2010-12-20

D: Jajuk è realizzato in Java quindi questo significa che “dovrebbe” funzionare su qualsiasi sistema operativo, ci sono alcune differenze tra i diversi OS, come tra Windows 7 ed Ubuntu ?

R: Questa è una buona domanda perché Java/Swing (libreria GUI) è davvero indipendente dalla piattaforma all’interno di una finestra, ma tutto ciò che è vicino all’OS è difficile (come systray, le battiture, i comportamenti dei clic del mouse , maximalization finestre o multi-headed, modalità a schermo intero, gestione speciale di un percorso …) e abbiamo dovuto scrivere qualche specifico codice if/else a seconda del sistema operativo, ma questo è una quantità trascurabile di codice e siamo riusciti a gestire correttamente i comportamenti specifici di Gnu/Linux, MS Windows e Mac OSX. In Killer Queen, grazie ad un ambiente recentemente disponibile: Leopard, abbiamo notevolmente migliorato il supporto OSX. Il pacchetto è anche abbastanza diverso tra i sistemi operativi (mettiamo a disposizione un installer generico Java, filr .deb e .rpm per Gnu/Linux .exe di installazione per Windows e .dmg volume per OSX). Tutti sono costruiti automaticamente ogni notte (vedi su server CI a [4] per una build bleeding-edge) fatta eccezione per il file .dmg OSX (si limita a creare un build file .app giornaliero ) a causa dei molto proprietari e poco CLI-friendly tool di generazione per Mac.

[4] http://integration.jajuk.info/hudson/

D: Relativamente più a Java che a Jajuk, qual’e’ la tua opinione sui recenti fatti che hanno coinvolto java ed Oracle ?jajuk5

R: Questa è una domanda difficile … alcune idee:
– Jajuk è in gran parte scritto in Java/Swing. Si tratta di un codice di base piuttosto ampio e collaudata (più di 100 Kloc con i commenti, vedi [5]). Non sarà trasferito su un altro linguaggio (almeno da me).
– Spero che il progetto Harmony continui quindi avremo ancora due importanti implementazioni Open Source JVM. Google lo utilizza per Android quanto ne sappia io quindi dovrebbe continuare, ma (purtroppo) è principalmente supportato da Google.
– Se Oracle rifiuta una collaborazione positiva con la comunità (nota: come Sun ha fatto un po prima di Oracle, vedere l’età di bug legati al KDE per esempio), è ancora possibile fare un fork di OpenJDK (GPL V2), e creare una nuova JVM (non TCK-compatibile in modo che sia non “Java-compliant”, ma “Community-compliant “). Tutti vogliono evitare questo, ma io preferirei una vera e propria Open JVM con backports da OpenJDK e le patch della comunità ad una OpenJDK bloccata da Oracle. OpenJDK potrebbe assumere le stesse modalità di OpenOffice.Org e LibreOffice.

[5] http://nemo.sonarsource.org/dashboard/index/org.jajuk:jajuk

D: Tornando su Linux, Jajuk è disponibile in alcune distribuzione nel repository standard, e questo è ottimo, un ulteriore (grande) passo potrebbe essere quello di diventare il lettore musicale standard di una grande distribuzione, per esempio sono sicuro che alcuni vorrebbero avere una applicazione basata su Java invece di una basata su Mono, hai mai pensato a questo? Oppure avete avuto qualche domanda o proposta in questa direzione ?jajuk6

R: Stai pensando a Banshee? Non lo so,Io non sono sicuro che Jajuk debba diventare un lettore musicale di default per due ragioni principali: in primo luogo è che è molto potente ma è probabilmente troppo complicato per un uso limitato (anche se è in grado di farlo): è progettato per essere un jukebox “avanzato”. La seconda ragione è che la filosofia Jajuk è quella di gestire una lista chiusa di dispositivi verificati regolarmente da Jajuk. Non è stato progettato per riprodurre file che si trovano al di fuori di questi dispositivi (come si può fare con qualsiasi lettore da un menu contestuale di Explorer ad esempio): i file audio devono essere situati in dispositivi conosciuti per essere adeguatamente gestiti da Jajuk. È per me una delle principali differenze tra un player e un jukebox. In conclusione, dirò che Jajuk potrebbe diventare l’applicazione di default per i *jukebox* su alcune distribuzioni, ma insieme ad un altra applicazione *player* predefinita.

D: E per quanto riguarda il progetto, ho notato un ottimo team che lavora con te, pensi che i lettori di questo articolo potrebbe aiutarvi in alcuni campi? E se sì, dove dovrebbero guardare per avere maggiori informazioni ?

R: Vedi [6] per contattarci. La pagina Help Wanted è disponibile in [7]. Abbiamo bisogno di più sviluppatori per accelerare la tabella di marcia di Jajuk (abbiamo più di 150 attività nel FIFO, vedi [8]!) ma lo sviluppo di una funzione è solo il 20 al 30% del lavoro: abbiamo bisogno anche di test, documentazione, traduzione, pacchettizzazione. Notate che la maggior parte dei compiti non richiede alcuna capacità di programmazione ma solo tempo, organizzazione e il tenere d’occhio da vicino il progetto. Io personalmente spendo circa l’80% del mio tempo a fare compiti da non programmatore. Abbiamo anche bisogno di alcuni aggiornamenti alle traduzioni, come il langpack italiano! (vedi [9]).

[6] http://jajuk.info/index.php/Contact_Us
[7] http://jajuk.info/index.php/Help_Wanted
[8] http://trac.jajuk.info/wiki/TicketStatsTask
[9] http://jajuk.info/index.php/Translator_Guide

D: Qualcosa che ti piacerebbe aggiungere?

R: Grazie per il tempo speso con me per questa intervista, è stato un piacere. Ci piace ricevere dei feedback degli utenti, che possono lasciare commenti su Jajuk a [10]. Speriamo davvero che i tuoi lettori possano godere Jajuk e che sia utilizzato in molte case per la festa della notte di Natale!

[10] http://jajuk.info/index.php/Give_Feedback

Grazie per il tuo tempo Bertrand, Jajuk è davvero un progetto interessante e sono sicuro che alcuni dei miei lettori lo proveranno, potete trovare alcune schermate alla url: http://jajuk.info/index.php/Demos

Popular Posts:

Flattr this!

  One Response to “Intervista con il creatore di Jajuk”

  1. Nice interview, keep the good job and good luck for Jajuk developers.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*