
E arriviamo al grande Leviatano delle applicazioni: Internet Explorer.
Devo dire che qui da un lato è il mio pane (facendo, della realizzazione dei siti web, una delle mie ragioni lavorative); dall’altro però c’è tutta la complessità di andare a scindere il comportamento di Explorer “nativo” – che sappiamo essere, nel bene e nel male, quello che è – dal comportamento specifico del porting di IE sulla piattaforma WP7.
Per questo non farò una recensione di “come funziona Explorer”. Semplicemente proverà a capire “come funziona il browser” su Windows Phone 7 (magari confrontandolo direttamente con Safari su iPhone).
Partiamo dagli aspetti tecnologici: da quel che ho potuto leggere in rete WP7 monta una versione del rendering-engine di IE7 con adattamenti per uso mobile: “Internet Explorer Mobile on Windows Phone 7 uses the desktop Windows Internet Explorer 7 rendering engine with some enhancements made for mobile layout, along with some scripting capabilities from Internet Explorer 8″. Quindi non è altro che il caro e vecchio Internet Explorer 7, compagno di mille battaglie! [Nota: alcuni rumors danno IE9 in arrivo su WP7: staremo a vedere.]
Lo user-agent comunicato al server HTTP è il seguente: “Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; LG; GW910)” dove si può chiaramente vedere che l’engine è Trident e la versione software è MSIE7.
I plugin non sono supportati: nè gli Activex nè il player Flash (quindi, tanto rumore per nulla quando l’ha fatto Apple?). Sembra che arrivino nelle prossime release, ma per ora nulla di certo.
Essendo IE7, il supporto nativo per HTML5 è ancora lontano; stesso discorso per i CSS3.
Passiamo adesso agli aspetti di user-interface/experience: qui non c’è molto da dire, se non che la barra superiore dell’indirizzo web è stranamente posizionata/proporzionata (tara mia, tranquilli) e che forse i bottoni di chiusura delle schede sono un po’ bruttini (e poi perché limitarle a sei, le possibili schede?).

E’ possibile aggiungere un indirizzo alla start-page (come anche su iPhone) creando così uno shortcut velocemente accessibile per l’utente.
E’ inoltre possibile eseguire ricerche testuali dentro le pagine (a differenza che su Safari, dove talvolta capita che questa funzionalità verrebbe comoda anzichè dover scrollare e cercare in uno spazio così piccolo).
Passiamo ora alla visualizzazione delle pagine web vere e proprie. E qui devo dire che il “peso” del motore sotto il cofano si fa sentire tutto (nel bene e nel male). Nella galleria potete vedere un confronto fra diversi siti web (ilfoglio.it, corriere.it, google.com, bing.com, nosqlday.it e wufoo.com) visualizzati in Internet Explorer Mobile per WP7 e in Safari per iOS/iPhone.
[Nota: ho usato i siti del Foglio e del NoSQL Day come riferimento per il semplice fatto che, avendo scritto io il codice HTML/CSS/JS so bene come dovrebbero venire renderizzate le pagine e come dovrebbe comportarsi il browser]
Devo dire che mi aspettavo maggiori problemi nel rendering delle pagine più complesse (es. ilfoglio.it o corriere.it) invece il browser si comporta abbastanza bene. Certo, ci sono alcuni piccoli problemi di impaginazione/layout, ma poca cosa. Quello che ho notato è che il “calcolo” della dimensione dei testi spesso risulta sbagliato, o comunque viene alterato (immagino per tenere conto che si è su dispositivi mobili, ma lascerei che fosse il developer a occuparsi di queste cose, non il browser che decide al posto mio).
Dove invece IE7 arranca un po’ è nella parte di HTML più spinto, più “moderno”. Parlo di siti realizzati usando i tag semantici di HTML5, usando le media queries per adattare i layout alle dimensioni e all’orientamento dello schermo, facendo browser-detection per erogare siti in versione mobile, di geo-localizzazione per stabilire la posizione dell’utente; però non essendoci il supporto per tutte questi standard, c’è poco da fare. Un esempio su tutti, il sito nosqlday.it che è completamente inuttilizzabile così come è ora (per qualche motivo, non gestisce nemmeno lo zoom-in/zoom-out): occorrerebbe fare una versione ad-hoc per Wp7, anche se devo dire che è uno dei siti più “spinti in avanti” che abbia mai realizzato.
Sono invece rimasto positivamente sorpreso di come viene visualizzata la versione “mob” del sito del Foglio: a parte l’intestazione in alto che non si vedeva per un mio errore nelle dichiarazioni CSS (che sono state fatte pensando solo al target iPhone, e che ora ho corretto) per il resto funziona praticamente tutto; non è perfetto in ogni dettaglio, ma raggiunge egregiamente lo scopo di leggere gli articoli e le rubriche in un formato adatto ad un dispositivo mobile di piccole dimensioni.
Quello che invece mi manda davvero in bestia sono le pagine che ti aspetteresti fossero perfette e invece sono una ciofeca. Parlo della homepage di Bing. Ora, dico io: hai un OS Mobile che al momento non è diffusissimo e vuoi promuoverlo; hai un motore di ricerca che fa fatica a stare al passo con Google; ma non puoi fare un minimo di browser-detection e fare in modo che quando un utente di Windows Phone 7 va su Bing vede una pagina bellissima, non questa massa informe di testo e controlli buttati là, senza alcuna impaginazione, senza stile grafico e senza identità? Ma perfino Google si vede meglio, più in ordine, con le giuste spaziature e indentazioni, con il logo bello evidente e colorato. Essant’iddio!

