Adattività e User Modeling

Il concetto di usabilità si complica parecchio quando lo si trasferisce da oggetti semplici, che hanno una unica e ben precisa finalità (es. maniglia di una porta, caffettiera…), ad un sistema software intrinsecamente complesso.

Introduzione

Il concetto di usabilità si complica parecchio quando lo si trasferisce da oggetti semplici, che hanno una unica e ben precisa finalità (es. maniglia di una porta, caffettiera…), ad un sistema software intrinsecamente complesso.

L’usabilità di un sistema è funzione del suo scopo e in base ad esso l’interazione avviene con modalità e comportamenti diversi. Quanta più informazione il sistema gestisce e quanto maggiore la latitudine di scopi e di utenti diversi che esso deve rappresentare, tanto più difficile sarà progettare la sua interfaccia in modo che risulti sempre usabile.

Le applicazioni ipermediali e quelle web in particolare, sono -spesso- progettate per una varietà di utenti maggiore delle altre e permettono una libertà di comportamenti che non apparteneva alle applicazioni interattive tradizionali e quindi hanno evidenziato negli ultimi anni la necessità di un approccio strutturato al problema. E’ sempre più frequente infatti che
lo scopo dell’utente di un sito non sia univocamente determinato
la varietà degli scopi possibili sia ampia e/o non prevedibile con precisione
il caso peggiore, essa sia dinamica ad esempio a seconda dei contenuti.
Quando si verificano queste condizioni ha senso costruire non delle apposite interfacce per ciascuna delle possibilità (il caso tipico è la ricerca semplice oppure la ricerca avanzata) bensì un’unica interfaccia adattiva (una ricerca che mostri di volta in volta all’utente quei parametri che il sistema ha determinato gli interessino di più).
Da quando la natura dei musei sta evolvendo sempre più in istituzioni che coinvolgono interattivamente il visitatore e gli permettono un’esperienza ricca di informazioni, il ruolo dell’informatica ed in special modo dell’ipermedialità è divenuto sempre più importante.

I musei si trasformano in uno spazio informativo evoluto e ricco di media. All’interno di esso il visitatore si orienta e traccia i propri percorsi fra gli “artefatti aumentati” in base alle proprie preferenze e gli strumenti a sua disposizione dovrebbero facilitargli questo compito. Si pensi alla quantità di informazioni diverse che possono apparire adiacenti ad un’opera d’arte, sull’autore ovviamente, ma anche sul periodo storico, i luoghi in cui si trovava, le tecniche, le correnti artistiche, i materiali, i collegamenti con altre opere… ed ai diversi livelli di approfondimento che ciascuna di queste possibilità offre a seconda che il visitatore sia uno studente delle scuole medie oppure uno studioso.
Quello dei musei è perciò stato uno dei settori in cui per primi si è pensato di costruire le applicazioni in modo che si adattino alle esigenze dei singoli utenti. I sistemi adattivi mantengono un modello degli obiettivi, interessi, preferenze e conoscenze dell’utente e applicano queste conoscenze per adattarsi alla interazione con esso.
La differenza è di scala dell’influenza che questa configurazione ha sul modello di interazione dell’utente.

Distinzione tra adattabilità ed adattività

All’inizio c’era la configurabilità, cioè la possibilità di controllare manualmente alcune decisioni riguardo l’interfaccia che si intendeva usare. Spinta dalle esigenze pressanti che abbiamo appena ricordato questo concetto si è evoluto ed arricchito in modo da offrire configurazioni preconfezionate per dei profili standard di utenti e di vari livelli di aiuto per coadiuvare l’utente nelle scelte. Si è iniziato a parlare di adattabilità nel momento in cui i sistemi multiutente –di cui il Web fa ovviamente parte- hanno acquisito la capacità di identificare gli utenti e ricordare le singole preferenze. Insomma, tantissimo software è sempre stato adattabile, secondo questa definizione!

I sistemi adattivi invece monitorano i comportamenti degli utenti e modificano dinamicamente la loro interfaccia e/o il loro contenuto a seconda delle preferenze e capacità individuali.
Si pensi a come funziona il sito web di amazon.com. Esso fornisce suggerimenti sulle uscite di nuovi libri basandole sull’intorno degli interessi apparenti dell’utente. Comprate un libro su Praga perché state per visitarla durante un viaggio di lavoro, e sarete costretti a leggere della capitale boema per il resto della vostra vita. E non provate a regalare libri sulla cucina indiana a vostra sorella se non volete che i vostri acquisti in rete siano aromatizzati dalla speziata presenza del Vindaloo per molto tempo a venire.
Oggi dopo un’era di sistemi adattivi, ma non prima di esser diventati esperti di cucina indiana, si è capito che l’ibridazione dei due concetti è più usabile e meno invadente e questa è la direzione in cui ci si sta muovendo. Perciò nel resto della mia analisi mi riferirò ai sistemi adattivi con questo significato.

Il modello dell’utente

Cosa serve insomma per confezionare un sistema adattivo? Un ingrediente fondamentale è sicuramente un modello dell’utente. Vale a dire una rappresentazione dello stesso mantenuta dal sistema tenendo traccia di quello che l’utente vede, delle scelte che fa, dei criteri di ricerca più usati, dei contenuti che gli sono già stati presentati, è possibile realizzare un modello delle sue conoscenze e dei suoi interessi.

