Rich Internet Applications Special
di Matteo Penzo
Pubblicato il 25 Luglio 2005
Nei quasi tre anni di vita di Flashability posso dire di avere assistito alla fase di nascita e crescita del fenomeno RIA e di assistere ora alla loro fase matura. I servizi piu’ cool del momento (basti pensare a Flickr, servizio online per il photosharing) utilizzano in qualche modo applicazioni dinamiche sviluppate in Flash.
E pensare che Flashability stesso e’ nato dall’esperienza fatta nel 2001 (quando ancora non si parlava di RIA) nello sviluppo di un applicazione dinamica online basata su interfaccia Flash (il configuratore Olivetti di cui ho poi parlato nel mio storico articolo “Flash 99%…boh!”.
Molte teste si sono alternate in questo lungo periodo su queste pagine esplorando i diversi aspetti dell’argomento RIA. Uno scaltro utilizzo del motore di ricerca interno a FA vi trasporterebbe dalla parte di progettazione delle RIA, al loro utilizzo pratico, condendo il tutto con qualche metodologia cool di human-computer interaction.
Per risparmiarvi questo lavoro abbiamo quindi pensato di proporvi un numero speciale che raccogliesse quanto scritto finora sull’argomento, organizzato secondo una logica progettuale. Insomma un vero e proprio manuale metodologico sullo sviluppo delle RIA creato con la logica delle community di interesse.
Progettare una Rich Internet Application
La prima operazione da compiere nel vostro progetto di RIA e’ quella di valutare se questa particolare tipologia di soluzione e’ effettivamente adatta al vostro scopo. Come viene evidenziato da Dirk Knemeyer nell’articolo Rich Internet Applications: siete pronti al grande salto? "le RIA sono piu’ complicate delle normali applicazioni e percio’, piu’ difficili da sviluppare e manutenere".
Una volta deciso che effettivamente la strada delle Rich Internet Application e’ la migliore per il vostro progetto avrete necessità di stendere una documentazione ben formata sia per il team di sviluppo che per la comunicazione verso il cliente (che, nelle Agile Methodologies, viene correttamente assimilato ad un team member). Nell’articolo Introduzione alla determinazione di Rich Internet Application si suggerisce propri di partire "da una descrizione sommaria fornita dal cliente, effettuate delle domande per chiarire meglio gli aspetti preliminari del progetto" e da qui partite per stendere le vostre specifiche di progetto (che - per inciso - meno testuali sono meglio e’).
Parte fondante delle vostre specifiche sarà l’utente. L’essere attorno al quale ruoteranno i risultati del votro lavoro. Le RIA porteranno alle persone che li utilizzeranno una serie di benefit in tema design emozionale tra i quali citiamo
- Gradevolezza estetica e maggiore integrazione grafica
- Possibilità di utilizzare interazioni complesse e con più strumenti rispetto a quelli tradizionalmente offerti dai browser
- Tempi di attesa e caricamento tra i vari passi dell’interazione ridotti al minimo
- Facilità di utilizzo e maggiore intuitività
La User Experience di una Rich Internet Application va quindi approfonditamente studiata al fine di garantire il successo dell’applicazione stessa. E questo prima ancora di iniziare a scrivere codice; questo in modo da potere ottimizzare il download dei dati e degli elementi d’interfaccia o - come avviene nelle ultime versioni dei sistemi operativi MAC OS - utilizzare le transizioni per aumentare l’usabilità della UI eliminando il "momento di bianco" portandoci di fatto - come immagina Leandro Agrò - in "un mondo dal feedback continuo che sostituirà il claudicante click & Go dell’html" .
Nel caso poi la vostra RIA si rivolga ad un pubblico molto ampio dovrete prendere in considerazione anche le tematiche relative all’accesso all’interfaccia da parte di utenti disabili ai quali dovra’ essere garantita la massima liberta’ di movimento e di accesso sia alle funzioni dell’applicazione che ai dati in essa contenuti. "Un’interfaccia accessibile e’ un fortissimo valore aggiunto per i vostri prodotti perche’ ne aumenta non solo il parco utenti, ma anche gli ambiti di fruizione. Un sito non rimane piu’ relegato al mondo computer ma deborda anche – ad esempio - in quello dei device mobili, della iTV, e via dicendo…"
Rich Internet Apps in practice
Sviluppare software significa cimentarsi in un attività multidisciplinare spesso molto complessa per una persona sola. Ma non potendo sempre contare su team multidisciplinari può tornare utile studiare le esperienze degli altri sviluppatori per poter superare d’un balzo i problemi gia’ risolti da altri. Ritengo inoltre molto utile poter prendere spunto da software gia’ sviluppati per miglioramenti, modifiche e nuove implementazioni (che e’ la logica che sta’ alla base della diffusione delle API per tutti i servizi online come Google, Flickr, etc.)
Una prima tipologia di applicazioni dove puo’ rivelarsi vincente il passaggio ad un’architettura RIA e’ quella dei COntent Managament System. "Flash si è rivelato" - scrive Filippo Gregoretti nell’articolo Realizzare un Content Management System con Flash - "come lo strumento più indicato per realizzare velocemente interfacce gradevoli e funzionali. La mancanza di limiti nella visualizzazione e nella costruzione di interattività avanzata permette di creare sistemi complessi interamente utilizzando Flash.
Preziose risorse, prima impegnate nel risolvere i bug del JavaScript e nel trovare soluzioni basate sui semplici menu a tendina, possono ora concentrarsi sullo sviluppo avanzato e sulla ricerca".
E sul mondo dell’integrazione di Flash verso i sistemi di gestione contenuti va segnalato anche il recente accordo tra Macromedia e SAP che permetterà di inserire le RIA direttamente sul motore di SAP.
La gestione dei contenuti introduce poi l’ìargomento della gestionde delle informazioni a schermo: Flash infatti - a differenza di HTML - permette una notevole ottimizzazione delle possibilità e un’aumento delle interazioni possibili come ampiamente descritto nell’articolo Information Visualization e Flash: scenari e prospettive. Flash permette insomma
di ottenere una notevole "velocità nel definire molti degli aspetti visuali, funzionali ed esperenziali delle interfacce" e di "avere a disposizione un efficace arma per rispondere alle più interessanti sfide di progettazione di artfeatti multimediali per soluzioni di Information Visualization".
Si veda sull’argomento la serie di approfondimenti proposti nella Bibliografia ragionata sulla Information Visualization.
Una possibile applicazione di queste tecniche di Info Vis e’ quella della rappresentazione di dati geopolitici (densita di popolazione, reddito procapite, etc.) soprattutto in RIA ad elevato dinamismo come quelle descritte nell’articolo RIA per i Sistemi Geografici dove si sottolinea come il passaggio alle Rich Internet Applications permetta di dedicare "ampio spazio alla rappresentazione cartografia affinchè sia + veloce, semplice e performante l’utilizzo della stessa".
Naturalmente dietro a tutta questa quantità di dati in movimento stanno spesso (leggi: sempre) dei database come ad esempio MySQL, database opensource altamente performante (sui quali si poggia sia il front-end che il CMS di Flashability stesso). Simone Lippolis, esperto nella progettazione e programmazione di CMS basati su linguaggi open source, ha recensito FlashMyAdmin: la GUI in flash per amministrare database mySql; una RIA che ha tra i propri obiettivi quello di soppiantare la killer application di PHP: PHPMyAdmin.
Conclusioni
Spero che questo meta-articolo (come direbbe Giovanni Bellocchio: un articolo che parla di altri articoli) sia riuscito nell’intento di segnalare un percorso progettuale, metodologico e pratico che vi aiuti nello sviluppo della vostra prossima RIA. Ritengo che nel prossimo anno il mercato delle applicazioni internet dinamiche toccherà il proprio apice e poi - come sempre accade alle curve gaussiane che sottendono a questo tipo di eventi - inizierà a "declinare". Ma non sparirà, semplicemente muterà forma e aspetto e - probabilmente - ritornerà in auge il modello di sviluppo di applicazioni client lanciato qualche anno fa con Macromedia Central.
