1 / 89

Human Computer Interaction

Human Computer Interaction. Fabio Vitali. Come, scusi?. Perché HCI (1). Autorità La direttiva europea 90/270/EEC richiede che si adottino delle precauzioni nel progettare, scegliere, commissionare o realizzare software. In particolare il software deve essere: Adatto al compito

yamka
Download Presentation

Human Computer Interaction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Human Computer Interaction Fabio Vitali

  2. Fabio Vitali Come, scusi?

  3. A seguire: Perché HCI (2) 13/33 Perché HCI (1) • Autorità • La direttiva europea 90/270/EEC richiede che si adottino delle precauzioni nel progettare, scegliere, commissionare o realizzare software. • In particolare il software deve essere: • Adatto al compito • Facile da usare e, dove appropriato, adattabile alle esperienze e conoscenze dell’utente • In grado di fornire feedback sulle sue funzionalità • In grado di visualizzare le informazioni in un formato e ad una velocità adatta all’utente • Conforme ai principi dell’ergonomia nel software

  4. A seguire: Perché HCI (3) 14/33 Perché HCI (2) • Business • Siamo in grado di usare le capacità dei dipendenti in maniera più proficua • Il costo umano è di gran lunga superiore al costo di hardware e software • Gli errori sono costosi in termini di perdita di tempo, di soldi, di vite umane, di morale. • Mercato • Le persone si aspettano che i computer siano facili da usare, sono meno tolleranti verso errori di progettazione, sono estremamente eterogenee per quel che riguarda conoscenze, esperienza, aspettative.

  5. A seguire: Storia del nome (1) 15/33 Perché HCI (3) • Individui • Il computer è sempre più visto come un elettrodomestico, e ci aspettiamo lo stesso grado di affidabilità, facilità, utilità. • La sfida progettuale • Gli essere umani sono complessi, i sistemi sono complessi, l’interfaccia tra i due è complessa. • Il punto di vista sociale • I computer sono sempre più una parte critica della nostra società, e verranno usati per aspetti socialmente rilevanti: educazione dei bambini, trattamento dei dati personali, applicazioni critiche (controllo aereo, impianti industriali e d’energia, office automation)

  6. A seguire: Storia del nome (2) 16/33 Storia del nome (1) • Human performance • Inizio secolo. Applicazione diretta del taylorismo: l’uomo - l’operaio - è una macchina, ed è necessario massimizzarne le prestazioni. • Ergonomics • II guerra mondiale, GB. Studia l’interazione tra uomo e macchina e cerca di creare macchine (ad esempio armi) che utilizzino al meglio le caratteristiche fisiche degli esseri umani. • Qui nasce la legge di Murphy. • Human factors • Termine americano degli anni ‘60 (ergonomics è europeo) per indicare la stessa cosa. In più entrano in gioco fattori cognitivi.

  7. A seguire: Storia del nome (3) 17/33 Storia del nome (2) • Man-machine interaction • Negli anni ‘70 l’ergonomia si divide: studi sulle applicazioni del design nella vita quotidiana (es. sedie) rimangono col nome di ergonomics, mentre studi sull’usabilità degli oggetti per il lavoro (macchine, computer, ecc.) prendono il nome di interazione uomo-macchina • Human-computer interaction • Negli anni ‘80 la consapevolezza della grande parte che i computer avevano nel campo del man-machine interaction (oltre a considerazioni di correttezza politica) portano ad identificare un campo specifico. Il termine interazione persona-elaboratore è stato proposto anche in Italia. • User interface • Una visione più ristretta, relativa soltanto agli aspetti delle applicazioni con cui l’utente si trova in contatto. Da qui il termine “user friendliness”

  8. A seguire: Termini dell’HCI 18/33 Storia del nome (3) • Web design • In particolare, la nascita del World Wide Web, la sua subitanea popolarità e la quantità di brutti siti che ciò ci ha portato ha creato una nuova disciplina specificamente orientata alla progettazione di buoni siti Web. Questa disciplina richiede competenze grafiche, tecniche, di progettazione dell’informazione e della comunicazione. • Web usability • Alcuni guru indiscussi (Siegel, Veen, ma soprattutto Jakob Nielsen) hanno proposto teorie dell’usabilità che molto hanno influenzato la progettazione recente dei siti Web.

  9. A seguire: Una mappa dell’HCI (1) 19/33 Termini dell’HCI • Utente • Un individuo, un gruppo di persone che lavorano insieme, un gruppo di utenti che lavorano insieme in un’organizzazione. • Elaboratore • Ogni tecnologia dell’informazione, dal piccolo PDA al computer da scrivania, ad un sistema su larga scala, ad un sistema embedded, e che includa anche parti non computerizzate (ad es. altri esseri umani). • Interazione • Ogni comunicazione tra utente e computer, diretta o indiretta. Se è diretta si dice che c’è un dialogo, con feedback e controllo del dialogo. Se è indiretta si assume l’esistenza di un processo in background o batch. In ogni caso esiste un fine dell’interazione.

  10. A seguire: Una mappa dell’HCI (2) 20/33 Una mappa dell’HCI (1) Elaborazione Aspetti sociali Ambiente di lavoro Linguaggio Grafica Ergonomia Dialogo I/O Linee-guida e case studies Valutazione Tecniche e tool

  11. Gli esseri umani Elaborazione dell’informazione Linguaggio, comunicazione Ergonomia, caratteristiche fisiche degli esseri umani I computer Device di I/O Tecniche di dialogo Generi del dialogo Computer graphics La progettazione Approcci alla progettazione Tecniche e tool di programmazione Linee guida e case studies Tecniche di valutazione L’ambiente sociale Organizzazione sociale Computer e ambiente di lavoro A seguire: Tensioni 21/33 Una mappa dell’HCI (2)

  12. Utilità Servire a qualcosa Efficienza Richiedere il minimo di risorse per raggiungere lo scopo Complessità Essere di ostacolo alla comprensione per motivi intrinseci (cioè inerenti al concetto in sé). Usabilità Essere facile da imparare e da usare. Efficacia Richiedere il minimo di risorse aggiuntive (ad esempio, negli utenti) per raggiungere lo scopo. Complicazione Essere di ostacolo alla comprensione per motivi estrinseci (cioè dipendenti da cause esterne). A seguire: Arte, mestiere o scienza? 22/33 Tensioni Di interesse per l’HCI

  13. A seguire: Testing, metodi o trucchi? (1) 23/33 Arte, mestiere o scienza? • Non esiste una teoria unificante dell’HCI. Forse non può esistere. Comunque tutte le teorie si basano sullo studio dei task. • C’è un parallelo con l’architettura: • La scienza fornisce le tecniche numeriche per evitare che l’edificio crolli • Il mestiere ottimizza la struttura, le tecniche costruttive, il soddisfacimento dei bisogni pratici • L’arte aggiunge grazia, ispirazione, genio. • C’è nel campo dell’HCI la tensione a descrivere, regolare, racchiudere. Questo eliminerà l’arte? • La velocità di innovazione nell’informatica garantisce che qualunque tecnica invecchierà rapidamente. Senza lo spazio per la creatività, HCI è destinato a burocraticizzarsi.

  14. A seguire: Testing, metodi o trucchi? (2) 24/33 Testing, metodi o trucchi? (1) • L’HCI è recente e popolare. I suoi dettami non sono ancora codificati. Esistono decine di trattati e teorie variamente sovrapposte, contrapposte o alternative. • Teorie di dieci anni fa sono oggi già completamente screditate. Probabilmente teorie di moda oggi saranno screditate tra cinque anni. • Molte regole d'oro del passato sono ormai entrate nella consapevolezza collettiva, e sono di difficile rimozione, anche se ormai non più attuali. Ad esempio, il ruolo delle metafore o delle icone nella progettazioni di interfacce. • La cosa è ancora più evidente nel Web. La disponibilità di nuove tecnologie, gli studi di usabilità, gli stili di progettazione incalzano a pochi anni o mesi di distanza l'uno dall'altro, e libri di progettazione di tre-quattro anni fa sono già inesorabilmente datati. • Come capire se un dettame è destinato a durare nel tempo o dovuto a mode o situazioni contingenti?

  15. A seguire: Testing, metodi o trucchi? (3) 25/33 Testing, metodi o trucchi? (2) • Il progresso scientifico è solidamente basato sul test: uno scienziato propone un'ipotesi e va tosto a verificarne la correttezza. • Il paradigma scientifico è lo schema all'interno del quale vengono fatte ipotesi e che permette di valutare in partenza -cioè prima del test - quali ipotesi abbiano una speranza di successo e quali no. • Il solo meccanismo di testing, dunque, non dà nessuna garanzia di arrivare a produrre conclusioni ragionevoli e utili. In particolare, non fornisce un metodo. • Il metodo, invece, è fondamentale nella invenzione: fornisce concetti, schemi e trucchi indispensabili per ottenere in tempi ragionevoli un risultato utile. • Le linee-guida costituiscono una formalizzazione e cristallizzazione di un metodo di progettazione. Esprime in esteso quei concetti, schemi e trucchi che costituiscono il metodo.

  16. A seguire: I bias del vostro docente 26/33 Testing, metodi o trucchi? (3) • Assiomi • Regole "eterne", che non dipendono dalle mode, dallo sviluppo tecnologico, e che presumibilmente saranno vere ancora a lungo nel futuro. • Ad esempio: "Minimizzare il carico cognitivo richiesto dall'interfaccia aumenta il potenziale cognitivo a disposizione per il task" • Paradigmi • Schemi globali che forniscono una vera e propria filosofia di progettazione. Vengono rivoluzionati da grandi cambiamenti tecnologici o sociali (invenzioni importanti, cambi generazionali, etc.) • Ad esempio: Metafore negli anni '80, Internet negli anni '90, mobilità negli anni '00. • Regole • Singoli, specifici dettami, più o meno dettagliati, che portano il paradigma a effettiva realizzabilità. • Ad esempio: usa un font senza grazie per i titoli; fornisci sempre un link alla home page.

  17. A seguire: 4 regole d’oro 27/33 I bias del vostro docente • Mi piacciono i contributi di individui geniali… • Controversi • Per lo più inutili o senza sbocco • Paradigmatici • Peggiorano le cose prima di migliorarle • Miglioramenti di ordini di grandezza • Non prevedibili, non ricercabili • … ma bisogna anche tener conto dei contributi della comunità di scienziati. • Non controversi • Sempre utili • Di dettaglio o tassonomici • Migliorano comunque, ma poco alla volta • Prevedibili e ricercabili

  18. A seguire: La siringa automatica (1) 28/33 4 regole d’oro • Pensare agli utenti • Il 90% degli sforzi di un esperto in HCI è ricordare al progettista del sistema che ci sarà un utente ad usare il sistema. • Provare sul campo • Un sistema che in laboratorio è facile e piacevole da usare può non esserlo nella situazione reale: le autoradio o i telecomandi vanno usati senza essere guardati, le radiosveglie da persone addormentate. • Coinvolgere gli utenti • Gli utenti (soprattutto per i task specializzati) hanno conoscenze importanti e non formalizzate. Una interfaccia di prova (mock-up) compie il miracolo che mille studi su carta non riescono a fare. • Iterare (e iteraree iterare e iterare e iterare e iteraree iteraree iterare e iterare e iterare) • Nessuna interfaccia riesce giusta al primo tentativo. Piccoli prototipi a basso costo e sacrificabili sono cruciali. Esistono molte tecnologie che permettono di creare finte interfacce a basso costo.

  19. 99999 7 8 9 4 5 6 1 2 3 0 A seguire: La siringa automatica (2) 29/33 La siringa automatica (1) • Si dovette progettare l'interfaccia di una siringa automatica: l'infermiera digita la quantità di liquido da iniettare, e attiva la siringa. • I progettisti immediatamente pensano alle tastiere di computer e telefoniche, e progettano questo:

  20. 1 4 7 2 13672 + + + + 7 8 9 - - - - 4 5 6 1 2 3 0 A seguire: Una meta-teoria dell’HCI 30/33 La siringa automatica (2) • Quello a cui i progettisti non pensano, e gli utenti sì, è l'applicazione dell'interfaccia nel mondo reale. Ad esempio, qual è l’effetto se si preme per errore un tasto in più nell’inserire il valore numerico 1372? Tastierino progettato senza coinvolgere gli utenti Tastierino progettato con il coinvolgimento degli utenti

  21. Fabio Vitali Modelli di interazione • L’interfaccia è il luogo dove avviene l’interazione tra due sistemi complessi e disomogenei, e l’interfaccia realizza la traduzione del dialogo tra un sistema e l’altro. • Nel nostro caso, esseri umani e computer sono sistemi particolarmente complessi, e quindi maggiore sarà la possibilità di errori nella realizzazione di questa traduzione. • L’uso di modelli di interazione ci permette di evidenziare eventuali problemi di traduzione molto presto, e di confrontare tra loro le soluzioni.

  22. Noi Scopi Intenzione di agire Valutazione delle interpretazioni Sequenza di azioni Interpretazione della percezione Esecuzione della sequenza Percezione dello stato del mondo Oggetti della realtà Mondo Fabio Vitali Il modello di Norman

  23. Fabio Vitali Il modello di interazione (1) • Un sistema interattivo permette ad un utente di raggiungere un goal, ovvero uno scopo all’interno di un dominio applicativo, ovvero un’area di competenza e conoscenza in qualche attività. • I task sono operazioni per manipolare i concetti del dominio, e il goal è il risultato desiderato di queste manipolazioni. Attraverso Input ed Output si ottiene il dialogo che realizza l’interazione. • Ogni membro dell’interazione utilizza un proprio linguaggio, e compito del progettista è trovare una traduzione adeguata tra i linguaggi. • Il sistema ha un proprio linguaggio detto core, di computazioni che è in grado di eseguire. L’utente ha un linguaggio di task in cui è in grado di esprimere i suoi goal. • A loro volta, input ed output hanno un proprio linguaggio con cui sono in grado di mappare gli uni negli altri.

  24. O presentazione output osservazione S U core task articolazione esecuzione I input Fabio Vitali Il modello di interazione (2) • Il modello di interazione qui presentato divide in quattro fasi la valutazione dell’interazione, e sempre come valutazione di correttezza, completezza e facilità di traduzione da un linguaggio ad un altro. • L’enfasi nella valutazione è data in particolare alla capacità di tradurre i task umani in compiti al sistema, piuttosto che a metriche interne al sistema stesso. Questo è un modo complicato per dire che “il programma migliore dipende da quello che ci si vuole fare.”

  25. Fabio Vitali Il contesto organizzativo e sociale • L’interazione non avviene nel vuoto. C’è un contesto sociale ed organizzativo che va valutato. • Differenze tra committente e utente • Procedure non informatiche che influenzano l'uso del sistema • Atteggiamento psicologico degli utenti del sistema • Aspettative incoerenti dei committenti • L'esempio delle casseforti • Esistono poi fattori che influenzano notevolmente l’interazione con i sistemi complessi • Competitività tra pari • Desiderio di impressionare il superiore, • Paura di sbagliare in pubblico, ecc., • … ne riparliamo a breve

  26. Fabio Vitali Un esempio • Per ragioni di sicurezza, in una banca inglese la password per sbloccare le casseforti di filiale era divisa in due semichiavi assegnate a due manager diversi. • Poiché era ritenuto disdicevole che i manager digitassero di persona su una tastiera, era pratica comune che la semichiave venisse affidata ad una segretaria. • Contemporaneamente, una politica di austerity applicata dalla banca dimezzò il numero di segretarie, obbligando più manager a condividere la stessa segretaria. Ci furono dunque svariati casi di segretarie in possesso di entrambe le semichiavi! • La discrepanza non venne rilevata che vari anni dopo.

  27. Fabio Vitali Usability engineering (1) • La prima generazione di utenti di computer erano i programmatori stessi. Essi avevano esperienza sostanziale e motivazioni forti nell’approccio al computer. Per questo potevano accettare (ed anzi approvare) interfacce complesse e potenti. • La popolazione utente attualmente è composta in minima parte di esperti di computer, ma anzi di persone dotate di diversissime competenze: anni 80 impiegati e professionisti, anni 90 utenti casuali e per “diporto”. • Questi utenti non usano il computer per obbligo o per dedizione alla tecnologia, ma perché trovano in esso un supporto al lavoro o all’hobby. Il loro uso è discrezionale, e può essere interrotto e sostituito in qualunque momento.

  28. Fabio Vitali Usability engineering (2) • La progettazione dei sistemi deve dunque essere basata fondamentalmente sull’osservazione attenta degli utenti, dei loro task, delle loro preferenze. • I progettisti cerchino il rapporto diretto con gli utenti in tutte le fasi del design, dalla progettazione all’implementazione a tutto il ciclo di vita del software. I metodi di progettazione iterativa permettono test precoci dei prototipi, feedback tempestivo, raffinamenti incrementali. • L’ingegneria dell’usabilità (usability engineering) è una disciplina con pratiche formalizzate e standard riconosciuti, per ottimizzare l’usabilità di un sistema.

  29. Fabio Vitali Usability engineering (3)

  30. Apprendibilità: la facilità di apprendimento per gli utentinovizi. Efficienza: prestazioni continuative da parte di utentiesperti Memorizzabilità: facilità nell’uso intermittente del sistema da parte di utenti casuali. Errori:frequenza di errori catastrofici e/o minori. Soddisfazione soggettiva: piacevolezza all’uso del sistema Fabio Vitali I cinque parametri dell’usabilità

  31. Un sistema può : Focalizzarsi sulla facilità di apprendimento, compiacendo gli utenti novizi. Focalizzarsi sulla efficienza di uso, compiacendo gli utenti esperti Permettere sia un modo novizio che un modo “esperto” (ad esempio con menù più ricchi e un linguaggio di script) In questo caso naviga sopra ad entrambe le curve dell’apprendimento Fabio Vitali Curve di apprendimento

  32. System-centered design Progettazione basata su aspetti di convenienza per il progettista. Cosa è facile progettare su questa piattaforma? Cosa è facile creare con gli strumenti disponibili? Cosa trovo interessante ed appagante progettare? User-centered design Progettazione basata su caratteristiche dell’utente a cui il sistema è destinato Cosa sa fare l’utente? Di cosa ha bisogno l’utente? In che contesto opera l’utente? Fabio Vitali System e User-centered design

  33. 1 Sfrutta sia la conoscenza nel mondo che la conoscenza nella testa 2 Semplifica la struttura dei task 3 Rendi visibili le cose 4 Sfrutta correttamente il mapping 5 Sfrutta la potenza dei vincoli 6 Progetta considerando gli errori 7 Quando il resto non basta, standardizza Fabio Vitali Sette facili principî di user-centered design

  34. Fabio Vitali L’ergonomia • Lo studio delle caratteristiche fisiche dell’interazione e dei controlli che la permettono. • Lo scopo primario è l’incremento di efficienza degli esseri umani. Ci occupiamo brevemente di: • Organizzazione di controlli e display • L’ambiente fisico dell’interazione • Aspetti connessi con la salute • L’uso dei colori

  35. Fabio Vitali Organizzazione di controlli e display • La disposizione fisica dei controlli e dei display è importante. • In applicazioni critiche è fondamentale, ma anche nelle applicazioni su PC di tutti i giorni: tasti vicini possono avere significati molto diversi e potenzialmente in contrasto. • Il raggruppamento dei comandi è importante. Possiamo avere: • Raggruppamenti funzionali: i comandi funzionalmente collegati sono messi vicini • Raggruppamenti sequenziali: i comandi sono organizzati per riflettere l’ordine con cui vengono attivati (soprattutto in situazioni dove le sequenze sono obbligate: aviazione) • Raggruppamenti per frequenza: i comandi usati più frequentemente sono raggruppati insieme.

  36. Fabio Vitali L’ambiente fisico dell’interazione • Anche le condizioni ambientali sono importanti: • i controlli sono messi ad altezza comoda? • I display sono posti in modo da non riflettere la luce delle finestre o dell’illuminazione? • Un utente in sedia a rotelle riuscirà a raggiungere tutti i controlli? • Un utente molto alto o molto grasso non sarà reso impacciato dai comandi troppo vicini? • Riusciranno tutti gli utenti a vedere comodamente tutti i display?

  37. Fabio Vitali Altri aspetti ergonomici • Aspetti connessi con la salute • Lavorare con i computer non è intrinsecamente pericoloso, ma a lungo andare possono sorgere dei problemi: • Sforzi fisici, temperatura, luce, rumore possono avere alla lunga effetti nocivi sul nostro corpo. In particolare esistono malattie alle mani e agli occhi caratteristiche dell’uso dei computer. • Uso dei colori • Non solo le nostre percezioni sono limitate (per esempio nel numero di colori singoli identificabili), ma esistono molte variazioni individuali. • Moltissime persone hanno difficoltà a distinguere colori agli estremi della gamma (ad es., blu e nero), e molte hanno altri tipi di deficienze (ad es., daltonismo). • E’ opportuno dunque non usare MAI i colori come unica differenziazione e MAI in contrasto con le aspettative culturali locali. • Un trucco per verificare la leggibilità dei propri design per persone con problemi di colori è visualizzarli su uno schermo a toni di grigio.

  38. Fabio Vitali Il design del dialogo • L’interazione può essere vista come un dialogo tra utente e computer. • La scelta dello stile di interazione ha profondi effetti sulla natura del dialogo e, di conseguenza, sull’efficacia dell’interazione. • Sono stati identificati 6 stili di interazione primari: • Command entry • Menu e navigazione • Domanda/risposta • Form-fill e spreadsheet • Linguaggio naturale • Manipolazione diretta

  39. DIFETTI Apprendimento lungo Difficile memorizzazione Guidato dalla sintassi Scarsa tolleranza agli errori Fabio Vitali Command entry • Consiste nel comandare direttamente il computer tramite comandi basati su parole intere, abbreviazioni, caratteri o tasti funzione. • E’ stata la prima forma di interazione con il computer, ed è ancora molto diffusa. • Spesso è l’unico modo di comandare un sistema (es. Unix shell), a volte è complementare ad un sistema basato su menu. • PREGI • Flessibile e potente • Favorisce l’iniziativa dell’utente • Favorisce la creazione di script e macro Attira ed è adatto ai power users.

  40. DIFETTI Poco adatto a sistemi complessi Occupa schermo Struttura i task dell’utente Rallenta i power users Fabio Vitali Menu e navigazione • Le opzioni a disposizione dell’utente sono di volta in volta mostrate a schermo, occupandone gran parte. • Poiché le opzioni spesso non stanno tutte sullo schermo, richiede l’adozione di meccanismi di organizzazione che nascondono set di opzioni (menu gerarchici). • Un corretto matching con le attività dell’utente ppuò aiutare. Ogni altra organizzazione porta a confusioni e difficoltà di apprendimento. • PREGI • Apprendimento breve • Poche azioni richieste (es. tasti) • Struttura i task dell’utente • Facile gestione degli errori Adatto per compiti semplici e strutturati.

  41. DIFETTI Adatto a sistemi molto semplici Controlla l’iniziativa dell’utente Biforcazioni di task, anche molto semplici, sono irreversibili. Fabio Vitali Domanda/risposta • All’utente viene posta una serie di domande (perlopiù con risposte sì/no, codici, selezione da liste, ecc.) ed è condotto passo passo attraverso il task. • Il sistema è in controllo dell’interazione, e a volte non permette all’utente di variare rispetto alla sequenza dei comandi. • Adatto per compiti dalla struttura ben nota e lineare (es. bancomat) • PREGI • Apprendimento inesistente • Facile gestione degli errori • Poche azioni richieste Adatto per compiti semplicissimi.

  42. DIFETTI Poco adatta per ogni compito oltre all’inserimento dati Occupa schermo Limita i task dell’utente Fabio Vitali Form-fill e spreadsheet • Per l’inserimento e la ricerca di dati, è utile organizzare lo schermo come se fosse un modulo cartaceo (form). • Ogni dato da inserire ha una sua posizione sullo schermo (campo), e il passaggio da un campo all’altro avviene attraverso sistemi noti. • L’uso e la correzione di errori è facile, tuttavia l’applicabilità è limitata • Gli spreadsheet generalizzano questo tipo di interfaccia. • PREGI • Apprendimento modesto e di tecniche generali • Semplifica l’inserimento dati • Buona gestione degli errori • Facile da realizzare Adatto per inserimento dati.

  43. DIFETTI Non esistono di tipo generale Possono richiedere molte azioni Richiedono spesso dialogo di chiarificazione Non sono predicibili. Fabio Vitali Linguaggio naturale • La comprensione del linguaggio naturale è molto desiderabile, ma è molto difficile per via dell’ambiguità intrinseca nel linguaggio. • Essa può avvenire via voce o tramite una tastiera, ma non va confusa con il riconoscimento del parlato. • Un sistema generale è attualmente al di fuori della nostra portata, ma esistono sistemi su domini limitati. Diventa tuttavia difficile tirare una linea tra questi sistemi e sistemi a command entry • PREGI • Non c’è apprendimento • E’ naturale e immediato Adatto per compiti specifici.

  44. DIFETTI Difficile da programmare Richiede display grafici e sistemi di puntamento. Richiede una rappresentazione visuale adatta (metafore???) Fabio Vitali Manipolazione diretta (1) • I sistemi a manipolazione diretta permettono l’interazione immediata, fisica con gli oggetti dell’interfaccia. • Essa richiede un’intelligente rappresentazione visuale dei concetti del dominio di interazione, e la possibilità di identificare oggetti ed azioni da compiervi. • L’uso della tastiera e scelta di comandi sono sostituiti (o integrati) da attività motorie con l’ausilio di meccanismi di puntamento. • PREGI • Presenta visivamente i task • Facile da apprendere e ricordare • Permette l’esplorazione • Facile gestione degli errori • Dà soddisfazione soggettiva Adatto per compiti semplici e strutturati.

  45. Fabio Vitali Manipolazione diretta (2) • I sistemi a manipolazione diretta hanno le seguenti caratteristiche: • Visibilità degli oggetti di interesse • Azioni rapide, reversibili, incrementali • Manipolazione motoria degli oggetti di interesse. • Tra i sistemi a manipolazione diretta ricordiamo: • Interfacce WIMP (Window, Icon, Menu, Pointers): MacOS, Windows, X-Windows • Interfacce point-and-click: WWW browsers • Interfacce tridimensionali: VRML, ecc.

  46. Fabio Vitali Manipolazione diretta (3) • Al cuore della manipolazione diretta c’è il problema di collegare in maniera diretta azioni e comandi dell’utente agli oggetti dell’interfaccia. Questa maniera si dice directness. • Distinguiamo due tipi di directness: • Directness semantica: c’è un rapporto diretto tra quello che l’utente vuole fare (task) e quello che il sistema permette (function)? O sono necessari dei workaround? C’è un ovvio discorso di affordance. • Directness articolatoria: C’è un rapporto diretto tra la funzione ed il comando che la attiva? I comandi sono pensati in modo da permettere un associazione intuitiva con il loro effetto? C’è un ovvio discorso di mapping.

  47. Per una storia delle interfacce

  48. Fabio Vitali Primi protagonisti • Doug Engelbart, con Augment (anni ‘60), dimostrò che il computer poteva essere uno strumento di produttività personale. • Seymour Papert, con il LOGO (anni ‘60), dimostrò che i computer potevano essere usati da non professionisti, addirittura da bambini. • Alan Kay, con FLEX (anni ‘60), e con Xerox Star (anni ‘70), dimostrò che la grafica poteva essere usata per le interfacce • Bill Atkinsons, realizzando il Macintosh Toolbox (primi anni ‘80), dimostrò che la grafica poteva essere realizzata in maniera efficiente con macchine “povere”.

  49. Fabio Vitali Teorie dell’apprendimento • Alan Kay fu il primo ad ipotizzare l’uso sistematico della grafica. I primi studi risultarono però in sistemi sostanzialmente inutilizzabili. • Il LOGO gli fece capire che i meccanismi di apprendimento erano la chiave per organizzare l’interfaccia globale. Si concentrò su due pensatori in particolare: • Jean Piaget (cognitivista svizzero, 1896-1980) • Jerome Bruner (“Verso una teoria dell’istruzione”, 1966)

  50. Fabio Vitali La teoria piagetiana • I bambini non sono in grado di fare ragionamenti simbolici tradizionali fino all’età di 11 o 12 anni, ma sono invece molto abili in altri tipi di ragionamenti, anche avanzati, che coinvolgono nozioni di topologia, geometria differenziale, etc. • I bambini, crescendo dalla nascita alla maturità (adolescenza), passano attraverso stadi intellettuali diversi e successivi. Si possono ottenere cose molto complesse sfruttando la natura dei vari stadi, e causare problemi, frustrazioni ed ansie ignorandole. • Esempio dei due bicchieri d’acqua: i bambini sotto i dieci anni, anche vedendo versare dell’acqua da un bicchiere alto e magro ad un bicchiere basso e grosso, continueranno a pensare che nel bicchiere grosso ci sta più liquido.

More Related