Generalmente creare un modello dell’utente significativo per un certo dominio applicativo richiede una analisi approfondita dei task, come quella che si fa abitualmente in alcune tecniche di progettazione e di pianificazione dei test di usabilità. Mentre però il risultato nella progettazione tradizionale è una specifica interfaccia utente, in questo caso saranno una serie di modelli e di regole per generare l’interfaccia a runtime.
Spesso gli utenti sono classificati in base a degli stereotipi in modo da poter essere trattati come elementi di design (per esempio come attori negli use-cases oppure nell’analisi dei requisiti goal oriented (si veda “Goal-Oriented Requirements Engineering A Guided Tour”, Axel van Lamsweerde).
I tipici elementi costituenti un modello di utente sono:

Preferenze, interessi, obiettivi
Conoscenze e capacità (ad esempio di uso del sistema)
Storia dell’interazione col sistema
Classificazione secondo uno stereotipo
I valori per attributi specifici possono essere forniti esplicitamente nel profilo immesso dall’utente stesso oppure catturati dal monitoraggio della sua interazione e desunti da un sistema di analisi probabilistica/bayesiana o basato su regole di inferenza o sull’intelligenza artificiale.
Ovviamente un modello di utente sofisticato non è descritto solo dalle informazioni che mantiene ma anche da come esse si influenzano reciprocamente e da come si evolvono in relazione ai risultati dell’analisi del suo comportamento.

Il modello del contesto

Un ingrediente invece opzionale di un sistema adattivo è un modello del contesto di uso, questo tipo di modelli viene normalmente formato a partire dal rilevamento delle condizioni in cui un certo utente usa il sistema in un certo momento. Esso diviene spesso particolarmente rilevante quando si parla di sistemi ubiquitari, vale a dire di sistemi di fruizione destinati ad essere usati in momenti diversi da luoghi diversi e soprattutto con dispositivi diversi (ad esempio workstations e palmari).
In questo campo il numero di progetti sperimentali relativi ai beni culturali è molto alto soprattutto in relazione alle guide mobili per i musei basate su dispositivi multimediali portabili.

Si distinguono solitamente

— Contesto Naturale
Luogo: serve soprattutto in applicazioni di mobile computing e cattura informazioni riguardo al luogo da cui l’applicazione viene utilizzata
Tempo: permette di riferire la fruizione ad un momento particolare, assieme al luogo può ad esempio servire per customizzare rispetto agli orari di apertura degli shop all’interno di un museo

— Contesto Tecnico
Dispositivo: cattura l’informazione di base sulle possibilità, ad esempio risoluzione, memoria
Agente utente: contiene informazioni riguardo alle capacità del software (il browser nel caso di una Web application) usato dall’utente
Network: la velocità e la disponibilità della rete da cui l’utente si collega (fissa / mobile)

Il modello della conoscenza

I sistemi adattivi hanno bisogno di un modello dello spazio di conoscenza in cui conferire le informazioni in modo da poter operare su di esse delle scelte in base alle regole ed ai modelli di riferimento. La materia delle ontologie e della rappresentazione della conoscenza, soprattutto nella forma del cosiddetto Semantic Web, è probabilmente uno dei temi di ricerca riguardo i quali ferve l’attività più intensa nei laboratori di tutto il mondo, ed il W3C ha pubblicato diversi standards in proposito tra cui RDF ed OWL. Allo scopo di fornire un semplice esempio di quello di cui stiamo parlando useremo come modello di riferimento quello impiegato dal sistema ILEX (Intelligent Labeling Explorer) sviluppato all’università di Edimburgo e dai National Museums of Scotland.

Entità -> Fatti -> Relazioni

ILEX rappresenta la conoscenza in una struttura di dati chiamata contenuto potenziale che è un grafo contenente dei nodi che rappresentano entità, nodi che rappresentano fatti e relazioni che connettono fatti diversi. I nodi possono rappresentare entità specifiche oppure astratte. Per semplicità i fatti associano sempre entità in relazioni binarie. Il contenuto di una struttura del genere può essere in parte desunto automaticamente dalla struttura dati di un’applicazione di gestione delle collezioni ma per contenere informazioni più consistenti ed interessanti è inevitabile che esso venga anche istruito dai curatori. Questo permette inoltre di arricchire le informazioni presenti nel sistema con una serie di elementi di contesto (es. fatti e personaggi storici, notizie geografiche) molto utili poi per generare una presentazione delle informazioni che abbia una certa attrattiva per gli utenti.

La navigazione della struttura del contenuto potenziale secondo certi criteri o seguendo certi fatti permette al motore di adattamento dei contenuti di generare dinamicamente le informazioni da visualizzare oppure di scegliere uno specifico formato di presentazione.
Appare evidente che le tecniche classiche di organizzazione delle informazioni e di progettazione della loro interfaccia di presentazione non sono più sufficienti in questo caso.

Conclusioni: Progettare per l’adattività
Progettare con un sistema adattivo in mente influisce sia sulla fase di analisi dei reqisiti sia sulla fase di design vero e proprio.

Le regole di customizzazione infatti sono decise nella fase di analisi dei requisiti, a loro volta questi ultimi sono influenzati dal tipo di informazioni di contesto che saranno disponibili a runtime.
In seguito si deve progettare come la parte variabile dell’applicazione realizza gli adattamenti dettati dalle regole. Un meccanismo implementativo poi farà in modo che il contesto faccia scattare le regole di customizzazione a runtime e che esse influenzino quindi i contenuti e la presentazione dell’applicazione.
Benché non esistano standard affermati per la metodologia né per il formalismo di modellazione legati alle tematiche della customizzazione, alcuni progetti di ricerca stanno iniziando ad affrontare il problema, ad esempio uwaproject che suggerisce l’uso di mirate estensioni ad UML per la modellazione di applicazioni Web customizzabili.