NON-COMMAND-BASED INTERFACE
October 22nd, 2003 di Paolo Salonein eye tracking, gui, non command based UI | Letture: 7112
L’interfaccia: ? inp_devices, int_tasks, int_technique
L’interfaccia è sempre esistita, anche se oggi siamo abituati a considerarla solo parte del software d
L’interfaccia: ? inp_devices, int_tasks, int_technique
L’interfaccia è sempre esistita, anche se oggi siamo abituati a considerarla solo parte del software di un computer. Da secoli l’uomo ha (spesso implicitamente) costruito interfacce per assicurare la comunicazione all’interno della comunit . Un esempio illuminante potrebbe essere un ufficio postale: un interfaccia organizzativa, all’interno della quale le indicazioni, le code, i display, i segnali acustici ne definiscono le caratteristiche. In questo articolo cerchiamo di affrontare in che modo si sono differenziate e continuano ad evolversi le interfacce utente per mezzo delle quali dialoghiamo con un computer.
Possiamo definire formalmente l’interfaccia utente come l’ente di comunicazione tra computer e mondo esterno (e viceversa). L’interfaccia utente ha subito, nel corso degli anni, modifiche profonde che hanno cambiato anche il modo di concepire lo sviluppo stesso delle applicazioni su qualunque piattaforma. Questo processo non è ancora terminato e sembra seguire l’evoluzione generale dell’intero mercato dell’informatica. Nuovi tipi di interfacce si sono sviluppati seguendo l’evoluzione stessa di Internet e sfruttando le innovazioni apportate dai più avanzati tool di interazione che si sviluppano a ritmi crescenti (dalle soluzioni text+hiper link la tendenza porta oggi verso nuove interfacce basate su flash, pdf, etc.).
La forma che assume un interfaccia dipende, dal punto di vista strettamente interattivo, da una serie di fattori che concorrono nel determinare i cambiamemnti: interaction tasks, interaction technique, interaction devices (fig. 1).

