La “Rich User Experience”
Fin dai tempi di Viola browser di Pei Wei, nel 1992, il web veniva usato per trasferire "applets" e
altri tipi di contenuti attivi all’interno del browser web.
L’introduzione del Java nel 1995 si basava sul trasferimento di detti
applets. Il JavaScript e quindi il DHTML furono introdotti come
strumenti leggeri per fornire una programmabilità da parte del cliente
e esperienze più significative per gli utenti. Alcuni anni fa,
Macromedia coniò il termine "Rich Internet Applications" (che è stato
adottato anche dal concorrente open source di Flash, Laszlo Systems)
per evidenziare la capacità di Flash di fornire non solo contenuti
multimediali, ma anche esperienze sulle applicazioni con interfaccia
grafica (GUI).
Comunque, il potenziale del web di fornire applicazioni su larga
scala non ha colpito il mercato tradizionale sino a quando Google non
ha introdotto Gmail, immediatamente seguito da Google Maps,
applicazioni web con rich user interface e un'interattività equivalente a quelle per PC. L’insieme di tecnologie utilizzate da Google fu battezzata AJAX in un saggio embrionale di Jesse James Garrett della società di web design Adaptive Path. Egli scrisse:
"Ajax non è una tecnologia. È l'insieme di alcune tecnologie, ognuna
delle quali fiorente di suo, unite in modi potenti e nuovi. Ajax
incorpora:
AJAX è anche un componente chiave delle applicazioni Web 2.0 quali
Flickr, ora parte di Yahoo!, delle applicazioni basecamp e backpack di
37signals, oltre ad altre applicazioni di Google, come Gmail e Orkut.
Stiamo entrando in un periodo di innovazione dell’interfaccia utente
che non ha precedenti, in quanto i web developer sono finalmente in
grado di costruire rich web application di valore equivalente alle
applicazioni locali per PC
Stranamente, molte delle capacità esplorate ora sono state
disponibili per molti anni. Alla fine degli anni 90, sia Microsoft che
Netscape ebbero una visione del tipo di capacità che ora sono
finalmente state realizzate, ma la loro battaglia sugli standard da
usare hanno reso complicata la realizzazione di applicazioni idonee per
più browser. Fu solo quando Microsoft vinse in modo definitivo la
guerra dei browser, e quindi ci fu un unico effettivo browser da
sviluppare, che questo tipo di applicazione divenne possibile. E
sebbene Firefox abbia reintrodotto la concorrenza nel mercato dei browser, almeno per
ora sugli standard web non abbiamo visto la concorrenza distruttiva che
ha bloccato il progresso negli anni 90.
Ci aspettiamo di vedere molte nuove applicazioni web nei prossimi
anni, sia applicazioni veramente nuove, sia nuove implementazioni web
di applicazioni per PC. Ogni cambiamento di piattaforma fino a oggi ha
anche creato opportunità per un cambio di leadership nelle applicazioni
dominanti della piattaforma precedente.
Gmail ha già fornito alcune innovazioni interessanti nelle e-mail,
combinando i punti di forza del web (accessibile ovunque, profonde
competenze nella gestione di database, ricercabilità) con interfacce
utenti che somigliano alle interface PC quanto a usabilità. Nel
frattempo, altri client di posta sulla piattaforma PC stanno eliminando
il problema dall’altro lato, aggiungendo IM e capacità di rilevare la
presenza degli utenti online. Quanto siamo lontani da una comunicazione
integrata che unisca il meglio di email, IM, e telefono cellulare,
utilizzando il VoIP per aggiungere anche la voce alle ricche capacità delle applicazioni web? La corsa è cominciata.
È facile prevedere che il Web 2.0 modificherà anche la rubrica. Una
rubrica Web 2.0 considererà la rubrica locale su PC o su telefono
semplicemente una cache dei contatti che esplicitamente, avete chiesto
al sistema di ricordare. Nel frattempo, un agente di sincronizzazione
web, tipo Gmail, ricorderà ogni messaggio inviato o ricevuto, ogni
indirizzo email e ogni numero di telefono utilizzato e costruirà una
tecnica di ricerca all’interno della rete sociale per decidere quale
offrire come alternativa quando non viene trovata una risposta nella
cache locale. In mancanza di una risposta, il sistema farà una
ricerca nel network sociale più ampio.
Un elaboratore di testi Web 2.0 supporterà l’editing collaborativo,
tipo Wiki, e non solo di documenti indipendenti. Ma supporterà anche i
rich format che ci aspettiamo dagli elaboratori di testi su PC. Writely è un buon esempio di applicazioni di questo tipo, sebbene non abbia ancora ottenuto un ampio seguito.
Nè la rivoluzione del Web 2.0 sarà limitata alle applicazioni per
PC. Salesforce.com dimostra come il web possa essere utilizzato per
fornire software come un servizio, in applicazioni adattate alle
esigenze dell’impresa, come il CRM.
L’opportunità competitiva per i nuovi entranti è di abbracciare
completamente il potenziale di Web 2.0. Le società che avranno
successo, creeranno applicazioni che imparano dagli utenti, utilizzando
un'architettura partecipativa per costruire un vantaggio competitivo
non solo nell’interfaccia software, ma anche nella ricchezza dei dati
condivisi. 
Competenze Centrali delle Società Web 2.0
Esplorando i sette principi suddetti, abbiamo evidenziato alcune
delle principali caratteristiche del Web 2.0. Ogni esempio che abbiamo
esplorato dimostra uno o più di questi principi chiave ma possiamo non
tenerne in considerazione altri. Chiudiamo, perciò, riassumendo quello
che noi crediamo essere il centro delle competenze delle società Web
2.0:
- Servizi e non pacchetti di software, con una scalabilità efficace dal punto di vista dei costi
- Controllo su fonti di dati uniche e difficilmente replicabili che si arricchiscono man a mano che vengono utilizzate
- Dare fiducia agli utenti come co-sviluppatori
- Sfruttare l’intelligenza collettiva
- Influenzare “the long tail” attraverso il customer self-service
- Il software a un livello superiore rispetto al singolo dispositivo.
- Interfacce utenti modelli di sviluppo e modelli di business leggeri
La prossima volta che una società dichiara di essere "Web 2.0,"
verificate le sue caratteristiche a fronte di questa lista. Più punti
otterranno, più si meriteranno questo nome. Ricordate, però, che
l’eccellenza in una sola area può essere più efficace di alcuni piccoli
passi compiuti in tutte e sette.
Web 2.0 Design Patterns
Nel suo libro, A Pattern Language,
Christopher Alexander definisce un format per la descrizione concisa
della soluzione di problemi architetturali. Egli scrive: "Ogni pattern
descrive un problema che avviene di continuo nel nostro ambiente, e
quindi descrive il nucleo fondamentale della soluzione a quel problema,
in modo tale che potrete usare questa soluzione un milione di volte
senza farlo mai allo stesso modo".
1. The long tail
I piccoli siti rappresentano il grosso del contenuto internet; nicchie
ristrette rappresentano il grosso delle applicazioni internet
possibili. Perciò: fate leva sul customer-self service e sulla gestione dei dati
algoritmici per raggiungere l’intero web, le periferie e non solo il
centro, la lunga coda e non solo la testa.
2. I Dati sono il Prossimo Intel Inside
Le applicazioni sono sempre più guidate dai dati. Perciò: Per un vantaggio competitivo, cercate di possedere una fonte di dati unica e difficile da ricreare.
3. Gli Utenti Aggiungono Valore
La chiave per un vantaggio competitivo nelle applicazioni internet è il
grado in cui gli utenti siano in grado di aggiungere i propri dati a
quelli che voi fornite. Perciò:
Non limitate la vostra “architettura partecipativa” allo sviluppo del
software. Coinvolgete i vostri utenti sia implicitamente, sia
esplicitamente nell’aggiungere valore alla vostra applicazione.
4. Gli Effetti del Network di Default
Solo una piccola percentuale di utenti si prenderà la briga di aggiungere valore alla vostra applicazione. Perciò:
Impostate di default un sistema per aggregare i dati degli utenti come
effetto laterale dell'utilizzo della vostra applicazione.
5. Some Rights Reserved. La protezione della proprietà intellettuale limita il riutilizzo e previene la sperimentazione. Perciò:
Quando i benefici vengono dall’adozione collettiva e non dalla
restrizione privata, assicuratevi che le barriere all'adozione siano
basse. Seguite gli standard esistenti e utilizzate le licenze con il
minimo di restrizioni possibili. Progettate per l’"hackability" e la
"remixability."
6.Il Beta Perpetuo
Quando i dispositivi e i programmi sono collegati a internet, le
applicazioni non sono più manufatti software, ma servizi in via di
sviluppo. Perciò:
Non inserite più nuove funzioni in realease monolitiche, ma, al
contrario, aggiungetele regolarmente come parte della normale
esperienza dell’utilizzatore. Impegnate i vostri utenti come
collaudatori in tempo reale e dotate il servizio di strumenti di
controllo così saprete come la gente usa le nuove funzioni.
7.Co-operazione, Non Controllo
Le applicazioni Web 2.0 consistono in una rete di data services che collaborano. Perciò:
Offrite interfacce per i web services e syndication dei contenuti e
riutilizzate i data services degli altri. Supportate modelli di
programmazione leggeri che consentono sistemi di abbinamento liberi.
8. Il Software a Livello Superiore del Singolo Dispositivo
Il PC non è più l’unico dispositivo che consente l’accesso alle
applicazioni internet e le applicazioni che sono limitate a un solo
dispositivo hanno un valore inferiore rispetto a quelle che sono
connesse. Perciò: Progettate dall’inizio la vostra applicazione per integrare servizi su dispositivi portatili, PC e server internet.