L'articolo di oggi è rivolto a tutti quelli interessati alla creazione
di una buona suite di test in ambiente Windows. La premessa, però, è
data da una storia interessante, che merita di essere raccontata. E' una di
quelle storie dell'internet in cui si mischiano ingegno, intuito, condivisione
di sapere. E una Microsoft che ha forse qualcosa da farsi rimproverare. Un copione
già visto, si dirà.
Il problema
Chi sviluppa siti su/per Windows si è sempre trovato ad affrontare un
problema spinoso: quello dei test sui browser di casa Microsoft. Se dalla versione
5 alla 6 le caratteristiche funzionali sono rimaste praticamente invariate,
diverso è il discorso per aspetti decisivi agli occhi del webdesigner.
Primo fra tutti il supporto dei CSS: discreto sulle versioni 5/5.5, migliorato
ma non ancora perfetto sulla 6.
Le differenze non riguardano aspetti marginali. Basti pensare che il principale
bug di Explorer 5.x, corretto sul 6, riguarda l'errata implementazione del box
model, ovvero di uno dei cardini dell'intera specifica dei CSS.
Se Explorer 5.x fosse un browser ormai fuori circolazione, il problema non
si porrebbe. Basta dare però uno sguardo a qualunque statistica sull'utilizzo
dei diversi User Agent per capire che così non è. Rimane ancora
un browser molto usato e forse lo sarà per un po'. Non si può
non tenerne conto. Se realizziamo un sito che fa un uso appena avanzato dei
fogli di stile o del DOM, il test con le versioni di Explorer precedenti la
6 è una necessità ineludibile.
Il problema che tutti conoscono è che su Windows non possono convivere
più versioni di Internet Explorer. La scelta di Microsoft fu da subito
quella di legare il browser al sistema operativo. Tra i file di installazione
di Explorer, moltissimi sono parte integrante del sistema. E installare una
versione sull'altra produce la semplice sovrascrittura dei file stessi, rendendo
impossibile la convivenza. Se installo Explorer 6, addio versione 5. Come faccio
ad effettuare i test? Posso avere una seconda macchina con un secondo sistema
operativo; posso tenere due Windows su due diverse partizioni; posso chiedere
agli amici di controllare. Tutto molto complicato. Soprattutto se si fa il confronto
con i concorrenti. Per Opera, Mozilla, Firebird o Netscape, il problema non
esiste: più versioni del programma possono convivere felicemente sullo
stesso PC.
La soluzione
Il sogno di riuscire a trovare il sistema per aggirare questa limitazione,
si è realizzato pochi giorni fa. Tutto ha inizio con la nota vicenda
che vede Microsoft contrapposta alla società Eolas. Questione di patenti
e brevetti su tecnologie. In particolare quella che consente di incorporare
oggetti all'interno delle pagine web. Un giudice ha dato ragione ad Eolas, riconoscendole
la primazia sul brevetto. Microsoft dovrebbe pagare una multa sostanziosa e
modificare il suo browser. Questa volta, però, i guai sono per tutti.
Il problema non sta tanto in Explorer, ma nei tag come <object>
con cui si inseriscono in un documento filmati Flash o controlli ActiveX. Il
problema è nella specifica (X)HTML. Tutti dovrebbero adeguarsi. Per il
web sarebbero tempi complicati e Tim Berners Lee in persona è intrevenuto
ad evidenziare la serietà dell'argomento.
Sull'onda della causa legale con Eolas, Microsoft ha così iniziato a
testare una versione
di Explorer compatibile con l'indirizzo dettato dalla sentenza. Se si naviga
con questa versione del browser e si incontra un filmato Flash, per esempio,
appare un box di dialogo che ci chiede ogni volta di confermarne la visualizzazione.
Una specie di incubo, davvero.
Quando Joe Maddalone ha scaricato questa versione, ha subito notato che essa
poteva convivere con quella già installata sul suo sistema. Bingo! Ha
iniziato a studiarsi i file installati, ne ha notato uno molto particolare denominato
explorer.exe.local, ha pensato che forse poteva funzionare anche con
le versioni precedenti. Un giro sul benemerito archivio di browser di Evolt
è bastato a recuperarle.
Come molti sanno, le distribuzioni di Explorer sono fatte di tanti pacchetti
.cab. A Maddalone è bastato confrontare i file installati dalla versione
Eolas di Explorer con quelli presenti nei .cab. A questo punto, con una bella
copia di Winrar, ha provveduto ad eliminare quelli non corrispondenti. Soprattutto,
ha creato un file vuoto nominandolo explorer.exe.local. e piazzandolo nella
stessa cartella dell'eseguibile principale. Fatto.
Quando la cosa si è diffusa è partita la girandola dei commenti
entusiastici, ma anche quella della cooperazione. Ryan Parman ha preparato semplicissimi
file zippati contenenti tutto il necessario (trovate il link per il download
in fondo all'articolo). Basta scaricarli da uno dei tanti mirror, scompattarli
in qualunque cartella e avviare la versione di Explorer che si desidera, persino
la 3! Per non confondere i browser quando si tengono tutti aperti, Gare Hert
ha creato pure icone di diversi colori per ciascuno di essi.
Entusiasmi a parte, qualcuno si è giustamente chiesto perché
Microsoft non abbia mai fatto menzione di questa possibilità, pur sapendo
che si tratta di una cosa importantissima per gli sviluppatori. Una volta che
poteva risultare simpatica e benemerita, ha perso l'occasione.
Una piattaforma di test per Windows
A questo punto, in ambiente di Windows, è possibile avere una piattaforma
di test completa. Essa dovrebbe comprendere, come base minima, i seguenti browser:
- Internet Explorer 5
- Internet Explorer 5.5
- Internet Explorer 6
- Opera 7
- Mozilla
- Firebird 0.7
- Netscape 6/7
- Lynx (eccellente browser testuale)
- Una copia di un browser vocale (Home Page Reader)
Per Mozilla, e in parte anche per Opera, va fatta una considerazione. Sono
browser molto amati da appassionati e sviluppatori, persone che tendono in genere
ad aggiornare con frequenza e all'uscita di nuove versioni. Dovrebbe essere
sufficiente, pertanto, procurarsi l'ultima release. Per esigenze particolari,
comunque, è estremamente semplice installare anche versioni precedenti.
Per Netscape, invece, bisogna considerare che dalla versione 6 è basato
sullo stesso motore di Mozilla, Gecko. Ciò non esclude, però,
che presenti bug particolari e specifici. Anche in questo caso, un'attenta valutazione
del progetto può far valutare la necessità di installazioni multiple.
Rimane un ultimo punto. Se si intende testare la compatibilità di un
sito con browser più datati, è sempre possibile installare una
copia di Netscape 4, dando per scontato che di Explorer di quarta generazione
non ve ne siano quasi più in circolazione.
Risolto il problema Windows, rimane ovviamente quello delle altre piattaforme.
Qui le soluzioni sono tre. Utilizzare altre macchine per i test; affidarsi a
servizi come BrowserCam; ricorrere quando possibile ad una macchina virtuale
software, tipo VMWare. Quando tutto manca ci sono sempre gli amici.
Link
Tutti
gli Explorer su Windows: la spiegazione tecnica sul sito di Joe Manganello.
I pacchetti
zip con tutti gli Explorer: la lista dei mirror da cui scaricare le diverse
versioni di Explorer.
Browsercam: un servizio
che effettua test sulle pagine web riproducendo i risultati in forma di screenshot.