“A designer looks at the interaction tasks necessary for a particular application” [Foley, Wallace & Chan, 1984]. “Interaction tasks are low-level primitive inputs required from the user” [Jakob, 2003]. Per esempio la scelta di un comando all’interno di una lista oppure l’inserimento di una stringa di testo. Per ogni task l’interaction designer sceglie sia i dispositivi di interazione (input/output device) sia la tecnica di interazione: “an interaction technique is a way of using a physical device to perform an interaction task” [Jakob 2003]. Il concetto di “Tecnica di interazione” è cruciale per comprendere in che modo una interfaccia assume una forma piuttosto che un’altra. Una definizione più puntuale ci dice che: “ an interaction technique is the fusion of input and output, consisting of all hardware and software elements, that provides a way for the user to accomplish a low-level task” [Jakob 2003]. Per esempio, nelle tradizionali GUI, gli utenti possono scorrere un documento cliccando o trascinando il mouse (input) utilizzando una barra di scorrimento visualizzata sullo schermo (output/feedback).
Il valore di un interfaccia consiste nella sua capacit di ridurre i golfi dell’esecuzione e della valutazione (la distanza tra le rappresentazioni mentali dell’utente e i componenti e gli stati fisici dell’artefatto/ambiente; Norman – The Psycology of Everday Things, 1988) che caratterizzano la comunicazione mediata dal computer (CMC). Proprio per questo motivo, la migliore dell’interfacce possibili è quella che non si vede: si lascia usare con una naturalezza tale da divenire invisibile agli occhi dell’utente (Disappearing computing).
L’interfaccia finale, dunque, non esiste! O meglio, dovrebbe essere impossibile riconoscerla: è invisibile! Non possiamo fare previsioni su quando questa “scomparsa” si verificher senza attingere a piene mani dalla storia dell’informatica. Una storia che ci dice che l’interfaccia è in grado di cambiare fisionomia e identit in relazione ai cambiamenti che investono gli altri fattori correlati ad essa (input/output device e interaction tasks) e che il mercato (come sempre, in fin dei conti) ne decreta la vita o la morte.
Per approfondimenti:
Input device/interfaccia: un legame storico
Ricordo i miei primi passi nel mondo dell’informatica. Smanettavo tutto il giorno sul mio pc (sia a scuola che a casa) e mi stupivo di quanto diventassi veloce nell’inserire i dati tramite la tastiera. Ricordate il DOS (disk operating system) e come era complicato, anche se estremamente stimolante, inserire i comandi (a memoria) per zippare un file in più dischetti?
Usavamo allora il primo sistema di input indiretto della storia che permetteva di dialogare con il computer tramite una text interface: la tastiera. Si può infatti parlare di input device solo con la comparsa del display di output e delle prime rudimentali interfacce.
Quello tra input device e interfaccia è un legame che resta inscindibile in tutte le diverse fasi della storia dell’informatica. La storia a cui mi riferisco non è però l’intera storia dell’informatica, ma solo una parte di essa: quella che riguarda le relazioni che nel corso degli anni si sono venute a creare tra input device e interfaccia. Prima degli anni Settanta non ci sono computer con interfacce di tipo grafico, anche perché fino a quel momento si trattava di macchine soprattutto progettate per calcoli matematici e scientifici, perciò in grado di elaborare solo input e output di tipo numerico (salvo rarissime eccezioni) e le informazioni che restituivano erano prevalentemente dei risultati di calcolo e basta. Anche se il concetto di GUI e l’invenzione del mouse risalgono alla fine degli anno sessanta (Engelbart), la spinta verso la realizzazione/commercializzazione di interfacce grafiche nascer quando i computer inizieranno ad essere venduti ad acquirenti privati, a digiuno di qualsiasi conoscenza tecnica. Occorrer rendere più facile la comunicazione uomo-macchina: con i personal computer verranno commercializzate anche le interfacce grafiche, proprio allo scopo di rendere più “umani” i comandi da impartire alla macchina.
- 1963-1968: viene inventato il mouse e prototipata la prima GUI!
Nel 1968 la rivoluzione culturale e la contestazione giovanile esplodeva con tutte le sue conseguenze. Molti sognavano un mondo migliore, un futuro in pace. Altri ancora, visionari dell’epoca, inventavano con la fantasia la tecnologia moderna. In “2001 Odissea nello spazio” Stanley Kubrick ed Arthur Clarke immaginavano che ai nostri giorni l’interazione tra computer e uomo sarebbe avvenuta tramite la voce. Proprio nei giorni in cui il capolavoro di Kubrick usciva nelle sale, aveva luogo la prima dimostrazione del dispositivo tramite il quale la maggior parte degli uomini avrebbe effettivamente dialogato con le macchine nel 2001: il mouse .
Il computer mouse (quello che allora veniva chiamato “ X-Y Position Indicator for a Display System ” ) venne inventato da Douglas Engelbart nel 1963 (inizi della terza generazione di computer). In quell’anno, Engelbart e 17 suoi colleghi riuscirono a creare all’interno dello Stanford Research Institute (SRI) di Menlo Park (California) l’Augmentation Research Center ed iniziarono a progettare l’ oNLine System (NLS), un sistema che prevedeva l’utilizzo del computer come estensione delle capacit comunicative umane e come risorsa per l’accrescimento dell’intelletto (in linea con le più evolute teoria sui media e con le posizioni teoriche della scuola storico-culturale sovietica – vedi “ La natura degli artefatti e la loro progettazione”, Antonio Rizzo ). Il 21 giugno 1967, Douglas Engelbart ottiene il brevetto per il suo Indicatore di Posizione X-Y per display. Bisogner aspettare però il 1968 per vedere all’opera pubblicamente il primo mouse. Durante la Joint Computer Conference al Convention Center di San Francisco, davanti a più di mille esperti di informatica, Engelbart ed il suo team tennero la prima dimostrazione pubblica sul funzionamento dell’NLS: seduto davanti alla sua postazione di lavoro, Douglas Engelbart si muove con il mouse in un vero e proprio ipertesto , introducendo per la prima volta nella storia l’indirizzamento di oggetti ed i link dinamici tra i file, condividendo le informazioni che appaiono sullo schermo con un’altra persona collegata in rete ( http://sloan.stanford.edu/MouseSite/1968Demo.html ). Le sue idee non nascevano da motivazioni economiche o ambizioni private, ma piuttosto dipendevano dall’intenzione di trovare un modo migliore per la gente di lavorare insieme e per rendere migliore questo mondo. Il suo sistema per gestire ipertesti, wordprocessor, tastiera, mouse e finestre (NLS) era assolutamente prematuro e troppo costoso da realizzare, per cui non fu preso seriamente in considerazione. Era comunque nato il più diffuso, famoso e discusso device di input della storia dell’informatica. E con il mouse, Engelbart aveva anche realizzato il primo sistema che prevedesse una interfaccia utente grafica: una dimostrazione di quanto sia forte il legame input device - interaction technique - interface.

- 1973 -1981: mouse e GUI fanno la loro comparsa su un pc sperimentale. Il primo pc IBM viene distribuito insieme al MS-Dos
E’ il 1973 quando alcuni ricercatori alla Xerox PARC ( Palo Alto Research Center, PARC). decidono di sviluppare un computer da usare per le ricerche e progettano un PC sperimentale denominato Alto , che usa il mouse, rete Ethernet ed una interfaccia utente grafica (GUI). Sono proprio le idee e le invenzioni di Engelbart (il mouse e l’ oNLine system) ad ispirare i ricercatori della Xerox. Alto rappresentò il trampolino per lo sviluppo di personal computer ad interfaccia grafica: fu il risultato di uno sforzo congiunto di Ed McCreight, Chuck Thacker, Butler Lampson, Bob Sproull, and Dave Boggs, intenti a sviluppare un dispositivo che potesse arrivare nei normali uffici e che potesse essere abbastanza potente da supportare un sistema operativo ed un display grafico.

Un anno dopo, nel 1974 , sempre allo Xerox PARC , Charles Simonyi scrive il primo applicativo (un word processor) di tipo WYSIWYG (what you see is what you get) e lo chiama BRAVO . In questo modo, Simonyi inventa un nuovo stile di interazione, cambiando il modo in cui un utente porta a compimento un interaction task.
I primi personal computer vengono commercializzati a partire dal
1975 (altair 8800, IMSAI 8080, IBM 5100 Portable Computer ), ma siamo ancora molto lontani da quello che noi oggi giudichiamo un pc. Su questi primi sistemi non esisteva ancora il display di output per esempio.

Nel 1976 nasce la Apple. Fondata da Steve Jobs e Steve Wozniak la Apple nasceva in un conteso più ampio in cui nessuna grande azienda informatica dell’epoca era interessata alla realizzazione di piccoli personal computer (home computer). In quello stesso anno Steve Jobs e Steve Wozniak progettano e realizzano l’ APPLE I : il progetto nascer nella camera da letto di Jobs e il primo prototipo verr costruito nel garage dei genitori.

La leggenda vuole che il nome Apple nacque da un’idea di Jobs che prendendo in mano una mela avrebbe detto: “Se non avremo un’idea migliore nei prossimi cinque minuti chiameremo la societ come una mela”. Nel 1977 viene annunciato l’ APPLE II , che diventa un banco di prova per i personal computer. Un vero e proprio home computer, con semplici programmi di videoscrittura, fogli di calcolo, giochi e tanto altro. Fu il primo pc ad essere venduto con funzioni grafiche gi incluse. Nello stesso anno Bill Gates e Paul Allen fondano la Microsoft (che di fatto esisteva gi , ma con un altro nome). Nel 1979 Steve Jobs vide il lavoro che i programmatori del PARC della Xerox stavano sviluppando: una interfaccia per pc interamente grafica controllata da un mouse (che all’epoca si chiamava ancora “ X-Y Position Indicator for a Display System ” link ), che muoveva un cursore su uno schermo ad alta definizione. Era uno sviluppo dello XEROX ALTO (1973) e Jobs decise che Apple avrebbe prodotto un computer sofisticato, forse multiprocessore, che inglobasse le novit del PARC.
Nel 1981 viene distribuito il primo pc IBM che funziona grazie alla prima versione di Microsoft DOS (MS-Dos). Si tratta però di un sistema operativo che ancora non conosce le potenzialit di un interfaccia grafica e di conseguenza prevede l’uso del mouse solo per pochissime operazioni.
• 1983-1985: il primo pc con sistema operativo basato su GUI e mouse di serie viene commercializzato in grande scala; l’accoppiata rende più user-friendly l’informatica di massa.
E’ il 1983 , un anno che segna la nascita del primo sistema operativo basato su una GUI e che preveda “di serie” un rivoluzionario device di input: il mouse. Furono proprio i ricercatori della XEROX a ribattezzare il dispositivo inventato da Engelbart, anche se non tutti al PARC erano d’accordo (chiamare un’invenzione rivoluzionaria topo). Il pc che ingoblava tutte queste novit venne chiamato LISA, ma non venne mai destinato al mercato commerciale. L’ Apple LISA , lanciato in maggio, mostrò cosa si poteva fare con un mouse, le icone e i menù pulldown. Peccato che costasse 18 milioni di lire! Lascer il mondo degli appassionati a bocca aperta.

Nel gennaio del 1984 (una data davvero storica, forse più di tutte altre) la Apple presenta il personal computer Macintosh: il primo personal computer completamente grafico e aperto al largo commercio . Il monitor (rigorosamente in bianco e nero) è integrato con la CPU, la tastiera è povera di tasti, ma efficace al tocco, come il mouse, che presenta un solo tasto. L’interfaccia grafica è semplice e completa, simulando una scrivania, con le varie cartelle (in forma di icone), dispositivi di memorie (floppy e disco fisso) e cestino per i documenti da buttare. Viene fornito gi corredato di scheda grafica e qualche semplice programma come editor di testi e di disegno.

Nel 1985 la Microsoft sviluppa Windows 1.0 , introducendo aspetti tipici del Macintosh nei computer DOS compatibili. La prima volta che Bill Gates vide una GUI fu proprio alla Apple. Le solite “malelingue” vociferano che Gates abbia ottenuto in regalo dalla Apple un prototipo del sistema operativo basato su GUI che prevedeva il primo Macintosh. La Microsoft avrebbe dovuto utilizzarlo per realizzare la prima versione di Excel… ma invece “inventarono” Windows 1.0 e soprattutto, nel 1990, Windows 3.0. Nel marzo del 1987 la Apple annuncia il suo Macintosh II , il primo Mac a colori.

• Dal 1990 ad oggi… Dopo l’alfabetizzazione di massa, l’informatizzazione di massa! Il mondo è in rete e anche le GUI diventano “web-oriented”.
Nel 1990 Microsoft distribuisce Windows 3.0 . In maggio s’intensifica la disputa legale, iniziata qualche anno prima, con la Apple. Windows 3.0 “copia” il sistema operativo del Macintosh.
Nel 1994 , in aprile, Jim Clark e Marc Andreesen fondano la Netscape Communications (in origine Mosaic Communications). Nello stesso anno esce il primo browser della Netscape ed è subito boom per i navigatori del Web. Nel 1995 Microsoft presenta Windows 95 . In 4 giorni saranno vendute più di 1 milione di copie…
Dal 1995 in poi il web ha costantemente influenzato anche l’universo interfacce. Sia i moderni applicativi che i recenti sistemi operativi risentono dello “stile del web”, tant’è che oggi è difficile definire con esattezza ciò che è web e ciò che non lo è… (chiedete a Leeander). Dalle soluzioni text+hiper link la tendenza porta oggi verso nuove interfacce basate su flash, pdf, etc. Anche i sistemi operativi ne risentono: Windows xp (e non parliamo di long horn-palladium… il futuro cancro dell’informatica di massa), ma soprattutto Apple osx panter-exposé. .
Per approfondimenti:
• http://leungeric.com/file/Y1BOS.pdf (50 kb)
• http://www.windoweb.it/edpstory_new/eg1969.htm
• http://www.windoweb.it/edpstory_new/edp.htm


NCBUI – Non-Command-Based User Interface: tra presente e futuro
Ad una grande evoluzione grafica e contenutistica delle interfacce non è corrisposta un eguale evoluzione dei sistemi di input. Il mouse ha cambiato pelle, ha seguito le mode, ma è sempre il mouse: “ X-Y Position Indicator for a Display System ” inventato da Engelbart nel 1963 , il contenuto non cambia.
SONO PASSATI 30 ANNI ! Kubrick pensava che gi nel 2001 l’uomo sarebbe riuscito ad inventare dei sistemi talmente avanzati da permettere un dialogo “naturale” con un macchina… ma forse si sbagliava di qualche anno. OGGI POSSIAMO DIRE CON CERTEZZA: le tecniche di interazione su cui si basano le moderne GUI sono diventate VECCHIE! Nonostante le interfacce grafiche si siano evolute dal 1984 ad oggi, i dispositivi di input sono restati sostanzialmente quelli di trent’anni fa (mouse e tastiera). Oggi ci sono nuovi innovativi sistemi di input che possono permettere una nuova rivoluzione nel campo delle interfacce, sebbene debbano ancora essere perfezionati: voice recognition & eye gaze control. Il futuro appartiene alle non-command-based interface
In a non-command-based dialogue , the user does not issue specific commands; instead, the computer passively observes the user and provides appropriate responses [Jakob, 2003] .
Le interfacce di tipo non-command si basano su tecniche di interazione “invisibili”. In pratica, un sistema non-command-based può vedere e può sentire! Per esempio, può essere in grado di riconoscere il comportamento visivo dell’utente che ha di fronte tramite un sistema integrato di eye-tracking (movimenti oculari e usabilit ). In questo modo, il sistema conosce in tempo reale la posizione degli occhi dell’utente che lo sta utilizzando ed in base a questa informazione spaziale ne interpreta le intenzioni e riproduce il comportamento del mouse in maniera invisibile e tremendamente più veloce (muovere il puntatore con lo sguardo) C’è un problema: gli utenti, abituati da trent’anni ad utilizzare il mouse, non riescono ad adeguarsi a questo nuovo modo di dialogare con il pc.
“ The Midas touch problem ”: Everywhere you look, another command is activated; you cannot look anywhere without issuing a command [Jakob, 2003] .
Per risolvere il problema del “Midas touch” (il tocco di re Mida), attualmente si stanno sviluppando solo sistemi ibridi che associano un evento (come la pressione di un tasto) alla selezione visiva. In pratica, attraverso la vista selezioniamo le icone, ma completiamo l’interaction task attraverso un evento fisico (la pressione di un tasto sulla tastiera per esempio).
Una soluzione migliore? Voice recognition + eye gaze control! In questo modo, oltre alla selezione visiva (stile puntatore), il sistema completa l’interaction task attraverso i comandi vocali.
La quinta generazione di interfacce utente sembra essere centrata sulla comunicazione uomo computer di tipo non-command. L’evoluzione dei sistemi di tracciamento dei movimenti oculari testimonia questa tendenza. L’eye-tracking è oggi non invasivo, preciso e tra non molto sar anche portatile e miniaturizzato.
Queste considerazioni ci permettono di aprire una finestra sul futuro: nuovi input device – nuove tecniche di interazione – nuove interfacce! La storia che in questo articolo ho raccontato ci suggerisce che, all’invenzione di un nuovo input device che permette di interagire con un pc tramite una diversa tecnica di interazione, corrisponde, nel lungo termine un evoluzione dell’interfaccia del sistema.
Per approfondimenti:
• http://www.diku.dk/~panic/eyegaze/node24.html
• http://www.cs.tufts.edu/~jacob/papers/sdcr.pdf (20 kb)
• http://www.cs.tufts.edu/~jacob/papers/chi00.sibert.pdf (70 kb)
• http://www.useit.com/papers/noncommand.html




