Articoli

Google Chrome, la nostra prova sul campo

di Maurizio Boscarol

thumbnail

03

Set

2008

Dall'annuncio al prodotto in poche ore, passando per fumetti divulgativi e congetture sulla prossima guerra dei browser. Il nuovo software di Google mantiene le promesse: è semplice, veloce, robusto e innovativo. Piccole imperfezioni migliorabili e qualche reticenza sulla gestione dei dati personali

Ieri Google ha lanciato il suo browser, per il momento solo per piattaforma Windows (versioni Mac e Linux sono già in cantiere, però), chiamato Chrome e rilasciato come progetto open source. Il mondo si divide fra l’entusiasmo per il potenziale innovativo di Google, dispiegato finalmente anche nel mondo dei browser, e i timori di un dominio troppo incontrastato sulla Rete da parte del colosso di Mountain View. In realtà alcuni sospettano un’accelerazione del progetto, subito dopo che la beta di Internet Explorer 8 è stata resa disponibile per il download.

Sia come sia, bisogna riconoscere che Google dimostra una invidiabile capacità innovativa. E anche una discreta capacità di fare marketing alla sua solita maniera, cioè fingendo di non farlo. Sebbene di un browser targato Google si parlasse da tempo (fin da quando, nell’ormai preistorico 2005, Google si mise a libro paga Ben Goodger, uno degli sviluppatori di Firefox), ultimamente le voci non trovavano riscontro puntuale e si erano affievolite. Finché il primo settembre un post sul blog ufficiale di Google annuncia che, sì, effettivamente da quegli uffici è partito per sbaglio il via al libretto promozionale a fumetti preparato per Google Chrome. Ops… Succede.


La strategia delle nuvole parlanti

Avete letto bene: un librettino a fumetti (in versione Google Book e in versione navigabile in maniera più tradizionale). Questo è stato il mezzo adottato per l’annuncio. E questo è anche lo strumento usato per spiegare al mondo che cos’è Google Chrome e quali rivoluzionarie idee ne starebbero alla base. Per di più il fumetto è davvero godibile, anche perché hanno assoldato per sceneggiarlo e disegnarlo (su testi di Google) nientemeno che Scott McCloud (il quale annuncia oggi una sua versione reimpaginata appositamente per il web del lavoro), già autore di una acclamata trilogia di saggi storico-pratici sul fumetto, e autore di punta del mercato indipendente americano. Per la generalizzabilità dei concetti i suoi libri figurano in qualunque bibliografia che si rispetti dedicata al web design, ed è nota una sua collaborazione con il NielsenNormanGroup per il tour mondiale di evangelizzazione sull’usabilità a pagamento che si svolge due volte all’anno in varie capitali europee e americane.

La scelta dell’ottimo McCloud ha dunque il sapore di un ammiccamento ben preciso alla comunità degli sviluppatori e dei designer. E d’altra parte negli Stati Uniti vi è una vera tradizione di fumetti applicati ai manuali tecnici (lo stesso Will Eisner, mostro sacro per generazioni di fumettari, ha passato la parte centrale della sua carriera disegnando e coordinando manuali addestrativi per l’esercito). Ma non erano mai stati usati per fare annunci al mondo.

Quali altre innovazioni, dunque, si annunciano a mezzo nuvolette al mondo dell’informatica? Ce ne sono molte, alcune più convincenti, altre meno. Va detto subito, per rassicurare i fan degli standard web, che non si introdurranno variabili (leggi: bachi) sensibili nel mondo dei browser, perché il nuovo prodotto si basa su un motore di rendering già esistente, robusto e open source, quel Webkit di Apple che già equipaggia Safari, Omniweb e vari browser per dispositivi mobili, oltre che framework come Adobe Air. La filosofia di Chrome è annunciata come un approccio integrato a sicurezza, robustezza e velocità di resa, soprattutto del codice Javascript, dato che proprio su Javascript si basano tutte le più importanti web application di Google, che forse è insoddisfatta del modo in cui viene interpretato ora dagli altri browser.


