Il Pesa-Nervi

«Lei parla a vanvera, giovanotto!
No, penso a dei critici con la barba».

Il Pesa-Nervi per tutti: ecco il codice sorgente

Il link per scaricare gratuitamente l'applicazione e le informazioni di base per utilizzarla subito e nel modo corretto: tutto ciò nell'ottica di una filosofia della libera condivisione del software (e delle opere dell'ingegno in generale).

Sommario

Premessa

C'è stato un periodo in cui pensavo di poter utilizzare per scopi commerciali l'applicazione per blog accessibili, che ho chiamato "Il Pesa-Nervi". Ma mi sono reso conto ben presto che non avevo voglia di perdere tempo a limarne i difetti (non molti per la verità) e inoltre non avrei saputo da che parte cominciare per cercare di venderla. Non sapevo soprattutto se, una volta messa in commercio, qualcuno sarebbe stato interessato ad acquistarla. Tutte queste riflessioni sono state a poco a poco cancellate da un'altra idea, che ora sto mettendo in pratica: distribuire liberamente il codice del Pesa-Nervi, ma con la limitazione che non possa essere usato, neppure parzialmente, per scopi commerciali. Ciò con la speranza di aggregare una comunità di sviluppatori, interessati a migliorare l'applicazione e a condividere altrettanto liberamente i risultati raggiunti.

Scarica l'applicazione in formato ZIP

Quest'opera è pubblicata sotto una Licenza Creative Commons. Siete liberi di modificarla ma non di usarla per scopi commerciali.

[Creative Commons License]

L'AUTORE E DISTRIBUTORE DELL'OPERA NON E' REPONSABILE PER QUALSIASI DANNO DERIVATO DALL'USO DELL'APPLICAZIONE PER BLOG ACCESSIBILI, CHIAMATA IL PESA-NERVI" E DISTRIBUITA CON QUESTA LICENZA. SCARICANDO SUL PROPRIO COMPUTER IL FILE "PESANERVI.ZIP" SI ACCETTANO I TERMINI DI LICENZA QUI SOPRA SPECIFICATI.

[Icona che rappresenta i file ZIP]
(un file ZIP da 221 Kb)

Impostazioni preliminari, indispensabili per un utilizzo corretto

Chi ha fretta di lavorare col blog accessibile e non vuole leggere le istruzioni contenute nei titoli successivi, deve però applicare almeno le poche procedure descritte qui di seguito:

Nome e descrizione dei file che compongono il pacchetto

Il file ZIP che avete scaricato contiene i seguenti elementi, di ciascuno dei quali viene indicata a fianco la funzione:

Nome e descrizione delle tabelle usate nei due database

Il database DATI.MDB

Il database STATISTICHE.MDB

Le funzioni di amministrazione

Chi accede come amministratore, noterà che subito dopo il titolo del blog è presente un menu a scomparsa, comandato via javascript, chiamato "Funzioni di amministrazione". Ecco cosa contiene:

Elementi di accessibilità e di usabilità

Il codice XHTML e CSS di tutti i file dell'applicazione è rilasciato a 0 errori, secondo quanto richiede il primo requisito tecnico della legge 04/2004 sull'accessibilità.

Un complesso meccanismo di controllo automatico dei testi inseriti da autori e commentatori impedisce l'archiviazione di qualsiasi articolo o commento contenente errori di codifica. In caso di errori viene presentato all'utente un messaggio di avviso che elenca gli errori riscontrati. Solo dopo aver corretto tutti gli errori di marcatura, sarà possibile archiviare articoli e commenti. Ciò preserva nel tempo la validità del codice.

Articoli e commenti possono essere altamente strutturati mediante l'inserimento di titoli, paragrafi, DIV, SPAN, tabelle, liste e immagini (a titoli, paragrafi, DIV e SPAN possono essere applicati anche classi CSS). Tutto ciò per mezzo di appositi marcatori stenografici: l'equivalente sintetico del codice HTML. I marcatori possono essere applicati al testo selezionato degli articoli o mediante pulsanti o mediante scorciatoie da tastiera. Entrambi i metodi usano javascript. In mancanza di supporto per javascript, la funzionalità è interamente preservata: si tratterà di scrivere a mano ciascun marcatore.

Grazie all'uso di appositi JavaScript, il menu di navigazione, posto sulla destra della pagina, può essere fatto comparire e scomparire a piacere. Chi ha bisogno dello schermo occupato solo dai contenuti (gli ipovedenti per esempio, che usano basse risoluzioni e caratteri ingranditi), potrà trovare comodo nascondere il menu non appena ha finito di usarlo.

Un altro script adatta la larghezza del testo degli articoli alla larghezza della finestra del browser. Quando la finestra è molto stretta (come nei palmari), i margini destro e sinistro sono ridotti al minimo; quando invece la finestra del browser si allarga, i margini crescono progressivamente. Ciò consente di non avere mai, alle alte risoluzioni, una colonna di testo larga quanto tutto lo schermo, effetto giudicato da alcuni lettori estremamente fastidioso.

Un potenziale difetto di usabilità di moltissimi siti è costituito dall'enorme allungarsi verso il basso delle colonne laterali, che di solito contengono lunghe serie di link e di menu. Nel menu di navigazione di questo blog, il problema di evitare l'eccessivo allungamento è stato risolto con il ricorso a uno script che apre ciascun sottomenu chiudendo contemporaneamente tutti gli altri: ciò riduce notevolmente l'allungamento della colonna verso il basso.

Il menu di navigazione segue nel codice i contenuti principali. In tal modo chi ascolta la pagina con un sintetizzatore vocale trova i contenuti prima del menu, con grande risparmio di tempo nella ricerca dei punti di interesse nel testo.

Il primo contenuto della pagina - nascosto in modalità grafica e visibile solo a CSS disabilitati - è un brevissimo menu di scelte rapide: consente di arrivare in un colpo solo all'inizio del testo o all'inizio del menu di navigazione.

Un lavoro notevole è stato fatto per consentire una degradazione della pagina senza perdite d'informazione, nel passaggio da un browser grafico con supporto attivo per JavaScript e fogli di stile ad un browser testuale, nel quale manchino uno o entrambi i supporti.

A quanto detto fin qui si aggiungono alcuni consueti accorgimenti di accessibilità:

Spirito di comunità e condivisione dei risultati

Questo blog non è certo un prodotto perfetto. L'autore ne conosce bene pregi e difetti. Tra i limiti attuali - non risolti sia per mancanza di tempo sia per mancanza di adeguate conoscenze - vanno considerati:

Rendere pubblico il codice de Il Pesa-Nervi vuole essere, tra le altre cose, un tentativo di creare una comunità di sviluppatori che voglia collaborare per condividere - in modo libero e gratuito - i miglioramenti che ognuno vorrà e saprà apportare a quest'applicazione, che già adesso è comunque sufficientemente potente e robusta da consentire la pubblicazione di un blog ricco di funzionalità e contenuti articolati [1].

I commenti a questo articolo e il forum Universo mondo possono essere, almeno inizialmente, le sedi opportune per condividere i progressi fatti dagli sviluppatori che intendono collaborare per accrescere le funzionalità dell'applicazione. Tra i progressi che mi piacerebbe vedere ci sono il trasporto su piattaforma PHP e MySQL e la traduzione in inglese.

Buon lavoro (o divertimento) a tutti quelli che vorranno usare questo blog.

[1] Il Pesa-Nervi, padre dell'applicazione qui distribuita, ha superato i dieci mesi di vita. In questo tempo ha servito oltre 360.000 pagine a più di 82.000 utenti unici e contiene attualmente oltre 250 articoli e 375 commenti. Nella cartella DOC sono archiviati 374 documenti. Sono stati indicizzati circa 35.000 termini ricercabili negli articoli e quasi 10.000 termini ricercabili tra i commenti. I due database pesano complessivamente 50 megabyte.

Commenti dei lettori

  1. Commento di Luca Morelli - 29/3/2006 ore 12,48

    Grazie Michele.
    Ora posso aprire un blog sul mio sito...:)
  2. Commento di Giuseppe De Filippis - 5/5/2006 ore 16,12

    Un elogio al lavoro presentato. Anche la guida è molto chiara ed esauriente.
    Un solo piccolo problema:
    Ho provato il Pesa-Nervi e nelle funzioni di Amministarazione viene generato un errore quando si clicca su "Modifica Stili". L'errore è provocato dalla seguente istruzione
    conn.Open "DSN=universo"
    presente alla riga 7 del file modstili.asp. Nella guida non ho trovato nessun riferimento a questo database.
    Chiedo cortesemente come fare per rendere operativa l'opzione "Modifica Stili".
  3. Commento di Michele Diodati - 5/5/2006 ore 16,29

    Giusta segnalazione, Giuseppe. Quello che hai riportato è un errore da parte mia. La stringa di connessione deve essere modificata in:

    conn.Open "DSN=dati"

    Il riferimento è infatti al db dati.mdb.
  4. Commento di Andrea - 24/5/2006 ore 12,32

    La mia breve esperienza con il Pesa-Nervi: http://www.manthys.it/chiarelli/articolo.asp?articolo=17
  5. Commento di Michele Diodati - 24/5/2006 ore 13,17

    Ciao Andrea,
    ti rispondo qui invece che sul tuo blog, perché i 1000 caratteri lì disponibili non bastano per una risposta articolata.

    La domanda che tu poni - "Questi aspetti non fanno anch'essi parte dei principi di accessibilità?" - ha una risposta ben precisa: no. L'accessibilità che il Pesa-Nervi tratta è all'incirca quella coperta dalle Web Content Accessibility Guidelines, cioè le linee guida W3C sull'accessibilità del contenuto web. In altri termini è l'interfaccia utente ad essere stata studiata per l'accessibilità, non certo il codice di programmazione.

    Quanto alle critiche che tu muovi al mio codice, sono comprensibilissime. Le 12.000 e passa righe del file index.asp sono un'enormità. Nascono come una sorta di stalattite che si è accresciuta nel tempo di funzionalità che all'inizio non prevedevo. Ma non avevo alcuna pretesa, diffondendo il codice sorgente del mio blog, che fosse considerato lo strumento adatto per il principiante o per chi vuole aprire un blog su due piedi e non ha voglia di perdere tempo. Per questo, ci sono Splinder e tante altre piattaforme che bastano e avanzano allo scopo.

    Essendo ben consapevole della natura complessa del mio codice, nato originariamente solo per mie esigenze private e non per essere distribuito, l'ho messo a disposizione della comunità di sviluppatori proprio perché il contributo di altri programmatori snellisse e semplificasse quelle 12.000 righe, distribuendole magari su più file. Scopo che al momento non è stato raggiunto, evidentemente perché nessuno ha voglia e tempo da impiegare per capire a fondo come è strutturato quel file (che del resto, pur con i suoi limiti, continua a svolgere egregiamente da oltre un anno il proprio lavoro).

    Grazie per il tuo contributo.
  6. Commento di Andrea - 24/5/2006 ore 16,08

    Ciao Michele,
    ti ringrazio per la risposta.
    La mia critica all'accessibilità non è tanto sulla qualità del codice (quello è un'altro discorso), ma proprio sull'accessibilità del software da parte del blogger.
    In altre parole, sull'utilizzabilità del software da parte di una persona con medie competenze di informatica e che ha a disposizione uno spazio web in hosting presso un Internet provider (credo sia la situazione più comune).
    Niente da dire sul supporto delle Web Content Accessibility Guidelines da parte del Pesa-Nervi. Mi aspettavo che l'accessibilità del Pesa-Nervi coprisse non solo i contenuti pubblicati, ma anche le funzionalità del software stesso. Questo è un aspetto dell'accessibilità forse più comunemente noto come usabilità, ma nel mondo del software è importante quanto l'accessibilità dei contenuti.
  7. Commento di Michele Diodati - 24/5/2006 ore 16,40

    Be', penso di aver già risposto alla questione che poni sull'accessibilità del software. Sono certo d'accordo sul fatto che il software dovrebbe essere il più semplice possibile, ma penso sia altrettanto chiaro che la messa a disposizione del codice sorgente del mio blog si rivolge innanzitutto alla comunità degli sviluppatori/programmatori, non all'utente dell'ultima ora, a digiuno di programmazione.

    Ripeto ancora una volta: questo blog è nato per uso personale, non era prevista inizialmente la sua diffusione al pubblico. Non ho mai avuto il tempo per semplificare e razionalizzare il codice. Ecco perché l'ho diffuso così com'era (e com'è): proprio con la speranza che dai programmatori più esperti nascesse un'attività di riscrittura e di semplificazione del codice, che rendesse davvero alla portata di tutti l'installazione del blog.

    Quanto al nome che non piace, infine, la versione distribuita è senza nome: può essere rinominata dall'utilizzatore come più gli aggrada.

    Ciao,
    Michele
  8. Commento di zoneX - 6/7/2006 ore 22,55

    Ciao a tutti
    Io sono ipovedente e seuo da tempo diodati o michele webaccessibile e le news che girano anche su HTML.it
    Sono un blogger visto che col pc riesco a comunicare e cercare nel mio piccolo di far passare che sarebbe eticamente doveroso raggiungere alla svelta una vera accessibilità.
    questo progetto se potessi provarlo su server window su aruba come mi pare mi piacerebbe
    Ripasso a leggere bene anche perchè adesso è un momento buono anche per presentare questo lavoro: ci sono molti WM che non sanno bene cosa fare ma pare che vorrebbero.
    Ciao e happy work
    alla prox :)
    Francesco Grossi AKA zoneX
    Arrivato sul blog di blogger a valid XHTML lavorando solo con notepad e correggendo con il validatore del W3C
    Grazie agli scritti di Diodati che stimo profondamente
    Ma Diodati ha un blog vero?
    Lo volevo lascire scritto: penso gli faccia piacere :)
  9. Commento di Michele Diodati - 7/7/2006 ore 0,17

    Ciao Francesco,
    ti ringrazio per l'apprezzamento nei miei confronti, ma non ho capito la domanda sul "blog vero". Questo è il mio blog. Non ti sembra abbastanza vero? :-))

    A presto e in bocca al lupo con ZoneX!
    Michele
  10. Commento di zoneX - 7/7/2006 ore 13,36

    @Michele ghgh :)
    certo che è vero ed è pure bello a mio parere anche se non sono un programmatore , ma un user con molta passione.
    Grazie e buon lavoro
    edit: ieri sera andai a leggermi da un tuo commentatore esperto di .ASP e mi lessi le sue considerazioni e ho desistito dal provarlo: in pratica mi sono risposto che non è alla mia portata il tuo software.
    che peccato: aveva delle funzioni molto interessanti, tipo i marcatori.
    Continuo a seguirti e a volte quoto delle parole tue..
    Te lo dico per correttezza anche se ti cito sempre :D
    grazie x gli auguri a zoneX
    happy life Michele

Articolo di Michele Diodati pubblicato il  25/3/2006 alle ore 18,57.

Indice del Pesa-Nervi | Diodati.org

Inizio pagina.