1 Introduzione all Ubiquitous Computing Vision The most profound technologies are those that disappear. They weave themselves into fabric of everyday life until they are indistinguishable from it. Mark Weiser, 1991 [M. Weiser, The computer for the 21st century, Scientific American, September 1991, pp. 94 104.]
2 Disappearance Persone e ambiente forniti di risorse computazionali che svaniscono nel contesto Non conseguenza della tecnologia Conseguenza psicologica Quando le persone conoscono qualcosa sufficientemente bene, esse cessano di essere coscienti di quel qualcosa. In filosofia questo concetto è espresso da Heidegger con le nozioni di ready-to-hand e present-at-hand. ready-to-hand Esempio. L uso di un martello può essere compreso in due modi: Present-at-hand: separatamente dal suo uso. Una persona pensa: primo, prendere il martello; secondo, alzarlo dal chiodo; terzo, batterlo sul chiodo con forza; quarto, far attenzione alle dita. Ready-to-hand: durante l uso.una persona semplicemente fa, senza pensare. Si considera il martello e se stessi come un unica entità, invece di pensare al martello come ad uno strumento separato. Il personal computer è sempre stato utilizzato con una conoscenza present-at-hand. I sistemi Ubicomp dovranno essere ready-to-hand.
3 UbiComp Persone e ambiente forniti di risorse computazionali che svaniscono nel contesto Disponibilità di nuovi dispositivi hardware Disponibilità di accesso in rete continuo Nuova tipologia di Applicazioni (Pervasive e Onnipresenti) Everyday Computing L UbiComp fa nascere l esigenza di nuovi paradigmi di interfaccia e interazione con l utente (Human-Computer Interaction HCI): everyday computing Personal Computer HCI Ubiquitous Computing HCI Strumento localizzato nello spazio Un compagno sempre presente
4 Embodied Virtuality Virtual Reality Embodied Virtuality (Ubicomp) Caratteristiche Generali Natural Interface realizzare interfacce hypermediali personalizzabili e utilizzare tutti i canali di comunicazione. Context-Aware gestire periferiche hardware per disporre di informazioni sul contesto. Universal Network Access gestire connessioni in rete ad alta velocità. [G. D. Abowd, E. D. Mynatt, Charting Past, Present, and Future Research in Ubiquitous Computing, ACM Transaction on Computer-Human Interaction, Vol. 7, No. 1, March 2000, Pages 29-58.]
5 Assunzioni Preliminari Costruire uno strumento che permetta di esplorare lo spazio delle soluzioni HMI per trovare nuovi paradigmi di interazione tra l uomo e l UbiComp. Assunzioni preliminari: Entità computazionali sempre presenti, non ingombranti, molto potenti computazionalmente Computer Palmari + accessori Accesso permanente ad alta velocità alla rete Disponibilità ovunque si un accesso wireless ad una rete LAN MADE Mobile Application Development Environment Applicazioni scritte in MSL (Mobile Scripting Language) Ambiente di sviluppo Visuale su Workstation MSL execution engine MMMPlayer (MicroMultiMediaPlayer) Mobile Computer Platform (pocketpc)
6 MSL Semplice linguaggio Object-oriented Dotato di Componenti precostituiti di alto livello, che realizzano le più comuni esigenze dello sviluppatore di applicazioni UbiComp, nascondendo i dettagli di basso livello. Lo sviluppatore crea i Componenti specificando: aspetto comportamento dinamico Flessibile: è molto semplice aggiungere nuovi componenti per gestire particolari esigenze Indipendenza dalla piattaforma: le applicazioni scritte in MSL possono essere eseguite su ogni piattaforma per cui esiste una versione di MMMPlayer (per ora: WinCE e Win2000) MSL - Componenti Componenti Contenitore Componenti Multimediali Componenti per la Natural Interface Componenti di Utilità Componeti per la Context-Awareness Componenti per il collegamento in rete
7 MSL - Componenti VECTORIALIMAGE IMAGESINGLE IMAGEBUTTON MP3PLAYER HTMLVIEWER VISUALIZER IMAGEZOOMPAN AREABUTTON TIMER IMAGEPANORAMA IMAGELIST GPS POSINTERPOLATOR VECTORMAP RASTERMAP MPEGPLAYER MSL - Campi Ogni componente è caratterizzato da vari attributi Specificano l aspetto e il contenuto colore, dimensioni, files di immagini, suoni o filmati Specificano il comportamento Le azioni che devono essere intraprese in funzione di determinati avvenimenti: interazioni con l utente e con gli altri componenti.
8 MSL Natural Interface IMAGEBUTTON AREABUTTON VISUALIZER IMAGEZOOMPAN MSL Esempio di codice createnode vis1 VISUALIZER createnode back IMAGESINGLE setfield back.imagename sfondo.gif createnode storia IMAGEBUTTON setfield storia.imageupname buttonup.gif setfield storia.imagedownname buttondown.gif setfield storia.position 28 107 addelement storia.onmouseup setactivevisualizer vis2 addelement vis1.background back addelement vis1.foreground storia addelement vis1.foreground
9 MMMPlayer Un interprete di programmi MSL Un insieme di classi C++ per gestire i componenti. Legge il file MSL e istanzia un oggetto per ogni componente. Interagisce con il sistema operativo per realizzare l aspetto e il comportamento degli oggetti. Gestisce l interazione con l utente. MMMPlayer - Architettura Applicazione scritta in MSL MMMPlayer CORE Manager Driver Struttura Dati Un oggetto C++ per ogni componente MSL Sistema Operativo (WinCE) User
10 MMMPlayer Diagramma UML Manager * 1 1 1 Message * 1 1 1 1 1 Visualizer Parser Driver Communicator * 1 Component DriverGAPI DriverGDI DriverXXX Button Image Mp3 Mpeg.. A A x y B B : class A extends class B : class B y references to objects of class A and class A x references to objects of class B Context-Awareness Positioning Module MSL Script MMMPlayer - Parser RASTERMAP GPS User Expansion Pack BUTTON MMMPlayer Run Time Objects
Network Access MSL Script MMMPlayer - Parser Wired\Wireless LAN Card MMMPlayer Driver - HTTP Connection User Component Expansion Pack MMMPlayer Run Time Objects UbiComp Evaluation Avere un sistema reale tecnologie di avanguardia: difficile trovare sistemi affidabili e robusti per test in uso continuo Contesto di uso reale test nell ambiente in cui ci si aspetta di dover utilizzare il sistema, un laboratorio non può essere un sostituto. Valutazioni Task-Centric individuare i task dell utente. 11
12 Campo di Valutazione Abbiamo scelto il Virtual Heritage come campo di prova: le tecnologie per la fruizione dei beni culturali. Guida Museale su computer palmare (Sistema UbiComp reale) Acquario di Genova (Contesto reale di utilizzo) Divertimento e Istruzione: Edutaiment ( task dell utente da valutare) Prove Sperimentali Utilizzo dell applicazione all Acquario di Genova (varie versioni della guida in diverse occasioni) Questionari e interviste a utenti reali Prove di confronto con altri supporti alla visita per valutare l usabilità del sistema UbiComp.
13 Risultati Sperimentali Ottima accettabilità del tool Aumento del tempo di visita Incremento della quantità e della qualità dei contenuti acquisiti Maggiore interesse nell ottenere informazioni di approfondimento, con sistemi multimediali, dopo la visita References F. Bellotti, R. Berta, A. De Gloria, E. Ferretti, M. Margarone, VeGame: Field Exploration of Art and History in Venice, IEEE Computer, Vol. 36, No.9, pp. 48-55, September 2003. F. Bellotti, R. Berta, A. De Gloria, M. Margarone, MADE: developing edutainment applications on mobile computers, Computers & Graphics, Vol. 27, No. 4. pp. 617-634, August 2003. F. Bellotti, R. Berta, A. De Gloria, M. Margarone, User Testing a Hypermedia Tour Guide, IEEE Pervasive Computing, Vol. 1, No. 2, pp. 33-41, April-June 2002. F. Bellotti, R. Berta, F. Carati, A. De Gloria, E. Ferretti, M. Margarone, R. Saracco, VeGame: ubiquitous games for improving interaction with the heritage,e- 2003 echallenges, Bologna, Italy, 22-24 October 2003 F. Bellotti, R. Berta, A. De Gloria, M. Margarone, Supporting efficient design of mobile HCI, Mobile HCI 2003 Conference on Human Computer Interaction with Mobile Devices, Udine, Italy, September 8-11, 2003