Architettura per processi virtuali

Secondo il fumetto, Google Chrome si fonda su una rivoluzione architetturale: ogni nuovo tab aperto nel browser, infatti, lancia una sua serie di processi isolati, come i processi lanciati dal sistema operativo. In pratica, ogni tab funziona più o meno come una specie di macchina virtuale isolata dalle altre. Così se una tab si blocca, non manda in crash l’intero browser. Questo ha anche importanti implicazioni sulla sicurezza dei dati. La chiusura del processo, infatti, limita di colpo le possibilità di “pescare” i movimenti del mouse o sulla tastiera da parte di processi aperti in tab concorrenti.

Chrome ha anche una funzione (Shift+Esc) che consente di monitorare quanto ogni tab richieda in termini di memoria alla nostra macchina, e decidere, dunque, di sopprimere solo il tab (e il processo) che crea maggiori ostacoli al sistema. Vi è un’ovvia eccezione: questa distinzione dei processi non vale - a meno di non seguire una procedura non alla portata dell’utente comune - se si aprono nuove tab da una pagina esistente (ad esempio seguendo un link e aprendolo in un nuovo tab, o attraverso finestre generate dinamicamente). In questo modo la finestra di origine può ancora comandare la finestra generata, il che può naturalmente essere utile soprattutto nelle applicazioni web.

Fondati su una simile separazione dei processi, vi sono nuovi sistemi di sicurezza, inclusa una lista di malware costantemente aggiornata che aiuta a prevenire l’accesso a siti pericolosi in automatico. In ogni caso, nessun programma indesiderato potrà essere installato sul computer dell’utente in modo da accedere a dati del sistema operativo, ma lo sarà solo (eventualmente) sulla “macchina virtuale” dello specifico tab, pronto a sparire alla chiusura del corrispondente processo. A questo punto alcuni analisti si sono spiegati la ragione per cui Google aveva acquisito nel 2007 la società Green Border, che proprio sulla virtualizzazione dei processi aveva fondato la sua ragion d’essere.


Javascript compilato

L’altra importante novità, a livello di prestazioni, è data dal motore di interpretazione di Javascript V8. Lo scopo è superare il modello tradizionale che vede Javascript come semplice strumento per l’aggiunta di piccole funzionalità alle pagine web, per farlo diventare il motore di applicazioni complesse. Due le trovate principali. Anzitutto per superare alcuni limiti strutturali di Javascript, come quello di essere un linguaggio senza classi (sorta di funzionalità riutilizzabili, in qualche maniera astratte dagli oggetti cui sono applicate): V8 introduce le cosiddette “transizioni di classe nascoste” (hidden class transitions). Quando, durante lo svolgimento dell’applicazione, diversi oggetti finiscono per condividere alcune proprietà, queste vengono trasferite su “classi nascoste” e sulla base di queste classi virtuali vengono operate delle ottimizzazioni del codice.

La seconda invenzione riguarda il modo di eseguire il codice. L’obiettivo è quello di trasformare Javascript da linguaggio interpretato (e dunque più lento da eseguire) a linguaggio compilato. A partire dal sorgente, infatti, v8 compila il codice e lo rende direttamente eseguibile in istruzioni macchina. Oltre a questo, le applicazioni web (come GMail) possono venir aperte minimizzando l’interfaccia del browser (tasti di avanti e indietro, barra degli indirizzi), perché si suppone interferiscano con l’utilizzo dell’applicazione. Sarà la strada per trasformare il browser in una piattaforma davvero alternativa all’accoppiata Windows/Office, come alcuni sperano e altri paventano?


Interfaccia utente

