Interfaccia

'Ente' di comunicazione tra computer e mondo esterno (e viceversa).
Una interfaccia può essere vista come una scala che consente una possibile via di comunicazione tra l'utente e la macchina.
Esistono, in commercio, diversi tipi di interfacce per sistemi operativi: Apple-Macinthos style e Windows per P.C. sono tra quelle più utilizzate e fanno uso di icone illustrative.

L'importanza di una interfaccia

  • Senza interfaccia i computer sarebbero limitati a poche funzioni specifiche e ad un ristretto numero di persone;
  • Le interfacce utente/computer devono presentare caratteristiche diverse rispetto alle interfacce computer/computer;
  • L'Informatica ha un ruolo ben-definito nella progettazione di una interfaccia utente/computer;
  • La creatività gioca un ruolo importante nella progettazione di una interfaccia utente;
  • Vi sono due aspetti legati al problema della progettazione atti a favorire la comunicazione ed il controllo tra uomo e programma:
    1. Informatico (si implementa un sottoinsieme predefinito di algoritmi)
    2. Umano (si cerca di sfruttare l'abilità e l'acutezza dell'utente)
    Le prime versioni del sistema MS-DOS rimandavano l'utente inesperto alla consultazione di un manuale tecnico.

    Approcci Formali

  • · Gli approcci formali aiutano ad estrarre i dettagli e le sottigliezze di come sono usati i computer.
    Inoltre le caratteristiche legate all'interfaccia non dovrebbero essere realizzate per particolari applicazioni: il comando UNDO deve avere un dominio applicativo ampio
  • Qualche volta, come accade sovente nella progettazione di una interfaccia utente per una classe di applicazioni che richiedono una evoluzione continua (es: word processors), quello che nel passato è stato usato, con un buon risultato, viene utilizzato anche per il futuro e/o in nuove applicazioni.
  • Estrazione di regole generali (basso carico conoscitivo, poche icone di base, possibilità di annullamento di tutte le azioni, disponibilità di bactracking, aiuto on-line , ecc.).

    Cosa si intende per formalizzazione

  • Astrazione di caratteristiche comuni degli utenti che tendono ad interagire con un calcolatore elettronico.
  • Formalizzare, però, ha i suoi detrattori: in quale misura dobbiamo astrarre l'utente ?
  • Come si fa a prevedere le sue intenzioni, le sue aspettative, le sue abilità ? Formalizzare, in questo contesto, è più una domanda aperta che un mezzo possibile per giungere ad una soluzione.
  • Documentazione: per documentazione si intende ciò che è implementato e deve essere implementato affinché siano soddisfatte tutte le esigenze richieste. Esistono varie tipi di documentazioni: specifiche per i progettisti e gli implementatori; più generiche per gli utenti. La realizzazione della documentazione deve essere visionata, in fieri, dal documentatore e dai diretti interessati.
  • Nel progetto dell' interfaccia utente la complessità della comunicazione fra utente e programma ha bisogno di più particolarità di quella tra uomo e uomo: tutto deve essere facilmente capito, modellabile, documentato, esaminato e convalidato.
    Una buona documentazione porta non solo alla realizzazione di una valida interfaccia ma anche ad un ricco profitto (il prodotto più è 'amichevole' più è investito da interessi commerciali)

    Aspetti positivi di una interfaccia

  • Godimento: giocare, creare ed archiviare testi, comunicare con altri, ricercare dati, comporre ed ascoltare musica, disegnare, studiare, ecc.
  • Abilità: non sempre la soluzione per uno specifico problema può essere considerata un vantaggio universalmente valido: il controllo di un jet può essere eseguito da una interfaccia specifica per le esigenze del pilota (discriminando una qualsiasi altra classe di utenti).
  • Delegazione: il computer è abbandonato a fare lavori ripetitivi, pericolosi, critici che l'uomo non farebbe tanto agevolmente (un caso negativo sorge quando l'utente delega piena responsabilità su compiti incompleti).
  • Incolumità: il computer controlla operazioni relative ad ubicazioni pericolose (operazioni tecniche in cave di carbone, luoghi radioattivi, ecc.).
  • Sviluppo: arricchimento culturale attraverso programmi che sostituiscono l'insegnamento conversazionale: si esercita aritmetica, segnaletica stradale per la guida della macchina, pratica della lingua, ecc.
  • Fare più cose alla volta: correggere in un unica volta un errore (es.: correttore di errori in Word®) o gestire una presentazione permettendo l'utilizzo contemporaneo delle diapositive, note, colori, sfondi, ecc. (es: Power Point®).
  • Calcolo: il motivo elementare per cui sono stati realizzati i computer (effettuare operazioni, migliorare una immagine, verificare un teorema, analizzare la traiettoria per una astronave, ecc.)
    Tecnologia interattiva



  • On/Off (1948)
  • Data input (1955)
  • Data input on request (1965)
  • Graphical input via light pen, mouse (1972)
  • Menu selection (1978)
  • Mac Style (desktop metaphor) (1983)
  • Multimedia tools (1990)
  • Multimodal tools (1994)



    L'immagine mostra come lo sviluppo di interfacce sia un punto determinate dell'informatica moderna.
    Comunicazioni interpersonali

    La comunicazione tra persone avviene in diversi modi (parlato, segnali luminosi, segnali sonori, segnali di fumo, ecc.).Talvolta vengono usati anche codici di criptamento dell'informazione (per non renderla di pubblico dominio).
    Computer ed Interfaccia

  • Produttività: in questo caso l'interfaccia è vitale: la qualità di interazione, la comodità e il raggio di azione possono essere ampiamente migliorati attraverso una buona interfaccia utente.
  • Complessità direttiva: l'utente dispone di una interfaccia che gli consente di operare al meglio e in tempo reale (tipicamente nel controllo del traffico aereo: un operatore singolo può fare molto di più e molto più velocemente se lavora con una valida interfaccia utente.)
  • Affidabilità: i programmi possono essere eseguiti per molto tempo nello stesso modo ('senza mai stancarsi'). In alcuni casi, però ciò può essere un aspetto negativo (un programma troppo inflessibile risulta essere poco 'appetibile' per un utente 'esperto').
  • Qualità: i programmi possono raggiungere qualità migliore, accuratezza e riproducibilità rispetto all'uomo e questo dipende dalla tecnologia del computer e non dall'interfaccia utente (es: lavoro svolto da macchine con architettura parallela).
  • Sicurezza: l'interfaccia può controllare l'autorità dell'utente per accedere ad alcuni programmi (operazioni finanziarie, ecc.), oppure aggiornare ed archiviare operazioni svolte in passato (contabilità dell'inventario, ecc.).

    Canali di comunicazione


    Come progettare insieme

  • La possibilità viene data con i nuovi computer shared-thinking.
  • Per quanto riguarda la progettazione dell'interfaccia utente sorgono le seguenti domande:
  • Come comunicano i progettisti con gli utenti ?
  • Che genere di modello-utente hanno in mente i progettisti ?
  • Quali informazioni vengono scambiate ?
  • Privilegiare una classe di utenti rispetto ad un'altra può determinare gravi problemi.
    Per alcuni utenti (che hanno un handicap) il computer e la sua interfaccia possono aiutare ed estendere la loro serie di attività o, in caso contrario, provocare maggiori disagi.

    Un possibile approccio alla realizzazione di una interfaccia

  • Il progetto di una interfaccia utente richiede la cooperazione di informatici e psicologi, questo per una buona comprensione tra algoritmi, programmi (computer side) e persone (user side).
  • Modalità di approccio:
    1. Informatico: voler realizzare una interfaccia al primo colpo (usando le regole espresse negli approcci formali).
    2. Psicologico: voler realizzare una interfaccia iterativamente per migliorare, gradualmente, lo sviluppo del sistema.

    Il concetto di Incompatibilità

  • Quando un computer non può essere connesso, viene detto incompatibile.
  • Il concetto di incompatibilità esula il caso di incomunicabilità fra uomo e computer (benché questo possa, teoricamente, esserne un caso).
  • I programmi iterativi soddisfano le caratteristiche richieste dall'utente ?
  • La miglior realizzazione è quella che prevede un user-centered come user-coauthor.
    ... per chiudere la sessione di lavoro, l'interfaccia di Windows 95 richiede che si debba premere l'icona di Avvio !

    Osservazioni

  • Avvicinare le persone al modo di operare dei computer.
  • E' facile ignorare problemi seri legati alla struttura che deve avere una interfaccia.
  • Si cerca di creare appositamente dei difetti e/o limitazioni per aggiungere nuove caratteristiche, estendendo i sistemi e creandoli più complessi.
  • Conflitti e limitazioni nella struttura originale possono essere camuffati con aggiunte locali.
  • Le nuove caratteristiche, spesso, non sono correlate, possono avere side-effects e non si può fare alcuna previsione di quello che può accadere svolgendo le nuove azioni presenti nell'interfaccia.
  • Solitamente le strutture trovano ampliamenti e modifiche per migliorare ed accrescere le caratteristiche del programma.

    Errore della composizione

  • Legge di composizione:
    Una proprietà, valida per una parte, ha validità nell'unione delle proprietà delle totalità delle parti.

  • Una buona interfaccia può avere parti non utili.
  • Buone parti possono esistere anche in un'interfaccia non valida.
    Così come può accadere in una giuria: i giurati, non decisivi, possono essere decisivi, una giuria di giurati decisivi può essere non decisiva.
  • Formula di Barcan:
    "Se per ogni x, è necessario che f(x) sia vero, questo implica che sia necessariamente vero x per tutte le f(x) vere)" (unione).

    Astrazione

  • Vengono ignorati i dettagli circostanziali.
  • L'utente è colui che partecipa con una scelta (alcuni utenti possono essere identificati come: naïfe, esperto, discrezionale, che ha un handicap, ecc.).
  • Il computer è colui che partecipa con un programma (provvede all'esecuzione di istruzioni).
  • Il progettista (o designer) è colui che partecipa cercando di anticipare le possibili scelte che un utente vuole effettuare in un programma.
  • In pratica, al progetto di sistemi partecipano molte persone: direttore, programmatore, analista, autore tecnico, addetto alla valutazione ed utente.

    Interazione

  • L'uomo capisce il modello finito.
  • Gli informatici realizzano, in base ai loro modelli, dei sistemi che useranno.
  • La continua attività aiuta a svolgere operazioni anche nel caso in cui non vi siano descrizioni dettagliate (ovviamente a meno di side effects).
    Per side-effects si intende la possibilità di avere comandi noti con funzioni diverse da quelle aspettate..

    Bandwidth della comunicazione


    Design Information


    Programmi e Modelli Mentali

  • L'informazione addizionale proviene:
  • da parte dell'utente : dai modelli mentali.
  • da parte del computer: dai programmi.
  • I modelli mentali ed i programmi non sono equivalenti!
  • Non vi è isomorfismo.
  • Non vi è sincronizzazione.
  • Vi è un uso di sistemi logici diversi.
  • Vi sono diversi difetti e limitazioni.
  • Se fossero equivalenti, uno di loro sarebbe sufficiente, sia il modello mentale che il programma.
  • Il programma può essere eseguito e tornare utile se, ad esso, si associa un modello mentale (anche se questo non è sempre possibile).
  • Ogni sistema del computer viene costruito sulla base di modelli espliciti o impliciti dell'uso.
  • Ogni sistema del computer viene costruito sulla base dei compiti, necessità ed aspirazioni degli utenti.
  • Generalmente un progettista assume un modello canonico dell'utente.

    Miglioramenti

    L'interazione uomo/macchina può essere migliorata da:
  • Maggiore coesione tra il modello mentale ed il modello canonico.
    Adattamento dell'interfaccia all'uomo.
  • Rinuncia alla coesione tra il modello mentale ed il modello canonico.
    Adattamento dell'uomo all'interfaccia.
  • Aumento della capacità dell'informazione dell'interfaccia.
    Questa accortezza può provocare un incremento del software del Sistema, maggiore necessità di memoria....

    Ostacoli

  • Nel trasferimento di informazione (I/0).
  • Nella lavorazione dell'informazione (mentale).

    Creazione di modelli

  • È necessario pensare efficacemente ad alcuni aspetti peculiari del programma per cui si è previsto un modello.
  • Modellistica Metacircolare: (il Problema di Hume) ad alcuni stage si deve capire un modello che richieda la comprensione di un altro modello e così via... Questa caratteristica può tornare utile.
  • Perdita di rappresentazione: astraiamo alcuni aspetti e ne curiamo il dettaglio a scapito di una minore informazione per l'utente ed a vantaggio di una maggiore correttezza, efficienza, efficacia o qualche altra proprietà ben-definita.
  • Se ci occupiamo dell'usabilità questo approccio può non aiutarci.
  • Il criterio holist prevede che la modellistica trascuri problemi di importanza cruciale: l'intero sistema conserva, così, proprietà che non sono presenti nelle esigenze del modello dell'interfaccia.
  • La gerarchia di Turing: un modello abbastanza potente per lavorare interattivamente dovrebbe essere Turing-completo così come una Macchina di Turing dovrebbe essere in grado di realizzare un qualsiasi modello: cosa possiamo apprendere da un tale sistema ?
  • Alternativa del phenomenalist: un valido modo di pensare è quello di crearsi un modello mentale, in modo tale da essere in grado di svolgere più semplicemente delle attività. In tal caso le teorie ed i modelli possono essere alternativamente sostituite da azioni (phenomena).

    Proiezione e trasferimento

  • Si cerca di realizzare un modello- spesso subconsciente- da una 'proiezione': l'utente interagisce con un sistema e scopre che non vengono soddisfatte alcune caratteristiche - il modello non è ancora descritto pienamente in quanto la sua funzione globale è ancora insita nella mente del progettista.
  • In transference l'utente ha la 'proiezione' di un altro modello- non sua- di altri utenti (genitori, insegnanti, ecc.).L'interfaccia è chiusa in un discorso realizzato nel passato per istanze con altri sistemi.

    Non Determinismo

  • Casistica: può essere richiesta ma generalmente non è una situazione ricercata: vi saranno difetti provenienti da situazioni esterne inaspettate (es.: l'inesperienza dell'utente).
  • I programmi offerti dal computer dovrebbero essere prevedibili; se l'utente non ha alcun modello adeguato per una situazione, le operazioni della macchina possono essere utilizzate in modo casuale.
  • Una particolare interferenza dal mondo reale è il tempo. In un sistema real-time viene fatto ciò che viene indicato dall' informazione che arriva per prima.
  • Un schedule per annullare vecchi file dovrebbe essere noto altrimenti quei file in cui si eccede la soglia del tempo saranno rimossi, creando sgomento nell'utente (il quale crederà che l'operazione della macchina sia casuale e quindi pericolosa anche per gli altri file).
  • Il Non-Determinismo può apparire valido perché alcune informazioni non sono conosciute - nei libretti degli appunti o nelle agende, le trascrizioni aiutano a rimanere aggiornati.

    Utente

  • Difficilmente si può avere una notazione valida a priori: vi è nel tempo un evoluzione/modifica della notazione.
  • Tipicamente vale la proprietà transitiva ( (A migliore di B) e (B migliore di C) implica (A migliore di C)).
  • L'interfaccia menu è migliore rispetto una lista di comandi rigidi.
  • Una conoscenza basata sulla manipolazione diretta è migliore di una interfaccia menu.

    SHORT-TERM Memory

  • Vi è una attenzione selettiva: l'attenzione al cambiamento è di 50 ms, i movimenti dell'occhio 200 ms: per questo l'audio è 'catturato' più rapidamente di una immagine.
  • Una volta che si effettua una selezione, l'informazione è copiata nell' STM: un luogo di 'consapevolezza' in grado di gestire 7 oggetti. Se l'informazione non viene usata i contenuti di STM decadono dopo 20"- l'informazione può essere rinfrescata se sollecitata.
  • Il dato è immagazzinato in pezzi (chuncks) ciascuno dei quali ha un nome che ha un riferimento ad un oggetto, i pezzi possono contenere/supplire altri pezzi i quali possono essere immagazzinati e fissati.
    I pezzi possono essere considerati come delle routines.
  • I pezzi godono della proprietà di chiusura: l' S.T.M. può essere visto come una stack, la chiusura è l'operazione di estrazione (pop).

    Considerazioni sulla Chiusura

  • La Chiusura può eclissare altre mete: questo può causare un errore della terminazione proprio per un effettivo 'too closure'.
  • In un distributore di contante, se i soldi vengono dati dopo che la scheda è stato ritirata, l'utente non dimenticherà mai la sua scheda nella macchina (errore della terminazione).
  • Limitare la risorsa: molti processi sono noti mentre vengono eseguiti.
  • Limitare i dati: renderli invisibili.
    Queste caratteristiche sono importanti nella progettazione di avvertimento/aiuto dell' interfaccia.

    LONG-TERM Memory

  • Per un periodo superiore ai 5" i contenuti di STM giungono in LTM che ha una grande capacità e bassa dimenticanza.
  • La nostra conoscenza del linguaggio è contenuta nel LTM: è 'perfetta' solo qualche volta ed è difficile da recuperare, particolarmente senza prova, ogni qualvolta si è riuscito a recepire solamente lo 0.1".
  • Le nozioni mnemoniche aiutano a recuperare i dati ricercati, la prova precedente vista in STM svolge un notevole aiuto.
  • Si potrebbe aggiornare una tabella in base ai comportamenti delle persone e della macchina durante l'interazione.
  • Le persone non dimenticano mai, i computer, al contrario, possono annullare completamente i dati immagazzinati e qualche volta gli utenti si dimenticano di questo fatto.

    L-TM & S-TM

  • Entrambe soffrono di interferenza se hanno diversi elementi in memoria che sono codificati nello stesso modo (come HASH CODED): è difficile richiamare un dato registrato con due codici diversi, o lo stesso codice per due dati diversi.
  • Per due diversi sistemi interattivi, l'esperienza del primo viene inglobata nel secondo (se sono simili): come accade quando si crea un nuovo linguaggio di programmazione con l'inglobamento delle routines della versione precedente (cattura concettuale).

    Considerazioni sul comportamento

  • Esempio di priming: urtare contro qualcuno su un'idea - si fa ripetere la parola shop e poi si chiede: cosa si fa quando si vede una luce verde ? Stop (No!, si va avanti senza fermarsi).
  • Un comportamento stereotipato è quando le persone vengono colte dal panico ed usano un "default escape" (soluzione che generalmente non è la migliore)- le persone possono provocare gravi errori in questa modo e, in più, non è facile che poi riescano a rimediare a tali errori.

    Alcuni aspetti legati alle persone

  • I diversi modi di pensare e le diverse differenze fra gli uomini, sono considerazioni strategiche dell'interazione.
  • Le persone possono effettuare diversi lavori nello stesso tempo- come possiamo sfruttare questo ?
  • Sistemi competenti, è conveniente vedere la mente come un sistema competente: LTM un corpo di regole, STM una lavagna, il numero di mete è limitato e accedere a regole nel' LTM aumenta la probabilità di accesso futuro a quelle stesse mete.
  • Problemi più ampi: le motivazione, le difficoltà e l'ambiente influenzano l'utente e perciò i suoi atteggiamenti.

    Dissonanza Conoscitiva

  • Festinger, 1957.
  • Dopo che viene fatta una scelta (per un programma), si guarda se la nuova alternativa è peggiore dell'altra (ciò è possibile), e viceversa.
  • L'uomo cerca di ridurre tale dissonanza: es.: l'utente può cambiare il suo programma, riduce l'importanza di scelta (il lavoro è più significativo del programma che si usa), aggiunge idee più consone, selettivamente si espone a intravedere valutazioni positive della sua scelta. (trucchi per aiutarsi)

    Adattamento degli utenti

  • E' più facile dire cosa può fare un comando senza alcun senso piuttosto che incrementare i costi di ricerca per migliorarlo.
  • Un utente si adatterà ed allora il progettista continuerà con la stessa scelta che ha fatto nel progetto precedente.

    Omeostasi

  • Gli utenti decidono di correre dei rischi e accettano le conseguenze delle loro azioni.
  • Se il sistema conversazionale è sicuro, si comporteranno selvaggiamente, se il sistema è semplice proveranno cose complesse.
  • Es.: la modalità con cui un utente tenderà ad interagire, dipenderà dalle sue conoscenze che saranno tanto valide quanto più è la sua conoscenza del sistema: l'omostasi consente, quindi, la costruzione di progetti di sistemi più complessi di quanto sia necessario.
  • Effetto Hawthorne (Maggio 1933): gli utenti tendono a lavorare con più impegno se partecipano a qualche cosa di nuovo o dove hanno più controlli (questo comportamento rende invalido un qualsiasi esperimento).

    Tre livelli di astrazione

    Skill/Rule/Knowledge

  • Base SKILL (abilità) si svolge una attività senza attenzione o controlli (es.: dattilografia per un dattilografo), si lavora solo se il modello del controllo dell'utente è una rappresentazione adeguata dell'interfaccia.
  • Base RULE (regola) è il ricordo di modelli di comportamenti specifici.
  • Base KNOWLEDGE (conoscenza) è usato per un'interazione provata in modo tale che le regole non vengano sviluppate- gli obiettivi devono essere formulati esplicitamente affinché si possa lavorare ad un livello superiore.
    Il sistema favorirà la transizione da knowledge-based a skill-based secondo il comportamento dell'utente.
    [Home Page] [Successivo]