Come Drupal salverà il mondo
Un'ipotesi, a metà fra il visionario e il programmatico, sulle possibili evoluzioni di un potente CMS Open Source: Drupal, su cui si basa anche la nuova versione di Immaginaria, realizzata dalla web agency Akabit.
Articolo pubblicato per la prima volta da Jeff Robbins su Lullabot il 20 giugno 2007.
Traduzione di Daniela Dell'Aquila su gentile concessione dell'Autore.
Per quasi un anno, ho covato un'idea su come inserire Drupal in una più ampia visione del mondo. Come membro della comunità di sviluppo, il nostro obiettivo è rendere flessibile Drupal il più possibile per venire incontro tanto ai nostri bisogni che a quelli dei nostri clienti. In questo processo, noi abbiamo inquadrato la maggior parte degli aspetti che posizionano Drupal come un'applicazione per costruire siti robusta, gratuita, facile da usare a livello mondiale. Questa è la prima bozza dei miei pensieri, che si arricchiranno ed evolveranno grazie alle persone che, all'interno e all'esterno della comunità di sviluppo di Drupal, contribuiranno con le loro opinioni.
Note della traduttrice
Drupal è un CMS molto potente, e anche piuttosto facile da usare, una volta installato e configurato. L'ideale per siti ricchi di contenuti e in continuo aggiornamento, come Immaginaria (la cui nuova versione è stata realizzata da Akabit).
Ecco alcuni link utili:
I siti italiani su Drupal: Drupal Italia e Drupal.it
Come Drupal salverà il mondo
Qualche settimana fa, partecipavo alla conferenza "NetSquared" a San Jose, California. La finalità della conferenza era "stimolare l'adozione responsabile di strumenti di web sociale da parte delle organizzazioni no profit". Questo in sintesi significa: Web 2.0 per il Bene. La conferenza metteva insieme esperti di web con organizzazioni no profit, filantropi, e investitori al fine di elaborare idee per rendere il mondo un posto migliore. Mi ha meravigliato il numero di gruppi che già usavano Drupal o erano in procinto di farlo. Altri erano dediti alla ricerca tecnologica e ponevano domande la cui risposta logica era puntualmente "Drupal".
Cos'è Drupal?
Se non avete familiarità con Drupal, immaginatelo come un bidone gigante di mattoncini Lego gratuiti per creare qualunque tipo di sito web. Una piattaforma incredibilmente potente. Il suo sistema modulare e il framework applicativo che ne è alla base può permettere il rapido sviluppo di siti incredibilmente ricchi di funzionalità. Tutto ciò che dovete fare è immaginare cosa volete costruire e iniziare a mettere insieme i pezzi.
Il sistema evoluto di gestione utenti di Drupal lo ha fatto conoscere come una piattaforma per costruire siti in maniera cooperativa, e grazie alle API utilizzate è possibile creare plug-in che alterano i dati, creano pagine e contenuti, e modificano il funzionamento di un sito. In aggiunta alla gestione contenuti standard, basata sui testi come un blog, questo sistema flessibile ha generato moduli per gestire immagini, audio, video, aggiungere informazioni in base alla data e all'ora a qualunque contenuto e mostrarle in un calendario o in un feed iCal, per "taggare" qualunque contenuto con dati di geolocalizzazione e quindi tracciarli su una cartina o permettere una ricerca di tipo geografico. Ci sono moduli per aggiungere funzionalità di e-commerce, gestire liste di amici e consentire messaggistica privata fra utenti come pure creare gruppi privati o pubblici all'interno di un sito in cui gli utenti possono creare gruppi basati sui propri interessi, con relative mailing list, calendari, ecc. e ancora molti (oltre 700 al momento) di questi mattoncini vengono aggiunti ogni giorno grazie al contributo di una comunità internazionale di sviluppatori.
Dare voce a chi non ne ha
La storia che ho maggiormente apprezzato alla conferenza "NetSquared" è quella di Kim Lowery di Kabissa, che parlava di un villaggio della Nigeria che ha raggiunto un accordo con una Compagnia petrolifera che prevede l'accesso al proprio territorio in cambio di acqua potabile ed edifici scolastici. Dopo aver lasciato che la Compagnia petrolifera facesse il proprio comodo per alcuni anni, era divenuto chiaro alla popolazione che l'Azienda non avrebbe onorato gli impegni presi nell'accordo. Dieci anni fa, questa gente non avrebbe potuto fare ricorso a nulla. Ma oggi, loro hanno un sito web e l'influenza che ne deriva. Hanno scannerizzato il contratto originale e l'hanno pubblicato sul sito, hanno spedito mail ad Amnesty International, Human Rights Watch e altre organizzazioni simili. E in breve tempo hanno messo su una campagna per far sapere pubblicamente che la Compagnia aveva disatteso gli impegni presi. Qualche mese dopo, la Compagnia ha cominciato a farsi vedere nel villaggio, ad interessarsi ai bisogni della popolazione e a mantenere qualche promessa. Il Web può essere una leva potente per il cambiamento sociale. Può dar voce a chi non potrebbe essere ascoltato in altro modo. Può mettere insieme persone con bisogni analoghi dando forza a entrambi per il solo fatto che sanno di non essere soli. I partecipanti a NetSquared lo riconoscono. E molti di loro sono passati a Drupal come piattaforma su cui iniziare questo rafforzamento. Sono rimasti colpiti dalla flessibilità dell'applicazione e dal modo in cui è possibile aggiungere rapidamente parti di funzionalità usando i numerosi moduli gratuiti. Tuttavia c'era esitazione nell'usare Drupal a causa delle voci che dicevano pressappoco: "Drupal è ciò che vuoi. Risolverà tutti i tuoi problemi. Ma è molto difficile da installare. E se sbagli qualcosa, il tuo sito non funzionerà affatto!".
Frustrazioni
Questi gruppi hanno espresso molte delle stesse frustrazioni:
- Drupal è complesso e difficile da installare.
- La curva di apprendimento è ripida.
- Non riescono a trovare buona documentazione, sviluppatori, e aiuto in generale per creare e capire i propri siti Drupal.
- È molto frustrante per loro, poiché riescono a vedere la luce alla fine del tunnel: vedono bei siti realizzati con Drupal che hanno caratteristiche simili a quelle che stanno sperando di implementare, ma spesso non riescono a individuare la strada per raggiungere con successo il traguardo.
Queste persone non sono tecnici. E vogliono realizzare siti per gente ancora meno tecnica di loro. Vogliono portare Drupal agli insegnanti di terzo grado dell'Indiana, ai gruppi di base religiosi, agli orfani di strada del Sud Africa, o agli agricoltori vietnamiti. Queste persone possono avere davvero poco esperienza del web. Il concetto di "HTML filtrato" è al di là della loro concezione. E il gergo amministrativo come "nodo", "tassonomia", "vocabolari", "lemmi", o persino "voce di menu" e "blocco" solitamente sono compresi solo dopo uno sforzo consapevole. I professionisti e gli entusiasti di Drupal dimenticano in fretta quanto siano loro sembrati strani questi "drupalismi" quando li hanno incontrati per la prima volta.
Si dice che la maggior parte del software Open Source come Drupal sia costruito dagli sviluppatori per gli sviluppatori. Quando un programma è gratuito e chi lo sviluppa è generalmente non pagato, non c'è necessariamente una buona ragione per fare di tutto per renderlo facile da usare, in particolar modo quando si arriva all'interfaccia utente. Questa sta lentamente cambiando, ma la configurazione e la curva di apprendimento di Drupal può risultare ancora troppo gravosa per un amministratore di sito non tecnico. Abbiamo bisogno di mettere Drupal nelle mani di utenti comuni, in maniera da rompere la sua visione sviluppatore-centrica. E per fare questo, abbiamo bisogno di renderlo più facile da usare.
Uno sviluppatore di Drupal esperto può facilmente mettere insieme qualcosa come un "sistema di gestione eventi di una comunità con area di discussione e gallerie fotografiche legate a ciascun evento, e mailing listi" in un giorno o poco più. Tuttavia per un novizio di Drupal questo progetto può facilmente portar via diversi mesi spesi a impratichirsi sui concetti fondamentali di Drupal, sperimentando vari moduli, cercando di immaginare cosa sia ragionevole chiedere a Drupal, e decidendo come collegare insieme i vari elementi. Il processo di riduzione della complessità a una sempre più elegante semplicità può essere realizzato. Sappiamo anche come farlo. Ma ci vuole tempo, denaro e lungimiranza perché ciò accada.
Possibilità
Chiunque abbia usato iMovie della Apple o forse Automator della Apple può capire come persino operazioni e configurazioni molto complesse possono essere semplificate in una interfaccia facile da usare alla portata dell'utente medio. È anche importante non ignorare l'aspetto ludico di queste interfacce "drag-and-drop". Esse invitano alla sperimentazione che porta rapidamente alla comprensione del sistema.
Drupal può diventare la controparte lato server di Firefox. Può diventare per i server web ciò che Ubuntu è per i desktop: bello e flessibile. Per gli utenti finali può risultare invitante e divertente, invece che frustrante e odioso. Grazie alle sue varie possibilità può illuminare l'immaginazione e ispirare anche i novelli amministratori di rete. Abbiamo delle fondamenta solide su cui costruire tale visione, tuttavia io credo che abbiamo raggiunto una posizione stagnante. Drupal ha un mucchio di sviluppatori, ma ha bisogno di utilizzatori. Abbiamo bisogno di un modo per far interessare i potenziali utilizzatori al progetto. Dobbiamo far vedere loro di cosa Drupal è capace. Abbiamo bisogno di espanderci oltre l'attuale base di tecnici.
Quando un paesino diventa una città, c'è bisogno di occuparsi dei servizi, come la pavimentazione delle strade e la rimozione della spazzatura. I piccoli problemi diventano grandi quando la comunità cresce. Bisogna pagare operai e spazzini. Mantenere aggiornata la documentazione, i forum, il deposito dei file CVS, o fare manutenzione ai server di Drupal.org erano compiti facili. Ora sono diventati più impegnativi. L'Associazione Drupal è stata creata per affrontare alcune di queste esigenze. Sostiene l'attività di supporto intorno al codice di Drupal come l'acquisto e la manutenzione dell'hardware su cui gira il sistema, e organizza le conferenze Drupal. Tuttavia la maggior parte di questi cambiamenti bisogna che avvengano all'interno del codice, raggiungendo i limiti dell'area di competenza dell'associazione. Drupal sta crescendo troppo per basarsi sul volontariato. Credo che se Drupal dovrà crescere sino a raggiungere il suo pieno potenziale, è tempo di cominciare a pagare le persone che svolgono questi compiti essenziali.
E se...
Se avessimo risorse illimitate per far crescere Drupal sino a sviluppare il suo completo potenziale come uno strumento web indispensabile che è semplice da usare e permette il controllo di dati anche molto complessi... Pensiamo in grande! I gruppi con cui ho parlato a NetSquared hanno molti problemi comuni con Drupal che stanno cercando di risolvere singolarmente. E se adottassero un approccio "a ombrello" per risolvere tutti questi problemi e altri? E se potessimo mettere insieme una squadra di sviluppatori esperti di Drupal e fornire loro tutte i consigli e le risorse che necessitano? Cosa succederebbe se riuscissimo nel nostro obiettivo di fare di Drupal il migliore sistema per costruire siti web mai visto al mondo? Da dove dovremmo cominciare? Cosa dovremmo fare?
Ecco alcune idee:
- L'interfaccia utente di Drupal e il sistema di configurazione hanno bisogno di essere rivisti alla luce dei consigli di esperti di usabilità e interfacce utenti. Nello stile di Drupal, ogni nuova consuetudine d'interfaccia dovrà essere flessibile e disponibile per tutti i moduli. Dovrà essere redatta una guida di stile d'interfaccia che fornirà consigli e raccomandazioni agli sviluppatori che creano nuovi moduli.
- Drupal dovrebbe avere una propria raccolta di icone (belle ed esplicative) ed elementi grafici disponibili agli sviluppatori da inserire nelle interfacce come elementi di aiuto non testuali. Le icone occupano meno spazio sullo schermo, sono facili da individuare con lo sguardo e non richiedono traduzioni.
- Drupal.org dovrebbe diventare un sito di ispirazione ricco di informazioni in stile marketing. Dovrebbe offrire risorse facili da reperire sia per nuovi utenti che per utilizzatori esperti. Dovrebbe fornire documentazione chiara e concreta che costituiscano una bassa barriera all'entrata.
- api.drupal.org dovrebbe essere sostenuto, più facile da usare, e beneficiare della forza di Drupal come piattaforma di creazione di comunità. PHP.net fa sì che i suoi sviluppatori sentano di avere tutte le informazioni necessarie sulla punta delle dita. Ci sono commenti e consigli su quasi tutte le sue funzioni. Non c'è ragione per cui il nostro sito non possa offrire molte di queste stesse caratteristiche. Dovrebbe essere anche possibile estendere il sito a includere alcuni, se non tutti, i moduli realizzati per Drupal.
- Dovremmo parlare con utenti web "normali" e chiedere loro quali caratteristiche vorrebbero e si aspetterebbero da un CMS facile da usare. Queste persone in genere non fanno sentire la propria voce nella comunità ultra-tecnica di Drupal e restano disattese le loro richieste di oggetti quali un editor visuale robusto, facilmente configurabile e totalmente integrato. Noi dobbiamo ascoltare e comprendere le esigenze di questi utenti e affrontarle una per una.
- Drupal ha bisogno di temi più ampi ed attraenti per permettere a chi crea un sito di trovare subito ciò che cerca.
- Drupal dovrebbe avere distribuzioni (pacchetti preconfigurati di Drupal con moduli aggiuntivi e temi) – sostenute e finanziate - che fungessero da rapida piattaforma di lancio per varie tipologie standard di siti web.
- Drupal dovrebbe avere traduzioni – sostenute e finanziate - sia del core sia dei moduli più diffusi.
- Drupal necessita di esperti di marketing che lo promuovano e lo facciano conoscere alle persone. "Essere un buon prodotto" e basta non è sufficiente. La gente deve sentirne parlare.
- Uno sforzo maggiore deve essere fatto nell'esplorazione del mondo parallelo della presentazione dei contenuti in formato non-HTML. Drupal eccelle già in quest'area, ma dev'essere chiaro e semplice configurare interfacce SMS o Wap per Drupal come pure interfacce di gestione contenuti audio basati sulla telefonia o su tecnologie di sintesi vocale, in maniera tale da consentire anche a chi non è dotato di accesso web di beneficiare della forza di Drupal nella gestione dei contenuti.
Questi problemi non saranno risolti in maniera efficiente dedicandovi serate o week-end. Bisogna che ci sia uno sforzo collettivo con un finanziamento alle spalle. Sebbene forse la comunità può raggiungere questi risultati da sola, il beneficio potenziale è talmente sbalorditivo e imponente che credo ci siano gruppi fuori di qui che volentieri troverebbero dei fondi per realizzare questo progetto.
In conclusione
Verrà un tempo in cui un piccolo villaggio in Nigeria potrà aprire i propri portatili da 100$, connettersi al server da 100$ che hanno configurato nel proprio municipio, fare click su "crea un sito web" e, senza sforzo, mettere insieme i pezzi per comunicare col mondo e fra loro. O una maestra di 3a elementare dell'Indiana, lavorando davanti ai suoi alunni, potrà installare moduli di Drupal nel sito scolastico per permettere alla propria classe di scambiare messaggi con una terza elementare in India. Abbiamo già la maggior parte dei moduli. I nostri tecnici ne sviluppano altri ogni giorno. Ciò che ci manca è la parte "senza sforzo".
Con una spinta congiunta, possiamo risolvere questi problemi una volta per tutte e fornire un software libero, facile da capire e da usare per dare la possibilità a chiunque, ovunque sul pianeta, di creare il sito di cui ha bisogno, di fornire la comunicazione di cui ha bisogno, di migliorare la qualità della vita.
Ecco come Drupal salverà il mondo.