Altri miglioramenti non sono di tipo ingegneristico, ma piuttosto legati all’interfaccia utente. Oltre alla ricerca con suggerimenti, oramai standard su quasi tutti i browser, vi sono delle scorciatoie da tastiera basate sui siti più visitati. Ad esempio, digitando “C+Enter” si andrebbe sul sito della Cnn, se questo è il più visitato con quell’iniziale. O si può cercare direttamente su altri motori e siti, digitando un’iniziale, ad esempio “A”, seguita dal tab e dal termine della ricerca. Premendo Enter, si ricerca il termine sul sito di Amazon. Se vi ricorda quello che Aza Raskin sta tentando di fare ai Mozilla Labs con il suo Ubiquity, che altro non è che una specie di porting del suo prodotto Enso (di cui abbiamo parlato un anno fa commentando il revival della linea di comando) applicato ai browser, beh, probabilmente non ci andate lontano.

Non è l’unica novità che ricorda quelle dei Mozilla Labs. Anche l’idea, sempre presentata e annunciata da Aza Raskin, di non far aprire i nuovi tab senza contenuto, ma di infilarci di default una serie di funzioni utili a partire dalle nostre abitudini e preferenze, viene implementata da Chrome. I nuovi tab si aprono con le miniature dei siti più frequentemente visitati, su cui cliccare direttamente. Certo, non sempre volete che tutti i siti che visitate più spesso compaiano ad ogni nuova tab, vero…?

Vero?

Se l’avete pensato vergognatevi, ma sappiate che evidentemente siete in buona compagnia. Google Chrome presenta infatti per voi una modalità specifica, Incognito mode, attivando la quale il vostro tab non viene memorizzato nella history del vostro browser, né alcuna traccia della navigazione rimane sul vostro computer. Anche i cookies di sessione vengono cancellati alla chiusura del tab. Diabolico, eh? Ancor più diabolica la spiegazione con cui si giustifica la misura: ad esempio, si suppone che vogliate acquistare online un regalo segreto a qualcuno, e che perciò non desideriate che questo qualcuno veda il sito da voi visitato. Conta poco notare che se è solo per un regalo, il sito non comparirebbe fra i più visitati?

Fra le facilitazioni ulteriori, un blocco automatico dei popup, che vengono minimizzati nello stesso tab che li ha attivati, consentendovi di “estrarre” solo quelli che vi interessano.


Firefox vs. Chrome, ovvero: e la privacy?

Oltre a Microsoft, nell’immediato il concorrente più diretto pare Firefox. Per ora alla Mozilla Corporation ostentano calma e tranquillità: dopotutto il mercato dei browser non cambia dall’oggi al domani. E in effetti, con 200 milioni di utenti consolidati, Firefox non sembra sotto attacco. Si riconosce tuttavia che in prospettiva le strategie di Mozilla e Google potrebbero confliggere, perché entrambe basate sulla fornitura di servizi legati alla memorizzazione (online e criptata, d’accordo, ma sempre memorizzazione) di abitudini e dati dell’utente. Il progetto di Mozilla si chiama Wave, e prevede una registrazione volontaria al servizio. Quello di Google si chiama… Google, perché già lo sappiamo che l’archiviazione dei nostri dati è dappertutto nei suoi strumenti. Figuriamoci di quali dati potrà disporre ora l’azienda di Brin e Page se distribuirà anche un browser. Su questo aspetto il fumetto è genericamente rassicurante, con l’enfasi sulla virtualizzazione, la privacy e la sicurezza, ma non molto esplicito su un punto: la “macchina virtuale” che governa ogni tab passa i dati di navigazione ad un server centrale per la memorizzazione? Non viene spiegato, ma sarebbe tecnicamente triviale.

Infine, e forse più interessante per le prospettive future e le mosse strategiche di Google, è probabilmente l’introduzione di default in Chrome di Gears, un’api di Google già nota e che consente al browser di interagire meglio con l’ambiente e con i dati in locale. È una funzione pensata per facilitare gli sviluppatori di applicazioni, con la speranza di diventare uno standard. Naturalmente anche questo aperto: è rilasciato come progetto open source.


Prova su strada

