di  -  martedì 9 Febbraio 2010

Chi utilizza una qualsiasi distribuzione linux si sarà trovato prima o poi di fronte ad un comportamento errato o indesiderato di una certa applicazione. Oppure si sarà trovato nella condizione di pensare ad una piccola modifica o all’aggiunta di una nuova feature che gioverebbe magari all’usabilità dell’applicazione. Una situazione del genere si può presentare a tutti: ad uno sviluppatore, ad un utente esperto o ad uno alle prime armi.

Cerchiamo di immaginare cosa succede attualmente per le tre ipotetiche classi di persone che ho elencato.

SVILUPPATORE:
In caso di crash semplicemente lo sviluppatore procederà prima di tutto a cercare un modo per riprodurre il comportamento anomalo, cercherà di ottenere più informazioni possibili come lo stack trace al momento del crash. Successivamente si butterà sul bug tracker del programma specifico, si iscriverà se non l’aveva già fatto in precedenza, cercherà duplicati per il bug che sta segnalando e solo alla fine aprirà una nuova segnalazione. Ovviamente la segnalazione verrà completata con tutti i dati sensibili del proprio sistema, (versioni delle varie librerie coinvolte, tipo di compilatore e altre informazioni varie). A questo punto tutto quello che gli resterà da fare sarà aspettare che qualche buona anima si metta a risolvere il fastidioso bug segnalato. Se lo sviluppatore ha la fortuna di conoscere le tecnologie del programma, avrà inoltre la possibilità di provare a risolvere la cosa mettendo le mani nei sorgenti ed inviare in caso di successo una patch agli sviluppatori. La procedura sarà del tutto analoga nel caso di richiesta di una nuova feature.

UTENTE ESPERTO:
Per un utente esperto il procedimento è pressappoco lo stesso con la sostanziale differenza che non sarà in grado di provare a risolvere il problema in casa. In generale inoltre per un utente, anche se esperto, sarà abbastanza difficile raccogliere le informazioni giuste da segnalare potendo sbagliare nel segnalare troppo o troppo poco. Altro discorso merita quello delle feature. Per quanto riguarda la mia esperienza personale non è semplice immaginare che una richiesta di feature vada fatta in un bug tracker. In generale con un po di lavoro in più da parte degli sviluppatori che raccolgono le varie richieste nel bugtracker si riuscirà a trarre in qualche modo giovamento da questo tipo di segnalazioni.

UTENTE ALLE PRIME ARMI:
Un utente alle prime armi non avrà nemmeno la lontana concezione di quello che significa segnalare un bug. Si troverà smarrito tra la complessità di parole come “stacktrace” e “debug symbols”, non saprà come identificare un problema simile al suo. Nella più rosea delle ipotesi eviterà semplicemente di segnalare il bug, nella peggiore compilerà una richiesta praticamente inutilizzabile. Nel primo caso se il bug è grave l’utente smetterà di utilizzare l’applicazione rivolgendosi ad altro. Nel secondo caso probabilmente vedrà la sua richiesta scartata magari in malo modo da uno sviluppatore, sarà portato a dire che il mondo dell’open source è fatto di cattivoni che non vedono l’ora di mangiare i novizi e in seguito si rivolgerà ad altro. Sarà danneggiato nella misura in cui non potrà ottenere il suo legittimo scopo e danneggerà in quanto determinerà una mole aggiuntiva di lavoro degli sviluppatori che dovranno trovare i bug utili all’interno del rumore di fondo di questo tipo di segnalazioni.

Analizziamo adesso come potrebbero incidere riguardo al numero delle segnalazioni le categorie citate supponendo che il profilo degli utenti rifletta quello di un gruppo eterogeneo di persone e che tutti si cimentino nella stesura:

  • Sviluppatori: 0.1%
  • Utenti esperti: 0.9%
  • Utenti alle prime armi: 99%

Incrociando i profili tracciati a inizio articolo con le percentuali (che ho inventato ovviamente solo per rendere l’idea) si ottiene un quadro disastroso. La prospettiva è quella di ingolfare i bug tracker con un 99% di rumore di fondo, che comunque va letto e scartato e informazioni utili con distribuzione statistica tipica dell’ “ago nel pagliaio”.

STRADE INTRAPRESE:
Ovviamente lo strumento bug tracker per quanto potente non è pensato per la totalità degli utenti ma per sviluppatori e in parte può andare bene anche per gli utenti esperti. La mia opinione a riguardo è che ignorare la massa solo perchè non è in grado di utilizzare lo strumento è un comportamento profondamente sbagliato e controproducente. Molto spesso il parere di chi ha un background completamente diverso permette di vedere tutte quelle piccole magagne su cui lo sviluppatore tende a sorvolare. C’è quindi la necessità di utilizzare (o creare negli ambiti in cui non esistono) strumenti che siano adatti a raccogliere segnalazioni da utenti inesperti.

Una possibile strada è quella adottata dal progetto kde. In caso di crash di una applicazione kde si avvierà automaticamente un wizard per la compilazione della segnalazione che si occuperà di recuperare alcune informazioni contestuali al problema e posterà il tutto sul bug tracker. La procedura sicuramente aiuta a non mandare una segnalazione completamente inutile ma la descrizione del problema a carico dell’utente dovrà sempre essere adeguata al contesto di un bug tracker.

