Tracker della discordia… o no?

Tempo fa avevo indirettamente chiesto ad Emmanuele di pronunciarsi e dire la sua su Tracker e sulla sua integrazione con GNOME, nello specifico: l’integrazione con GNOME Search Tool, dal momento che Emmanuele è l’uomo che ci sta dietro. Beh la sua opinione è arrivata oggi ed è un bel flame in stile buoni vs cattivi, alcune sue parole:

Premetto subito che io non odio Tracker: mi stanno cordialmente sulle balle le modalità con cui viene evangelizzato e, soprattutto, sviluppato. Dopo un anno e rotti in cui è stato riscritto almeno tre volte, cambiato il database, cambiato l’indexer, aggiunte feature e realizzato poco testing, ancora manca una cazzo di API decente per permettere a me, sviluppatore, di poterlo utilizzare. Si, perché il fine ultimo di Tracker è, evidentemente, immagazzinare il maggior numero di informazioni sui vostri file e poi non utilizzarle, dato che esiste solo una serie di remote procedure calls per D-Bus e nient’altro

Stranamente sono stato contento di aver letto il flame, prima di tutto perché non è scritto in modo stupido, e poi perché – pur nella determinazione più ferrea – lascia intravvedere uno spiraglio di speranza e mostra pure la “soluzione” possibile.


Ho solo un appunto da fare ad Emmanuele. Ho letto diversi dei flame e delle evangelizzazioni di Tracker di cui parli e – come te – ho giudicato alcuni aspetti in maniera non proprio rosea. Poi però mi sono anche reso conto che alla fine tutto si riduce in scontro tra personalità. Per carità, quello ci vuole sempre, ma a volte frena e devia percorsi che altrimenti sarebbero naturali.

Vorrei ricordare che Jamie, il project leader di Tracker, è probabilmente la persona con meno senso del marketing e del “sapersi vendere” al mondo. Occhio, parlo di virtù positive, che tutti dovrebbero avere. Lui non le ha :)

Quando, tempo fa in occasione della presentazione di Tracker come modulo per GNOME 2.18, gli fu chiesto di descrivere cosa facesse Tracker, continuò semplicemente a ripetere che era un database in cui tutto era un “first class object” e non riusciva ad andare oltre. Hacker storici di GNOME lo incalzavano chiedendogli di spiegarsi meglio, e lui stava lì a ripetere la stessa frase nella speranza che ad un tratto tutti la capissero. Me lo vedo a sudare freddo… finché un utente di Tracker non spiegò tutto per conto suo.

Non voglio dire che l’autore di uno dei progetti che ritengo più interessanti al momento non sia in grado di comunicare o di esprimersi, lo stimo troppo per dire una stronzata del genere, ma ogni buon leader (e in GNOME ci sono tante personalità forti!) sa che nessuno può avere tutte le doti richieste per capire la “big picture” ma che invece chiunque può fungere da tassello *solo* nel campo in cui eccelle. Io credo che Jamie stia facendo un ottimo lavoro con Tracker, e credo anche che sia esattamente un tassello importante per GNOME. Ma sono anche convinto che lui da solo non sia in grado di “capire GNOME”, o almeno non altrettanto bene come chi ha dimostrato di avere la capacità di usare i tasselli migliori per comporre il mosaico perfetto.

Io a Babbo Natale chiedo… no aspetta, merda siamo già a Febbraio… -.- Ok, io spero che alla fine ci sia un modo di chiarire a Jamie *cosa* deve fare per poter essere accettato dagli sviluppatori di GNOME. Riconosco che la sua personalità può non andare a genio a molti, ma il ragazzo accetta patch e contributi

…e in cambio vuole la stessa fottuta World Domination che vogliamo tutti :)

