Chi ha avuto la pazienza di leggere le cose che vado scrivendo da qualche anno (qui e altrove) sa che ogni volta che si parla di applicazioni dell'informatica alla vita reale mi sembra sempre importante partire dalla conoscenza di quello che davvero è possibile fare con un computer. Il "digitale" (termine che riprendo da Negroponte, senza necessariamente associarvi la stessa aureola ottimistica) è qualcosa di davvero diverso dall'analogico. Non solo perché riduce la qualità in quantità (come si diceva ai tempi dei primi CD audio), ma perché consente tipi di operazioni molto diverse e arriva a decostruire il senso di coppie oppositive forti come "autore/lettore", "originale/copia". Non mi pare si possa prescindere da una comprensione piena delle novità che la rappresentazione digitale dell'informazione introduce a livello concettuale prima che tecnologico in nessun campo, meno che mai in quello della progettazione delle interfacce WEB.
Accessibilità e piacevolezza
Di accessibilità si parla molto: alcuni ritengono che sia una caratteristica fondamentale e irrinunciabile di ogni sito, altri si limitano a proporla come "plus" che dovrebbe contraddistinguere almeno i siti pubblici (per esempio quelli delle scuole). Ma c'è anche chi vede questo rigore come una limitazione forte che uccide la creatività degli autori, specie se giovani. Chi di noi non è rimasto colpito almeno una volta dalla bellezza di un sito la cui interfaccia è realizzata in Flash?
D'altra parte "accessibile a tutti" spesso viene inteso nel senso di "accessibile nello stesso modo a tutti". Come se ogni utente avesse le stesse esigenze, o gli stessi strumenti. L'ideale sarebbe di permettere ad ognuno di accedere ai contenuti nella modalità che gli è più congeniale. E' in questo senso che parlo qui di "interfacce dinamiche": non perché contengono animazioni ed effetti speciali (!), ma perché possono adeguarsi alle richieste dell'utente.
Una caratteristica del digitale è la possibilità di scomporre, analizzare e quindi separare aspetti diversi di un messaggio che si presentano inscindibili nella versione analogica. Il contenuto e la forma, per esempio, in un documento digitale possono essere divisi e trattati separatamente. La storia del WEB e del suo linguaggio principale, l'HTML, è appunto la storia di un divorzio progressivo, che arriva a vedere la nascita dell'XML, uno standard internazionale verso cui stanno convergendo in molti.
L'HTML è stato a lungo considerato un parente povero dell'SGML, che è un potentissimo linguaggio di descrizione di documenti. Dopo aver subito nelle sue varie versioni un processo di "estensione selvaggia" delle sue caratteristiche da parte dei costruttori di browser (che ha fatto si che quasi mai un documento visualizzato correttamente con Explorer lo sia anche con Netscape, e viceversa), la versione 4 dell'HTML prevede che il contenuto di un documento sia strutturato in elementi (intestazione, corpo, paragrafi) che non hanno nessun riferimento ad una visualizzazione particolare. Le informazioni relative alla maniera di presentare il documento (colore, carattere, posizione, font) vengono affidate ai fogli stile (Cascading Style Sheet) che assegnano agli elementi standard, o a elementi definiti dall'utente, detti classi, certe caratteristiche grafiche. Questa separazione permette sia di utilizzare lo stesso foglio stile per molti file HTML diversi, in modo da omogeneizzare facilmente e velocemente l'interfaccia di un sito, sia al contrario di abbinare ad un unico file HTML diversi fogli stile in alternativa, per permetterne visualizzazioni diverse. In altre parole, consente sia un'ecologia del codice (un uso intelligente delle risorse digitali, che non sono, come potebbe sembrare, infinite) sia una flessibilità e una rappresentazione.orientata al lettore anziché all'autore.
Ecologia e flessibilità
Due fenomeni di direzione inversa si incontrano. Se una volta erano i tipografi a impaginare i libri, indipendentemente e magari contro le intenzioni degli autori, adesso gli autori dei libri possono mettere le mani sull'impaginazione, in particolare quando si tratta di testi destinati ad essere pubblicati su WEB. Si riduce lo spazio tra ideazione e rappresentazione finale, e alcuni mestieri tendono a scomparire o a trasformarsi radicalmente. Contemporaneamente, per la prima volta è l'utente a poter scegliere la maniera di visualizzare (o di ascoltare) un contenuto.
Un esempio di questo procedimento lo trovate nel mio sito di lavoro, dove il/la navigante può scegliere tra quattro stili di visualizzazione diversi.
Questo sarebbe stato possibile creando quattro siti diversi, ognuno con caratteristiche differenti. Ci sono due problemi connaturati a questo approccio: da un lato, si moltiplica per quattro la quantità di informazioni (il che per un sito con migliaia di pagine può essere un vero problema, anche solo dal punto di vista della gestione dei collegamenti); dall'altro ogni modifica dei contenuti del sito deve essere riportata per quattro volte nei file di ogni versione.
Invece però di quadruplicare le informazioni, si possono applicare quattro fogli stili differenti alle pagine HTML, che restano uniche. Dal punto di vista dell'autore, questo si traduce in una possibilità di aggiornamento del sito molto più veloce. In questo modo non è più necessario riportare ogni modifica al testo in tutte e quattro le versioni: basta fare la modica e poi ricopiare semplicemente i file in quattro cartelle diverse.
Un ulteriore passo avanti è consentito dal meccanismo dello "scripting da lato server": la pagina HTML, prima di essere inviata al browser che l'ha richiesta, viene preprocessata da n'applicazione che risiede non sul computer dell'utente ma sul server. In parole povere, quello che il vostro Netscape o Explorer (o Opera, o ...) riceve non è il file originale, ma una versione di quel file costruita "al volo" sulla base delle vostre caratteristiche. Ad ogni richiesta di un documento (http://...) il foglio stile scelto dall'utente viene applicato sul file originale e il risultato è inviato al browser. L'effetto è lo stesso, ma stavolta non c'è bisogno di avere fisicamente quattro versioni del sito differenti. I documenti sono unici, e solo i fogli stile sono quattro.
Modelli
Anche se i fogli stile permettono di rendere dinamici alcuni aspetti della visualizzazione, l'impaginazione vera e propria del documento, la posizione relativa delle parti o la loro dimensione non può essere gestita così.
Un meccanismo del tutto simile si può però applicare anche in questo caso utilizzando dei "modelli di pagina", o templates secondo la terminologia standard anglofona.
Un modello è un normale file HTML con dei "buchi" al posto dei contenuti reali. Il modello viene creato sulla base della struttura standard di una pagina e salvato a parte. Ogni pagina del sito viene poi costruita a partire dal modello, inserendo i contenuti (testi, immagini) nei segnaposti previsti. Quando si decide di approntare una versione diversa del sito, basta modificare il modello, aprire i documenti collegati e salvarli nuovamente con il nuovo modello. Ecco il template usato per le pagine del mio sito di lavoro:
{titolo}
| {immagine} |
{introduzione} |
{testo}
|
Programmi professionali di impaginazione di documenti HTML come Dreamweaver consentono di gestire in maniera efficiente i modelli; ma è possibile utilizzare questo meccanismo anche con altri software. Per esempio, HTML-Kit utilizza i templates, ma anche ADA Lesson Generator, il software autore per la scrittura di corsi online (di cui sono autore), è basato su un sistema di questo tipo, per permettere all'autore di costruire facilmente più interfacce dello stesso corso.
L'associazione modelli+fogli stile è in effetti una maniera potente di gestire versioni differenti di uno stesso contenuto. Un modo ancora più dinamico è quello di tenere i contenuti di un sito all'interno di un database e lasciare che sia un'applicazione apposita (scritta in Perl come in PHP, in ASP come in Java) che risiede sul server a costruire una pagina inserendo i contenuti all'interno dei modelli. Questo è quello che fanno quasi tutti portali di una certa dimensione, anche se raramente il meccanismo è reso visibile e utilizzabile dall'utente. Il caso di PHP-Nuke (il software di publishing con cui è fatto, tra gli altri, anche il sito di Onlynx) che permette agli utenti di scegliere uno stile dell'interfaccia è abbastanza isolato per il momento, anche se non dovrebbe tardare a imporsi come modalità standard.
In conclusione, indipendentemente dalla modalità che si sceglierà di usare, è importante rendersi conto che è possibile oggi creare
siti web pluriaccessibili, nel senso di accessibili secondo modalità diverse, e che parte integrante della responsabilità del webmaster è
proprio rendere il proprio sito uno specchio fedele delle preferenze e dei gusti non di chi lo ha costruito, ma di chi ci naviga dentro.
Questo testo è la rielaborazione di un intervento al Forum Virtuale Moncalieri 2001, che ha avuto quest'anno come tema quello delle interfacce digitali. Presto,speriamo, dovrebbero essere disponibili gli altri interventi.