Recentemente l’attenzione per i browser, o meglio per l’incompatibilità che
esiste tra le diverse versioni di questi, si è rinnovata sia in vista
dell’importanza assunta dal concetto di usabilità dei siti web, sia in vista
della ricerca di conformità alle direttive proposte dal World Wide Web
Consortium (W3C), l'organizzazione che rilascia gli standard ufficiali dei
protocolli utilizzati in Internet.
La compatibilità può essere normalmente ricercata a diversi livelli e con
diversi tipi di strumenti: quando riguarda i browser essa diventa un aspetto
tecnico dell’usabilità che per la sua complessità non può essere ignorato
nei test per la valutazione dei siti web.
2
Una delle maggiori preoccupazioni per i webmaster, infatti, è sicuramente
quella di rendere il proprio sito compatibile con la maggior parte dei
software per la navigazione, in modo da permetterne una corretta
visualizzazione e diffusione su più piattaforme possibili.
Il problema della compatibilità con i browser nasce quando un sito o
qualsiasi altra risorsa condivisa in rete viene sviluppata senza tener conto
delle funzionalità supportate dai diversi browser, dalle diverse versioni
degli stessi e dalle diverse piattaforme che li supportano. Di solito è più
facile e comodo scegliere di progettare siti solo per le versioni più recenti
dei browser più diffusi; eppure, l’adozione delle innovazioni da questi
supportate crea una diversificazione non sempre compatibile con le
tecnologie usate dagli utenti-navigatori. La non corretta visualizzazione
delle pagine web comporta molto spesso esperienze di frustrazione che
per il visitatore sono la premessa all’uscita definitiva dal sito: in tal senso,
per assicurare esperienze di qualità è utile identificare il target di utenza,
concentrare la progettazione sui profili tecnologici di quel target e
monitorarne gli scostamenti attraverso l’uso di un contatore di accessi.
3
L’esclusione di una parte dell’utenza, anche se può sembrare marginale ai
fini statistici, è potenzialmente pericolosa per un sito e può dare origine a
2
- Cfr. Usability (Quomodo?), una dimensione prevista dal modello 2QCV3Q per la valutazione di un sito.
Per una rassegna completa dei loci ciceroniani su cui è basato il modello, si rimanda a Mich Luisa - Franch Mariangela
- Gaio Loris, “Evaluating and Designing the Quality of Web Sites”, IEEE Multimedia 10(1): 34-43, 2003.
3
- Visciola Michele (2000), “Usabilità dei siti web”, Apogeo (MI).
2
risultati indesiderati. In Internet i “grandi numeri” non sono necessari: dieci
utenti specificamente interessati, infatti, valgono molto più di mille visitatori
di passaggio.
La relazione mostra che una chiara consapevolezza sui vantaggi e sulle
limitazioni presenti in ogni browser permette di adattare al meglio le
soluzioni di qualsiasi progetto per l’applicazione web: in particolare, con
riferimento al sito del gruppo di ricerca eTourism, essa affronta uno
specifico problema di compatibilità “cross-browser” e ne illustra
tecnicamente i risvolti anche in termini di usabilità. Per un sito ad alta
densità informativa come quello del gruppo di ricerca eTourism, del resto,
la possibilità di accedere facilmente ai contenuti del proprio percorso di
navigazione è una condizione imprescindibile e costituisce un fattore
decisivo per il miglioramento della qualità offerta.
3
1 GLI STANDARD WEB
“Web standard? Non possiamo più permetterci di ignorarli.”
(Paul Boutin,
4
2002)
L’ HTML (HyperText Mark-up Language) è una applicazione SGML
5
conforme allo standard Internazionale ISO 8879, ed è ampiamente
considerato come il linguaggio standard di pubblicazione sul World Wide
Web.
6
In altri termini l'HTML è la lingua franca per la pubblicazione
dell'ipertesto su Internet
7
e fondamentalmente, quando si visita un sito
web, il browser legge ed interpreta questa “lingua”. Per farlo, esso utilizza
un apposito programma chiamato parser e attraverso il parser analizza i
tag del codice, ossia i comandi necessari per definire e visualizzare i
documenti nei loro formati. Già questa semplice e basilare operazione
comporta alcune difficoltà. È bene sapere, infatti, che l’HTML, nato nel
1990 agli albori di Internet, era stato pensato per trasmettere semplici
pagine testuali, senza grafica, senza animazioni ed altri “effetti speciali”.
Per ovviare alle limitazioni di HTML, i programmatori, nel corso degli anni
hanno introdotto all’interno del codice nativo elementi aggiuntivi esterni, il
cui compito è quello di occuparsi della decodifica delle parti multimediali
presenti nei siti di ultima generazione. Da qui i primi problemi: il privilegio
di poter dettare gli standard per l’utilizzo dei protocolli multimediali divenne
di fatto proprietà delle case di software produttrici dei vari browser. In
pratica, ogni nuova versione di browser introduceva tag proprietari che
potevano essere visualizzati dall’utente solo se questi era in possesso di
determinate apparecchiature software e hardware: essere in possesso di
4
- Paul Boutin (06/08/2002), “Web Standards for Hard Times”, Webmonkey.
URL http://hotwired.lycos.com/webmonkey/02/33/index1a.html
5
- SGML: Standard Generalized Markup Language. È un meta-linguaggio utilizzato per creare altri linguaggi; permette
di definire tipi di documenti strutturati e fu creato nel 1974 da Charles Goldfarb.
6
- W3C (01/08/2002 a), “XHTMLª 1.0 The Extensible HyperText Markup Language (Second Edition)”.
URL http://www.w3.org/TR/2002/REC-xhtml1-20020801.
7
- W3C (15/08/2002 b), “HyperText Markup Language (HTML) Home Page”, Copyright © 1995-2002
URL http://www.w3.org/MarkUp.
4
un browser non compatibile per la lettura di certi tag, di conseguenza,
significava non riuscire a visualizzare nulla sul proprio monitor. Questa
scelta, causata dalla mancanza di un organismo ufficiale di controllo su
Internet, portò inevitabilmente ad un punto di rottura che, alla fine degli
anni Novanta, sfociò nella cosiddetta “guerra dei browser”.
La “guerra dei browser” è uno dei leitmotiv più sfruttati e dibattuti dagli
appassionati di Internet perché segna, con i suoi alti e bassi, un
importante periodo della storia e della diffusione del World Wide Web.
Questa “guerra”, infatti, non riguarda soltanto le vicende commerciali di
grosse società (Microsoft e Netscape in primis) ma anche quelle di intere
comunità di persone che, anno dopo anno, hanno seguito l’evolversi dei
browser sia dal “fronte libero” del cosiddetto open source, sia da quello più
o meno “lucroso” legato a sistemi operativi a pagamento. Per anni i
costruttori di siti web hanno assistito ad una vera e propria “corsa alle
armi” da parte delle diverse software house, le quali, aggiornando
frequentemente i propri “navigatori” nell’intento di potenziarli, hanno creato
un paradosso: tecnologie dagli stessi effetti ma incompatibili tra browser
“avversari”. A questo scontro tecnologico, del resto, faceva eco un attacco
commerciale senza precedenti (basti pensare alla battaglia legale tra
Microsoft
e Netscape dopo l’acquisizione di quest’ultima da parte del
Network AOL) che ha addirittura spinto Microsoft, per la prima volta, a
regalare completamente un proprio prodotto. Come era facile intuire, col
passar del tempo la situazione divenne insostenibile per chiunque
utilizzasse Internet e la mancanza di un’organizzazione per la
sovrintendenza all'adozione di standard sul Web non tardò nel farsi
sentire. La volontà di creare prodotti e servizi Internet in grado di offrire
agli utenti il Web nel modo desiderato, in qualsiasi momento e luogo e
tramite qualunque dispositivo, in fin dei conti, era obiettivo comune a tutti i
competitors. Così, messe da parte bizze e recriminazioni, le più importanti
società informatiche sedettero ad un tavolo comune e iniziarono una
riflessione sulle tecnologie, sugli standard e sull’usabilità: il risultato fu una
5
lenta convergenza alle raccomandazioni del World Wide Web Consortium
(W3C), il vincitore annunciato della “guerra dei browser”.
Il World Wide Web Consortium (W3C) è un’organizzazione che si occupa
della standardizzazione dei linguaggi per il World Wide Web ed composta
da più di 400 membri, la maggior parte dei quali sono soci delle più grandi
software house mondiali (Microsoft, Netscape, Macromedia, Sun
Microsystems, ecc.). Ogni gruppo di lavoro costituito dal W3C coopera con
esperti del settore per produrre delle specifiche, chiamate
“recommendation”, che una volta approvate dal consorzio, diventano
standard di fatto.
8
Una maggiore standardizzazione permetterebbe sicuramente di veder
rispettato uno dei principi fondatori del World Wide Web: “code once, view
everywhere”, ossia scrivi una volta sola e rendi pubblicabile quel che hai
scritto su ogni supporto. Gli obiettivi del processo di definizione degli
standard Internet, del resto, sono:
• eccellenza tecnica
• preventiva implementazione e controllo
• documentazione chiara, concisa e di agevole comprensione
• trasparenza e correttezza
• mancanza di limiti temporali
• portabilità su diverse piattaforme
Un sito progettato senza mettere in preventivo gli standard HTML avrà
pochissime possibilità di essere visualizzato sempre in modo corretto.
Un buon codice HTML, invece, permette il maggior grado di visibilità
possibile, incluse le versioni più vecchie e più nuove dei browser.
A questo proposito, i criteri più semplici da seguire fin dalla fase di
progettazione sono pochi, ma fondamentali e riguardano:
8
- In generale, uno standard Internet rappresenta una specifica stabile, chiara e tecnicamente avanzata; esso gode di
una consistente esperienza operativa ed è riconosciuto utile dal pubblico. S. Bradner (Ottobre 1996), “The Internet
Standards Process -- Revision 3”, Harvard University. URL http://www.ietf.org/rfc/rfc2026.txt.
6
• il controllo della correttezza del codice;
• il controllo ortografico (sembra banale, ma un sito con errori di
ortografia dà subito l’idea di scarsa professionalità);
• il controllo dei broken link
9
a risorse web o ad immagini mal
referenziate;
• l’inserimento di alternate text ovunque possibile in corrispondenza
degli elementi grafici (questo accorgimento appesantisce il codice
ma nel contempo aumenta l’accessibilità e favorisce gli spider dei
motori di ricerca);
• l’ottimizzazione per i motori di ricerca (meta tag
10
, etc.);
• l’ottimizzazione dei tempi di caricamento.
Vi sono vari strumenti che consentono di realizzare facilmente siti, ma i più
usati sono indubbiamente i cosiddetti “editor visuali”. Anche se negli ultimi
anni c’è stata una notevole evoluzione nella fedeltà di questi strumenti, un
editor visuale non produce mai un buon codice HTML: per quanto ben
congegnate, infatti, le pagine web scritte in modalità “WYSIWYG”
11
presentano sempre un codice sorgente "sporco". Quest’ultimo, nel gergo
informatico, è detto “sloppy HTML”
12
e spesso presenta una serie di difetti
"invisibili" ad una serie non attenta di test. A costo di essere ripetitivi, va
sottolineato che un codice HTML "pulito" renderà meglio, più velocemente
e su un maggior numero di browser rispetto ad un codice "sporco",
soprattutto in caso di continui aggiornamenti.
9
- I “broken link” sono collegamenti ipertestuali tra pagine web non funzionanti.
10
- I “meta tag” sono particolari tag HTML attraverso i quali è possibile specificare informazioni (anzi, meta-
informazioni) di vario genere e tipologia su una pagina web. Essi hanno perso quasi del tutto la loro efficacia come
strumento per il posizionamento nei motori di ricerca, tuttavia rimangono utili nel lavoro di rafforzamento dei termini
contenuti nel corpo della pagina e a volte anche come strumento di usabilità nei confronti degli utenti. Fonte:
http://www.motoricerca.info.
11
- Acronimo di "What You See Is What You Get" (quel che vedi e' quel che ottieni): questo termine viene utilizzato
molto spesso in riferimento a software per lo sviluppo di siti web.
12
- Il termine “sloppy HTML” indica codice non corretto che dimentica, ad esempio, di far corrispondere ad un tag di
apertura <p> il corrispondente tag di chiusura </p>. C’è chi ritiene che quasi il 50% del codice contenuto nei moderni
browser sia preposto a rimediare alle omissioni dovute a “sloppy HTML”: ecco perché questi ultimi occupano tanto
spazio su disco fisso! Fonte disponibile su: http://www.webdevelopersjournal.com/columns/ajs_sloppy_html.html.
7
Un intervento diretto sul codice sorgente comporta un notevole dispendio
di tempo e di lavoro, ma in ogni caso è un processo cruciale nella
realizzazione di un sito.
L’esperienza del designer, ovviamente, fa sì che certi problemi siano
trattati a monte e che il design stesso tenga conto dell’eventuale
presentarsi di errori, ma molte cose possono sfuggire; molti sviluppatori di
siti, inoltre, hanno poco tempo da dedicare alla loro valutazione, oppure
hanno una conoscenza superficiale del linguaggio usato nel web.
In questi casi, allora, è utile avvalersi di strumenti per la validazione
automatica del codice HTML. Generalmente questi strumenti non
risolvono tutti i problemi per garantire una visualizzazione universale, ma
cercano di limitare le differenze risultanti dall’attività congiunta del
designer e del suo strumento di lavoro (in genere un editor “WYSIWYG”)
agli standard più sensati. Fra questi, da citare a titolo di esempio sono i
web site watchers (Net Mechanic, Astra SiteManager, Linkbot, LinkScan,
WebAnalyzer) e i validators
13
(BOBBY, Spyglass, HTML Validator, W3C
HTML Validation Service, WebTechs Validator): sostanzialmente essi
fanno una scansione di tutte le pagine di un sito per trovare i broken link
(uno degli errori più comuni e più difficili da gestire manualmente), i tag
nidificati, il codice superfluo, le immagini troppo pesanti, etc. Il senso delle
operazioni di validazione, comunque, si esprime soprattutto in relazione
alla portability, la riusabilità dei documenti: per evitare che abbiano una
vita breve, infatti, i documenti web devono essere scritti bene fin da subito.
Il controllo degli standard web ha un’evidente funzione anche per il web
marketing ed è strettamente legato al design. Un sito con errori di HTML,
infatti, rischia di essere abbandonato in fretta dall’utente, e molti motori di
ricerca potrebbero non indicizzarlo correttamente.
13
- WDG (Web Design Group) fornisce una lista completa di validator al seguente indirizzo:
http://www.htmlhelp.com/links/validator.html.
8
2 SITI WEB E COMPATIBILITÀ CON I BROWSER
“Creare un sito che venga visualizzato identicamente in tutti i browser è
quasi come scrivere un libro leggibile in ogni lingua."
(anonimo webmaster sfinito
14
)
Viene definita compatibilità la possibilità di eseguire un programma con
diversi tipi di computer senza la modifica del programma e/o del
computer.
15
La perfetta compatibilità dei documenti HTML con i browser è
una delle questioni più controverse dello sviluppo dei siti web: lo è non
solo per ragioni tecniche e di opportunità, ma anche per implicazioni
generali di politica commerciale connessa allo sviluppo della rete Internet.
Il modo in cui viene visualizzato un sito web dipende dal tipo di browser
utilizzato, dalle diverse versioni dello stesso e dai diversi sistemi operativi
che lo supportano. Anche se a parole molte società produttrici di software
si propongono di seguire le direttive fissate dal World Wide Web
Consortium (W3C), la realtà è che spesso esse fanno lobbying per
influenzare ed indirizzare gli standard: imporre le proprie tecnologie al
mercato, infatti, significa averne il monopolio.
16
La compatibilità può essere assoluta o relativa: nel primo caso l'obiettivo è
quello (difficile da raggiungere) di rendere il proprio sito compatibile con
tutti i browser disponibili sul mercato; nel secondo caso (molto più
realistico), l’obiettivo è rendere il sito visualizzabile con i browser più
diffusi. La compatibilità assoluta può essere realizzata solo come “graceful
degradation”,
17
ossia un “morbido” degrado del livello tecnologico del sito
dovuto ad una serie di accorgimenti tali da rendere il sito visibile a tutti.
18
14
- Singolare affermazione reperita in un sito web dopo aver consultato il motore di ricerca Google
alla voce
“compatibilità cross-browser”. URL http://www.aladinoinformatica.com/Offerta/Internet/CrossBrowser.asp.
15
- Compatibility, Wikipedia, the free encyclopedia. URL http://www.wikipedia.org/wiki/Compatibility.
16
- Senza entrare nel merito della questione, basti pensare al caso Microsoft.
17
- Definizione disponibile all’indirizzo: http://www.anybrowser.org/campaign/abdesign.shtml#degradability.
18
- Tra questi accorgimenti, esemplare è il tag “alt”, usato per descrivere il contenuto di un’immagine a chi non è in
grado di visualizzarla (perché, ad esempio, utilizza lettori di schermo, oppure browser in modalità “solo testo”).
9
Per qualche anno la “bandiera” della compatibilità si era ridotta allo slogan
"Best Viewed With Any Browser",
19
molto in voga nel 1998. Nato quasi
come una provocazione in reazione ad indicazioni quali "Best With
Internet Explorer 4” (usate per mettersi al riparo da critiche dovute a
problemi di incompatibilità), rappresentò più che altro una battaglia
ideologica, ma nel contempo, diede man forte allo sviluppo delle linee
guida del World Wide Web Consortium: il suo intento, infatti, era quello di
uniformare il Web attraverso la ricerca di standard comunemente accettati
dalla maggior parte dei browser.
Emblematica a tal proposito, questa celebre citazione:
"Chiunque sbatta nelle proprie pagine un'etichetta del tipo 'questa pagina
si consulta meglio con il browser X' sembra che provi un forte desiderio di
tornare a quei terribili giorni, prima del Web, dove si avevano poche
possibilità di leggere un documento scritto su un altro computer, da un
altro elaboratore testi, o in un'altra rete."
(Tim Berners-Lee
20
, 1996)
La varietà in Internet, tuttavia, non è facilmente “regolabile”. Un sito o un
applicativo web compatibile al 100% non è pensabile, e non sempre è una
necessità: da un punto di vista tecnico, anzi, non è né auspicabile in
termini di rispetto per la diversità di preferenze dell’utente, né
realisticamente effettuabile.
21
La continua evoluzione degli strumenti di design e di browsing fa sì che un
sito debba comunque adattarsi più e più volte a diverse esigenze.
19
- "Best Viewed With Any Browser" era lo slogan inventato da Cari D. Burstein per una sua nota campagna di
sensibilizzazione alla compatibilità tra browser. URL http://www.anybrowser.org/campaign.
20
- Tim Berners-Lee è l’inventore del World Wide Web, Direttore W3C e primo ricercatore del MIT (Laboratory for
Computer Science). Maggiori informazioni all’indirizzo: http://www.w3.org/pub/WWW/People/Berners-Lee.
21
- Per quanto riguarda le dotazioni hardware/software, la variabilità va da computer molto vecchi e lenti, fino a
nuovissimi dispositivi portatili, come palmari o cellulari di ultima generazione: appare evidente che un sito
universalmente compatibile non è pensabile, perché dovrebbe sottostare a troppe limitazioni (apparirebbe come i
primissimi siti del 1995 e non potrebbe utilizzare alcune utili tecnologie presenti negli attuali browser).
10
Prima di progettare un nuovo sito o un’applicazione web, per garantirne la
compatibilità e ridurre i costi di “re-styling”, ci sono alcune fasi della
lavorazione da incorporare nel processo produttivo:
• identificare chiaramente il proprio target di utenza
22
attraverso
contatori d’accesso al sito;
• sulla base dei dati raccolti decidere quali browser, piattaforme e
tecnologie supportare per non escludere importanti settori di utenti;
• stabilito un numero di versioni gestibile, creare “contenitori” in cui
raggruppare i vari browser in modo da sviluppare una versione
“high-end” ed una “low-end” del sito;
23
• pianificare e risolvere possibili problemi di compatibilità in anticipo;
• ridurre il codice scritto, mantenendolo semplice e corretto;
• operare dei test durante lo sviluppo su diverse piattaforme e diversi
browser.
Seguire queste fasi può essere costoso sul breve termine, ma
generalmente porta notevoli benefici a lungo termine. In tal senso, ecco
una lista di casi da analizzare valutandone i “Pro e Contro”:
24
• supporto per nuovi browser (tabella 1);
• supporto per vecchi browser o compatibilità all’indietro (tabella 2);
• supporto per diversi sistemi operativi quali Windows, Unix,
Macintosh (tabella 3);
• supporto per tecnologie complementari quali i plug-in
25
(tabella 4).
22
- Un target di utenza è un gruppo omogeneo di visitatori (vuoi per la dotazione tecnologica, per il Paese di
provenienza, per la professione).
23
- L’idea di un “contenitore” che diversifica il supporto ai browser proviene da un approccio di J.Veen basato sul motto
“dividi e conquista”; tale approccio è menzionato in un interessante articolo di Pignatti Alice pubblicato all’indirizzo:
http://digilander.libero.it/creus2003.
24
- E-talia Agenzia Nuovi Media (21/11/2002), URL http://www.e-talia.it/w_s_compatibilita.php.
25
- Cfr. definizione § “Le tecnologie web supportate dai browser”.
11