Un approccio alternativo che ho trovato estremamente interessante in questo caso è quello di kmess (client msn messenger per kde). Il team di kmess per riuscire a ricevere feedback dagli utenti ha sviluppato il progetto LikeBack. Nelle immagini all’interno dell’articolo potete vedere come si presenta l’interfaccia all’utente.

Avrete certamente notato come la possibilità di esprimere un parere positivo, un parere negativo, una idea o segnalare un crash è direttamente riconoscibile dall’interfaccia grazie all’utilizzo di icone azzeccate.


Cliccando sull’icona desiderata ci verrà presentata una schermata che non propone termini tecnici, ma si limiterà a dirci in quale lingua possiamo scrivere per essere compresi e proporrà una semplice text area per descrivere l’idea, il crash o il problema. La possibilità di inserire la propria mail per essere ricontattati permette inoltre di rendere l’utente partecipe della soluzione di un problema solo ed esclusivamente se questo lo desidera. Nessun obbligo di registrazione quindi.

Valerio Pilo, sviluppatore italiano del team che sta dietro a questo progetto in un post sul suo blog ha affermato che in poco più di 6 mesi di utilizzo sono giunte attraverso LikeBack più di 2500 segnalazioni, e che nella quasi totalità si sono rivelate utili.

Per quanto riguarda le richieste di nuove feature sono molto interessanti inoltre i vari siti di BRAINSTORM come quello del progetto Ubuntu e di KDE impostati ancor più su una impronta comunitaria. Questi progetti non solo permettono di proporre idee e funzionalità ma anche di votare e portare alla luce quelle che più ci piacciono.

Credo che la possibilità di parlare con chi sviluppa sia una dei valori aggiunti dei progetti free e open source. Lasciare questo privilegio solo a chi ha una buona preparazione tecnica sarebbe una occasione persa sia per gli sviluppatori che per tutto l’ecosistema.

9 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    Flare
     scrive: 

    Nederlandese! Questo è ciò che si legge nella schermata. Povera la nostra lingua.
    A parte queste quisquilie, l’idea è interessante.

  • # 2
    Emanuele Rampichini (Autore del post)
     scrive: 

    @Flare

    http://it.wikipedia.org/wiki/Lingua_olandese

    Quando l’ho letto ho pensato anche io ad un errore di traduzione ma a quanto pare è Italiano corretto.

  • # 3
    Diego
     scrive: 

    Due piccole note:
    a) Likeback è nato inizialmente in seno a Basket:
    http://basket.kde.org/likeback.php
    b) per ottenere automaticamente backtrace complete in Fedora hanno sviluppato abrt:
    http://fedoraproject.org/wiki/Features/ABRT
    https://fedorahosted.org/abrt/wiki

  • # 4
    Emanuele Rampichini (Autore del post)
     scrive: 

    @Diego
    Durante le ricerche avevo visto che Likeback era in qualche modo legato a Basket ma notando che i sorgenti sono presenti nell’ svn di kmess ho erroneamente supposto che il progetto fosse nato da loro.

    Non conoscevo la soluzione di Fedora quindi ti ringrazio di averla segnalata. Guardando ad occhio le dipendenze (gtk2, gtkmm, glade) mi sembra una soluzione gnome-centrica almeno per quanto riguarda l’interfaccia. Come idea è praticamente la stessa del kde crash handler che ho descritto sommariamente nell’articolo. Questi sistemi hanno indubbiamente il vantaggio della raccolta automatica del backtrace e di altre info accessorie ma secondo me sono ancora troppo “tecnici” per un utente non smaliziato.

  • # 5
    Andrea R
     scrive: 

    Io credo che tra gli utenti linux la percentuali di utenti esperti e sviluppatori sia mooolto più alta. Per il resto confermo che l’approccio di kmess è buona cosa.

  • # 6
    Emanuele Rampichini (Autore del post)
     scrive: 

    @Andrea R
    Ovviamente la percentuale attuale è sbilanciata. La mia considerazione era in prospettiva di una adozione più massiccia da parte di tutti.

  • # 7
    Pluto
     scrive: 

    E con un Kernel Panic come la mettiamo?

    A dire il vero e da tanto tempo che non vedo uno.

  • # 8
    Emanuele Rampichini (Autore del post)
     scrive: 

    @Pluto
    Beh con un kernel panic un utente inesperto può fare ben poco in generale. Tra l’altro devo dire che di kernel panic da quando uso linux ne ho visti solo quando me li sono andati a cercare (tipo ricompilazioni “all’osso” del kernel in cui mi sono scordato di inserire moduli fondamentali). Per segnalare quei problemi ovviamente un utente inesperto deve essere guidato alla ricerca del problema e alla raccolta delle informazioni da uno che ne sa di più. Infatti non è inusuale leggere problemi del genere postati e risolti sui forum di supporto delle varie distribuzioni.

  • # 9
    gianted
     scrive: 

    articolo interessante, anche sulle curiosità di traduzione.
    spero possa dare un significativo impulso di crescita al mondo open-source.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.