Personal tools
Tre concetti dal libro Adaptive Web Design

Adaptive Web Design

Aug 02, 2012

Tre concetti dal libro Adaptive Web Design

Progressive Enhancement, Fault Tolerance e Graceful Degradation sono i punti attorno cui ruota la riflessione di Aaron Gustafson

Oggi si parla molto di Responsive, parola utilizzatissima nell’ambito della progettazione web contemporanea, non sempre collocata nel modo corretto o con l’accezione giusta. A questa parola qualcuno preferisce invece il termine Adaptive come Aaron Gustafson in Adaptive Web Design, edito da Easy Readers.

Proprio in questo libro Aaron focalizza l’attenzione su tre concetti teorici che stanno alla base di questa tecnica di progettazione, fondamentali per coglierne la portata. Dunque, al di là della terminologia adottata, vediamo quali sono queste tre nozioni.

 

 

 

 

Progressive Enhancement: “miglioramento progressivo”

E' una filosofia in cui la creazione di esperienze è rivolta agli utenti mirando a dare loro accesso ai contenuti senza restrizioni tecniche di alcun tipo. Quindi non si tratta solamente di servire correttamente i contenuti agli utenti, ma fornire loro anche un’esperienza di fruizione fantastica a prescindere dal tipo di browser o di dispositivo essi stiano utilizzando per accedere. Per capire meglio il progressive enhancement serve a supporto un altro concetto sul quale esso fa leva, la tolleranza ai guasti.

Fault Tolerance: “tolleranza ai guasti”

Si tratta dell’abilità di un sistema di continuare a operare quando si riscontra un errore inaspettato. E' il classico caso di html & css, infatti, come prescritto dalle specifiche di questi due linguaggi, i browser devono ignorare qualsiasi cosa essi non riescano a capire.

Nel campo dell'evoluzione animale l’esempio di tolleranza ai guasti citato nel libro è quello relativo ai fringuelli delle Galapagos, la cui popolazione si ridusse dell’85% nel 1977 a causa di scarsità di piccoli semi, solo i fringuelli con i becchi più larghi riuscirono a sopravvivere.

Il parallellismo sta nel fatto che sia html-css, sia i fringuelli dal becco più largo sono compatibili in avanti, capaci cioè di adattarsi al cambiamento: sostanzialmente, ciò che viene scritto oggi funzionerà anche domani. La tolleranza ai guasti è la ragione per cui il miglioramento progressivo funziona e rende possibile assicurare che i contenuti siano accessibili e disponibili a tutti.

Graceful Degradation: “degradazione armoniosa”

Graceful degradation è invece una filosofia sorta per i primi 10 anni dopo la creazione del web, quindi nella generazione precedente a quella attuale. Potrebbe essere intesa come il concetto di Fault tolerance però applicato solo alla superficie del web.

Durante l’era Graceful degradation, l’attenzione era focalizzata ad assicurare che il sito funzionasse nei browser moderni stabiliti in base alla diffusione sul mercato, il testing per il supporto ai browser più datati era semplicemente relegato alla fine della lista delle priorità. Il ragionamento che stava alla base era semplice: html e css erano tolleranti ai guasti, così l’utente avrebbe avuto qualcosa da visualizzare anche sui browser più datati.

Sui browser più datati, l'esperienza di fruizione sarebbe stata comunque inferiore. Questo giustificava l'approccio verso le tecnologie precedenti: il sito doveva essere privo di errori, ma non valeva la pena spendere il tempo per garantire che fosse anche decente. Il controllo degli errori, in più, era limitato a quelli principali. A parte questo, gli utenti erano lasciati a se stessi.


graph 1

 

In sostanza ci si è accorti che l’era della Graceful degradation stava minando sia la disponibilità dei contenuti, sia la loro stessa accessibilità. Per alcuni progettisti era molto chiaro che il web doveva distribuire e permettere la fruizione dei contenuti. Con questo cambio di prospettiva, vennero rifocalizzati gli sforzi per abbracciare la natura fault tolerant dei linguaggi html e css e per aggiungere a Javascript le precauzioni necessarie per ovviare all’assenza di questa sua natura.

In sostanza, con il nuovo approccio (content-out approach) le tecnologie web vengono applicate come livelli sovrapposti uno all’altro, in modo da creare interazioni ed esperienze migliori. Nel libro questa prospettiva viene spiegata con la bellissima metafora di una nota marca di noccioline zuccherate.


graph 2

 

Il contenuto del nostro sito deve poter essere fruito anche in assenza di abbellimenti, a un secondo livello si utilizza la presentazione grafica di css per organizzare i contenuti anche attraverso le potenzialità della grafica, infine, si applica un ultimo livello in cui si migliora l’esperienza di interazione utente.

Se si può affermare che il progressive enhancement riguarda l’accessibilità questo approccio porta il discorso a un passo ulteriore riconoscendo che tutti abbiamo esigenze particolari e che esse cambiano nel tempo e a seconda dei diversi contesti.

Navigando un sito via smartphone siamo limitati dalla risoluzione schermo. La nostra capacità di interazione è quindi limitata dalla maggiore imprecisione delle nostre dita rispetto a un dispositivo di puntamento.

Per eliminare ogni possibile confusione si può affermare che tutte le esperienze create con progressive enhancement degradano armoniosamente, mentre non tutte le esperienze costruite con la graceful degradation sono costruite in miglioramento progressivo.

 

progressive enhancement graph

 

Quindi: contenuti ben scritti da professionisti del settore, elementi di markup semantico per aggiungere significati di contesto, un'esperienza visiva ottimizzata grazie a css, un livello di interazione focalizzato a migliorare l'esperienza utente e infine, come ciliegina, una spolverata di semantica aggiuntiva come il lessico WAI-ARIA utilizzato in concomitanza di best practices consolidate.

Questi gli ingredienti del miglioramento progressivo e dell'adattamento. Be Adaptive!

Filed under: , ,
comments powered by Disqus