ZoPark


Abstract

Scopo principale di questo progetto e' lo sviluppo di un sistema Open Source per fornire applicazioni di apprendimento per disabili facilmente modificabili e personalizzabili. Un educatore specializzato dovrebbe essere in grado di accedere ad un editor online dove poter specificare un insieme di parametri. Questi parametri vengono memorizzati sul sistema e sono accessibili all'educatore. Una volta che l'esercitazione e' completamente definita, puo' essere usata per educare un bambino e, con il consenso dell'educatore, puo' essere pubblicata e resa disponibile ad altri educatori e bambini. Ogni volta che un'esercitazione viene usata, i tempi di risposta e le percentuali di successo sono registrate ed inviate al server, per formare la base per un'analisi di tipo statistico.

Come funziona il tutto?

Specifiche

Un numero di funzionalita' e' definito all'interno del sistema:
Area utenti: e' la parte piu' importante del sistema. Qui gli educatori possono caricare le esercitazioni che hanno costruito ed usarle con i bambini. Questi esercizi possono essere usati in due modi diversi, sia online con un browser che scaricati ed usati offline. L'uso online e' incoraggiato, dal momento che permette una personalizzazione migliore e, principalmente, i risultati possono essere restituiti al server.
Area educatori: e' un'area ad accesso ristretto, dove soltanto gli educatori registrati possono entrare. La registrazione degli educatori dovrebbe essere gratuita, come accade sulla maggior parte dei servizi online gratuiti. Una forma di moderazione delle registrazioni dovrebbe essere possibile, ma non dovrebbe essere impostata come default. All'interno di quest'area, il sistema fornira' un editor per creare esercitazioni da una libreria di simboli espandibile, un'area dove registrare i bambini e tener traccia dei loro risultati, per scopi di monitoraggio da parte degli educatori.
Area di discussione: tre forum differenti. Un forum tecnico, dove gli sviluppatori possono interagire e portare avanti lo sviluppo delle varie parti del sistema. Un secondo gruppo di forum e' pensato per l'interazione tra sviluppatori ed educatori, dove gli educatori possono chiedere nuove feature ed influenzare lo sviluppo del sistema stesso. L'ultimo gruppo e' un'area di discussione tra educatori, per condividere idee e risultati, per mantenere il contatto all'interno della comunita' degli educatori.
Repository di documentazione: per ogni argomento in cui la comunita' mostra interesse, dovrebbe essere predisposto un mirror di documentazione. Deve essere fornito un modo per pubblicare manuali, documenti, tesi ed articoli, sia pubblici che ad accesso ristretto. I documenti prodotti dalla comunita' stessa devono essere pubblicati in forma commentabile da parte degli utenti registrati.
Area di sviluppo: usando gli strumenti standard per la collaborazione, quest'area tiene traccia delle versioni dei componenti e degli stadi di sviluppo del sistema.
Area di ricerca e gestione: quest'area permette agli amministratori di configurare ed assegnare ruoli agli utenti, di espandere il sistema con nuovi moduli e di abilitare nuove funzionalita'. Questa e' l'unica area che permette l'accesso diretto alle informazioni riguardanti educatori e bambini memorizzate all'interno del sistema, con il solo scopo di creare un insieme di dati per un'analisi statistica e per il monitoraggio dell'utenza.

Requisiti

L'intero sistema e' un'applicazione web, sviluppata principalmente con componenti Open Source. Deve essere usabile da piattaforme differenti (Windows, Linux, MacOS, ecc.) e con molti sistemi di input diversi, quali tastiere o visori speciali. Le esercitazioni devono essere personalizzabili sulla maggior parte dei loro aspetti. Il server deve essere portabile sui piu' comuni sistemi operativi e l'intero archivio deve essere facilmente gestibile. Un cambiamento nell'interfaccia non deve obbligare gli sviluppatori a cambiare l'intero backend del sistema.

Linee guida

Per risolvere i requisiti di portabilita' del server, la piattaforma di sviluppo scelta e' Zope. Permette una facile integrazione con i database e c'e' una buona disponibilita' di componenti gia' sviluppati. Permette una rapida pubblicazione di quasi ogni parte del sistema, incluso un editor di esercitazioni non visuale, utile per un primo prototipo dimostrativo. L'uso e l'integrazione di prodotti Zope pronti all'uso e' altamente incoraggiato per tutte le aree non visuali del sistema.
Come sistema di memorizzazione dei dati, per utenti, esercitazioni e qualsiasi altro dato utile, la scelta e' MySQL 4. Questa e' una decisione puramente tecnica, il database deve essere portabile su altri diversi DBMS, come PostgreSQL. Un cambio nel database deve essere di semplice implementazione, mentre un cambio nel motore del server e' necessariamente piu' difficile.
Come formato di scambio dei dati e' stato scelto XML. I dati dall'editor visuale di esercitazioni al server viaggiano in XML, cosi' fanno i dati mandati dal server alla workstation dell'utente. Il documento XML contiene tutte le variabili necessarie dalla singola esercitazione. Anche i risultati sono inviati al server come documento XML. L'uso del protocollo XML-RPC per la comunicazione client-server deve essere preso in considerazione.
Dal lato dell'utente, la scelta per consegnare contenuti multimediali facilmente programmabili per piattaforme eterogenee e' Macromedia Flash. Flash permette il caricamento dinamico di componenti, il parsing di XML e potenti funzioni di scripting. Supporta inoltre il playback di audio mp3 e la riproduzione da lettori standalone.

Disclaimer

Macromedia Flash, fino a quando le specifiche del formato SWF non saranno rese pubbliche, dovra' essere considerato una soluzione temporanea, fino a quando uno standard pubblico sara' sviluppato, reso disponibile e largamente diffuso. Per evitare problemi di usabilita', ogni funzione all'interno delle esercitazioni deve essere accessibile dalla tastiera. Tutte le esercitazioni sono sviluppate per essere usate con uno zoom 1:1, ogni questione relativa alla leggibilita' deve essere risolta dall'educatore all'interno dell'editor, durante la preparazione dell'esercitazione.