Interfacce grafiche di nuova generazione: stato dell'arte e sperimentazioni di ambienti collaborativi tramite Croquet SDK

   page       attach   

L'interfaccia utente grafica, in sigla GUI (dal termine inglese corrispondente Graphical User Interface), comunemente abbreviata in interfaccia grafica, rappresenta lo strato di applicazione software che si occupa del dialogo con l'utente del sistema utilizzando un ambiente grafico. Essa mira a consentire l'interazione con il computer attraverso la manipolazione grafica degli oggetti, svincolando l'utente dall'obbligo di imparare una serie di comandi da impartire con la tastiera, come avviene con le più tradizionali interfacce testuali CLI (Command Line Interface). L'interfaccia grafica, elemento fondamentale dei sistemi software moderni, è stata ideata nei primi anni '70 seguendo un paradigma di progettazione che viene utilizzato tutt'oggi, la metafora della scrivania. Tale analogia prevede che il computer venga considerato l'equivalente virtuale di un piano di lavoro che raccoglie gli strumenti che l'utente può utilizzare. Essi vengono rappresentati tramite icone appoggiate sulla scrivania e possono essere file, cartelle, applicazioni e risorse di vario genere. L'esecuzione di un'applicazione avviene all'interno di finestre rettangolari. L'accesso agli strumenti messi a disposizione dell'utente nel piano di lavoro avviene per manipolazione diretta, tipicamente attraverso il mouse e la tastiera.
Nonostante le interfacce grafiche dei sistemi software moderni adottino ancora oggi questa metafora di progettazione, l'avanzamento tecnologico e lo sviluppo di dispositivi hardware in grado di supportare capacità grafiche sempre maggiori, unitamente alla crescita ed alla maggiore diffusione della rete globale, ha portato al progetto ed allo sviluppo di GUI innovative svincolate da tale metafora, che propongono uno stile di interazione con l'utente radicalmente diverso.
Due progetti tutt'ora in fase di sviluppo, in particolare, forniscono importanti elementi innovativi nella progettazione di interfacce grafiche, Looking Glass e Croquet. Il primo di essi, prodotto da Sun Microsystem, si propone di offrire all'utente funzionalità innovative tramite l'utilizzo di un ambiente desktop tridimensionale dotato di nuovi effetti grafici. Il secondo ha lo scopo di creare ambienti multi utente distribuiti e collaborativi adatti alla condivisione di risorse, applicazioni e capacità computazionale.
Dallo studio dell'architettura del sistema Croquet è emersa la possibilità di progettare un caso di studio che permetta di comprendere come sfruttare gli stili di collaborazione e di interazione degli utenti, così come i meccanismi di condivisione dell'applicazione e della sincronizzazione tra i partecipanti, al fine di costruire un ambiente distribuito e collaborativo.

La tesi è articolata in quattro capitoli, il primo dei quali ha come scopo quello di analizzare e studiare le interfacce grafiche dalla loro origine, seguendone le evoluzioni sia per quanto concerne le funzionalità introdotte nel corso degli anni, sia per gli aspetti architetturali secondo cui sono state sviluppate. Per quest'ultimo scopo vengono introdotti i principali pattern e design di progettazione utilizzati per l'implementazione delle GUI.
Il secondo capitolo è dedicato alla descrizione dettagliata del funzionamento di due progetti di interfacce grafiche di nuova generazione, Looking Glass e Croquet, molto rilevanti ai fini dell'innovazione a fronte dello sviluppo di ambienti tridimensionali e della condivisione di risorse attraverso la rete. Essi vengono inoltre analizzati in funzione dei pattern architetturali descritti all'interno del primo capitolo.
Il terzo capitolo, propone l'analisi ed il progetto di un caso di studio su un ambiente collaborativo sviluppato tramite Croquet SDK (Software Development Kit). Lo scopo di questa sperimentazione è quello di mostrare come i meccanismi e le potenzialità fornite dal progetto Croquet possano essere sfruttate per la creazione di un mondo virtuale nel quale sia possibile effettuare simulazioni riguardanti il comando di rover per l'esplorazione spaziale.
Il quarto ed ultimo capitolo, infine, contiene le conclusioni della tesi alla luce del percorso sviluppato.