Una delle questioni più dibattute – e dei luoghi comuni più duri a morire – del web design è quella relativa ai tempi di caricamento delle pagine. Il mantra è: "se la pagina non si caricherà velocemente, l'utente abbandonerà il sito". E seguono numeri variabili: c'è chi ritiene che una pagina deve caricarsi in 5 secondi, chi in 10, chi (solitamente i web designer…) è più generoso e "concede" alle pagine caricamenti anche nell'ordine dei 20-30 secondi. Ma come stanno realmente le cose? Cosa dicono le ricerche a questo riguardo? E come si possono applicare questi risultati ad un ambito così particolare com'è quello del web?
(Nota del 13 novembre 2008: Abbiamo pubblicato su questo sito un commento alla notizia che le home page dei blog sarebbero troppo pesanti proprio alla luce dell'analisi svolta in questo articolo).
Nell'ambito dell'interazione uomo-macchina, vi sono alcune indicazioni fornite da studiosi come Miller, Bailey e persino Ben Shneiderman, uno dei padri di questa disciplina. Secondo questi studiosi, che si basavano su ricerche condotte comunque fino alla prima metà degli anni '80, il computer avrebbe dovuto rispondere alle azioni dell'uomo in un tempo non superiore ai due secondi. Tuttavia, questa indicazione generica non tiene efficacemente conto del compito. Se si tratta infatti di attribuire relazioni di causalità fra un'azione e la sua conseguenza, allora i tempi fra causa ed effetto dovrebbero addirittura ridursi fino all'ordine dei decimi di secondo. Se invece si considerano compiti come l'inserimento di dati al computer, un'attività ripetitiva che non richiede la costruzione di complessi modelli mentali e di relazioni causali, alcuni autori hanno riportato che scendere sotto ai due secondi di attesa per i tempi di risposta della macchina non provoca significativi miglioramenti della prestazione, mentre si ha un effettivo peggioramento per tempi più alti (Martin e Corl, 1986).
Usare il web non assomiglia però che in rari casi ai compiti di inserimento dati. Le situazioni possono essere in qualche modo paragonate ai compiti di problem-solving, ovvero alla risoluzione di problemi. Valutare gli oggetti presenti in una pagina, la loro congruenza con gli obiettivi di navigazione, effettuare una scelta d'azione fra le alternative disponibili è in effetti un compito complesso e che pone ogni volta problemi in parte diversi. Gli stessi Martin e Corl hanno così trovato che per compiti di problem solving non ci sono significative differenze nella prestazione con tempi di risposta fino ai 5 secondi. Una tolleranza maggiore, seppur di poco, rispetto a quella del semplice inserimento di dati. Oltre ai 5 secondi la prestazione peggiora.
Aspettative di attesa e complessità percepita del compito
Lo stesso Nielsen, d'altra parte, non si sbilancia più di tanto in cifre, e parla più ragionevolmente di "tempi di risposta prevedibili": ovvero, l'utente deve poter prevedere all'incirca quanto tempo ci vorrà per avere una risposta (il caricamento di una pagina, di un file, la risposta di un'applicazione), e questa risposta dovrebbe essere il più possibile costante nel tempo. Sul web si sviluppano comportamenti adattivi in relazione ai tempi particolarmente lenti delle reti telematiche. Lo stesso Bailey osserva come in effetti in relazione a compiti diversi, le aspettative degli utenti verso un tempo di risposta accettabile da parte del computer variano. La cosa interessante è che queste aspettative sembrano variare in funzione della complessità percepita della richiesta. In altre parole, gli utenti sarebbero disposti ad aspettare di più se pensano che il compito sia particolarmente impegnativo per il computer.
In uno studio sui tempi di attesa per lo scaricamento, Selvidge, Chaparro e Bender studiano gli effetti di scaricamenti di 1, 30 o 60 secondi sulla frustrazione, il successo nel compito e l'efficienza. Lo studio sembra dimostrare che, sebbene la frustrazione sia significativamente inferiore con tempi di un secondo, i dati di prestazione (successo o efficacia, ed efficienza) non sembrano variare significativamente rispetto alle condizioni di 30 e 60 secondi di attesa. Dunque il tempo di scaricamento ha effetto solo sul "gradimento", cioè un parametro soggettivo? Il risultato sembrerebbe smentire quello di Martin e Corl relativo al problem solving con tempi di attesa superiori ai 5 secondi, ma va considerato che un ruolo importante in questi risultati lo giocano con ogni probabilità la diversa natura dei compiti nelle diverse ricerche.
Un tentativo di affrontare la questione in ambito web è stato condotto da Bouch, Kuchinsky e Bhatti, 2000. Questi studiosi hanno chiesto a degli utenti di valutare, mentre eseguivano un compito, il tempo di latenza delle pagine, che poteva variare da 2 a 73 secondi. Hanno così trovato che gli utenti valutano "buono" un tempo di attesa fino ai 5 secondi (dato congruente con quello di Martin e Corl, che però era riferito alla prestazione, non alla valutazione), "medio" fra i 6 e i 10 secondi, e "scadente" oltre i 10 secondi. In un successivo studio gli stessi autori hanno trovato che gli utenti iniziavano a giudicare inaccettabile il tempo di attesa in media attorno agli 8,6 secondi.
Il caricamento incrementale
Uno degli elementi che spesso nella pratica del webdesign si considerano è quello del caricamento incrementale. Si sostiene cioè che sia meglio caricare una pagina iniziando a presentare almeno alcuni elementi (testi, ingombro delle immagini), per dare all'utente la sensazione che la pagina sia "viva", che qualcosa stia accadendo. E in effetti un altro esperimento degli stessi Bouch, Kuchinsky e Bhatti sembra avvallare questa tesi. Quando la pagina si caricava in maniera incrementale, presentando prima il banner, poi i testi, e infine le immagini, i soggetti erano molto più propensi a tollerare attese più lunghe, tanto che valutavano in quel caso "buono" un tempo di attesa fino a 39 secondi, e iniziavano a considerarlo "scarso" solo a partire dai 56 secondi! Risultati molto più tolleranti da quelli visti sopra, dove il giudizio crollava attorno agli 8-10 secondi. E' bene dunque far accadere qualcosa nella pagina, fornire un primo contenuto, in attesa del caricamento completo: questa pratica sembra rendere gli utenti molto meno severi e diminuisce la loro frustrazione.
Questo risultato conferma uno studio precedente di Ramsay, Barbesi e Preece dove utenti che attendevano più di 41 secondi giudicavano negativamente anche il contenuto delle pagine, definendolo addirittura meno interessante (ovviamente a parità di contenuto) rispetto a quelle che si caricavano più velocemente, oltre che più difficile da scorrere! E la valutazione negativa si rileva anche sui siti di e-commerce: pagine più lente suggeriscono agli utenti che i prodotti sono di qualità inferiore e che la sicurezza della transazione è più bassa.
I tempi incidono sulla valutazione e sulla fiducia percepita
Si possono trarre delle conclusioni da questa parziale rassegna? E' difficile dire una parola definitiva su parametri oggettivi come efficacia ed efficienza. Manca una prova definitiva che tempi di risposta più lenti influiscano davvero significativamente sul successo e l'accuratezza della prestazione. Sembra che questa dipenda in qualche misura anche dalla natura del compito stesso, e che non tutte le operazioni svolte al computer abbiano lo stesso andamento in dipendenza del tempo di risposta della macchina.
Quel che pare però essere acquisito è che tempi di caricamento più alti incidono significativamente proprio sulla valutazione soggettiva dell'utente verso il sito e verso i suoi contenuti o i prodotti che esso vende. E questo è naturalmente di cruciale importanza nella costruzione di un rapporto fiduciario con l'utente per i siti di e-commerce. Paradossalmente, una grafica più leggera, ancorché rispettosa della coerenza aziendale, serve dunque proprio ai siti che hanno bisogno di essere giudicati meglio, e che da questo giudizio possono derivare un aumento della fiducia dell'utente e quindi delle transazioni. In sostanza, il modello Amazon: grafica semplice e rapida, ma efficace e senza fronzoli.
Alcune tecniche per il caricamento incrementale possono essere proficuamente sfruttate: inserire ad esempio nell'html il width e l'height delle immagini consente ai browser di presentare prima il testo, in attesa del caricamento completo dell'immagine. L'uso di file comuni per varie pagine del sito (immagini, css, js) consente di sfruttare la permanenza in cache dei contenuti.
In generale, è bene anche sottolineare che la lentezza delle pagine diventa tanto più frustrante quanto più a lungo un utente interagisce con il sito. Dunque mantenere le pagine leggere è comunque un vantaggio e aumenta la probabilità che l'esperienza sia piacevole, che l'utente interagisca più a lungo, e infine che ritorni in seguito sul vostro sito.
I problemi di banda non sono risolti
Fra i fattori che influenzano il tempo di caricamento non vi è soltanto la dimensione dei file che compongono la pagina, ma anche altri fattori tecnologici cruciali, alcuni dei quali dipendono dal server, altri dal client o dalla rete in genere. Fattori dei quali un designer deve comunque tener conto, sebbene siano per lo più fuori dal suo controllo.
Dal server dipendono la potenza di elaborazione, la banda disponibile e i tempi di risposta. Dal client, e comunque dalle caratteristiche della rete, dipende la potenza del computer e soprattutto la velocità della connessione.
L'aumento dell'utenza casalinga dotata di linea DSL non porta purtroppo sempre significativi aumenti nella velocità di navigazione, a causa anche dell'errato dimensionamento dell'offerta di alcuni gestori (che in un recente passato ha anche dato vita ad alcune polemiche) e dei limiti fisici della rete. Le connessioni cosiddette a banda larga riducono invece sensibilmente il tempo di scaricamento dei file in FTP. Tuttavia, né per lo streaming, né per la navigazione web come la conosciamo oggi, l'aumento delle linee DSL porterà da solo ad un miglioramento definitivo dell'esperienza dell'utente, perché spesso la velocità reale media di queste connessioni, peraltro monitorabile via PC, è inferiore (in certi periodi anche sensibilmente) agli 8/10 kB/s. Tempi che rendono comunque lento il caricamento di pagine sopra i 40KB. Le tariffe DSL sembrano convenienti soprattutto quando sono flat, cioè quando forfettizzano il tempo di connessione. Questa rimane ovviamente una convenienza soprattutto per chi si collega spesso, non per un'utenza occasionale, da un'ora di connessione al giorno.
E' dunque per il momento ancora lontano il tempo in cui la pesantezza dei file non sarà un problema per i designer sul web, allo stesso modo in cui non lo è mai stato per i designer su carta. E a complicare comunque la questione e a rendere ancora conveniente la produzione di pagine molto leggere va menzionato il fatto che stanno aumentando i servizi di hosting che offrono banda limitata, e applicano un sovrapprezzo per i Gigabyte eccedenti. La banda costa, insomma, e a dispetto del fatto che internet free sia ancora la formula preferita dagli italiani, non tutto il free alla fine è poi gratis come sembra.
Nota del 13 novembre 2008: Abbiamo pubblicato un commento alla notizia che le home page dei blog sarebbero troppo pesanti proprio alla luce dell'analisi svolta in questo articolo.