Non c’è nulla che ti fa crescere di più dal punto di vista professionale che il digitare codice e il testare applicazioni reali.

In questo periodo ho l’occasione di partecipare alla realizzazione di progetti che usano tecnologie come AJAX (si lo so che parlare di tecnologia non è precisamente corretto) o il Flash/Javascript Integration kit. In questo post voglio concentrarmi non tanto sulle tematiche tecniche di questi tool, quanto sull’aspetto dell’usabilità  vista dalla parte degli utenti finali.

Dopo migliaia di righe di codice e di prove portate all’eccesso ho cercato di stilare, per ora, una semplice lista di parametri a cui ogni sviluppatore, secondo me, dovrebbe prestare attenzione quando crea applicazioni web con Ajax. Una lista che non intende essere assolutamente esaustiva ma vuole invece rappresentare un punto di incontro e condivisione di pareri ed esperienze.

Ajax non introduce nessun concetto nuovo. L’oggetto XMLHttpRequest esiste dalla versione 5 di Internet Explorer. Quello che invece c’è di nuovo è la fruizione da parte dell’utente di questo nuovo approccio allo sviluppo. L’usabilità  di queste applicazioni sicuramente eredita i concetti base di qualsiasi applicazione web, ma con alcuni elementi che non bisogna sottovalutare:

  • la possibilità  che offre AJAX di cambiare dinamicamente, senza il refresh della pagina, oggetti o porzioni della nostra pagina web è davvero comodissima, ma bisogna fare attenzione ai segnali visivi di cui l’utente necessita. Facendo delle ricerche su Google ho trovato di utile lettura la tecnica Yellow Fade ideata da 37signal;
  • fare attenzione all’impossibilità  che ha l’utente di usare il tasto back del browser. L’oggetto XMLHttpRequest non modifica infatti l’history stack del browser, non permettendo di poter tornare indietro cliccando il classico pulsante. Nonostante il povero Flash sia stato in passato pesantemente attaccato per questo sua “deficenza”, per AJAX si chiude un occhio e la cosa la si fa passare in sordina :)
  • in un momento in cui i bookmark e la loro condivisione vivono un momento d’oro, AJAX, non cambiando l’URL sulla barra degli indirizzi del browser rende la vita difficile agli utenti che vogliono inserire tra i loro preferiti quel determinato contenuto o che magari lo vogliono semplicemente passare ad un amico;
  • il codice Javascript viene eseguito sul client, per questo maggiore saranno le righe di codice, maggiore sarà  il tempo che l’utente dovrà  attendere per il caricamento della pagina;
  • attenzione alla fruzione delle applicazioni web con AJAX per persone disabili o che navignao il web con devices differenti dal classico personal computer (chioschi touch screen, PDA, mobile, etc.);
  • i motori di ricerca non usano l’oggetto XMLHttpRequest e quindi i contenuti caricati in modo dinamico da AJAX potrebbero non essere letti dai crawler;
  • attenzione all’uso delle varie funzioni di completamento automatico di una parola. Opzione comodissima, ma che se usa dei tempi troppi ristretti per partire risulterà  all’utente finale invasiva e di scarsa utilità .

Ripeto: queste osservazioni del tutto personali derivano da esperienze pratiche di sviluppo e non intendono essere delle linee guida. Mi farebbe piacere invece sentire e condividere altre esperienze su questo fronte.

Continua….

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
7 CommentiDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

>>La mia opinione (chiarisco) é che AJAX sia possibile fonte di problemi nei siti web (tasto back e tutto il resto), ma nelle applicazioni é l'ideale AJAX come tutte le tecniche o le tecnologie va usata e non abusata. Altrimenti facciamo la fine del tasto Skip Intro per saltare le animazioni in Flash :)

Marco Casario
Marco Casario

"Non ci dimentichiamo le centinaia di applicazioni di successo che girano sul web : Google Maps, google suggestion, gmail, flickr etc etc." Vero, ma alla fine sono *molto* applicazioni e poco *siti web*. La mia opinione (chiarisco) é che AJAX sia possibile fonte di problemi nei siti web (tasto back e tutto il resto), ma nelle applicazioni é l'ideale. Saluti

Gianluca
Gianluca

Per rispondere a Gianluca : Non sono molto d'accordo nel limitare lo sviluppo di applicazione AJAX alle Intranet, o che in quel contesto questo tipo di applicazioni siano piu' indicate. Non ci dimentichiamo le centinaia di applicazioni di successo che girano sul web : Google Maps, google suggestion, gmail, flickr etc etc. E' vero che AJAX si basa su un oggetto che non é uno uno standard, ma dovremmo ormai aver imparato che sul web gli standard non li fa il W3C e ma li fanno i browser e gli utenti.

Marco Casario
Marco Casario

C'é un gruppo di lavoro W3C che ci sta lavorando su. Se volete la lista pubblica é la seguente : (1). http://lists.w3.org/Archives/Public/public-webapi/ Ciao Daniele

Daniele Florio
Daniele Florio

senz'altro sulle intranet (dove oltretutto le risposte son più veloci che sul web) AJAX da il meglio di se. Anche in contesti web però può esere utile, soprattutto nelle applicazioni... usarlo per esempio per un portale potrebbe essere utile solo in alcuni casi e per parti minime delle pagine ciao, Andrea.

Andrea Paiola
Andrea Paiola

Usare AJAX per un sito web non mi pare una buona idea. A mio avviso (ho anche eseguito un lavoro in questo senso) AJAX é ottimo per applicazioni intranet dove hai pieno controllo sul client e su chi userà  l'applicazione. Saluti

Gianluca
Gianluca

1 - concordo 2 - backbase insegna http://www.backbase.com/ 3 - come il punto 2 4 - vero, esistono modi per evitare di dare tutto in pasto al client, caricamento differenziato ? ... qualcosa di simile, si inserisce nel tag head il nuovo src JS, il quale conterrà  alla fine, per fare un esempio, una chiamata di stato di caricamento avvenuto ... troppo macchinoso ? ... allora almeno passate di qùa e dategli in pasto una pagina con tutto il vostro codice http://dean.edwards.name/packer/ :-) 5 - come il punto 2 6 - come il punto 2 7 - il completamento automatico é pesante anche per il server ... consiglio una doppia cautela :-) Sunto: ajax dovrebbe essere un di più e non l'unica soluzione ma questo comporta tempi di sviluppo maggiori ... quindi se il sistema non prevede l'accesso di tecnologie particolari, tanto vale fare solo in ajax ... anche perché secondo me, é un approccio completamente differente fatto di chiamate mirate per contesti, riutilizzabile quindi su un'implementazione js free :-)

andr3a
andr3a