Un’altra prova che ho voluto fare è quella di vedere come vengono renderizzati i form online e come viene gestita l’interazione con i controlli di input. Per farlo ho usato come test una pagina di demo del servizio Wufoo, dedicato appunto alla generazione di moduli online. Il risultato non è stato un granché, ma credo che sia dovuto alla forte interazione client-side (via Javascript) del modulo; quando ho fatto una prova con un modulo online più semplice, non ho riscontrato malfunzionamenti del browser.
Quello che ho invece notato, da utente, nell’interazione con i moduli online sono due cose:
- il passaggio da un elemento di input all’altro non è semplice: occorre cliccare sulla view-area (mentre su iPhone esiste il tasto “next) e lo zoom-in è eccessivo, per cui il risultato è che per compilare un form occorre continuamente fare zoom-in/zoom-out ed è fastidioso, al limite della rinuncia a completare il task.
- quando clicco su un “select” l’OS mi nasconde completamente lo schermo per mostrarmi l’elenco delle possibili “option” (su fondo nero!) ma credo sarebbe meno spiazzante se invece mi proponesse l’interazione su circa metà schermo (come su iPhone) lasciando così di sfondo il controllo su cui sto operando (e mi sento più sicuro di non sbagliare)
Nei miei test non ho fatto prove particolari su pagine che prevedano l’esecuzione di codice Javascript pesante/intenso; ma credo che essendo l’engine quello di IE7/IE8 non ci siano grossi problemi (immagino il limite sia più dato dall’hardware che non dal browser in sè).
In conclusione:
- devo dire che il comportamento di Internet Explorer Mobile è tutto sommato egregio
- speriamo che il passaggio a IE9 riesca a colmare le lacune “verso l’alto” del rendering-engine (HTML5/CSS3)
- un piccolo sforzo da parte di Microsoft per supportare fin da subito la geo-localizzazione sarebbe stato preferibile (visto il tipo d’uso in mobilità)
- nei prossimi progetti sarà interessante vedere cosa comporta, a livello di extra-effort, il supporto anche per Wp7
Nota: sul discorso homepage Bing: certo, l’utente probabilmente userà la ricerca nativa/il bottone hardware sul telefono; può starci, ma non è questo il punto. Il punto è che “se per caso” arriva a quella pagina, se per caso aggiunge la versione web/mobile di Bing alla sua start-page, se in generale – mi aspetto accada la stessa cosa – arriva su uno dei siti principali Microsoft, credo l’utente “si aspetti” di vedere una versione ottimizzata delle pagine per WP7 (nel senso che si vedono/si usano in modo ottimo). Volete dirmi che Microsoft non ha team interni in grado di fare questo lavoro e/o le risorse finanziarie per sostenernel l’onere? Maddai…