Learning brick

Perché fare e rifare sempre le stesse cose?
Non è meglio risolvere i problemi una volta per tutte e poi pensare ai prossimi?

Architettura

I mattoncini I "Learning brick", arrivati oggi alla versione 3 (interamente in JavaScript), sono un progetto a cui sto lavorando dalla seconda metà del 2007.
L'idea: realizzare contenuti digitali complessi (simulazioni, serious game e giochi interattivi) a partire da oggetti riusabili e parametrizzabili (i brick), facilmente combinabili tra loro, con grafica, multimedialità, animazioni. Proprio come si fa con i mattoncini Lego.
I Learning brick servono principalmente per creare contenuti interattivi il cui funzionamento è basato su modelli matematici complessi, ma possono essere usati per raccontare storie o realizzare giochi di ogni tipo e anche i tradizionali wbt a struttura sequenziale.
Con due obiettivi: progettare prodotti di alta qualità liberanbdosi dal pensiero costante della loro fattibilità tecnica (perché con i Learning brick si può fare praticamente tutto) e ridurne drasticamente i costi di sviluppo.
Modulo base e brick
L'architettura dei Learning brick si compone di due elementi:
  1. Il modulo base.
  2. I brick.
Il modulo base è un "direttore d'orchestra" che incorpora:
  • La funzione di calcolo, cioè il "motore" della simulazione.
    Questa funzione viene richiamata ogni volta che lo stato del mondo simulato deve essere ricalcolato in seguito a un evento: scorrere del tempo, decisione dell'utente, esito di una prova di verifica, ecc.
  • Il caricamento dei brick necessari alla gestione dell'interfaccia, con il relativo passaggio di parametri.
  • Il caricamento delle immagini di sfondo che consentono di realizzare simulazioni con più ambienti (per il passaggio da un ambiente all'altro si utilizza una funzione "porta" compresa nel modulo base).
  • Alcune funzioni di utilità generale, richiamabili da tutti i brick.
I brick sono moduli software totalmente indipendenti l'uno dall'altro che hanno:
  • una specifica funzione;
  • un collegamento con una delle variabili del motore;
  • un contenuto comunicativo (testo, immagini, audio, video, animazioni...) e un comportamento completamente personalizzabili.
I brick possono essere attivati automaticamente (dal motore) o dal fruitore con un clic.
Esistono già brick per creare personaggi animati parlanti, tutoriali (mini wbt con testo e immagini animate in sincrono con la voce), test di valutazione, moduli di immissione dati, schede con testo e immagini e tutto quanto serve per realizzare esperienze di apprendimento efficaci.

Piattaforma Scorm

Novità della versione 3
Mentre le prime due versioni dei Learning brick erano sviluppate in ActionScript (il linguaggio di Flash), la versione 3 è scritta interamente in JavaScript.

Questa evoluzione si è resa necessaria per alcuni motivi:

  • superare l'intermediazione del plugin Flash Player, che sembra destinato a un progressivo pensionamento;
  • consentire la fruizione su dispositivi mobili;
  • facilitare il rispetto delle norme sull'accessibilità;
  • aprire il learning object all'interazione con la multitudine di sensori di cui sono dotati i nostri sistemi (dalla georeferenziazione ai giroscopi) per realizzare una nuova generazione di contenuti digitali, sempre più interattivi anche con l'ambiente esterno.
JavaScript ha pochi limiti rispetto a Flash, perché negli ultimi anni con l'avvento di Html 5 ha compiuto un enorme salto evolutivo, tale da configurarlo come "il" linguaggio web del prossimo futuro.
Memorizzazione e tracciamento Scorm
Una simulazione (o qualunque altro learning object) sviluppata con i Learning brick ha la necessità di memorizzare, mossa dopo mossa, una fotografia dello stato del sistema oltre a una serie di altre informazioni significative.
Per questo, l'archittettura learning brick prevede una duplice modalità di registrazione dei dati: in locale (sempre) e su piattaforma Scorm (se disponibile).
Sono registrati i seguenti dati:
  • il segnalibro (bookmark), che comunica il livello o la fase a cui l'utente è arrivato;
  • lo status (incomplete, completed, passed, secondo lo standard Scorm);
  • il punteggio (score);
  • il tempo di fruizione per la sessione e quello complessivo;
  • lo stato del sistema (variabili, porte, oggetti, risposte ai test, ecc.) relativo all'ultima mossa;
  • l'ultimo ambiente visitato (per le simulazioni che contengono più "stanze");
  • eventuali altri punteggi che consentono di costruire un profilo multidimensionale dell'utente.
In questo modo è possibile:
  • Interrompere la simulazione e riprenderla in qualunque momento con la certezza di ritrovare la situazione come la si è lasciata.
  • "Tornare indietro nel tempo", per rivedere una scena ed eventualmente modificare le proprie scelte.
Se il learning object è gestito da una piattaforma Scorm è possibile iniziare una simulazione in un computer locale e continuarla in un altro, senza perdita di informazioni.

I brick

Leggi di più/di meno
Sono più di dieci i brick sviluppati finora.
Per dare un'idea di quello che si può realizzare con questi brick, ecco una descrizione dei più importanti.
Iperinfo
Brick "Info"
Consente di inserire oggetti cliccabili che si "aprono" e presentano un contenuto informativo multiforme, composto da una o più pagine (il sistema aggiunge automaticamente una pagina indice con voci cliccabili). Con questo brick è possibile creare una grande varietà di oggetti, da un semplice foglio bianco con poche frasi a un vero e proprio wbt.
In una stessa pagina possono convivere:
  • testi e immagini statici o animati (con un numero qualunque di animazioni);
  • audio fuori campo;
  • testi/immagini cliccabili con audio;
  • filmati;
  • link sul testo (a voci di glossario, approfondimenti, siti, documenti pdf, ecc.);
  • icone che aprono finestre di popup con approfondimenti di diverso genere;
  • istogrammi dinamici;
  • tabelle, campi di testo, pulsanti e altri strumenti per l'input di dati e scelte dell'utente;
  • campi di testo che riportano il valore delle variabili o dati calcolati;
  • test (domande, riempimento di spazi, drag & drop, ecc.).
Personaggio
Brick "Personaggi"
Consente di inserire nell'ambiente personaggi parlanti, con due livelli di animazione:
  • animazione base (di solito gli occhi), attiva quando il personaggio è visibile;
  • animazione specifica (di solito la bocca), quando il personaggio parla (o canta...).
In funzione del valore della variabile di riferimento, il personaggio effettua una sequenza di comportamenti, ciascuno dei quali comprende uno o più dei seguenti elementi:
  • l'emissione di un suono (generalmente parole, ma anche musica o rumori);
  • una determinata postura;
  • una determinata posizione sullo schermo, con o senza spostamento visibile;
  • un cambio progressivo di dimensione (utile per rappresentare l'avvicinamento o l'allontanamento);
  • un cambiamento di stato (sparizione o apparizione con diversi effetti).
Immagine
Brick "Immagine"
Inserisce nell'ambiente immagini di qualunque formato, anche corradate da testi.
Ma non sono solo immagini statiche: in base al valore delle variabili di riferimento, possono comparire, scomparire, ridimensonarsi o spostarsi anche con effetti sonori.
In più le immagini possono anche essere rese cliccabili, attivando effetti di qualunque tipo e/o modificando i valori delle variabili di sistema. Immagine
Brick "Dialogo"
Gestisce con facilità dialoghi interattivi con i personaggi presenti nella scena.
Per ogni affermazione significativa del personaggio, il fruitore può scegliere tra un certo numero di risposte che, a loro volta, determinano la replica del personaggio. Orologio
Brick "Calendario"
Presenta un calendario con una data basata sulle variabili in gioco o la data corrente.
Brick "Orologio"
L'orologio non serve solo a rappresentere l'ora (ora corrente oppure quella del gioco) con lancette in movimento o un display digitale.
A intervalli o a orari prestabiliti, questo brick può attivare effetti di animazione e sonori (per esempio quelli di un orologio a cucù, utili per animare l'ambiente) o modificare determinate variabili di sistema, infuenzando cosè l'andamento della simulazione.
Il brick Orologio, quindi, è indispensabile ogni volta che è necessario inserire la variabile tempo all'interno di una simulazione.
Socialtwitter
I brick "social"
Socialmail e Socialtwitter sono due brick specializzati che consentono di inviare "veri" messaggi di posta o via Twitter dall'interno del gioco.
Sono messaggi al cui interno si possono inserire anche i valori di variabili di sistema e, nei tweet, una serie di hastag preimpostati, che hanno la potenzialità di fornire originali modalità di interazione tra i partecipanti.
I brick per il web
Due brick inseriscono pagine web (e non solo) in una simulazione.
  • Link apre una nuova finestra del browser con un sito esterno o un documento in formato "pdf".
  • Web inserisce queste pagine o questi documenti all'interno dello scenario di gioco che in questo modo si può arricchire anche con filmati di YouTube, mappe di Google Maps o qualunque altro contenuto utile.
Per esempio, è possibile realizzare a corredo di un serious game un "vero" blog dedicato, con cui i partecipanti possono scambiarsi consigli e commenti...

Editor

Leggi di più/di meno
Schermata dell'editor di learning brick All'inizio, per sviluppare un progetto con i Learning brick era necessario mettere le mani direttamente nel codice per costruire i documenti XML, la routine di calcolo, l'ambiente, ecc.
Ma le cose sono destinata a cambiare. Già oggi è disponibile il primo di una famiglia di strumenti finalizzati a moltiplicare la produttività. Una "famiglia", perché l'architettura modulare dei Learning brick richiede diversi editor, ciascuno dedicato a un elemento specifico.
Questi editor, che presentano un'architettura simile ai Learning brick, consentono la visualizzazione immediata degli oggetti in fase di montaggio e un editing visuale per alcune caratteristiche (per esempio: le posizioni degli oggetti possono essere definite trascinandoli sullo schermo).

Schermata dell'editor di oggetti Info

Editor Info
Il primo editor sviluppato e sperimentato in molti progetti produce oggetti di tipo Info, i più complessi, perchè particolarmente ricchi di contenuti diversificati (testi, immagini, animazioni, audio, personaggi parlanti, filmati, test, campi di input...) che possono essere presenti contemporaneamente nella stessa pagina.
Oltre all'inserimento degli elementi della pagina, l'editor consente di:
  • visualizzare selettivamente gli elementi, in una pagina che può essere molto affollata;
  • riprodurre l'animazione dell'intera pagina e dei singoli elementi;
  • inserire dati nei campi di input e/o rispondere ai test, verificandone l'esito.

Documentazione

Per scaricare il documento, clicca sul titolo.