26 pensieri su “Tracker della discordia… o no?

  1. Beh, se i flame non degenerano possono partorire qualcosa di interessante… Spero che sia il caso di Tracker… Se si avviasse una grande discussione si potrebbe perfezionarlo e modificarlo ulteriormente dato che non è nemmeno stabile e quindi si possono modificare anche cose importanti. Speriamo che nasca qualcosa di buono :)

  2. La parte di thread su desktop-devel-list che parte da questo post penso sia un ottimo esempio di come Jamie non sappia vendere il suo prodotto.

    Jamie non può pretendere che tracker venga improvvisamente incluso in GNOME e usato per fare qualsiasi cosa, al momento tutti i programmi che usano tracker sono, evidentemente, in piena fase di sviluppo, ad esempio non potrei mai sostituire beagle-search con tracker-search-tool.

  3. @Marco Barisione:
    Ma infatti siamo d’accordo. Spero solo che il suo modo di fare non diventi un ostacolo più grande di quello che oggettivamente sia in realtà.

    Come dicevo, in GNOME ci sono personalità davvero forti, non credo che sia un problema disciplinare nuovi sviluppatori volenterosi anche se poco “simpatici” :)

  4. @felipe: il problema è che adesso si sta arrivando a una situazione un po’ ridicola, con jamie che propone tracker per ogni singola cosa che abbia una lontana inerenza con tracker (vedi il link segnalato da marco); come ha detto un mio collega (niente nomi :-)), ‘sembra che jamie abbia una soluzione in cerca di un problema’. tutte le discussioni tecniche che tira in ballo (oltre a lasciarmi di stucco per alcune cose che non stanno né in cielo né in terra) sembrano voler giustificare le scelte fatte – invece di convincere gli sviluppatori di quello che ha da offrire. questo mi fa pensare a una grande confusione nella testa di jamie – e sinceramente, da sviluppatore, non posso usare una tecnologia che non sembra avere alcuna direzione se non quello che beagle già offre o non può offrire.

  5. Wasabi, sempre che abbia successo e non venga abbandonato, potrebbe essere un progetto interessante.

    In sostanza Wasabi è un progetto per offire un’API unica per accedere a diversi sistemi di ricerca (beagle, tracker, ecc.) e, in futuro, anche di gestione di metadati.

  6. @marco: da quanto ho letto negli ultimi tempi, wasabi sarebbe una specie di interfaccia D-Bus per astrarre tracker, beagle e l’indexer di kde di cui mi sfugge il nome (e che mi sembrava parecchio interessante). questo non risolverebbe il problema di avere un’API differente dalle RPC in D-Bus. considerazioni sul meta-linguaggio di query, e di come cerchi di mimare contemporaneamente le s-expr e rdf senza riuscire a fare entrambi, escluse.

  7. @Emmanuele:
    Non mi nominare Beagle! :D

    Capisco. Quel messaggio incriminato lo avevo notato anche io e lo avevo semplicemente ignorato, ma capisco benissimo che è solo un esempio di un costante noioso presentare Tracker come soluzione a tutto.

    Credo che qualcuno dovrebbe cercare di fargli capire che il suo atteggiamento potrebbe precludergli grandi opportunità future.

    D’altra parte però, il fatto (certo?) che Ubuntu Feisty adotterà Tracker mi fa ben sperare: Mr Ubuntu e tutta la sua burocrazia sanno mettersi in moto in maniera efficace, e potrebbero “imbrigliare” e disciplinare Jamie con il miraggio di Sesso, Soldi e Successo.

    …più o meno

  8. @felipe
    1) questo post serviva?
    2) tracker è in hard development, ovviamente nn è nemmeno alla versione stabile e sta subendo un mare di cambiamenti in risposta alle richieste della community.

    Tracker non offre ancora delle API stabili perchè non è stabile.
    Wasabi è un’astrazione che è stata porposta da Mikkerl Kamstrupp sull’onda dei numerosi index che sono lì fuori.

    Infine permettetemi di sottolineare le grandi opportunità che offrirebbe un sistema di metatagging condiviso da tutte le applicazioni:
    -minor tempo di startup
    -maggior consistenza tra i TAG (magigore usabilià)
    -completo abbandono della struttturararchica delle cartelle a favore di quella logica
    -…

  9. @tutti:
    IMHO tracker ha delle buone idee ed tecnicamente è molto performante.

    Inoltre è in pieno sviluppo e quindi è normale che cambia di brutto… Per la 1.0 l’idea è di stabilizzarlo… tuttavia ancora ci sono feauteres ed ottimizzazioni da portare dentro.

    A marketing è un pò un disastro. Chiunque vuole dare una mano è benvenuto. Saltante in ML e proponete le vostre idee.

    Saluti :P

  10. La domanda quindi è:

    Ma se serve questa API, perchè nessuno la scrive e tutti vanno a funghi e fanno i front-end, integrazioni e altre cose del genere?

    Dubbi++

  11. In ogni caso mi sembra che la critica ci stia..scrivere un API mi sembra un requisito fondamentale se vuoi che il tuo software venga usato e capito. Ogni programmatore che ha provato a capire e usare codice mal documentato lo sa benissimo. Poi non so quanto riguardi le doti comunicative e di marketing del project leader…siamo sempre a livello di design dell’applicazione, non della sua promozione.

  12. ah poi @ mattions…il concetto dell’API è importante proprio perché non hai necessariamente bisogno di avere un programma stabile per poterla scrivere, se sai quali sono le funzionalità di base che dovrà avere. Poi implementarla è un altro discorso, ma almeno chi vuole utilizzare il tuo codice potrebbe già iniziare a farlo sapendo che quando l’API sarà implementata davvero tutto funzionerà magicamente. E’ una visione un po’ ideale in effetti però non sarebbe male no :-)

  13. @mattions

    hai fatto un tipico esempio del motivo per cui il marketing di tracker verso gli sviluppatori sta fallendo miseramente: quando si chiede “serve A” tutti quelli che contribuiscono a tracker rispondono “tracker ha B, C e se aspettate fino a martedì, avrà anche X, Y e Z”.

    le API stabili non servono; anzi, sono deleterie in questa fase di sviluppo di tracker (ecco il motivo per cui tracker non era accettabile per GNOME 2.18); ma io e altri non chiediamo API stabili – chiediamo delle API. al momento l’unico modo per usare tracker in un’applicazione è scrivermi del codice in python che probabilmente non posso integrare o aspettare che qualcuno che contribuisce a tracker decida di fare il mio lavoro, e modificare la mia applicazione. in ultimo, potrei scrivermi una tonnellata di codice in C per usare l’interfaccia D-Bus direttamente; nel qual caso, mi spiace ma nessuno lo farà. al massimo, qualche anima pia scriverà qualcosa di funzionante per un progetto e gli altri la copieranno e incolleranno ad libitum, creando problemi di sincronizzazione e bug fixing.

    perché nessuno scrive un’API ad alto livello per tracker? probabilmente perché gli unici che saprebbero scriverla sono jamie e john e sono tutti e due occupati su tracker stesso; leggo gli archivi della ml di tracker, e sono tutti quanti sviluppatori python, o gente che contribuisce indexer.

  14. @emmanuele

    hai ragione. L’ho presa dall’altra parte all’inizio. L’ho capito solo al terzo commento ! :)

    La domanda è chi sono gli utenti di tracker? Gli sviluppatori delle applicazioni o gli utenti ?

    IMHO sono tutti e due. Ora si stanno concentrando sugli utenti. Quidni front-end e chicche varie.
    L’idea dell’API c’è, ma prima vogliono riuscire ad indicizzare tutto (soprattutto le mails), quindi priorità alle performance ed ai tipi indicizzati

    Gli sviluppatori vengono un pochino trascurati in questo momento. C’è un plug-in di rhythmbox in lavorazione. Speriamo non prenda la prima strada che hai detto tu.

    Vedremo. :P

  15. @mattions

    l’ho già detto, lo ribadisco un’ultima volta: gli utenti di tracker non sono “gli utenti”: se io cambio tracker con “foo” gli utenti non se ne accorgono. gli utenti di tracker sono gli sviluppatori di applicazioni che poi saranno usate dagli utenti finali. chi sono gli utenti delle gtk+, gli sviluppatori o gli utenti finali?

  16. @mattions:
    Qui è la patria delle discussioni costruttive! I flame esasperati li sego sempre sul nascere ;-)

    A parte gli scherzi, grazie! E grazie per il lavoro che stai facendo sul sito di Tracker http://www.gnome.org/projects/tracker/ spero che trovi posto su fd.org e che ne venga migliorato l’aspetto. attualmente fa un po’ tristezza.

    mattions ti ri-propongo quello che avevo scritto in ML tempo fa: una pagina “Applications using Tracker”. Sarebbe un ottimo centro di raccolta informazioni. L’analoga pagina per Jackd http://jackaudio.org/applications aiutò non poco a diffondere l’uso di Jack tra gli sviluppatori

    …e poi aspettiamo il miele prodotto da ste API

    scusate -.-

  17. Salve a tutti!!!!!!!
    Premetto che di tracker so pochissimo… quasi nulla.
    Devo fare un progetto sull’analisi delle prestazioni su questo strumento, per un esame all’università.
    Volevo chiedere se qualcuno mi potrebbe dare delle dritte… :-( xke sono in crisi.
    Tipo:
    -che tipo di indicizzazione fa?
    -fa o no la pesatura e se si come?
    -io posso intercettare gli output dello stemming, indicizzazione e se si come? ma in formato leggibile (capibile) o binario?
    Ringrazio già chi mi darà delle info perchè sono in crisi….

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...