A una rapida prova su strada il prodotto sembra mantenere le principali promesse. È veloce, in apparenza robusto e l’interfaccia sufficientemente semplice e lineare, come nella tradizione di Google. Non viene distribuito con il plug in di flash preinstallato (magari la cosa cambierà con la versione definitiva), ma la sua installazione è fluida e senza problemi.

Molto interessante il task manager interno attivabile con i tasti Shift+Esc, che permette di valutare la memoria utilizzata dai diversi processi e terminarli. Anche l’ispettore di pagina (Tasto destro > Ispeziona elemento) è molto comodo per gli sviluppatori, perché consente di identificare rapidamente gli elementi in pagina, visualizzando l’albero generato dal codice, gli stili attribuiti a ogni foglio di stile in uso (incluso quello interno del browser) e altre informazioni utili per i test. Gli elementi Html vengono poi evidenziati visivamente sulla pagina mentre li si scorre nella finestra di ispezione.

Vi è tuttavia un difetto percettivamente evidente: il passaggio a pagine successive che non abbiano lo sfondo bianco (ad esempio, le gallerie di immagini di un sito come repubblica.it) provoca a volte un flash fastidioso, un passaggio di una frazione di secondo al bianco, che non avviene con gli altri browser. Non ho capito ancora quali caratteristiche della pagina attivano questo problema, perché, per esempio, non capita con le pagine grigie di Apogeonline (mentre capita, per esempio, con le pagine verdine di Zeldman). È possibile che dipenda dal tipo di layout adoperato dai diversi siti.

Questa piccola imperfezione, certamente superabile con le prossime versioni, porta a riflettere sul metodo di testing usato, machine-based, come spiegato proprio nel fumetto (pagine 8-12). Questa è una tipica situazione che non è rilevabile dal test automatico, dove viene estratta una rappresentazione del rendering, ma non viene analizzato il passaggio, la transizione da una pagina all’altra dal punto di vista di un utente umano. È certo comunque che questo aspetto migliorerà nelle prossime build, anche perché non mancheranno i contributi di migliaia di beta tester. Nel pieno spirito della condivisione aperta, cui questo progetto dichiara continuamente di ispirarsi.


Open source e competizione

Nel fumetto viene dato infatti ampio risalto alla comunità, allo spirito di condivisione, al fatto che Google non avrebbe potuto sviluppare questo prodotto senza il lavoro di altre comunità, cui loro restituiscono il favore rilasciando il progetto come open source (anche il core di V8 viene rilasciato aperto). È interessante che però questo spirito di condivisione venga declinato con una frase che incoraggia alla competizione, perché «senza competizione vi sarebbe stagnazione». In sostanza, la collaborazione di cui qui si parla è quella dell’etica hacker, dove si collabora e compete allo stesso tempo, nella convinzione che condividere le idee spinge gli altri a raccogliere la sfida intellettuale per fare ulteriori passi avanti e portare così vantaggi a tutta la comunità. Però gli hacker per definizione non si fidano delle autorità centralizzate e non hanno come obiettivo primario il profitto (sebbene non lo disdegnino). È strano dunque sentire questa filosofia non in bocca a un hacker, a un’università o a una fondazione, ma a un colosso economico, che peraltro tratta milioni di milioni di dati sensibili ed è praticamente senza veri concorrenti nel suo campo, oltre a minacciare anche i campi d’attività presidiati oggi da altre aziende.

Qualcosa in questa filosofia rischia un giorno di non tornare. Per ora c’è da giurare che l’entusiasmo per la nuova sfida, quasi una versione tecnologica della frontiera che illumina il sogno americano, prevarrà.

2 commenti

  1. Bravo, proprio di un cambio di paradigma si tratta!
    D'altra parte s'è mai visto un "browser" che parla di task-management e di gestione della memoria?
    Comunque Ubiquity è molto + avanti di Chrome: provatelo!

  2. Piccoli pensieri a lato dell'entusiasmo...
    Sicuramente un'alternativa alimenterà un po' di concorrenza...
    Proverò Chrome sicuramente.