Prima di diventare un professionista avevo una visione del Web e dei browser del tutto improntata alla scoperta ed alla sperimentazione, cosa che nel corso degli anni si è trasformata in un lucido pragmatismo dovuto agli impegni di lavoro. Quando si ha una passione e questa passione non è ancora diventata un vero lavoro, si tende ad essere alquanto utopisti e a credere a concetti che ben poco hanno a che vedere con il Web visto come terreno di sviluppo professionale. Ecco il mio punto di vista su Internet Explorer di quando muovevo i miei primi passi.
Le ragioni di Internet Explorer
L'indipendenza dal dispositivo è uno degli obiettivi primari del Web.
L'obiettivo è quello di garantire l'accesso ai contenuti a prescindere dal tipo
di dispositivo usato dall'utente (fisso, laptop, palmare, cellulare, ecc.). Questo assunto si
collega direttamente al concetto di "universal access"
elaborato dal
W3C.
A sua volta tale accessibilità è imprescindibile dall'uso corretto degli standard del Web e da alcune pratiche sviluppate al fine di garantire una ottimale fruizione dei contenuti stessi del Web. Tuttavia, questi presupposti incontrano delle serie difficoltà all'atto della loro applicazione pratica. In primis, c'è da dire che sugli standard non esiste un accordo universale. Le varie interpretazioni che ne sono state date di volta in volta hanno frustrato le aspettative degli autori, i quali sono spesso stati costretti a dover ricorrere a soluzioni di ripiego per poter garantire la compatibilità tra browser e piattaforme diverse.
Un esempio lo troviamo nella non ancora risolta questione del supporto agli standard da parte del browser Internet Explorer Windows. Giunto alla versione 7, esso presenta ancora dei problemi di interoperabilità non ancora risolti. C'è da dire che anche i browser concorrenti (Netscape, Mozilla, Firefox, Safari, Konqueror, Opera) non hanno sempre avuto un supporto perfetto agli standard, ma negli ultimi cinque anni la loro aderenza a questi ultimi è stata sicuramente superiore alle versioni 5 e 6 di Internet Explorer.
La versione 6 di Explorer fu rilasciata nell'ottobre 2001 ed è rimasta "congelata" fino al 2006. Ma nell'agosto del 2002 fu rilasciato Netscape 7, e nel gennaio del 2003 Opera 7, entrambi con un supporto agli standard (in particolare ai fogli di stile) superiore ad Explorer, supporto tuttavia non esente da bug. Con l'avvento di Firefox (2004) il divario si è fatto ancor più evidente. Fondamentalmente, la comunità del Web rimprovera agli sviluppatori Microsoft di non tenere in considerazione il fatto che il loro browser sia il più diffuso e che, proprio per questo, l'aderenza agli standard sia un requisito necessario.
In un'intervista apparsa sul numero 114 di Internet Magazine (aprile 2007, pp. 82-83),
dal titolo "Quale browser scegliere?"
,
Iacopo Benesperi ha affermato:
L'unico punto di forza di Explorer è la sua diffusione. Con la versione 7 ha iniziato a ridurre il gap con gli altri browser, ma nulla più. I difetti principali invece sono la robustezza del codice (poca), lo scarso supporto agli standard del Web, soprattutto per il CSS.
e:
Per quanto riguarda Explorer, il primo pensiero va agli standard del Web: chi progetta siti Web sa bene cosa significhi, il più delle volte, la scrittura dei fogli di stile: uno per Explorer, uno per gli altri browser. Non sarebbe male che Microsoft mettesse da parte il codice HTML e CSS proprietario, e implementasse invece quello standard. Questo, per il bene di tutto il Web.
Pur essendo un utente di Opera e Firefox, voglio provare a capire le ragioni di Internet Explorer prima di emettere un giudizio inappellabile di "damnatio memoriae". In primis, c'è da dire che un browser non serve unicamente come banco di prova per i propri siti. Un browser è anche uno strumento con cui si naviga e si vive il Web. Un browser deve essere principalmente affidabile e sicuro, e questo per venire incontro alle esigenze immediate degli utenti. Internet Explorer, nelle versioni 5 e 6, ha avuto degli enormi problemi per quanto riguarda l'usabilità e la sicurezza. Questo ha portato Microsoft ha rilasciare numerosi aggiornamenti, patch e Service Pack. Per quale motivo è avvenuto tutto questo? Appunto per l'enorme diffusione di Explorer. Nella mia esperienza nella rimozione malware, ho imparato che assai di rado ci si dedica a scrivere del codice nocivo per un'applicazione che ha scarsa diffusione. Piuttosto, si vuole che il proprio codice si diffonda al massimo grado, e per fare questo si disseziona (letteralmente!) un software a larga maggioranza sul mercato.
Tutti i software hanno bug. Il problema è che se questi software sono i più diffusi, l'impatto di un bug sarà quasi sempre devastante. A fronte di tutto questo, a mio avviso Microsoft ha deciso di focalizzare la propria attenzione sui problemi più urgenti, posponendo il resto. Ad essere sinceri, una pagina non standard non danneggia il computer di un utente, ma una pagina infetta dal trojan/rootkit LinkOptimizer si. Chris Wilson, a capo dello sviluppo di Internet Explorer, ha dichiarato che la priorità della versione 7 di Explorer era quella di risolvere i problemi di usabilità e di sicurezza oltre che di implementare maggiormente gli standard.
Il secondo punto da considerare sono i problemi insiti nelle stesse specifiche
CSS, problemi che
Håkon Wium Lie giustamente definisce
"self-inflicted"
nella sua tesi sui fogli di stile.
Le specifiche, fino alla revisione 2.1, in alcune sezioni non esigono per ogni caratteristica presentata
un'aderenza unica ed incondizionata, ma lasciano una certa libertà agli sviluppatori. Ad esempio il
contenuto generato, che Explorer non supporta, non viene definito come una caratteristica necessaria per la piena
conformità. Ancora: le specifiche non definiscono con esattezza dove debba essere posizionato il marcatore
di un elenco, o l'aspetto dei form, o i margini e l'indentazione del testo negativi (e così via).
Per quanto riguarda i bug, quelli di Explorer 5 e 6 sono certamente più macroscopici, ma c'è da dire che all'epoca anche Netscape 7 e Opera 7 presentavano dei problemi non di poco conto nella realizzazione di un layout. Per esempio, Netscape non implementava correttamente il posizionamento fisso e Opera aveva dei problemi con i margini verticali, problemi che ho potuto riscontrare visualizzando alcuni semplici layout su quei browser.
Non bisogna dimenticare, infine, che il motore di rendering di Explorer è rimasto immutato per oltre cinque anni, mentre i motori di rendering degli altri browser sono migliorati di molto in questo lasso di tempo. Se si vuole fare un paragone, lo si deve fare con l'ultima versione di Trident (il motore di rendering di Explorer) e non con quella del 2001. Firefox, Mozilla, Safari, Konqueror e Opera hanno visto succedersi in questi ultimi anni numerose release, mentre Explorer è rimasto fermo per quei problemi citati poc'anzi.
Internet Explorer è arrivato alla versione 7 ed ha ancora un ampio margine di crescita. Bisogna avere fiducia. Il Web non ha una data ultima di scadenza. Il suo sviluppo passa anche dal sapere accettare i tempi e le esigenze di ognuno.