sviluppo e progettazione di una piattaforma e-learnig
Transcript
sviluppo e progettazione di una piattaforma e-learnig
UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell’Automazione DIPARTIMENTO DI ELETTRONICA, INTELLIGENZA ARTIFICIALE E TELECOMUNICAZIONI SVILUPPO E PROGETTAZIONE DI UNA PIATTAFORMA E-LEARNIG ACCESSIBILE MEDIANTE TECNOLOGIE TOUCH-SCREEN Laureando: Francesco GROTTA Relatore: Chiar.mo Prof Aldo Franco DRAGONI Anno accademico 2009/2010 "La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché.” Albert Einstein Vorrei dedicare queste poche righe a tutti coloro che mi hanno aiutato nell’arco della mia carriera universitaria e in particolare nello svolgimento di questo lavoro. Un ringraziamento speciale va alla mia famiglia e ai miei genitori perché senza i loro sforzi e sacrifici non sarei mai arrivato a questo punto della mia carriera. Un “grazie di cuore” va a Gian Maria, Emidio e Massimo, che oltre ad essere dei fantastici coinquilini, mi hanno supportato e, soprattutto, sopportato in questi ultimi anni universitari ad Ancona. Grazie mille per tutto il tempo passato insieme e per la disponibilità che avete dimostrato nei miei confronti. Un ringraziamento particolare va al professor Aldo Franco Dragoni, sempre disponibile e pronto in ogni momento a fornire consigli e chiarimenti. Ringraziamenti sono doverosi anche per Assunta Maria Vecchi, che mi ha dato l’occasione di scrivere questa tesi, ed affrontare un problema che troppo spesso viene sottovalutato nella nostra società. Vorrei ringraziare anche tutti i miei compagni di corso, e tutti coloro con cui ho passato il tempo libero e che mi hanno permesso di allontanare la monotonia del lavoro e dello studio, con indimenticabili partite multi-player al computer in notturna: i Micheli, Gionata, Francesco, Federico, Vittorio, Umberto, Stefano detto “Batman”, Andrea. Aggiungo a questo elenco anche tutti i miei coinquilini passati, senza di voi non sarei chi sono oggi: Emilio, Michelangelo, Rino, Fabrizio, Fabio, Tommaso, Luca e Andrea. Grazie infinite, senza tutti voi non ce l’avrei mai fatta. Un grazie particolare anche a tutti coloro che non ho citato per dimenticanza, perché tutte le persone che mi sono state vicine in tutti gli anni della mia vita sono importanti per me. Infine, un ringraziamento immenso ai miei nonni e agli zii, perché mi hanno sempre incoraggiato, hanno sempre creduto in me e mi hanno dato la speranza, la determinazione e la forza di arrivare fino alla fine; in particolare, un “immenso” grazie ed un bacione a nonna Raffaela e a nonno Nunzio dicendo loro: “Vi voglio bene”. Indice Introduzione 1 Capitolo 1: L’ACCESSIBILITÀ NELL’UNIVERSITÀ ITALIANA 6 1.1Disabilità ed Università 1.1.1 Human Computer Interaction 1.1.2 Interfacce MultiModali 1.2 Accessibilità ed Usabilità 1.3 Un po’ di cifre Capitolo 2: GLI STRUMENTI HARDWARE ESOFTWARE UTILIZZATI 7 10 12 17 18 26 2.1 L’idea Progettuale 2.2 Strumenti Hardware 2.2 Schermi Touch-screen 2.2.1 Touch-screen con tecnologia Resistiva 2.2.2 Touch-screen con tecnologia Capacitiva 2.2.3 Touch-screen con tecnologia Infrarossa 2.2.4 Touch-screen con tecnologia Onde Acustiche 2.2.5 Touch-screen con tecnologia Piezo-elettrica 2.2.6 Touch-screen “virtuali” 2.2.6.1 Low-Cost Multi-point Interactive Whiteboards Using the Wiimote 2.2.6.2 Libreria TouchLib 2.2.6.3 Progetti Paralleli 2.2.6.4 Altri progetti 2.3 Strumenti Software 2.3.1 Linguaggi Web Lato Server 2.3.1.1 Linguaggio Php 2.3.1.1.1 GD Graphics Library 2.3.1.2 MySql 2.3.2 Linguaggi Web Lato Server 2.3.2.1 Html 2.3.2.2 Css 2.3.2.3 JavaScript 2.3.2.3.1 MathJax 2.3.2.3.2 Pixastic 2.3.2.4 Latex 2.3.2.5 MathMl 27 28 29 30 30 31 32 33 34 34 Capitolo 3: SVILUPPO PIATTAFORMA: GESTIONE ESAMI 50 3.1 Inzio Sviluppo, la scelta ……….. 3.2 Database 3.2.1 Tabella “esami” 3.2.2 Tabella “Domande” 3.2.3 Tabella “Risposte” 3.2.4 Tabella “Imm_dom” 3.2.5 Tabella “Imm_risp” 3.2.6 Tabella “Salvataggi_esami” 35 36 36 37 37 37 38 39 40 40 41 42 44 45 47 48 51 53 54 56 57 58 60 61 3.2.7 Schema Database completo 3.3 Sviluppo Strumenti di Gestione 3.3.1 Home 3.3.2 Strumento Creazione Esame 3.3.2.1 Inserimento Dati Esame 3.3.2.2 Inserimento Domanda 3.3.2.2.1 Caricamento Immagini 3.3.2.2.2 Inserimento Formula 3.3.3 Strumento di Ricerca Esame 3.3.4 Strumento di Visualizzazione Esami 3.3.5 Strumento di Modifica Esame 3.3.5.1 Strumento Modifica domanda 3.3.5.2 Strumento di Cancellazione domanda 3.3.6 Strumento di Cancellazione Esame 3.3.7 Strumento di Stampa Esame 3.3.8 Strumento di Back-Up Esame 3.3.9 Strumento di Gestione Back-Up 3.3.10 Strumento di Ricerca Back-Up Capitolo 4 SVILUPPO PIATTAFORMA: INTERFACCIA ESAMI 4.1 Strumento per lo Svolgimento degli Esami 4.1.1 File Esame_.php 4.1.2 File Javascript esame_.js 4.1.3 Javascript funzioni.js 4.1.3.1 Azione MouseOver per schermi Touch 4.1.4 Regole di stile esame_.css 4.2 Interfacce 4.2.1 Interfaccia Base 4.2.2 Interfaccia Ipovedenti 4.2.3 Interfaccia “Simon” o Alternata 4.3 Risultati 4.3.1 Tabella Riepilogativa Esame 4.3.2 Tabella Riepilogativa Domande 4.3.3 Strumenti: Salvataggio esame 4.3.4 Strumenti: Stampa risultati 4.3.5 Strumento Stampa esame Capitolo 5: TEST DELLE INTERFACCE E CONCLUSIONI 5.1 Testing 5.1.1 Apple iPad 5.1.2 Hp TouchSmart TM2-2101SL 5.1.3 Notebook Acer Aspire 5024WLMi + Proiettore Acer X1161 per uso software “Project Wiimote controller” 5.1.4 Tablet Android 2.3 (emulazione) 5.2 Conclusioni e Possibili Sviluppi Bibliografia 64 65 65 66 66 67 70 73 75 76 79 81 83 84 85 86 89 90 92 93 94 97 99 100 102 103 103 106 110 112 113 114 115 115 116 118 118 119 122 124 127 130 133 3 Introduzione Introduzione 1 Introduzione “La potenza è nulla senza controllo…” recitava lo slogan di una nota marca di pneumatici1. Penso che tutti abbiano visto, almeno una volta, la famosa campagna pubblicitaria del 1994 di una nota azienda italiana di pneumatici che ritraeva il campione olimpionico dei 100 metri pronto a scattare dai blocchi di partenza calzando un paio di scarpe dai tacchi a spillo… La logica di questo pay-off pubblicitario è evidente: si può essere il migliore tra i campioni, ma non si aumentano le prestazioni che incrementano le proprie performance. La metafora rende bene l’idea: al di là dell’atleta, sono anche gli strumenti che utilizza, a determinarne o meno la vittoria. Lo stesso può dirsi per il mondo dell’informatica: troppo spesso non ci si rende conto che nel campo del software l’inferaccia è parte preponderante del tutto. Oltre all’impegno di un costante aggiornamento, se non si supporta l’utente a “comunicare” con la macchina, il software diviene inutile rilegato a pochi e privilegiati utenti e l’hardware capace di eseguire miliardi di calcoli al secondo, diviene improvvisamente inutile ed impotente. Con l’avvento del mouse e dei sistemi operativi a “finestre”, l’informatica cambia radicalmente: è accessibile alla massa. Dall’insieme di righe e comandi, si trasforma in un insieme armonico di forme geometriche, nasce l’interfaccia uomo-macchina, così come la concepiamo. Oggi siamo testimoni di una naturale evoluzione di quel passaggio, grazie all’avvento delle periferiche touch-screen, l’utente ora ha la possibilità di “toccare” i file utilizzando le dita come input, un esempio tra 1 http://www.it.pirelli.com/web/group/communication/adv-testimonials/default.page 2 Introduzione tanti è quello di poter far scorrere una pagina di un libro semplicemente sfiorando il monitor del nostro e-book, simulando quello che per secoli è un gesto considerato assolutamente normale o ad esempio, quello di scorrere la lista dei contatti in rubrica è diventato un gesto della realtà quotidiana. L’era del touch-screen è iniziata da alcuni anni e i campi di utilizzo ormai spaziano dall’informatica alle telecomunicazioni al mondo della fotografia digitale. Ma stiamo compiendo davvero un passo avanti? Mi sono soffermato molto su questa considerazione, e rendendomi conto che, se per molti toccare uno schermo è una cosa naturale, per altri può essere un modo tutto nuovo di poter comunicare e di affrontare un campo come quello informatico sino ad ora precluso. Mi riferisco a tutte quelle persone che trovano nell’impugnare un mouse e direzionarlo un’impresa ardua: penso a tutte quelle persone che, diversamente da me, trovano l’informatica un mondo sconosciuto e non uno strumento indispensabile di lavoro ed apprendimento. Tutte queste persone sono definite “diversamente abili”, di diverso hanno, però, solo il modo di affrontare alcuni problemi, che la maggior parte di noi non si pone nemmeno. Questa tesi vuole essere un punto di partenza per una nuova “esperienza informatica” per alcuni di loro. Come studente di Ingegneria Informatica ho cercato in questo mio progetto di accorciare la distanza tra l’uomo e la macchina. Il mio obiettivo principale è stato quello di avvicinare i miei colleghi universitari con problemi visivi e motori a utilizzare lo strumento informatico alla mia stessa stregua. Così come è utilizzato dal proprio vicino di banco e dal proprio collega universitario, annullando la diversificazione di esami che sino ad ora è stata messa in atto a causa dell’inaccessibilità di test e quiz. 3 Introduzione L’idea progettuale è nata dall’osservazione sul campo della metodica di preparazione degli esami svolta dalla responsabile Maria Assunta Vecchi dell’Ufficio Disabili affiancata dai tutor degli studenti, durante la mia attività di Part-Time. Per permettere lo svolgimento dell’esame erano approntate prove personalizzate per ogni studente attraverso l’utilizzo di tradizionali supporti cartacei. Tali metodiche operative comportavano un impegno, in termini di risorse umane e professionali, considerevole, e non sostenevano adeguatamente gli studenti all’accesso informatico. Ho pensato ad una semplificazione informatica per la predisposizione dei test degli esami per l’approccio diretto degli studenti delle diverse facoltà con il computer. Pertanto ho preso in esame la possibilità di sviluppare alcune interfacce che, con l’ausilio di periferiche di input touchscreen, consentono di sostenere lo stesso esame ad un qualunque candidato, sia esso disabile o meno. Nel primo capitolo di questo elaborato è descritta la situazione della disabilità nelle Università italiane. Sono inoltre presentati i monitoraggi ministeriali con le percentuali riguardanti l’incidenza di queste problematiche sulla popolazione universitaria italiana. Nel secondo capitolo si tracceranno gli strumenti software sviluppati durante questo progetto. Si presenteranno inoltre tutti i tipi di input Touchscreen. Nel terzo capitolo si sviluppa la piattaforma Web della gestione degli esami e le scelte progettuali operate. Nel quarto capitolo sono presentate le interfacce sviluppate in collaborazione con l’Ufficio Disabili, le problematiche adottate e le soluzioni 4 Introduzione approntate. Nel capitolo quinto si espongono le simulazioni di test elaborate per la verifica dell’usabilità della piattaforma. Nelle conclusioni sono indicati i possibili scenari di sviluppo futuro. 5 Capitolo 1 Gli strumenti hardware e software per disabili visivi Capitolo 1 L’ACCESSIBILITÀ NELL’UNIVERSITÀ ITALIANA 6 Capitolo 1 Gli strumenti hardware e software per disabili visivi 1.1 Disabilità ed Università Nei dibattiti sulle nuove tecnologie utilizzate in ambito educativo solo alcuni anni fa si diffidava sull’utilità del computer in tale ambito valutandone i pro e i contro1. Oggi, invece, sono riconosciute come strumento strategico il cui utilizzo risulta un elemento importantissimo per il sistema universitario e formativo in genere, il problema è, semmai, quello di offrire una diffusione mirata delle nuove tecnologie atta a migliorare il supporto allo studio e all’accrescimento culturale. Il tema dell’integrazione richiama il concetto di progettazione universale e rientra all’interno di un filone di riflessioni che mirano a determinare le condizioni per la piena usabilità da parte di tutti delle risorse fruibili in un determinato ambiente. La personalizzazione dei software, del sistema operativo a software dedicati all’integrazione scolastica, dovrebbero essere al centro di discussioni e ambiti progettuali ad ampio raggio, al fine di radicare nella progettazione, nello sviluppo e nella realizzazione di ogni applicativo l’idea dell’accessibilità universale alle risorse. Le tecnologie assistive sono una grande possibilità di evoluzione che si configurano come strumenti sempre più efficaci in una società nella quale le informazioni, le relazioni e la cultura sono veicolati prioritariamente attraverso canali tecnologici quali Internet o Tv. Tali tecnologie ormai hanno raggiunto un ruolo di rilevanza crescente anche nell’istruzione formale. Ad esempio uno studente con disabilità motoria agli arti superiori riesce, attraverso un sistema ausilio a scrivere e a disegnare utilizzando il computer come strumento che gli consente l’esercizio del diritto allo studio, superando così la problematica che gli impedisce di reggere con la mano la penna. 1 1. K. W. Richmond, Il computer nell’educazione. Pro e contro, Armando Editore, Roma 1985, p. 35. 7 Capitolo 1 Gli strumenti hardware e software per disabili visivi Le tecnologie per l’integrazione sono strumenti hardware e software che permettono l’accesso al computer all’utente con disabilità. L’importanza di tale accesso non risiede solo nel fatto che anche studenti disabili possono svolgere attività al computer come tutti gli altri loro colleghi, ma nel fatto che il computer, attrezzato con periferiche hardware specifiche e software ottimizzati, consente effettivamente a questi di realizzare al meglio delle loro possibilità l’attività di apprendimento che è in diritto di tutti garantito dalla nostra costituzione. In questo senso, il computer è una tecnologia assistiva, ossia una tecnologia che migliora la “qualità di Vita” della persona. Sta a noi tutti garantire il diritto allo studio, il diritto all’accesso universale alle informazioni. Il «sistema ausilio» è uno strumento di adattamento della persona all’ambiente, una risorsa tecnologica per compensare il deficit di funzionamento, al fine di avvicinare la persona stessa alle altre. La relazione è “bilaterale”. Come in un qualunque tipo di comunicazione occorre che tra l’emittente e il ricevente sia presente un canale di trasmissione riconosciuto da entrambi. Lo studente diversamente abile necessita di uno strumento che supporti la sua comunicazione con la società di riferimento. L’ausilio tecnologico funziona da canale fra la persona che acquisisce opportunità di comunicazione e l’ambiente. L’interazione con l’ambiente tramite il sistema di ausilio permette un continuo feedback. 8 Capitolo 1 Gli strumenti hardware e software per disabili visivi In altre parole il sistema ausilio è il ponte di congiunzione fra colui che vuole comunicare e l’ambiente con cui desidera interagire. L’uso delle tecnologie assistive può consentire (per esempio a soggetti con capacità motoria limitata degli arti superiori) performance adeguate ai bisogni di base per l’apprendimento e per la messa in atto di attività che permettono migliori livelli di partecipazione2. Noi tutti sappiamo che per raggiungere un obiettivo necessitiamo della capacità di svolgere un’azione. Tali capacità vengono equilibrate e contrapposte dalle barriere o dagli ostacoli con cui siamo impegnati a confrontarci. Le tecnologie informatiche sono viste in questo ambito come una delle migliori occasioni che uno studente diversamente abile possiede per aumentare le proprie capacità, superando gli ostacoli che incontra e raggiungendo il proprio obiettivo con migliori performance; obiettivo che non avrebbe raggiunto senza il sostegno di ausilio. Tutto questo porta ad una soddisfazione personale, ad un incitamento auto-emotivo di grande importanza terapeutica e psicologica, a tutto giovamento della “qualità della Vita”, sia del singolo sia del contesto sociale di cui fa parte. FATTORI CAPACITÀ Supporti PERFORMANCE Ostacoli 2 S. Besio, Tecnologie assistive per la disabilità, Pensa Multimedia, Lecce 2005 9 Capitolo 1 Gli strumenti hardware e software per disabili visivi 1.1.1 Human Computer Interaction La Human Computer Interaction (HCI), nata da poco più di dieci anni, si occupa delle problematiche connesse alla ricerca e allo sviluppo delle interfacce uomo-macchina cercando utili strategie e suggerimenti nel tentativo di rendere possibile un’efficace interazione fra l’utente ed il computer. Alla ricerca contribuiscono molte discipline. Tra queste la psicologia cognitiva che ha orientato i suoi studi verso l’uomo, inteso come elaboratore di informazioni ed esecutore di compiti. Gli psicologi cognitivisti, infatti, si sono concentrati sulla capacità dell’uomo di apprendere l’uso dei sistemi, sul trasferimento di queste conoscenze, sulla rappresentazione mentale dei sistemi e sulle prestazioni dell’uomo nell’interazione uomo-computer. Un’altra area di ricerca che ha influenzato lo sviluppo della HCI è l’information science and technology. La tecnologia ha avuto profondi effetti nel modo in cui l’informazione può essere immagazzinata, consultata e utilizzata e, di conseguenza, sull’organizzazione dell’ambiente di lavoro. Anche la linguistica offre il suo contributo all’HCI, poiché le macchine per quanto veloci e in grado di processare miliardi, e quelle più potenti miliardi di miliardi, di informazioni ogni secondo, sono, e resteranno ancora per lungo tempo in ambito domestico, niente altro che delle calcolatrici , grandi, costose e colorate calcolatrici che programmiamo per interfacciarci in maniera sempre più semplice per accedere alle funzioni a cui noi stessi le destiniamo. Risulta fondamentale, quindi, individuare i modelli migliore di comunicazione per la facilitazione di tale interazione in ambito linguistico. Il campo della HCI è talmente ampio da coinvolgere anche molte altre 10 Capitolo 1 Gli strumenti hardware e software per disabili visivi discipline, tra cui l’usability e l’ergonomia. Quest’ultima apporta il suo contributo all’HCI attraverso la determinazione delle definizioni del design dei sistemi e suggerendo specifiche linee guida e standard da osservare in fase di progettazione. I computer sono diventati strumenti che sono utilizzati non solo da esperti, ma da una vasta gamma di utenti per scopi lavorativi, ludici ed educativi. Questo fenomeno ha indotto i progettisti a studiare sistemi informatici che siano in grado di adattarsi ai diversi tipi di bisogni che un utente può esprimere. Affinché un computer diventi un prodotto di consumo dovrebbe essere ben progettato, questo non significa giungere fino ad una progettazione personalizzata per il singolo utente, ma andare incontro ai bisogni e alle capacità di classi di fruitori, attraverso l’utilizzo di periferiche hardware comuni, con personalizzazioni di massima. Gli obiettivi della Human Computer Interaction sono quelli di costruire sistemi computerizzati che siano utili, sicuri, usabili e funzionali. Nonostante non esista una teoria generale e unificata della HCI c’è, comunque, un principio fondamentale che la riguarda: le persone utilizzano il computer per svolgere dei compiti (il termine deve essere interpretato in modo generico e non strettamente connesso al lavoro o allo studio). Quindi nel processo sono coinvolti principalmente tre “elementi”: l’uomo, il computer e l’attività da svolgere. Il sistema deve supportare sempre l’utente nel portate a termine i suoi compiti e questo evidenzia un quarto elemento: l’usabilità. Se il sistema pone l’utente in difficoltà nello svolgimento del suo compito, questo significa che esso che non ha un buon grado di usabilità. 11 Capitolo 1 Gli strumenti hardware e software per disabili visivi 1.1.2 Interfacce MultiModali L’evoluzione che si vuole raggiungere non riguarda esclusivamente la capacità di un computer di svolgere determinate operazioni, piuttosto il tipo di interazione che coinvolge l’utente e il sistema. A tale scopo è sorta una nuova area di studio della Human Computer Interaction: quella sulle interfacce multimodali il cui obiettivo è quello di consentire una migliore comunicazione tra l’uomo e il computer attraverso una sorta di antropomorfizzazione di quest’ultimo. Si parla di multi modalità quando un qualsiasi tipo di interazione coinvolge più di un canale percettivo (o input di comunicazione). L’esempio più eclatante è senz’altro la comunicazione umana, durante una conversazione vengono stimolati più sensi contemporaneamente: l’udito, la vista, il tatto ed anche l’olfatto. A questo punto è utile fare una precisazione: distinguere la multi modalità dalla multimedialità: la prima è usata specificatamente per riferirsi alle modalità di input dell’interazione, mentre 12 Capitolo 1 Gli strumenti hardware e software per disabili visivi la multimedialità sottolinea la presenza contemporanea di più meccanismi di output, come video e audio. Rimanendo nell’ambito della Human Computer Interaction, una definizione di multimodalità è la seguente: la comunicazione con sistemi di computer attraverso le modalità di input percettivi comunemente utilizzate dall’uomo per interagire con il mondo. Quindi non più ristretta all’uso della tastiera o del mouse, ma anche attraverso la parola, i gesti o la scrittura (in questo caso non si intende la videoscrittura, ovvero mediata da una tastiera, ma piuttosto la tradizionale scrittura a mano). La comunicazione monomediale è generalmente imposta agli utenti dalle restrizioni tecnologiche. Si pensi al telefono ad esempio: non tutti i generi di informazioni sono facili da veicolare e assimilare quando la parola è l’unica modalità a disposizione. Anche l’interfaccia grafica di Windows, tanto comune e impiegata dalla maggior parte degli utilizzatori di PC, subisce le restrizioni imposte dal fatto che solitamente lo schermo, la tastiera e il mouse sono gli unici dispositivi disponibili. L’utilizzo del computer necessita della conoscenza e della capacità di utilizzare una serie di strumenti sia hardware sia software. Gli utenti più esperti spesso si stupiscono davanti ai neofiti che si trovano impacciati nel manovrare in modo coordinato uno strumento tanto comune come il mouse, o che non hanno idea di come si raggiungano e ottengano le informazioni sulla disponibilità di un volo senza dover telefonare ad un’agenzia di viaggi. Chi utilizza un computer da tempo quasi non si rende più conto che per fare uso di tutti questi strumenti occorre servirsi di un preciso standard di comunicazione tra utente e macchina, standard che è tipicamente costituito sia da comandi inseriti in un linguaggio formale profondamente 13 Capitolo 1 Gli strumenti hardware e software per disabili visivi strutturato, sia da azioni tipo “drag and drop”, ovvero “seleziona e rilascia”, gestite dal mouse. Attualmente queste modalità sono molto evolute e continuano a perfezionarsi, ma comunque non raggiungono i livelli del linguaggio verbale naturale. Ciò non significa che sia necessario soppiantare totalmente gli attuali sistemi di interazione, anche perché studi in merito hanno evidenziato l’efficacia non solo del linguaggio sia scritto sia parlato, ma anche delle indicazioni grafiche e delle selezioni via mouse che si effettuano direttamente sul video, piuttosto, sembra adeguata una comunicazione a più livelli, a seconda dell’ambiente in cui ci si trova Se si riuscissero davvero a compensare i limiti che attualmente vigono sulla tecnologia, molti servizi sarebbero molto più semplici da fruire e di conseguenza molto più attraenti per un pubblico più ampio. A ottenere vantaggi da un miglioramento della qualità dell’interazione fra uomo e macchina, non sarebbero soltanto le persone poco esperte che riuscirebbero ad utilizzare il computer con più facilità, ma, soprattutto, coloro che ad ora sono ancora esclusi da questa iterazione: le persone disabili. Queste, pur conoscendo molto bene gli standard attuali, potrebbero avere problematiche di tipo fisico, o di tipo psicologico che impediscono loro di rapportarsi correttamente con il computer. L’utilizzo del linguaggio naturale abbatterebbe questi ostacoli, ma la ricerca è ancora lontana dall’utilizzo di tale tipo di interfaccia. Bisogna nel frattempo sopperire a questa carenza, e individuare soluzioni, più o meno generali, in grado di garantire l’interazione uomo-macchina ad un maggior numero di persone possibile, al fine di garantire l’equità dei diritti individuali. Tale necessità è venuta ad incontrarsi con un altro “bisogno” di multi modalità, accresciuto dalla tendenza attuale che tenta di miniaturizzare tutti 14 Capitolo 1 Gli strumenti hardware e software per disabili visivi i sistemi computerizzati (computer, palmari, telefoni cellulari etc.): basti pensare ai computer, con schermi sempre più piccoli e più comodi da trasportare: la tastiera, il classico sistema di input, dovrà trovare un valido sostituto in grado di offrire le stesse funzioni in dimensioni molto ridotte. Tale periferica di input è stata individuata nell’uso del “touch-screen”. Il tatto è tra i nostri sensi quello più utilizzato per esplorare, conoscere ed interagire con il mondo esterno. L’azione del contatto materno, sin dall’antichità, è sempre stata definita strumento terapeutico, poiché, contrariamente alla visione, nella forma mentis umana tutto ciò che si può toccare è reale e tutto ciò che è reale può essere usato per interagire con il mondo esterno. La multimodalità è un elemento tipico della flessibilità delle nuove tecnologie. La flessibilità delle nuove tecnologie consiste nel fatto che esse si fondano su un sistema che può acquisire la forma di svariati codici e nel quale, perciò, l’immissione di dati può avvenire nei modi più svariati. L’esempio più evidente è quello della tastiera. Noi utilizziamo una tastiera fisica che invia al programma di elaborazione testi un codice alfanumerico. In realtà, lo sappiamo bene, ogni lettera che vediamo sullo schermo è la riconversione in codice alfanumerico di una stringa binaria creata precedentemente da tastiera. Che per scrivere si utilizzi una tastiera reale o una tastiera emulata su schermo, non pone nessun problema al software, poiché il software ignora che tipo di periferica stiamo utilizzando: l’unica cosa importante è la stringa di codice binario che gli viene passata. Allo stesso modo, possiamo liberamente scegliere se quella stringa di codice debba produrre una lettera sullo schermo oppure debba essere riconvertita non in una lettera visibile ma in un suono udibile, come avviene con la 15 Capitolo 1 Gli strumenti hardware e software per disabili visivi sintesi vocale che trasforma quelle stringhe di codice binario in un codice sonoro. In altre parole le nuove tecnologie consentono di convertire ogni informazione in un codice che può essere creato attraverso i più diversi sistemi d’input, permettendo di riconvertire quel medesimo codice nei modi previsti dai più svariati sistemi di produzione, ovvero l’output. Flavio Fogarolo descrive chiaramente che cosa debba intendersi con multimodalità del documento elettronico: «Nei testi tradizionali il contenuto è strettamente connesso al supporto su cui è scritto o stampato… Nel documento elettronico è diverso: il contenuto è una cosa, il modo in cui ci appare e attraverso il quale lo possiamo leggere un’altra»3. La multimodalità è quindi la capacità di un documento di poter essere fruito secondo modalità diverse, dunque, attraverso le varie opportunità sensoriali disponibili all’essere umano per l’acquisizione delle informazioni: la vista, l’udito e il tatto. Certo non basterà il documento elettronico per tale varietà di fruizione, essa potrà avvenire se il documento elettronico sarà associato a specifiche periferiche di input e di output che stimoleranno l’uno o l’altro senso, oppure più di uno insieme. Da qui si deduce il primo importante accorgimento nell’uso del computer con studenti con disabilità: dovrà essere individuata una periferica adeguata, poi impiegata con software mirati tali, quindi, da avere le caratteristiche più adatte (nell’ambito dei feedback, dei livelli di difficoltà, ecc.) allo sviluppo cognitivo dell’alunno.4 3 4 F. Fogarolo, Il computer di sostegno, Erickson, Trento 2007, p. 56. S. Besio, Tecnologie assistive per la disabilità, cit., p. 112. 16 Capitolo 1 Gli strumenti hardware e software per disabili visivi 1.2 Accessibilità ed Usabilità Con il termine accessibilità, in informatica, si intende la capacità di un dispositivo, di un servizio o di una risorsa di essere fruibile con facilità da una qualsiasi categoria di utenti. Dal 1993 esiste a livello europeo la normativa ISO 9241, che definisce l’usabilità: “il grado in cui un prodotto può essere usato da particolari utenti per raggiungere certi obiettivi con efficacia, efficienza e soddisfazione in uno specifico contesto d’uso”. I termini sono comunemente associati alla possibilità anche per persone con ridotta o impedita capacità sensoriale, motoria, o psichica, di fruire dei sistemi informatici e delle risorse software a disposizione della collettività. Il problema dell’accessibilità riguarda svariati tipi di utenti, che si differenziano per le problematiche che devono affrontare: chi non può vedere, sentire, muoversi, usare una tastiera o un mouse chi ha difficoltà a leggere e a capire un testo chi ha uno schermo bianco e nero, o un dispositivo "solo testo", o una connessione molto lenta chi non comprende la lingua in cui è scritto un sito chi si trova in un ambiente dove non può leggere e sentire bene chi ha un browser molto vecchio o un particolare sistema operativo. Quindi il tema dell’accessibilità e dell’usabilità di risorse informatiche non riguarda solo le persone con handicap ma ciascuno di noi. Chiunque può trovarsi in una situazione di difficoltà. Non è raro imbattersi in siti il cui design è in netto contrasto con le più semplici regole per la fruizione dei contenuti. È quindi compito del programmatore individuare il giusto compromesso tra la cura estetica e facilità di fruizione dei contenuti. 17 Capitolo 1 Gli strumenti hardware e software per disabili visivi Al fine di aiutare i designer ed i programmatori, esistono ormai da diversi anni standard e linee guida che definiscono l'accessibilità di un contenuto multimediale: le Wcag 2.0. Non verranno analizzate nel dettaglio le Wcag 2.0, ma si proverà ad andare oltre, ipotizzando, ed attuando, un’ambientazione non affrontata da tale regolamento: l’uso delle periferiche touch-screen. 1.3 Un po’ di cifre L’integrazione sociale delle persone con disabilità, obiettivo riconosciuto e perseguito dalle politiche nazionali ed Europee, trova un suo passaggio fondamentale nell’accesso all’istruzione. L’Italia ha pienamente riconosciuto l’integrazione scolastica degli alunni con disabilità nella “scuola normale” già dagli anni '70, assumendo un ruolo leader, anche in ambito europeo, nelle politiche di istruzione e formazione. Questa area tematica presenta dati su: i livelli di istruzione; la consistenza degli studenti con disabilità iscritti all'Università per tipologia di disabilità, per distribuzione regionale, per ateneo e facoltà. Tali dati comprendono esclusivamente gli anni accademici tra 2001-02 ed il 2006-07, in quanto nè presso il Ministero dell’Università e delle Ricerca, nè presso l’Istat, nè in altre banche dati nazionali, sono presenti monitoraggi ad ampio spettro più recenti. Si aggiunge, inoltre, che anche la segreteria dell’Università Politecnica delle Marche, non è stata in grado di fornire alcun dato aggiornato sulle inscrizioni di utenti disabili. Le fonti dei dati sono: Indagine "Condizioni di salute e ricorso ai servizi sanitari" per la sezione relativa ai livelli di istruzione 18 Capitolo 1 Gli strumenti hardware e software per disabili visivi Sistema Informativo del Ministero dell'Istruzione, dell'Università e della Ricerca (SIMPI) per tutte le altre sezioni Banca dati MUR-CINECA (Ministero dell'Università e della Ricerca Consorzio Interuniversitario) Considerazioni generali: I dati sugli studenti con disabilità iscritti all'Università statale presentano un trend crescente. Infatti dall'anno accademico 2000-01 all'anno accademico 2006-07 gli studenti con disabilità passano da 4.813 a 11.407 di iscritti; in particolare nel quinquennio considerato si è avuto un incremento relativo pari al 137% (MUR-CINECA, 2007). La distribuzione per tipologia di disabilità mostra che gli studenti con disabilità motorie costituiscono la percentuale maggiore (27,5%) degli iscritti disabili all'anno accademico 2006-07, mentre le percentuali minori si riscontrano nei casi di studenti con difficoltà mentali (3,5%) e con dislessia (0,9%) (MUR-CINECA, 2007). Definizione utilizzata nel monitoraggio per disabilità: Sono stati considerati studenti disabili delle Università statali gli studenti che hanno un certificato attestante un'invalidità maggiore del 66%. Tali studenti sono distinti in sei macro-aree: cecità e menomazioni visive, sordità e menomazioni uditive, dislessia e difficoltà di linguaggio, disabilità motorie permanenti e provvisorie, difficoltà mentali e altro. 19 Capitolo 1 Gli strumenti hardware e software per disabili visivi Serie storica degli studenti con disabilità iscritti all'Università statale per tipologia di disabilità. Valori percentuali. Tipologia di disabilità Anno accademico 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 Cecità 9,5 9,7 8,8 8,4 8,1 8,3 Sordità 6,2 6,4 5,8 5,9 5,6 5,5 Dislessia 1,6 1,3 0,8 0,7 0,5 0,9 Disabilità motorie 30,9 33 32,2 30,8 28,4 27,5 Difficoltà mentali 2,3 3 3,1 3,2 3,2 3,5 Altro 49,5 46,6 49,2 51 54,2 54,3 Totale 100 100 100 100 100 100 60 Serie storica Immatricolazioni nell'Università statale per tipologia di disabilità. Valori percentuali. Cecità 50 Sordità 40 Dislessia 30 Disabilità motorie 20 Difficoltà mentali 10 Altro 0 2001-2002 2002-2003 2003-2004 2004-2005 2005-2006 2006-2007 Come risulta visibile dalla tabella, durante gli anni accademici presi in esame le proporzioni tra le varie disabilità degli immatricolati rimangono 20 Capitolo 1 Gli strumenti hardware e software per disabili visivi pressoché invariate. Serie storica Immatricolazioni nell'Università statale per tipologia di disabilità. Valori assoluti. Anno accademico Tipologia di disabilità 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 Cecità 567 677 713 764 823 945 Sordità 368 449 470 542 567 630 Dislessia 95 92 63 68 47 107 Disabilità motorie 1.837 2.302 2.601 2.814 2.871 3.132 Difficoltà mentali 134 207 249 290 326 401 Altro 2.946 3.253 3.970 4.656 5.492 6.192 Totale 5.947 6.980 8.066 9.134 10.126 11.407 7000 Serie storica Immatricolazioni nell'Università statale per tipologia di disabilità. Valori assoluti. Cecità 6000 Sordità 5000 Dislessia 4000 3000 Disabilità motorie 2000 Difficoltà mentali 1000 Altro 0 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 Come si evince dalla tabella, ma in modo più marcato dal grafico, 21 Capitolo 1 Gli strumenti hardware e software per disabili visivi durante gli anni accademici presi in esame nonostante le proporzioni tra le varie disabilità rimangono pressoché invariate, il numero assoluto di studenti diplomati diversamente abili che si inscrive all’università statale quasi raddoppia nel giro di soli 5 anni, passando da circa 6000 unità, a oltre 11400. Tale aumento di studenti è presente in tutte le macro-aree d’interesse, ad esclusione della dislessia, che complessivamente non incrementa in maniere sostanziale il numero di immatricolati. L’analisi di tale dato pone in evidenza che in tutti i campi d’interesse si è riusciti ad attuare politiche assistive importanti con risultati eccezionali. Le cause di questo incremento sono da ricercare sia in una maggiore consapevolezza delle problematiche sociali, con la conseguente attivazione di politiche mirate, sia nella rapida e generale adozione di attrezzature tecnologiche di supporto alla lezione e all’apprendimento per questa categoria svantaggiata di studenti. Nell’area della disabilità dislessica, evidentemente, gli sforzi messi in campo sino all’anno 2005-06 non sono risultati sufficienti, evidenziati dal declino delle immatricolazioni che risulta dimezzato nel giro di 4 anni. Si pone comunque in evidenza che nell’anno accademico 2006-07 il numero di immatricolati afflitto da dislessia è più che raddoppiato rispetto all’anno precedente. Non si hanno ulteriori dati per commentare quest’aumento repentino di immatricolazioni, pertanto, non si può affermare se si tratta di una anomalia statistica, o l’effetto dell’attuazione di politiche sociali mirate. 22 Capitolo 1 Gli strumenti hardware e software per disabili visivi Serie storica degli studenti con disabilità iscritti all'Università statale per tipologia di disabilità. Valori Percentuali. Anno accademico Tipologia di disabilità 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 2007-08 Facoltà di Agraria 1,2 1,4 1,2 1,4 1,5 1,4 1,5 Facoltà di Architettura 2,7 2,8 2,9 2,6 2,3 2,4 2,2 Facoltà di Economia 10 10,3 9,1 9,5 9,2 9,4 8,7 Facoltà di Farmacia Facoltà di Giurisprudenza Facoltà di Ingegneria Facoltà di Lettere e filosofia Facoltà di Lingue e lettere straniere Facoltà di Medicina e chirurgia Facoltà di Medicina veterinaria Facoltà di Psicologia Facoltà di Scienze matematiche, fisiche e naturali Facoltà di Scienze politiche Facoltà di Scienze statistiche Facoltà di Sociologia Facoltà di Scienze della comunicazione 1,5 1,7 1,8 1,9 2,1 2,2 2,2 18,8 17,5 17,2 16,2 15,4 15 14,6 7,7 7,5 8 7,3 7,7 7,4 7 21,1 18,6 19,1 20,4 20,1 18,7 18,8 2,7 2,6 2,1 2,5 2,5 2,4 2,6 4,3 4,2 4,9 5,1 5,2 5,4 5,7 0,3 0,3 0,4 0,4 0,5 0,6 0,6 2,9 3,7 3,5 3,3 3,7 3,8 3,6 8,2 8,1 8,6 8,3 8,6 8,7 9,6 8,5 8,6 8,4 8,2 8,1 8,3 8 7,2 7,7 8 7,6 7,3 7,8 8,1 0,3 0,2 0,3 0,3 0,3 0,3 0,3 ND ND 0,9 1 0,9 0,8 0,9 1,2 3 2,5 2,9 3,4 4,5 5,1 Altre facoltà 23 Capitolo 1 Gli strumenti hardware e software per disabili visivi 25 20 15 10 5 0 2000-01 2001-02 2002-03 2003-04 2004-05 2005-06 2006-07 Facoltà di Economia Facoltà di Giurisprudenza Facoltà di Ingegneria Facoltà di Medicina e chirurgia Facoltà di Lettere e filosofia Facoltà di Scienze politiche Il quadro delle preferenza della Facoltà risulta perlopiù stabile. Da notare solo un lento declino delle immatricolazione nella facoltà di Giurisprudenza. Non si hanno ulteriori informazioni per commentare questa “perdita di appeal” del 4%. 24 Capitolo 1 Gli strumenti hardware e software per disabili visivi Studenti con disabilità immatricolati presso l'Università Politecnica delle Marche negli anni accademici 2000-07 2000-01 2001-02 2001-03 2003-04 2004-05 2005-06 2006-07 Valori Assoluti 28 26 46 45 54 62 66 Percentuale su studenti immatricolati 2,1 1,9 3,3 3,1 3,6 4,2 5,5 70 6 60 5 50 4 40 Valori Assoluti 3 30 2 20 10 1 0 0 Percentuale su studenti immatricolati 2000-01 2001-02 2001-03 2003-04 2004-05 2005-06 2006-07 Prima dalla tabella e dal grafico poi è possibile individuare una importantissima crescita delle immatricolazioni presso l’Università delle Marche negli anni accademici compresi in questo monitoraggio. Il numero di studenti immatricolati nell’arco di 7 anni risulta triplicato, come la percentuale rispetto al totale degli studenti iscritti ogni anno. Questo sta a dimostrare che l’Università, negli anni passati, ha sviluppato un’attenta politica sociale, attuando misure efficaci di supporto ed assistenza. Solo poche altre università italiane possono vantare un simile risultato in così poco tempo. 25 Capitolo 2 Gli strumenti hardware e software utilizzati Capitolo 2 GLI STRUMENTI HARDWARE E SOFTWARE UTILIZZATI 26 Capitolo 2 Gli strumenti hardware e software utilizzati 2.1 L’idea Progettuale L’idea alla base di questo progetto è quella di facilitare l’accesso agli esami a quiz agli utenti disabili e, in particolare, per utenti con difficoltà visive: gli ipovedenti. Tale tipo di test risulta banale per un normo-dotato, basti pensare che essi sono radicati nella vita di tutti i giorni. Ad esempio il quotidiano uso del bancomat attraverso un monitor touch-screen e semplici menù a scelte multiple, ci guidano verso l’operazione che vogliamo compiere in modo semplice e veloce. Un disabile, sia esso ipovedente o dislessico, è precluso da tale interfaccia, dovendo ricorrere, ove presenti, all’ausilio del supporto audio, attraverso la presa per le cuffie presenti in alcuni bancomat. In questo lavoro si è cercato di ricreare lo stesso risultato con l’obiettivo di far sentire lo studente a proprio agio: porlo, cioè, nella condizione di sostenere un esame eliminando alla radice eventuali discriminazioni, o facilitazioni, che potrebbero nascere nella creazione di esami strutturati “ad hoc” dai professori. La piattaforma è stata concepita per l’utilizzo sia dei normo-dotati sia dei diversamente abili agendo esclusivamente sull’interfaccia di esame, e, quindi, non sui contenuti disciplinari, ma sulla sua sola visualizzazione. In questo modo sono garantiti due dei parametri fondamentali dell’esame scritto a quiz: l’equità della difficoltà, data dall’uguaglianza delle domande e delle risposte, e la totale equivalenza dei risultati, frutto della corrispondenza totale dei test. L’unica differenza tra i due esami svolti 27 Capitolo 2 Gli strumenti hardware e software utilizzati risulterà il grado di conoscenza dimostrato dallo studente da cui si evincerà il numero di risposte corrette che, quindi, sarà tradotto in valutazione oggettiva. Nei capitoli successivi si evidenzieranno le difficoltà progettuali, le soluzioni individuate e, nel capitolo finale, saranno indicati i possibili sviluppi di tale approccio. 2.2 Strumenti Hardware Come base dell’interfaccia uomo-macchina si è deciso di adoperare l’approccio touch-screen. Tale approccio risulta molto più naturale per un neofita informatico, di quanto possa essere l’utilizzo del mouse. A questa costatazione si aggiunge la considerazione che un approccio di questo tipo può aiutare ad annullare le difficoltà cognitive e motorie che alcuni studenti possono dimostrare nell’utilizzo del computer, ci si rende subito conto che tale tipo d’input risulta il più adatto per l’obiettivo che si vuole perseguire. E’ inoltre possibile dimostrare che tale tipo di interfaccia risulta avere un tempo di apprendimento di utilizzo nullo uguale a zero, al contrario di interfacce standard basate sull’utilizzo del mouse, che richiedono una coordinazione oculo-manuale che, in talune circostanze può risultare non immediato accompagnato ad un processo di apprendimento più o meno lungo, a seconda del soggetto e delle disabilità da cui è affetto. E’ comunque doveroso segnalare che lo strumento che si va a presentare, data la fascia di utenza cui si rivolge, dovrà essere sempre accompagnato dal supporto di un 28 Capitolo 2 Gli strumenti hardware e software utilizzati tutor o di un responsabile, sia come supporto tecnico in caso di difficoltà nell’utilizzo dell’interfaccia, sia come supporto emotivo, nel caso lo studente abbia necessità di una figura “amica” nei momenti di stress. Nella ricerca sono state individuate diverse periferiche hardware, o misto hardware-software, che hanno come risultato l’input “tattile” che si vuole raggiungere. Di seguito sarà fornito un elenco di quelle note, e meno note, elencandone caratteristiche e peculiarità di ognuna. È evidente, e lo sarà ancor di più alla fine di questo elenco che non risulta importante come queste periferiche funzionino, risulta invece fondamentale la facilità con cui l’utente si troverà ad interagire con la macchina. 2.2 Schermi Touch-screen Gli schermi tattili o "touch-screen" sono dispositivi d’input per sistemi digitali che utilizzano una rete di sensori posta sulla superficie. Essi permettono di usare come dispositivo di puntamento il dito dell'utente, o un suo prolungamento. Infatti "toccando" questi schermi in corrispondenza di un'icona, di un link ipertestuale, o di un menù, si attivano le funzioni o le applicazioni desiderate, grazie alla rilevazione della posizione su schermo del dito. Qualunque sia la tecnologia utilizzata è possibile sempre individuare tre elementi principali: il gruppo sensore, il controller e il driver software. Il gruppo sensore rileva il tocco dell'utente e lo invia sotto forma d’impulso elettrico, digitale o analogico secondo le tecnologie, al controller. Il controller elabora il segnale ricevuto dai sensori e invia le informazioni ottenute al driver, tramite un cablaggio esterno che può essere una porta 29 Capitolo 2 Gli strumenti hardware e software utilizzati usb o seriale. Il driver software si occupa di interfacciare la periferica con il sistema operativo. Al sistema operativo questi passaggi sono del tutto trasparenti e, pertanto, esso non è a conoscenza del tipo d’interfaccia touchscreen utilizzata, ma solo che essa è installata. 2.2.1 Touch-screen con tecnologia Resistiva Tale tecnologia risulta la meno recente tra le tecnologie touch arrivate al grande pubblico, infatti, i primi prodotti commerciali risalgono al 1995. Gli schermi touch-screen realizzati con la tecnologia resistiva sono schermi tattili composti da due strati sovrapposti di materiale plastico, ognuno ricoperto da una patina conduttrice sulla superficie interna. Gli strati interni conduttivi sono separati da punti separatori distribuiti regolarmente sull’area attiva. La pressione del tocco del dito causa un contatto elettrico fornendo al controller tensioni analogiche proporzionali alle coordinate orizzontali e verticali. Le tensioni vengono convertite dal controller in segnali digitali e le informazioni così elaborate vengono inviate al driver, che le trasforma in coordinate. Questa tecnologia ha il vantaggio di avere prezzi economici e buona precisione, ma gli schermi risultano molto scuri e soggetta a graffi a causa del materiale di contatto che deve essere necessariamente un pennino. L’implementazione multi-touch risulta di non facile integrazione in quanto risulterebbe inefficiente. 2.2.2 Touch-screen con tecnologia Capacitiva Gli schermi touch-screen realizzati con tecnologia capacitiva sono costituiti da un pannello di materiale vetroso ricoperto da uno strato di 30 Capitolo 2 Gli strumenti hardware e software utilizzati ossido di metallo trasparente situato sulla superficie rivolta all’utente. Viene applicata una tensione ai quattro angoli in modo da creare un campo elettrico uniforme su tutta la superficie dello schermo. Al tocco del dito sulla superficie capacitiva viene prodotta una variazione di campo elettrico, le coordinate del punto di contatto vengono determinate dal controller, misurando la caduta di tensione sulle quattro sorgenti. Questa tecnologia ha il vantaggio di avere grande precisione, schermi molto trasparenti, e la possibilità di utilizzare le dita della mano come input. Al contrario, tale tecnologia non funziona se l’utente indossa guanti, necessita di ricalibrazioni frequenti e ha costo elevato. Il vantaggio peculiare, che la sta facendo apprezzare in più campi, è la possibilità, in abbinamento a controller evoluti, di supportare input multi-touch, garantendo una migliore esperienza dell’utente, grazie al riconoscimento di gesti. Di questa tecnologia esistono diverse varianti, secondo il produttore di schermi o d’interfaccia che si va a considerare. Esse si differenziano per numero di sensori, accuratezza e supporto di un numero sempre crescente d’input contemporanei. 2.2.3 Touch-screen Tramite tecnologia Infrarossi Gli schermi touch-screen realizzati con tecnologia ad infrarossi sono costituiti da un vetro circondato da una serie di diodi ad emissione luminosa e di sensori fototransistor posti uno di fronte all’altro inseriti nella cornice dello schermo. Vengono emesse sequenze di impulsi ad infrarosso dai led in modo da formare un’invisibile rete di raggi luminosi davanti alla superficie del pannello. Quando questa maglia viene interrotta da un 31 Capitolo 2 Gli strumenti hardware e software utilizzati oggetto solido il controller identifica le coppie di sensori oscurati estrapolando la posizione del contatto. Tale tecnologia risulta essere quella più anziana tra le tecnologie proposte e tutt’ora quasi del tutto in disuso. Questa tecnologia ha il vantaggio di offrire schermi molto trasparenti poiché non sono presenti elementi davanti allo schermo. Risulta essere insensibile alle abrasioni dello schermo, in quanto i sensori sono posizionati al bordo dello stesso. Tra gli svantaggi si segnala un’elevata imprecisione in quanto direttamente proporzionale al numero di fototransistor: una maggiore risoluzione richiede un maggior numero di sensori con un aumento esponenziale dei costi per inserire un maggior numero di elementi in uno stesso spazio. Oltretutto annovera una scarsa velocità di risposta al tocco, dettata dalla frequenza degli impulsi. Il controllo multitouch risulta possibile solo con l’utilizzo di avanzati controller 2.2.4 Touch-screen con tecnologia Onde Acustiche Gli schermi touch-screen realizzati con tecnologia onde acustiche superficiali sono formati da lastre in puro vetro, dotati di trasduttori che emettono e ricevono due fasci di onde acustiche superficiali non udibili dall'uomo (un’orizzontale e l'altra verticale). Il dito dell'utente toccando il vetro ne assorbe una porzione di segnale, la cui variazione viene analizzata dal controller che individua le coordinate del punto di contatto. Questa tecnologia ha il vantaggio di offrire schermi molto trasparenti, elevata precisione e una stabilità di calibrazione eccellente. Lo svantaggio è il costo degli schermi e gli stessi non sono adatti all'ambiente esterno o al contatto con liquidi. 32 Capitolo 2 Gli strumenti hardware e software utilizzati Una variante di questa tecnologia ad impulsi sonoro risulta essere un brevetto tutto italiano del Politecnico di Milano. Essa utilizza comuni microfoni posizionati agli angoli ed ai lati dello schermo che registrano le onde di pressione che si vengono a creare al contatto tra il dito e la superficie. Questo approccio innovativo risulta essere estremamente economico ed efficiente, garantito dall’uso di comuni microfoni, ma ma si contrappone come svantaggio una elevata capacità di calcolo necessaria per l’elaborazione dei segnali acustici tesi ad individuare le coordinate del punto di contatto sulla superficie. Inoltre, essendo una tecnologia relativamente recente e allo stato di prototipo, non esistono applicazioni commerciali, e non si hanno informazioni circa le capacità di riconoscimento multi-touch della tecnologia. 2.2.5 Touch-screen con tecnologia Piezo-elettrica Gli schermi touch-screen realizzati con tecnologia piezo-elettrica sono formati da una cornice in alluminio che contiene quattro sensori piezoelettrici posti in corrispondenza dei quattro angoli dello schermo. Quando si esercita una pressione sul vetro (che è libero di muoversi) questo trasmette la pressione ai quattro sensori, determinando lo sbilanciamento di un ponte; il segnale analogico risultante viene analizzato dal controller che determina le coordinate del punto di contatto. Questa tecnologia ha il vantaggio di offrire schermi molto trasparenti, non risulta sensibile ai liquidi e ed abrasioni dello schermo e, soprattutto, di essere indifferente all’utilizzo di dita o supporti di altra natura. Tra gli svantaggi si annovera l’elevata pressione di tocco necessaria e, conseguentemente, al fine di 33 Capitolo 2 Gli strumenti hardware e software utilizzati garantire una sufficiente protezione allo schermo, l’utilizzo di materiali resistenti, che portano ad una maggiorazione del costo degli schermi stessi. 2.2.6 Touch-screen “virtuali” Si è voluto, in questo paragrafo, inserire alcune tecnologie emergenti, poco diffuse, ma dall’alto potenziale innovativo, grazie all’utilizzo di periferiche e sensori di uso comune, unite a software sviluppati “ad hoc”. In questa sede si analizzeranno 2 progetti gratuiti che si ritengono molto promettenti e di facile implementazione: “Low-Cost Multi-point Interactive Whiteboards Using the Wiimote” di Johnny Chung Lee “TouchLib” del Nuigroup 2.2.6.1 Low-Cost Multi-point Interactive Whiteboards Using the Wiimote di Chung Lee Il primo progetto utilizza il controller della console Nintendo Wii, il Wiimote è utilizzato insieme ad un software di riconoscimento di sorgenti infrarosse sviluppato dallo stesso Chung Lee, oltre che ad un led da pochi centesimi di euro. Il controller WiiMote si trasforma in un ricevitore di segnale capace di riconoscere sino a 4 input luminosi contemporanei, tali informazioni vengono inviate tramite bluetooth al software di controllo, il quale analizza le immagini e restituisce la posizione sullo schermo del puntatore creando, a bassissimo costo, un effetto touch-screen con capacità multi-touch. L’innovazione di questo progetto risulta essere di rilievo, considerate le potenziali applicazioni: lavagne luminose, semplici 34 Capitolo 2 Gli strumenti hardware e software utilizzati proiezioni su muro o tela acquisiscono capacità multi-touch con una spesa di pochi Euro, necessari per l’acquisto del Wiimote e della controller bluetooth. Il software di controllo, disponibile gratuitamente sul sito del progetto, non richiede particolari impostazioni, se non i parametri iniziali ad ogni utilizzo, per delimitare l’area dello schermo o della superficie che si vuole utilizzare. 2.2.6.2 Libreria TouchLib Il secondo progetto si basa sull’utilizzo di una comune webcam come controller ricevente degli impulsi luminosi. La webcam, alla quale è stato rimosso il filtro Ir sostituito da un filtro per la luce visibile (un comune pezzo di pellicola fotografica), è utilizzata come ricevente dei raggi infrarossi. I dati vengono poi trasmessi al software di controllo che individua la posizione degli input e li trasmette al sistema operativo. Il progetto non è molto dissimile dall’idea di Chung Lee, ma l’utilizzo di una comune webcam abbatte i costi di implementazione, sino a scendere a 10€15€. L’efficienza del sistema è direttamente proporzionale alla risoluzione massima della webcam usata, poiché una maggiore risoluzione permette una più accurata localizzazione della sorgente luminosa. Anche questo progetto è del tutto gratuito, poiché frutto del lavoro di un gruppo di appassionati, inoltre il sito di riferimento offre un consistente numero di documenti e articoli che spiegano come modificare le webcam e come ottimizzare la disposizione delle stesse in base al monitor o alla superficie adoperata. Tale libreria ha di recente acquistato il supporto agli input multitouch rendendola una delle più importanti ed apprezzate librerie 35 Capitolo 2 Gli strumenti hardware e software utilizzati OpeSource attualmente disponibili per questo tipo di interfacce uomomacchina. 2.2.6.3 Progetti Paralleli Entrambi i progetti prevedono una variante che sfrutta l’effetto di rifrazione della luce su alcune superfici. Utilizzando una sorgente luminosa infrarossa che circonda la periferica ricevente, rispettivamente il controller Wiimote o la webcam, ed una superficie riflettente posta all’estremità di uno o più dita, la luce riflessa in corrispondenza delle dita verrà riconosciuta dal software di controllo delle periferiche, ricreando l’effetto touch sopra descritto. 2.2.6.4 Altri progetti A titolo di nota si inseriscono alcuni progetti che si basano sul riconoscimento dei movimento delle mani o del corpo, di oggetti o di colori, attraverso l’utilizzo di comuni webcam, poiché ritenuti importanti dal punto di vista dell’interazione uomo-macchina, con possibili applicazioni per l’interazione di utenti disabili con apparecchiature elettroniche: EyeSight (Disponibile anche in ambito Mobile) CamSpace (Innovativo per riconoscimento oggetti e colori) OpenCV (Libreria multipiattaforma orientata alla computer vision) Microsoft Kinect (Periferica Hardware per riconoscimento del movimento del corpo umano) 36 Capitolo 2 Gli strumenti hardware e software utilizzati 2.3 Strumenti Software Nel corso dello sviluppo di questa piattaforma si è scelto di utilizzare diversi linguaggi di programmazione Web OpenSource disponibili. 2.3.1 Linguaggi Web Lato Server 2.3.1.1 Linguaggio Php PHP (acronimo di "PHP: Hypertext reprocessor", preprocessore di ipertesti) è un linguaggio di programmazione general-purpose (per svariati utilizzi) con licenza OpenSource, concepito per la programmazione Web ovvero la realizzazione di pagine web dinamiche, disponibile per la maggior parte delle piattaforme software presenti sul mercato. Attualmente è utilizzato principalmente per sviluppare applicazioni web lato server, ma può essere usato anche per scrivere script o applicazioni standalone con interfaccia grafica. L'elaborazione di codice PHP sul server produce codice HTML che viene inviato al browser dell'utente che ne fa richiesta. Il vantaggio dell'uso di PHP, e di altri linguaggi Web come ASP e .NET, e che rispetto al classico HTML risulta essere presente la possibilità di creare pagine dinamiche che interagiscono attivamente con l'utente e che modificano le informazioni visualizzate dall'utente in base agli input ricevuti dall'utente stesso. Questa idea di programmazione consente, quindi, di creare una pagina base, 37 Capitolo 2 Gli strumenti hardware e software utilizzati ovvero una struttura, il cui contenuto viene caricato o modificato a seconda delle necessità e a seconda dei dati che si vogliono visualizzare. Esempi tipici di applicazioni web dinamiche sono i siti di e-commerce, che necessitano l’interazione con l'utente, con il fine di adeguarsi alle sue preferenze. I siti web considerati 'dinamici' consentono all'utente di personalizzare l'impaginazione, le informazioni mostrate, o di aggiornare in maniera efficiente (dinamica appunto) i contenuti. 2.3.1.1.1 GD Graphics Library La Graphics Library è una libreria scritta originariamente da Thomas Boutell e altri programmatori indipendenti, adoperata per la manipolazione dinamica di immagini. Scritta in linguaggio C, è in grado di generare immagini GIF, JPEG e PNG. Tale libreria nel corso del tempo si è evoluta, ed attualmente è possibile creare immagini composte da linee, archi, testo (utilizzando i font), altre immagini e colori multipli. Nella versione 2.0 è stato aggiunto il colore per le immagini Truecolor, il canale alfa (per la trasparenza), il resampling dell'immagine e altre funzioni, cha la rendono una delle librerie OpenSource più compete in ambito multimediale. Essendo scritta in C risulta implementata in numerosi linguaggi di programmazione tra i quali Php, Perl o il Pascal. Esiste, inoltre, uno strumento chiamato “fly“che consente di accedere alle librerie GD da qualsiasi linguaggio attraverso chiamate da linea di comando rendendola virtualmente compatibile con qualunque linguaggio di programmazione. Il suo maggior impiego oggigiorno è quello abbinato a Php; infatti, dalla versione 4.3 del Php è stata introdotta una versione modificata della libreria originale, che include funzioni aggiuntive, tali da semplificare 38 Capitolo 2 Gli strumenti hardware e software utilizzati notevolmente il loro utilizzo. Tramite del semplice codice Php è possibile creare dal nulla numerosi tipi d’immagini, o modificarne di esistenti. L'utilità di questa libreria è enorme, basti pensare alla possibilità di creare grafici o report in tempo reale, analizzando i dati da un database. Esistono, inoltre, varie librerie che, appoggiandosi alla libreria GD, forniscono funzioni aggiuntive e semplificate per la creazione di grafici. 2.3.1.2 MySql MySQL è un “Relational database management system (RDBMS)”, ovvero un contenitore di dati messi in relazioni tra loro tramite l’uso di tabelle, colonne e righe. Questo “magazzino di dati”, è definito relazionale poiché si basa sulle relazioni fra i dati, i quali vengono presentati in forma tabellare, che sono legate tra loro da una “relazione”. È possibile affermare che: ogni tabella contiene i dati relativi ad una entità; le colonne della tabella rappresentano i campi, ovvero le proprietà o attribute dell'entità; le righe della tabella esprimono le ricorrenze dell'entità. Al fine di accedere a questi dati più velocemente, è stato introdotto il linguaggio SQL (Structured Query Language), che consente di operare sui dati e , quindi, sulle tabelle e sulle relazioni, tramite l’uso di regole formali e strutturate che permettono selezioni di dati, anche complessi, mettendo in relazioni anche molte tabelle contemporaneamente. Con la versione 5.0 tale database ha acquisito capacità di memorizzazione e di interrogazioni notevoli, al pari di prodotti commerciali, mantenendo però sempre la sua 39 Capitolo 2 Gli strumenti hardware e software utilizzati connotazione gratuita che ne ha garantito, sino ad ora, un enorme successo. Data la sua diffusione, esso risulta disponibile per la maggior parte delle piattaforme software disponibili sul mercato. 2.3.2 Linguaggi Web Lato Server Per tecnologie client, si intendono tutte quelle applicazioni che non sono installate sul server remoto in cui è memorizzato l’esame, ma sono attive sul computer da cui si visualizza la pagina. Esse sono già utilizzabili da qualunque pc, su cui sia installato un browser aggiornato, non necessitano pertanto di ulteriori operazioni di installazione o configurazione da parte dell’utente. 2.3.2.1 Html L'HyperText Markup Language (HTML) (linguaggio di descrizione per ipertesti) è un linguaggio usato per controllare la struttura dei documenti ipertestuali disponibili nel World Wide Web . Tutti I siti web sono scritti o vengono trasformati in codice Html, codice che interpretato dal web browser genera la pagina desiderata sullo schermo del computer, o del palmare o da qualunque dispositivo multimediale datoato di browser. L'HTML non è un linguaggio di programmazione vero e proprio, ma un linguaggio di markup, descrive, cioè, le modalità di impaginazione, formattazione e visualizzazione grafica, ovvero del layout, del contenuto, testuale e multimediale, presente nella pagina web. Esso non supporta nessuna gestione di istruzioni, di variabili, di sequenze o di strutture di 40 Capitolo 2 Gli strumenti hardware e software utilizzati comando, e pertanto è affiancato da altri linguaggi sviluppati per questo scopo. L'HTML è un linguaggio di pubblico dominio la cui sintassi è stabilita dal World Wide Web Consortium (W3C), ed è basato su un altro linguaggio avente scopi più generici, l'SGML. È stato sviluppato alla fine degli anni ottanta da Tim Berners-Lee al CERN di Ginevra. Nel il 1994 ha avuto una forte diffusione in seguito ai primi utilizzi commerciali del web. In questo momento l'ultima relase disponibile è la versione 4.01, resa pubblica alla fine del 1999. Nel 2007 è ricominciata l'attività di specifica con la definizione, ancora in corso, della versione 5, attualmente in uno stato avanzato di sviluppo tale da essere già supportato dalle versioni più recenti di molti browser. 2.3.2.2 Css Il linguaggio Cascading Style Sheets (CSS) (Fogli di stile a cascata) è uno dei fondamentali linguaggi standard del W3C. La sua storia risulta essere parallela rispetto a quella dell’HTML, di cui risulta essere l'ideale complemento. Da sempre, infatti, l’HTML essendo un linguaggio strutturale alieno da qualunque scopo attinente la presentazione di un documento, necessita di definire delle regole per la visualizzazione dei contenuti. Per questo obiettivo, ovvero definire l'aspetto visuale ed estetico ad una pagina, si utilizzano i fogli di stile, o CSS. L'ideale perseguito nello sviluppo web è quello di separare il contenuto dalla presentazione, ovvero i dati da come vengono rappresentati. La prima specifica ufficiale di CSS risale alla fine del 1996. Nel maggio 41 Capitolo 2 Gli strumenti hardware e software utilizzati 1998 è stata la volta della seconda versione: CSS2. La seconda versione introdusse nuove caratteristiche, valori di proprietà e definizioni per stili non canonici come quelli rivolti alla stampa o alla definizione di contenuti audio, oltre all’introduzione della possibilità di creare fogli di stile separati per i dispositivi portatili, o per browser diversi. Tale implementazione si rese necessaria per regolamentare e standardizzare alcune regole che i programmatori ritenevano necessarie per la visualizzazione delle proprie pagine e che i browser avevano introdotto ognuno con una propria sintassi. Il successo fu assicurato da una veloce implementazione del linguaggio nei browser più diffusi, Internet Explorer 5 e Opera 7, e Firefox, che spinsero i programmatori web ed i web designer a sfruttare appieno il nuovo standard. E' attualmente allo stato di “Working Draft” la nuova specifica CSS3, queste dovrebbero presentare soluzioni per la correzione di alcuni bug di interpretazione di Internet Explorer, miglioramenti nella gestione degli sfondi e una soluzione per realizzare I bordi arrotondati la cui realizzazione affligge i web-designer da tempo, oltre all’introduzione di nuovi effetti grafici avanzati. 2.3.2.3 JavaScript JavaScript è un linguaggio di scripting orientato agli oggetti comunemente usato nei siti web. Fu originariamente sviluppato da Brendan Eich della Netscape Communications con il nome di Mocha e successivamente di LiveScript, ma in seguito è stato rinominato "JavaScript". Il linguaggio attuale è la versione 1.5, divenuto standard nel dicembre del 1999. 42 Capitolo 2 Gli strumenti hardware e software utilizzati Non esiste una vera relazione tra Java e JavaScript; le loro somiglianze sono soprattutto nella sintassi (derivata in entrambi dei casi dal linguaggio C); tuttavia le loro semantiche sono abbastanza diverse e, in particolare i loro “object model” non hanno relazione e sono ampiamente incompatibili. La caratteristica principale di JavaScript è quella di essere un linguaggio interpretato. Il codice non viene compilato bensì è presente un interprete all’interno del browser che esegue riga per riga quanto definito nel codice. JavaScript presenta, quindi, tutte le caratteristiche di un normale linguaggio interpretato e di conseguenza i suoi vantaggi e svantaggi, ma con una sintassi analoga a quella di un linguaggio compilato, quindi con la possibilità di utilizzare funzionalità tipiche dei linguaggi di programmazione ad alto livello (strutture di controllo, cicli, etc.) con la potenzialità di definire strutture più complesse, vicine a quelle adottate nei normali linguaggi “object oriented” (creazione di prototipi, istanziazione di oggetti, costruttori, etc…). Altro aspetto interessante è che il JavaScript è una tecnologia che opera esclusivamente lato client, liberando quindi il server da carichi inutili. Ciò è un vantaggio in quanto anche con la presenza di script particolarmente complessi il server non verrebbe sovraccaricato. Di contro, nel caso di script che presentino una considerevole mole di dati, il tempo per lo scaricamento risulta maggiore e la velocità di esecuzione risulta dipendente dal computer in uso. Molti siti web usano la tecnologia JavaScript lato client per creare complesse applicazioni web dinamiche. Un uso principale del Javascript basato su web è la scrittura di piccole funzioni integrate nelle pagine HTML che interagiscono con il DOM (Document Object Model) del browser per 43 Capitolo 2 Gli strumenti hardware e software utilizzati compiere determinate azioni non possibili con altri linguaggi, ad esempio controllare i valori nei campi di input, nascondere o visualizzare determinati elementi, modificando di volta in volta la pagina, a seconda degli input dell’utente. Gli script in questo linguaggio risultano ormai indispensabili nella fruizione dei contenuto “Web 2.0”, dove le informazioni, i dati e la grafica vengono aggiornati dinamicamente ed in modo del tutto trasparente per l’utente. 2.3.2.3.1 MathJax MathJax è una libreria open source scritta in JavaScript il cui compito è quello di fornire un motore grafico per la visualizzazione di equazioni scritte in codice LaTeX o il linguaggio MathML, in modo da essere compatibili in tutti i browser moderni, comprese le versioni mobile. Punto di forza di questa libreria è la totale trasparenza da parte dell’utente delle equazioni, che vengono tradotte in modo completamente automatico, così che il lettore non si accorga di nulla. Essendo uno script Javascript non necessita di installazione, o di plug-in, risultando, come già detto, compatibile con la maggior parte dei browser disponibili. Esistono due modalità di visualizzazione delle formule definite: “Html-Css” e “MathMl”. La prima fa uso di immagini, scaricate dal server, che vengono opportunamente formattate ed allineate per formare l’equazione desiderata. Nella seconda modalità, nel caso il browser supporti il linguaggio MathMl, il compito di renderizzare l’equazione è lasciato al motore interno del browser di visualizzazione delle pagine, mentre lo script si occupa della sola 44 Capitolo 2 Gli strumenti hardware e software utilizzati traduzione dal linguaggio LaTex a MathMl. Sono disponibili alcune funzionalità aggiuntive per l’accessibilità delle formule, come lo zoom delle stesse, o caratteri ottimizzati. A tale scopo è importante sottolineare la presenza di ottimizzazioni dello script per il plugin di Internet Explorer “MathPlayer”, tale da garantire un più completo supporto agli standard web accessibili. Le Api JavaScript sviluppate dal gruppo di programmatori interessati da questo progetto rende agevole, se non immediato, l’utilizzo di MathJax con blog, wiki, pagine web e altre applicazioni web, sono infatti disponibili già le informazioni per l’installazione di MathJax nelle piattaforme web popolari come Wordpress, MediaWiki, Drupal, e molte altre ancora, nonostante la versione completa 1.0 risulti disponibile pubblicamente soltanto nell’Agosto 2010. 2.3.2.3.2 Pixastic Pixastic è una libreria JavaScript libreria, rilasciata con licenza MIT e sviluppata da Jacob Seidelin, che permette la manipolazione e il rendering dinamico delle immagini sfruttando l'elemento HTML5 Canvas, permettendo di applicare filtri semplici e complessi ad intere immagini o a singole parti. Gli effetti supportati sono numerosi e spaziano dall’effetto “Blur” o sfocato, all’inversione di colore, desaturazione, regolazione del contrasto, saturazione e molte altre. Pixastic opera direttamente sui singoli pixel agendo, grazie ai metodi getImageData() e putImageData() disponibili nelle specifiche preliminari dell’HTML5. A causa delle specifiche ancora non complete non tutti i browser supportano tale libreria. I metodi sono attualmente completamente 45 Capitolo 2 Gli strumenti hardware e software utilizzati supportati solo da Firefox dalla versione 2.0, Opera dalla versione 9.5, Safari e Chrome nelle versioni più recenti. Internet Explorer nella sua versione stabile ancora non supporta pienamente le specifiche HTML5, pertanto alcuni effetti non risultano disponibili, ed altri risultano simulati attraverso filtri proprietari tramite funzioni ActiveX. Le immagini vengono scomposte in pixel e questi vengono modificati uno alla volta, per poi essere ricomposti successivamente. Al termine di questo processo l’oggetto ricomposto viene così convertito in un “Canvas” e sostituito nella pagina originale, acquisendo tutte le proprietà, le classi e l’id dell’immagine originale. Durante lo sviluppo di questo progetto si è utilizzata questa libreria per accedere alle formule matematiche visualizzate tramite immagini al fine di modificare il colore dei font utilizzati. A tale scopo si è sviluppato uno script apposito, per modificare il colore di ogni singolo pixel automaticamente. Tale script per la colorazione automatica delle formule sarà integrato nelle prossime versioni della libreria MathJax in quanto, come già detto, i metodi HTML5 necessari risultano, attualmente, compatibili solo con le versioni aggiornate dei browser, non ancora, quindi, molto diffuse. Nella Figura 1 è possibile vedere un utilizzo di questa libreria su una singola parte di un immagini, attraverso l’applicazione del filtro “Inserse”. 46 Capitolo 2 Gli strumenti hardware e software utilizzati Figura 1 - Esempio uso Filtro su Parte di una Immagine 2.3.2.4 Latex LaTeX è un linguaggio di markup usato per la preparazione di testi basato sul programma di composizione tipografica TEX. Utilizzato soprattutto da scienziati, ingegneri e accademici, fornisce funzioni di desktop publishing programmabili e mezzi per l'automazione della maggior parte della composizione tipografica, inclusa la numerazione. LaTeX venne creato nel 1985 da Leslie Lamport, ma tutt’ora risulta sviluppato da da Frank Mittelbach ed è divenuto il principale metodo di utilizzo di TEX per la redazione di documenti. La versione attuale è denominata LaTeX2ε. Oltre a documenti stampabili può produrre presentazioni della stessa resa grafica grazie alla classe Beamer. LaTeX ha trovato un'ampia diffusione nel mondo accademico, grazie all'ottima gestione dell'impaginazione delle formule matematiche. È distribuito con una licenza di OpenSource e questo l’ha reso disponibile per 47 Capitolo 2 Gli strumenti hardware e software utilizzati la maggior parte delle architetture presenti sul mercato. 2.3.2.5 MathMl MathML, basato sulle specifiche XML, è un linguaggio per la codifica di matematica che è stato standardizzato dal World Wide Web Consortium (W3C) nel 1998. Le specifiche della versione 1.01 del formato furono rilasciate nel giugno del 1999. La prima versione 2.0, o potremmo definirla la 2.0a apparve nel febbraio 2001. Nell'ottobre 2003 fu pubblicata dal W3C la seconda edizione di MathML versione 2.0, nota anche com 2.0b, in cui furono riviste alcune definizioni. Nell’ottobre del 2010 è stata rilasciata la versione 3.0, che risulta l’ultima versione stabile disponibile. Sono disponibili molti programmi in grado di convertire espressioni matematiche verso MathML o che permettono la visualizzazione e l’utilizzo di questo linguaggio. Nonostante risulti essere uno standard da ormai 10 anni, anche, esso non risulta ancora diffuso, nella sua versione iniziale, a causa dell’adozione tardiva nei browser. Attualmente solo Firefox offre il pieno supporto integrato al linguaggio nella versione 2.0b, mentre Opera e Safari offrono un supporto solo parziale. Internet Explorer e Google Chrome non offrono nessun supporto, anche se per il primo esiste un plug-in di terze parti che risolve questa incompatibilità. MathML è supportato inoltre dai software per l'ufficio come OpenOffice, Microsoft Word e LibreOffice, da software matematici come Mathematica che lo rendono comunque un valido strumento in campo scientifico internazionale. Un esempio di codice è sotto riportato. Anche se ad un primo approccio questo linguaggio potrà 48 Capitolo 2 Gli strumenti hardware e software utilizzati sembrare prolisso e complesso, basandosi sul linguaggio Xml, esso è di facile interpretazione, tanto che, contrariamente ad altri linguaggi, risulta compatibile con screen-reader OpenSoucer come Festival. Un esempio di scrittura LaTex e MathMl Traduzione in codice LaTex: x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} Traduzione in linguaggio MathMl: <math> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>& plusmn;</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mi>a</mi> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mi>a</mi> </mrow> </mfrac> </mrow> </math> 49 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Capitolo 3 SVILUPPO PIATTAFORMA: GESTIONE ESAMI 50 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.1 Inzio Sviluppo, la scelta ... All’inizio dello sviluppo di questa piattaforma, ci si è trovati davanti ad una scelta progettuale importante: scegliere se creare una piattaforma software “ex-novo”, o di utilizzare una piattaforma già esistente OpenSource. Entrambe le possibilità avevano dei vantaggi e degli svantaggi. Analizzando i vantaggi che la prima scelta avrebbe comportato ci si è subito resi conto che un uno strumento “nuovo” sarebbe risultato di facile integrazione in siti già esistenti, per ciò che concerne la parte grafica, infatti, utilizzando una grafica minimale e facendo un uso esclusivo di regole Css, l’integrazione in altre piattaforme delle pagine di gestione sarebbe risultata immediata. Altra considerazione è stata quella della semplicità di utilizzo; sviluppando una nuova piattaforma si sarebbe avuta la possibilità di disegnare i controlli e l’interfaccia di gestione, ponendo come punto cardine la facilità di utilizzo; è stato infatti considerato, che dato l’uso saltuario che si dovrà fare di tale strumento, è fondamentale mettere come punto cardine durante la progettazione, la necessità di avere un tempo di apprendimento pari a zero. Tale obiettivo è stato fondamentale nella scelta, poiché per una più rapida adozione, si sarebbe dovuto scegliere lo strumento più semplice da utilizzare, così tale da sollecitare gli operatori ad adoperarlo. Altro vantaggio preso in considerazione nella creazione di una nuova 51 Capitolo 3 Sviluppo Piattaforma: Gestione Esami piattaforma è leggerezza dello strumento, ovvero, la possibilità di inserire solo strumenti realmente utili e indispensabili per lo scopo che si vuole raggiungere, evitando di integrare codice superfluo. Infine è stata considerata la necessità di una profonda conoscenza della struttura del codice al fine di poter integrare al meglio gli strumenti specifici che si sono sviluppati e integrati. L’unico svantaggio notato della creazione di un nuoto tool è stato il maggior impegno e lo sforzo indispensabile per lo sviluppo prima della parte gestionale e, successivamente, delle interfacce. Tale scelta avrebbe richiesto una maggiore quantità di tempo per la messa a punto e la correzione di tutti i bug che si sarebbero presentati. I vantaggi della seconda possibilità sono anch’essi evidenti, vale a dire, la possibilità di avere a disposizione un tool, sviluppato da programmatori sparsi in tutto il globo, con i vantaggi di una comunità attiva nella correzione di bug e di un forum disponibile per il supporto, l’installazione e l’ottimizzazione, senza escludere piattaforma, e della disponibilità il costante aggiornamento della di una documentazione ufficiale di utilizzo. Tra gli svantaggi di questa scelta si è identificato il problema della necessità di comprendere il funzionamento della piattaforma ed imparare la struttura del codice per di modificarlo, per ampliarlo, e renderlo funzionale alle esigenze del progetto. Inoltre, essendo uno strumento più complesso, si è pensato che ai professori per il suo utilizzo, che si ricorda dover essere occasionale, sarebbe stato necessario un periodo di apprendimento non brevissimo. Analizzando e confrontando le due opzioni, la scelta è ricaduta sulla prima opzione. Creare uno strumento nuovo, avrebbe dato l’opportunità di sviluppare una piattaforma di semplice utilizzo, essenziale, ma al tempo 52 Capitolo 3 Sviluppo Piattaforma: Gestione Esami stesso completa di tutte le funzionalità base, e con un veloce apprendimento di utilizzo. Il tempo di sviluppo e debugging, si sarebbe sicuramente equiparato al tempo di apprendimento della struttura del codice e di modifica del tool open source che si sarebbe utilizzate nel secondo caso. Una volta individuata la strada da seguire, sono stati individuati gli strumenti che sono già stati presentati nel capitolo precedente, il database MySql, per la memorizzazione delle informazioni, il linguaggio Php, per lo sviluppo della piattaforma e tutti gli altri strumenti presentati nel Capito II di quest’elaborato. La scelta è caduta principalmente su questi tool, poichè disponibili con licenza Open source GNU GPL (General Public License), che assicura all'utente libertà di utilizzo e modifica. A questi strumenti si aggiunge l’utilizzo del software OpenSource PhpMyAdmin, scritto in linguaggio Php. Tale programma non è altro che un'interfaccia grafica che permette di amministrare il database MySql, di manipolare il database, senza intervenire da linea di comando, ma usufruendo di una comoda e funzionale interfaccia grafica. 3.2 Database Si è deciso di sviluppare lo schema del database nel modo più semplice possibile, inserendo esclusivamente le informazioni essenziali dell’esame, quali le generalità dello studente, i dati del test, le domande e le risposte. Analizzeremo di seguito nel dettaglio ogni singola tabella del database. 53 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.2.1 Tabella “esami” Nella tabella “Esami”, come è possibile vedere dallo schema, sono presenti gli attributi fondamentali per individuare l’esame e lo studente. Figura 1 - Schema Tabella "Esami" Risulta immediato l’utilizzo dei campi. Si analizzerà comunque nel dettaglio ogni attributo: Cod_Esam: fa riferimento al codice univoco che viene assegnato dal sistema all’esame. Esso risulta essere l’associazione della matricola, del nome dell’esame, e del nome del professore, esclusi gli spazi. Es: Matricola: 1020001 Nome Esame: Analisi 1 Nome Professore: Roberto Rossi Il codice dell’esame sarà: 1020001Analisi1RobertoRossi 54 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Tale stringa è necessaria al fine di evitare la possibilità che vengano a crearsi 2 esami uguali, poiché è impossibile che due studenti abbiano la stessa matricola. L’unico caso possibile di collisione di dati, deriva dall’ipotesi di uno studente che ripete lo stesso esame dopo essere stato bocciato; in questo caso dovrà essere cura del professore, o chi per lui, modificare il test esistente, o cancellarlo e crearne uno nuovo. Nome, Cognome: fanno riferimento al nome e al cognome dello studente. Sono campi obbligatori, e quindi non possono essere nulli. Matricola: fa riferimento alla matricola dello studente. È un campo obbligatorio, e quindi non può essere nullo. Facolta: fa riferimento alla facoltà di appartenenza dello studente, è possibile scegliere tra cinque alternative: Ingegneria, Medicina, Scienze, Agraria ed Economia. È un campo obbligatorio ed a scelta multipla, e quindi non può essere nullo. Nome_esam, Professore, Crediti: fanno riferimento ad i dati dell’esame, al fine di individuare l’esame e il professore. Risultano campi obbligatori, e quindi non possono essere nulli. Info: fa riferimento ad un campo di testo supplementare, utile per aggiungere informazioni ai dati dell’esame già inseriti. È l’unico campo facoltativo della tabella, e quindi può essere nullo. 55 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.2.2 Tabella “Domande” Figura 2 - Schema Tabella "Domande" Nella tabella “Domande”, sono memorizzate le domande di tutti gli esami, ad ognuna delle quali, vengono assegnate degli attributi: Cod_es: fa riferimento al codice dell’esame. Esso è legato al codice presente nella tabella “esami”. Risulta parte della chiave primaria. Num_dom: corrisponde al numero della domanda dell’esame. È utilizzato come indice nelle domande dell’esame, e parte da zero. Risulta parte della chiave primaria. Testo: qui viene memorizzato il testo della domanda, e pertanto non può essere nullo. Tipo: identifica il tipo di domanda memorizzato, e può avere i valori: “lib” o “mul” che si riferiscono a domande a “Risposta Aperta” o domande a “Risposta Multipla”. Non può essere nullo. Punteggio: identifica il punteggio di ogni singola domanda, al fine di estrapolare, alla conclusione del test, il punteggio totale. Esso è disponibile sia per le domande a “Risposta Aperta”, sia per le “Risposte Multiple”. 56 Capitolo 3 Sviluppo Piattaforma: Gestione Esami La chiave Primaria di questa tabella risulta essere la combinazione del Codice Esame, e del Numero della domanda, in quanto non è possibile avere 2 domande con lo stesso indice, in un esame. 3.2.3 Tabella “Risposte” Figura 3 - Schema Tabella “Risposte” In questa tabella sono memorizzate le risposte associate alle domande a risposta multipla. La chiave primaria è formata da più attributi. Cod_es: fa riferimento al codice dell’esame. Esso è legato al codice presente nella tabella “Domande”. Risulta parte della chiave primaria. Num_dom: corrisponde al numero della domanda dell’esame. Esso all’indice delle domande presente nella tabella “domande”. Risulta parte della chiave primaria. Num_risp: corrisponde al numero della disposta, riferita alla domanda dell’esame. È utilizzato come indice delle risposte di una data domanda dell’esame, e parte da uno. Risulta parte della chiave primaria. 57 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Testo: qui viene memorizzato il testo della risposta, e pertanto non può essere nullo. Risp_giusta: grazie a questo campo viene identificata la risposta giusta alla domanda data. Il valore di questo campo può essere uguale a “1” o “0”, rispettivamente quando la risposta corrisponde alla risposta corretta, o a una delle risposte errate. La chiave Primaria di questa tabella risulta essere la combinazione del Codice Esame, del Numero della domanda ed del Numero della risposta, in quanto non è possibile avere 2 risposte con lo stesso indice appartenenti alla stessa domanda di uno stesso esame. 3.2.4 Tabella “Imm_dom” Figura 4 - Schema Tabella "Imm_dom" In questa tabella, sono memorizzati i nomi dei file delle immagini associate alle domande, se presenti. Si è deciso di aggiungere una nuova tabella e non inserire un campo apposito nella tabella “domande”, poiché la percentuale di domande con immagini risulta molto bassa e, pertanto, l’uso 58 Capitolo 3 Sviluppo Piattaforma: Gestione Esami del campo sarebbe stato minimo, per cui, per evitare frequenti campi vuoti, si è preferito creare una nuova tabella dedicata allo scopo. Cod_es: fa riferimento al codice dell’esame. Esso è legato al codice presente nella tabella “Domande”. Risulta parte della chiave primaria. Num_dom: corrisponde al numero della domanda dell’esame. Esso è legato all’indice delle domande presente nella tabella “domande”. Risulta parte della chiave primaria. File_imm: corrisponde al campo in cui è memorizzato il nome del file dell’immagine. Il nome deve essere univoco, in quanto tutte le immagini risultano memorizzate sul server in un’unica cartella, pertanto si è elaborata una combinazione del Codice esame, e del Numero della domanda, che fanno si che il nome del file risulti univoco. Es: Codice esame: 1020001Analisi1RobertoRossi Numero Domanda: 2 Il nome del file associato alla domanda sarà: 1020001Analisi1RobertoRossi2.jpg Il formato del file dipende esclusivamente dal formato dell’immagine caricata sul server. I formati compatibili saranno discussi in seguito. 59 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.2.5 Tabella “Imm_risp” Figura 5 - Schema Tabella "Imm_risp" In questa tabella, sono memorizzati i nomi dei file delle immagini associate alle risposte, ove presenti. È valida la stessa considerazione prese in essere in precedenza per la tabella delle immagini riferita alle domande, ovvero che si è deciso di aggiungere una nuova tabella, e non inserire un campo apposito nella tabella “risposte”, poiché la percentuale di risposte con immagini risulta estremamente bassa e, pertanto, si è preferito creare una nuova tabella apposita per evitare frequenti campi vuoti. Cod_es: fa riferimento al codice dell’esame. Esso è legato al codice presente nella tabella “Risposte”. Risulta parte della chiave primaria. Num_dom: corrisponde al numero della domanda dell’esame. Esso è legato all’indice delle domande presente nella tabella “domande”. Risulta parte della chiave primaria. File_imm: corrisponde al campo in cui è memorizzato il nome del file dell’immagine. Anche qui è stata elaborata una combinazione del Codice esame, del Numero della domanda e del Numero della risposta, tale da risultare univoco, poiché i file vengono salvati nella stessa cartella. 60 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Es: Codice esame: 1020001Analisi1RobertoRossi Numero Domanda: 2 Numero Risposta:1 Il nome del file associato alla risposta specifica sarà: 1020001Analisi1RobertoRossi2_1.jpg Il formato del file dipende esclusivamente dal formato dell’immagine caricata sul server. I formati compatibili saranno discussi in seguito. 3.2.6 Tabella “Salvataggi_esami” Figura 6 - Schema Tabella "Salvataggi_esami" La tabella “Salvataggi_esami” è stata utilizzata per la memorizzazione dei dati degli esami di cui è stato eseguito un Backup. Come è possibile 61 Capitolo 3 Sviluppo Piattaforma: Gestione Esami vedere dallo schema, esso riprende gli attributi fondamentali dell’esame e dello studente, presenti nella tabella Esami, con l’aggiunta di alcuni attributi specifici. Cod_Esam: fa riferimento al codice univoco che viene assegnato dal sistema all’esame. Esso è l’unione della matricola, del nome dell’esame, e del nome del professore, esclusi gli spazi. Datatime: in questo campo è memorizzata la data in cui è stato eseguito il backup dell’esame. A tale scopo si è fatto uso della funzione di “Timestamp” del Php, che corrisponde al “Timestamp” del sistema operativo Linux. IL risultato di questa funzione è un codice numerico che identifica i secondi trascorsi dal 1 gennaio 1970. Tale codice non sarà mai visibile, ma è utilizzato esclusivamente per identificare univocamente le date nel database. Nome, Cognome: fanno riferimento al nome e al cognome dello studente. Sono campi obbligatori, e quindi non possono essere nulli. Matricola: fa riferimento alla matricola dello studente. È un campo obbligatorio, e quindi non può essere nullo. Facolta: fa riferimento alla facoltà di appartenenza dello studente, è possibile scegliere tra cinque possibilità: Ingegneria, Medicina, Scienze, Agraria o Economia. È un campo è un campo obbligatorio e a scelta multipla, e quindi non può essere nullo. Nome_esam, Professore, Crediti: fanno riferimento ad i dati dell’esame, al fine di individuare l’esame o il professore. Sono campi obbligatori, e quindi non possono essere nulli. 62 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Info: fa riferimento ad un campo di testo supplementare, utile per aggiungere informazioni ai dati dell’esame già disponibili. È l’unico campo facoltativo della tabella, e quindi può essere nullo. Risposte_presenti: fa riferimento alla presenza, o meno, delle risposte nel file di backup, pertanto questo campo può avere valore “1” o “0”. File_compresso_esa: in questo campo è memorizzato il nome del file del backup, situato in una cartella specifica sul server. Il nome del file è codificato utilizzando il codice esame ed il timestamp della richiesta. Es: Codice esame: 1020001Analisi1RobertoRossi TimeStamp (datatime): 1283014616 Il nome del file associato al backup sarà: 1020001Analisi1RobertoRossi_1283014616.zip 63 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.2.7 Schema Database completo Figura 7 - Schema delle Tabelle del Database Nella Figura 7, è possibile vedere lo schema, completo, della composizione delle tabelle del Database utilizzato dal tool. È possibile effettuare una prima constatazione riguardo alla tabella “salvataggi_esami”, essa infatti non ha relazioni formali con le altre tabelle del database, questo si è reso necessario affinché, nel caso si volesse cancellare i dati di un esame, il backup non deve essere modificato, ne cancellato, e pertanto tutte le informazioni sono sempre copiate nella tabella al momento della richiesta del backup. Altra considerazione che è possibile individuare riguarda i riferimenti alle chiavi primarie: nel caso fosse necessario modificare l’indice di una domanda, automaticamente saranno modificati anche i riferimenti alla risposte e alle immagini, ove presenti, rendendo la modifica dell’esame facile ed immediata. Utilizzando lo stesso concetto è possibile intuire che, 64 Capitolo 3 Sviluppo Piattaforma: Gestione Esami cancellando le sole informazioni dell’esame, a cascata saranno cancellate tutte le informazioni del database ad esso collegata, escluse le informazioni presenti nella tabella “salvataggi_esami”, che, come già esposto, mantiene una propria autonomia dal resto del database. 3.3 Sviluppo Strumenti di Gestione 3.3.1 Home Figura 8 - HomePage La Figura 8 - HomePage riporta l’homepage della piattaforma. Risulta molto semplice, priva di qualunque elemento decorativo e anche l’uso dei colori risulta minimale. Questa scelta di austerità è stata scelta per la semplificazione del processo di integrazione dello strumento in piattaforme già esistenti, in quanto si è preferito evitare l’uso di regole di stile, con 65 Capitolo 3 Sviluppo Piattaforma: Gestione Esami l’intento di inserirle successivamente, al momento dell’integrazione dello strumento in piattaforme software già utilizzate. Sulla sinistra è presente il menù iniziale con 3 scelte principali, ed i sotto-menù che danno accesso alle funzioni principali del tool. È possibile individuare tre collegamenti alle funzioni principali: Strumento di Visualizzazione Strumento di Creazione Strumento di Ricerca Back-Up Nella parte centrale della pagina è presente una descrizione generale dello strumento, che ricorda che il tool è frutto di un tirocinio, e si è avvalso della collaborazione dell’Ufficio Disabili dell’Università. 3.3.2 Strumento Creazione Esame 3.3.2.1 Inserimento Dati Esame Figura 9 - Strumento Creazione Esame 66 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Nella Figura 9 è possibile vedere la prima schermata di inserimento di un esame; tutte le informazioni dello studente e dell’esame vengono inserite in questa pagina. E’ presente uno script in linguaggio JavaScript per il controllo dei campi inseriti; tutti i campi vengono controllati e validati prima dell’invio al server per la creazione del “record” del nuovo esame. I campi “Matricola” e “Crediti” possono accogliere solo numeri e non possono essere nulli. Tutti gli altri campi possono accogliere caratteri alfanumerici e non possono essere nulli, eccetto il campo “Ulteriori Informazioni”, che risulta facoltativo. In alto a destra è possibile notare l’unica icona presente in questa pagina; essa è presente in tutte le pagine del tool e fa riferimento alla guida utente che si è integrata per facilitare l’utilizzo degli strumenti. Cliccandoci si apre un pop-up con le informazioni di supporto per l’utilizzo della sola pagina attiva, come si vedrà in seguito in un esempio. 3.3.2.2 Inserimento Domanda Figura 10 – Strumento Inserimento Domanda - Parte 1 67 Capitolo 3 Sviluppo Piattaforma: Gestione Esami In questa immagine riporta la schermata di inserimento delle domande. L’utilizzo è immediato. I pulsanti ed i menù disponibili permettono di: Selezionare il tipo di risposta, tra: “Risposta Multipla” o “Risposta Libera”; Selezionare il numero di risposte (funzione disponibile solo nel caso sia attiva la risposta multipla); Caricare un’immagine; Inserire una Formule Scientifiche (sia Chimiche sia Matematiche); Selezionare il punteggio della risposta; Le funzioni sono immediate e quindi non saranno trattate nello specifico. I tool di caricamento delle immagini e di inserimento delle formule saranno commentati successivamente. Una volta inserita la domanda, nel caso di “Risposta libera”, si procederà immediatamente alla memorizzazione della stessa, come mostrato nella Figura 11. Figura 11 - Inserimento Domanda - Parte 2 68 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Nel caso si stia inserendo una domanda a risposta multipla, il passaggio successivo sarà l’inserimento delle risposte. Figura 12 - Inserimento Domanda - Parte 3 Nella Figura 12 mostra la videata di inserimento delle risposte multiple. In questo esempio sono visualizzate solo due risposte possibili, ma il tool ne supporta sino a 12. Come è possibile notare dalla figura ogni risposta ha i suoi pulsanti per l’inserimento delle immagini e delle formule ed ogni pulsante funziona esclusivamente con la risposta associata. Di lato ad ogni risposta è possibile selezionare la risposta corretta, che potrà essere una sola per domanda. In fondo alla pagina è possibile modificare il numero di risposte possibili, rimuovendone alcune, o inserendone delle nuove, e, in quest’ultimo caso, i dati delle risposte già inserite non andranno persi durante il caricamento dei nuovi campi di inserimento. 69 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Infine il pulsante “Inserisci Risposte”, in fondo alla pagina, serve per memorizzare la domanda, le risposte, le immagini alle domande. Solo dopo aver cliccato su questo pulsante, infatti, il server avvierà la procedura di salvataggio dei dati nel database, restituendo l’esito dell’inserimento. 3.3.2.2.1 Caricamento Immagini Questo strumento permette di caricare un’immagine nella domanda, o nella risposta associata. All’attivazione del pulsante, si aprirà una finestra come quella in figura 13, che richiederà il caricamento dell’immagine sul server. Figura 13 - Caricamento Immagine Come visibile dalla breve descrizione visibile nel pop-up, i formati accettati dal sistema: Jpg o Jpeg Png Gif Bmp 70 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Nel caso siano caricati altri formati di immagini il sistema ritornerà con un messaggio di errore. Le immagini una volta caricate sul server, saranno analizzate, ed eventualmente modificate tramite l’uso delle librerie GD del Php. Tali librerie, nell’ambito di questo progetto, sono state utilizzate per l’ottimizzazione delle immagini prima della memorizzazione sul server. Le librerie GD entrano in azione al momento del caricamento del file sul server. L’ottimizzazione avviene in maniera del tutto trasparente all’utente, sul server in un file temporaneo. Lo script modifica la risoluzione, analizzando il lato più lungo tra l’altezza e la larghezza, ridimensionandolo se esso dovesse essere superiore a 400 pixel. L’altro lato viene alterato in modo proporzionale al fine di non deformare l’immagine. Questa operazione ha il duplice scopo di migliorare l’immagine per l’integrazione con l’interfaccia, e di razionalizzare lo spazio sul server e la velocità di caricamento dell’esame, poiché molte immagini eccessivamente grandi (ed inutilmente grandi), rallenterebbero il caricamento dell’esame, e sarebbero comunque ridimensionate dal browser al momento della visualizzazione dell’esame. Oltre all’utilizzo delle librerie “standard” GD incluse nel Php, si è resa necessaria l’introduzione del formato “Bmp”, ovvero Windows Bitmap, non compatibile con queste librerie, poiché non adatto alle connessioni Internet. L’introduzione del formato “Bitmap” si è decisa per facilitare il caricamento delle immagini sul server. Precludere tale supporto avrebbe significato un processo di conversione, a carico dell’utente,, in uno dei 71 Capitolo 3 Sviluppo Piattaforma: Gestione Esami formati compatibili dal tool. A tale scopo sono state incluse due funzioni aggiuntive alle librerie standard. Queste funzioni entrano in azione qualora venga rilevato, al caricamento dell’immagine sul server, un file con estensione “Bmp”. Le funzioni hanno il compito, dopo che le librerie standard GD hanno ottimizzato il file ricevuto dall’utente, di codificare l’immagine utilizzando la codifica Jpg, migliorando notevolmente la velocità di caricamento dell’esame, in quanto questo formato garantisce una buona compressione dell’immagine, preservandone al tempo stesso la qualità complessiva. Alla conclusione del processo di processo di salvataggio ed ottimizzazione il sistema risponderà con l’esito delle operazioni, ed in caso di successo, mostrerà anteprima dell’immagine caricata e modificata. Figura 13a - Caricamento immagine - Successo 72 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.3.2.2.2 Inserimento Formula Figura 14 - Strumento Inserimento Formule La Figura 14 mostra il tool di inserimento delle formule chimiche e matematiche. Tale strumento utilizza il linguaggio LaTex, di più semplice scrittura ed utilizzo del linguaggio MathMl. Lo strumento si presenta con 13 pannelli che si aprono al passaggio del mouse. Ogni pannello racchiude innumerevoli simboli matematici, le lettere greche e latine maggiormente utilizzate in ambito scientifico. Sono presenti anche script automatici per le matrici, ed un pannello completo di parentesi di tutti i tipi, oltre che le funzioni trigonometriche, limiti e logaritmi. 73 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Si è voluto aggiungere anche un supporto alla scrittura, raggiungibile tramite il simbolo della “i”, che sta per “info” o “informazioni”, che conduce alla pagina di Wikipedia sul codice LaTex e fornisce supporto per la scrittura e la comprensione del linguaggio matematico. Sono, inoltre, state inserite delle formule di esempio, divise per campi, raggiungibili cliccando sul pulsante “Esempi” Figura 15 - Strumento Inserimento Formule – Pannello Esempi In aggiunta, è presente anche una cronologia delle equazioni inserite, e la possibilità di annullare le operazioni effettuate, tornando indietro, o andando avanti, utilizzando le frecce dedicate, posizionante in alto a destra, di lato all’elenco di funzioni disponibili, come da immagini 14 e 16. Figura 14 - Strumento Inserimento Formule – Esempio 74 Capitolo 3 Sviluppo Piattaforma: Gestione Esami La figura 16 riporta un esempio di utilizzo dello strumento. È possibile notare l’anteprima dell’equazione che viene creata utilizzando lo script MathJax, già dibattuto in precedenza, che si occupa della traduzione dal linguaggio LaTex in simboli grafici o in linguaggio MathMl, a seconda che il browser utilizzato lo supporti o meno. L’anteprima viene ri-creata ogni qual volta il testo presente nel campo apposito di inserimento della formula viene modificato, quindi sia con la scrittura manuale del codice tramite la tastiera, sia utilizzando i pannelli dei simboli. 3.3.3 Strumento di Ricerca Esame Figura 15 - Strumento Ricerca Esame Dalla Homepage principale, andando sul menù, dalla voce “Visualizza esami”, è possibile raggiungere lo strumento di ricerca cliccando su “Ricerca Esame”. Tale strumento è fondamentale per l’individuazione dei test desiderati. Inserendo un qualsiasi campo, anche solo in modo parziale, uno qualsiasi dei dati, il sistema automaticamente ricercherà, e individuerà, tutti gli esami con le caratteristiche selezionate. È quindi possibile effettuare 75 Capitolo 3 Sviluppo Piattaforma: Gestione Esami ricerche per studente, per professore, per facoltà, per esame, o utilizzando un insieme di queste chiavi. Per facilitarne l’utilizzo la grafica rispecchia il form di Inserimento dei Dati degli esami. Nel caso si avvii la ricerca, cliccando sul pulsante “Cerca Esame”, senza aver inserito nessun dato, il risultato presentato visualizzerà l’elenco di tutti gli esami presenti nel sistema; tale funzione è ugualmente raggiungibile dal menù principale, cliccando su “Visualizza Esami” e poi su “Visualizza tutti”. Come nelle altre pagine della piattaforma in alto a destra è presente l’icona di aiuto, che permettere di avvalersi di un pop-up con la descrizione della pagina che si sta visitando e di individuare le funzioni di si hanno bisogno. 3.3.4 Strumento di Visualizzazione Esami Figura 16 - Strumento Visualizzazione Esami Nella Figura 18 è possibile individuare la grafica della pagina di elencazione degli esami salvati nella piattaforma. Dalla figura è possibile vedere che ogni esame viene identificato dal nome dello studente, dalla matricola, dalla facoltà, dal nome dell’esame e dal professore esaminatore. La rappresentazione di queste informazioni è necessaria per la corretta 76 Capitolo 3 Sviluppo Piattaforma: Gestione Esami individuazione nell’elenco dell’esame che interessa. È inoltre presente l’informazione aggiuntiva del numero di domande associate ad ogni esame. Sulla parte destra di ogni riga sono presenti le icone delle operazioni disponibili: Quest’icona identifica lo strumento di Back-Up dell’esame. Se fatto da questa pagina lo strumento memorizzerà in un file esclusivamente il test, cioè le domande e le risposte memorizzate e le immagini associate. Si avrà successivamente la possibilità di scaricare il file così creato. Quest’icona identifica lo strumento di svolgimento esame. Il link permette di raggiungere la pagina per la scelta dell’interfaccia adeguata allo studente. Quest’icona identifica lo strumento di modifica dell’esame. Tale strumento porta l’utente al pannello di modifica dell’esame, delle domande e delle risposte. Quest’icona identifica lo strumento di stampa dell’esame. È stata creata una pagina ottimizzata per la stampa dell’esame, al fine di fornire la possibilità di mantenere una copia cartacea del test memorizzato. Quest’icona identifica lo strumento di cancellazione dell’esame. 77 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Tale visualizzazione è utilizzata anche dallo strumento Ricerca Esami i cui risultati vengono visualizzati con la medesima interfaccia che mette a disposizione gli stessi strumenti. Come è possibile notare, in alto a destra, è possibile individuare il link per raggiungere la guida, come nelle pagine già analizzate in questo elaborato. Di seguito (Figura 19) è riportata un’immagine che mostra il contenuto della guida dello strumento di visualizzazione degli esami. Figura 19 - Esempio Guida Utente 78 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.3.5 Strumento di Modifica Esame Figura 20 - Strumento Modifica Esame - Parte 1 Nella figura 20 è possibile osservare una videata dello strumento di Modifica degli esami. Come è possibile vedere in alto alla pagina sono presenti i dati riassuntivi dell’esame e dello studente. Le domande che compongono l’esame sono elencate in base all’indice delle stesse. Come abbiamo visto precedentemente, queste possono essere di due tipi a risposta libera e a risposta multipla. Nella figura notiamo che a lato al testo di alcune domande è presente la dicitura “(Risposta libera)”, mentre su altre no; come è facile intuire le domande con questa dicitura sono domande a risposta libera, al contrario le altre risultano essere a risposta multipla. Come indicato ad inizio pagina, per visualizzare le risposte delle domande a risposte multiple ad esse associate è necessario cliccare sulle domande stesse. Il risultato è mostrato nella figura 21. 79 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Figura 21 - Strumento Modifica Esame - Parte 2 Le risposte corrette sono visualizzate in grassetto; nella figura 21 la risposta corretta è la numero 3. Sono presenti due strumenti associati ad ogni domanda: Lo strumento di modifica, che permette di accedere alla sezione di modifica della domanda e delle risposte associate. Lo strumento di cancellazione delle domande. L’icona aggiuntiva serve ad indicare se nella domanda, o nella risposta, sono presenti immagini. Alla fine della pagina è presente un bottone che permette di inserire una nuova domanda all’esame in coda a quelle già inserite. Come nelle altre pagine della piattaforma, in altro a destra è presente l’icona di aiuto, che permettere di avvalersi di un pop-up con la descrizione della pagina che si sta visitando e di individuare le funzioni di cui si hanno bisogno. 80 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.3.5.1 Strumento Modifica domanda Lo strumento di modifica delle domande riprende le funzionalità dello strumento creazione, come visibile in Figura 22. I dati della domanda vengono caricati ed è possibile modificarli in ogni parte. È possibile modificare il tipo di una domanda, o il punteggio associato, o intervenire anche solo sul numero delle risposte. Nella parte superiore della pagine sono sempre presenti i dati generali dell’esame e dello studente: questi non possono essere modificati. Figura 22 - Strumento Modifica Domanda Nell’esempio in Figura 22 è stato cambiato il tipo di domanda, passando da una domanda a risposta libera ad una a risposta multipla con la possibilità di 3 scelte, come da Figura 23. 81 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Figura 23 - Strumento Modifica Risposte È possibile osservare che anche lo strumento di modifica delle risposte rispecchia lo strumento di inserimento, incluse le funzioni di aggiunta delle Formule scientifiche, o delle immagini. Come nelle altre pagine della piattaforma, in altro a destra, è presente l’icona di aiuto, che permettere di avvalersi di un pop-up con la descrizione della pagina che si sta visitando e di individuare le funzioni di cui si ha bisogno. 82 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.3.5.2 Strumento di Cancellazione domanda Figura 17 - Strumento Cancellazione Domanda L’utilizzo di tale strumento risulta immediato. Nella parte superiore sono rappresentati i dati principali dell’esame e dello studente, nella parte sottostante, la domanda che si vuole eliminare, il testo della stessa e le risposte, se presenti. Nel caso si annulli l’operazione, si verrà immediatamente riportati alla visualizzazione precedente dell’esame. Come nelle altre pagine della piattaforma, in altro a destra, è presente l’icona di aiuto, che permettere di avvalersi di un pop-up con la descrizione della pagina che si sta visitando e di individuare le funzioni di cui si ha bisogno. 83 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.3.6 Strumento di Cancellazione Esame Figura 25 - Strumento Cancellazione Esame Tale strumento, raggiungibile dalla pagina di modifica dell’esame, tramite il bottone in alto, o dalla pagina di ricerca dei test, si occupa della cancellazione di tutti i dati dell’esame, sia del corpo del test, ovvero domande, risposte e immagini, sia i dati generali dello studente. Come è possibile osservare è presente un elenco delle domande e delle risposte presenti nel test, al fine di verificare il testo dell’esame che si sta procedendo all’eliminazione. È possibile annullare l’operazione utilizzando il bottoni in fondo alla pagina. Si ricorda che sono disponibili le funzioni di back-up e di stampa, raggiungibili dalla pagina di ricerca degli esami. Come nelle altre pagine della piattaforma, in altro a destra, è presente l’icona di aiuto, che permettere di avvalersi di un pop-up con la descrizione 84 Capitolo 3 Sviluppo Piattaforma: Gestione Esami della pagina che si sta visitando e di individuare le funzioni di cui si ha bisogno. 3.3.7 Strumento di Stampa Esame Figura 26 - Strumento di Stampa Esame Nella Figura 26 è possibile osservare la visualizzazione dell’esame ottimizzata per la stampa. Come è possibile vedere le domande e le risposte sono disposte in modo tabellare, le risposte corrette evidenziate con un bordo più spesso e di colore rosso. Tale formattazione si è voluta al fine di permettere la stampa sia a colori, che in bianco e nero,senza precludere la possibilità di individuare le risposte corrette. Le immagini risulta ridimensionate opportunamente, al fine di permettere una corretta stampa nel formato standard A4. 85 Capitolo 3 Sviluppo Piattaforma: Gestione Esami In questa pagina si è evitato di inserire il supporto della guida utente, poiché non sono presenti funzionalità aggiuntive. 3.3.8 Strumento di Back-Up Esame Figura 27 - Strumento di Back-up Esame Tale strumento è necessario nel caso si voglia effettuare una copia dell’esame prima di proseguire con una modifica o una cancellazione. Come è visibile dalla Figura 27, è presente un resoconto dei file salvati, che includono i file delle immagini ed file aggiuntivi. I file vengono salvati in un unico “file contenitore” codificato nel formato compresso “Zip”, al fine di ottimizzare l’uso dello spazio sul server e di semplificare il download dello stesso. Il nome del file risulta essere univoco, secondo la struttura già vista precedentemente, nel paragrafo 3.2.5. La struttura del file compresso è: Cartella Principale: File di testo con Informazioni Esame Cartella Domande File di testo Domande File Xml Domande Cartella Immagini Domande Cartella Risposte File di testo Risposte File Xml Risposte Cartella Immagini Risposte 86 Capitolo 3 Sviluppo Piattaforma: Gestione Esami Nel file di testo presente nella cartella principale del file compresso, sono immagazzinate le informazioni dello studente, il nome dell’esame, in coda a tali dati si sono inserite delle note sul tipo di codifica utilizzata per salvare il corpo dell’esame. Al fine di agevolare una possibile reintegrazione di un esame disponibile solo sotto forma di back-up, si è sono state utilizzate due codifiche differenti per salvare i dati delle domande e delle risposte. In entrambi i casi, è stata utilizzata la struttura della tabella presente nel database della piattaforma. Le immagini, invece, risultano delle copie di quelle presenti sul server mantengono pertanto formato e nomi originali assegnati al momento del caricamento sul server.Il Formato Xml è stato utilizzato essendo uno standard W3C. La struttura utilizzata per la codifica delle domande è molto semplice: <Esame cod_es="1010101EsameTipoQualsiasi"> <domanda numero_domanda="1"> <testo>Come si definisce il meccanismo di duplicazione del DNA?</testo> <tipo>lib</tipo> <immagine>null</immagine> <punteggio>1</punteggio> </domanda> … </Esame> Come è possibile notare la struttura è molto semplice, ma al tempo stesso completa di tutte le informazioni necessarie per una corretta ricostruzione dell’esame originale. La struttura del file Xml associato alle risposte è simile: <Esame cod_es="1010101EsameTipoQualsiasi"> <risposta_domanda numero_domanda="1" tipo_risp="lib"> … </risposta_domanda> <risposta_domanda numero_domanda="2" tipo_risp="mul"> 87 Capitolo 3 Sviluppo Piattaforma: Gestione Esami <risposta numero_risposta="1"> <testo>@E=0,V=0@</testo> <giusta>0</giusta> <immagine>null</immagine> </risposta> <risposta numero_risposta="…"> … </risposta_domanda> … </Esame> Il file di testo contiene le stesse informazioni, ma codificate tramite la funzione “Serialize()”del linguaggio Php, che precedentemente erano state raggruppate in una collezione di dati disomogenei su più livelli, ovvero in un array multidimensionale, ovvero. La funzione Serialize() permette, infatti, di codificare array ed oggetti, utilizzando semplici stringhe di testo, permettendo una più facile memorizzazione, anche se non di semplice interpretazione testuale. Utili$zzando in seguito la funzione opposta, ossia “UnSerialize()” è possibile poi ricostruite l’oggetto originale sul server, ed in questo caso, permette di ricreare le tabelle del database all’esame. La risposta visualizzata nello spezzone di codice mostrato sopra risulta codificata in questo formato dalla sola stringa: a:9:{i:1;a:1:{i:0;s:0:"";}i:2;a:4:{i:1;a:3:{i:0;s:9:"@E=0,V=0@";i:1;s:1:"0";i:2;s:4 :"null";}… Come è possibile osservare tale codifica risulta maggiormente compatta, ma di difficile lettura, contrariamente alla codifica Xml che risulta di più semplice comprensione, ma più prolissa. 88 Capitolo 3 Sviluppo Piattaforma: Gestione Esami 3.3.9 Strumento di Gestione Back-Up Figura 28 - Strumento Gestione Back-Up Esami Da questa pagina, raggiungibile dalla Home della piattaforma, è possile visualizzare tutti i back-up di esami presenti sul server. È possibile osservare dalla Figura 28, che nella parte sinistra della tabella sono presenti le informazioni generali dell’esame, nella parte centrale le informazioni specifiche del back-up in memoria e nella parte destra gli strumenti associati ad ogni back-up. Sono disponibili 3 informazioni specifiche del back-up, ossia: la data di salvataggio la disponibilità nel database in memoria di un esame con lo stesso codice il tipo di back-up effettuato Per disponibilità si intende la presenza, tra gli esami visualizzabili e modificabili, di un test con lo stesso “codice esame” di quello memorizzato in questa tabella contente i dati dei backup. Infatti, come osservato precedentemente nel paragrafo 3.2.6, la tabella dei salvataggi dei backup, è del tutto autonoma e quindi un esame cancellato dal database potrebbe 89 Capitolo 3 Sviluppo Piattaforma: Gestione Esami risultare comunque presente in questa tabella sotto forma di back-up. Tale funzionalità si rivela necessaria per identificare i back-up di esami ancora da sostenere, da quelli disponibili in sola forma di back-up. Per “tipo di back-up” si intende, se presente o meno nel back-up il file contenete le risposte date dallo studente. Infatti è possibile portare a termine il back-up sia del solo testo dell’esame, come visto nei paragrafi precedenti, sia dell’esame svolto, come vedremo nel prossimo capitolo, quando affronteremo lo sviluppo delle interfacce. 3.3.10 Strumento di Ricerca Back-Up Figura 29 - Strumento Ricerca Back-Up Raggiungibile dalla Home è disponibile un tool di ricerca degli esami salvati. Tale strumento riprende la grafica già vista in precedenza per la ricerca degli esami inseriti, ma, in questo caso, la ricerca avviene esclusivamente nella tabella degli esami salvati. Anche in questo caso, la ricerca può avvenire utilizzando uno, o più campi tra quelli proposti, inserendo anche parzialmente il testo da ricercare. Tutti i record compatibili 90 Capitolo 3 Sviluppo Piattaforma: Gestione Esami con la ricerca effettuata sono visualizzati nella schermata proposta nel paragrafo 3.2.8. 91 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami Capitolo 4 SVILUPPO PIATTAFORMA: INTERFACCIA ESAMI 92 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami 4.1 Strumento per lo Svolgimento degli Esami Nella pagina di Svolgimento degli esami, raggiungibile dalla pagina di ricerca degli esami, cliccando sull’icona predisposta, sono raccolte le interfacce disponibili nella piattaforma. Ogni interfaccia si discosta dalle altre per forma e funzioni implementate, anche se la struttura base è identica. Essendo esclusivamente delle interfacce ogni esame è visualizzabile attraverso tutte le maschere presenti in questa pagina. Figura 1 - Strumento Svolgimento Esame Come è possibile vedere nella Figura 1, la pagina di scelta è essenziale nella grafica: nella parte superiore è presente il riassunto dei dati dell’esame, nella forma già utilizzata in altre parti della piattaforma, mentre nella parte centrale è rappresentato l’elenco delle interfacce installate nella piattaforma. Durante lo sviluppo si è scelto di implementare tre interfacce, una base, e due ottimizzate per diverse tipologie di utenti. Ogni interfaccia è composta da 4 file principali: 93 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami un file Php con il codice necessario per il caricamento dell’esame dal database un file JavaScript con il codice necessario per la creazione e lo svolgimento dell’esame un file JavaScript con il codice delle funzioni utilizzate per la strutturazione dell’interfaccia d’esame un file Css con il codice della parte grafica 4.1.1 File Esame_.php Il file Php, denominato “esame_.php”, contiene l’algoritmo per il prelevamento dell’esame dal database e dell’inizializzazione degli script di funzionamento. Alla richiesta dell’esame questa pagina si occupa di caricare tutti i dati del test scelto, ovvero le domande, le risposte e le immagini. Queste informazioni, vengono salvate in una struttura JavaScript, opportunamente inizializzata. Tale operazione serve per riuscire a contenere l’esame in una struttura organizzata e gerarchica, sempre disponibile lato client, si ricorda, infatti, che la tecnologia Php e il database lavorano esclusivamente lato server e, per scelta progettuale, non si è deciso di non utilizzare alcun algoritmo Ajax. Si è scelto di replicare la struttura tabellare del database utilizzando 2 array, ovvero: esame[] e risposta[]; il primo contiene tutte le informazioni delle domande e delle immagini associate, mentre il secondo contiene le informazioni delle risposte. Per mantenere una struttura gerarchica coerente si sono utilizzati degli array multidimensionali. 94 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami L’array esame[] è strutturato seguendo lo schema della tabella domande (paragrafo 3.3.2) del database, implementato grazie all’utilizzo di un array di 2 livelli: esame[$k][$l] L’indice $k fa riferimento al numero della domanda del test caricato. Esso corrisponde al campo “num_dom” della tabella domande. L’indice $l fa riferimento al valore dell’attributo della domanda, come possiamo vedere dalla “Figura 2” del Capitolo 3, sono associati 4 campi principali: Se l’indice $l è uguale a 0, nel record dell’array è memorizzato il testo della domanda Se l’indice $l è uguale a 1, nel record è memorizzato il tipo di domanda, ovvero se è una domanda a risposta multipla o libera Se l’indice $l è uguale a 2, nel record è memorizzato, nel caso siano presenti, il nome del file dell’immagine associata alla domanda. Se l’indice $l è uguale a 3, nel record è memorizzato il punteggio associato alla domanda. Per le risposte, è stato necessario ricorrere ad un ulteriore indice, realizzando così un un array di 3 livelli, così inizializzato: risposta[$k][$i][$l] L’indice $k fa riferimento al numero della domanda a cui la risposta fa riferimento. Esso corrisponde, come nel caso precedente, al numero della domanda, ovvero, al campo “num_dom” della tabella risposte. 95 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami L’indice $i fa riferimento al numero della risposta della domanda $k, in quanto in presenza di domande a risposta multipla, sono presenti più risposte associate allo stesso indice $k; L’indice $l fa riferimento al valore dell’attributo della domanda, come possiamo vedere dalla “Figura 2” del Capitolo 3, sono associati 3 campi principali: Se l’indice $l è uguale a 0, nel record dell’array è memorizzato il testo della risposta; Se l’indice $l è uguale a 1, nel record sono memorizzati i dati per l’identificazione delle risposte corrette e di quelle errate Se l’indice $l è uguale a 2, nel record è memorizzato, nel caso siano presenti, il nome del file dell’immagine associata alla risposta $i. Essendo il file principale dell’interfaccia, nel codice di questa pagina sono presenti anche i riferimenti per il caricamento di tutti gli script utilizzati per la visualizzazione dell’esame. Gli script Javascript per le funzioni esterne utilizzate: <script type="text/javascript" src="jquery-1.4.2.js"></script> <script type="text/javascript" src="jquery.corner.js"></script> <script type="text/javascript" src="popup.js"></script> <script type="text/javascript" src="atooltip.js"></script> <script type="text/javascript" src="./pixastic.js"></script> <script type="text/javascript" src="./MathJax/MathJax.js"></script> Gli script Javascript per creazione della struttura di visualizzazione: <script type="text/javascript" src="funzioni.js"></script> <script type="text/javascript" src="esame_.js"></script> 96 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami Il codice CSS delle regole di stile per la stampa: <link rel="stylesheet" href="./esame_stampa.css" type="text/css" media="print"> È presente inoltre un piccolo script Php, in base ad un parametro dato in input, permette il caricamento delle regole di visualizzazione della sola interfaccia scelta: if ($mode_es=="ipo"){echo"<link rel=\"stylesheet\" type=\"text/css\" href=\"esame_ipo.css\">\n"; } else if ($mode_es=="alt"){echo"<link rel=\"stylesheet\" type=\"text/css\" href=\"esame_sim.css\">\n"; } else {echo"<link rel=\"stylesheet\" type=\"text/css\" href=\"esame_.css\">\n"; } Al completamento del caricamento di tutti i dati dell’esame, e degli script, viene richiamata la funzione Javascript principale del file esame_.js, tramite l’attributo onload(), del campo Body: <body onload="caricamento();"> 4.1.2 File Javascript Esame_.js In questo file è memorizzato il codice per la creazione dell’interfaccia dell’esame. Attraverso un uso avanzato del DOM, Document Object Model, si è deciso di creare dinamicamente la struttura dell’interfaccia. Questa implementazione, benché inusuale, è stata scelta di garantire la compatibilità delle interfacce anche con altre piattaforme, per mantenere la possibilità di implementare le maschere di visualizzazione anche su sistemi server che non usino il linguaggio Php, ma usino altre tecnologie proprietarie o commerciali, riscrivendo un file che imiti le funzioni del file esame_.php, ossia 97 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami l’acquisizione dei dati e la memorizzazione multidimensionali (mantenendo ovviamente in array JavaScritp l’uso degli indici come precedentemente indicato), si otterrebbe una piena e totale compatibilità del sistema pre-esistente con le interfacce sviluppate in questo progetto. In questo file è possibile individuare 2 funzioni principali: Caricamento() questo script, attraverso l’utilizzo dei dati dell’esame dagli array esame[] e risposte[], disegna le interfacce utilizzando il modello DOM attraverso funzioni standard. Tra le più usate possiamo trovare: document.createElement("…"); appendChild(“…”); setAttribute("…","…"); Al fine di diminuire la lunghezza del codice, si è deciso di semplificare in alcune fasi la creazione di elementi nuovi, attraverso la definizione di una funzione crea() la cui definizione, presente nel file funzioni.js è: function crea(tipo,id,classe,valore,nodo,click){ var obj = this; obj = document.createElement(tipo); if (id!="" || id!= null) obj.setAttribute("id",id); if (classe!="" ||classe!= null )obj.setAttribute("class",classe); if (valore!="" || valore!= null) obj.setAttribute("value",valore); if (click!="" || click!= null)obj.setAttribute("onclick",click); if (nodo!="") nodo.appendChild(obj); return obj; } Risultati() una volta completato l’esame, questo script si occupa della creazione della pagina di visualizzazione dei risultati, e della strutturazione delle tabelle riassuntive. Vedremo nel dettaglio questa funzione dell’interfaccia in seguito nel paragrafo 4.3. 98 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami 4.1.3 Javascript Funzioni.js Il secondo file JavaScript funzioni.js contiene invece le funzioni principali per i controlli, e lo svolgimento del test. Alcune di queste funzioni richiamano in sequenza funzioni esterne degli altri script caricati all’avvio, come: function render_equ(id){ MathJax.Extension.tex2jax.PreProcess(id); MathJax.Hub.Process(id); } Questa funzione richiama gli script MathJax per convertire le formule scritte in codice LaTex in immagini; nello specifico la prima funzione richiamata in queste riche di codice, analizza il testo contenuto nell’oggetto “id” individuando le formule scientifiche, che saranno tradotte poi dalla seconda funzione richiamata. Altre funzioni risultano essere i metodi per il controllo e la modifica delle immagini. Di seguito sono elencate le funzioni principali atte a questo scopo: automaticamente le immagini al caricamento dell’interfaccia. E’ possibile modificare il valore massimo della risoluzione tramite le variabili: imm_max_height e function rid_img_caricamento()Ridimensiona imm_max_width; Al fine di non occupare troppo spazio per le immagini, si è voluto rappresentare parzialmente le immagini, rendendole del tutto visibili solo al passaggio del mouse sopra di esse. Questa soluzione ha richiesto l’implementazione di una logica di controllo, normalmente non prevista dalla funzione function img_rid_small(self, largh, alt) 99 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami mouseOver, specifica per le periferiche Touch-Screen. Si vedrà nel dettaglio in seguito. Ridimensiona automaticamente le immagini al caricamento della domanda. Contrariamente alla funzione rid_img_caricamento(), questa funzione opera ogni qual volta viene visualizzata una domanda o una risposta in cui sono presenti immagini, in quanto la grandezza di quest’ultime risulta proporzionale alla larghezza del struttura, ovvero dello schermo utilizzato. Tali proprietà vengono inizializzate dal browser solo durante la fase di visualizzazione delle domande, e pertanto non possono essere inizializzate al caricamento della pagina, ma necessitano di un controllo successivo. In questo script inoltre è contenuto un controllo per verificare se l’immagine è completamente visibile, o parzialmente esterna all’area di visualizzazione, ed in tal caso le ridimensiona ulteriormente. function avanti_dom(dom_suc) Tale funzione permette lo svolgimento dell’esame, andando avanti tra le domande. E’ presente una politica di controllo dell’interfaccia attiva, che permette di svolgere determinare funzioni a seconda della rappresentazione scelta. function img_rid(self, largh, alt) Risultano presenti altre funzioni minori di minor interesse, ma necessarie per lo svolgimento dell’esame e per il funzionamento di tutti gli strumenti richiesti dalle interfacce. 4.1.3.1 Azione MouseOver per schermi Touch Durante lo sviluppo delle interfacce ci si è resi conto che l’utilizzo della funzione MouseOver su periferiche touch non risultava corretto in quanto, diversamente dal normale utilizzo con periferiche come il mouse o trackball, il puntatore touch lavora per tocchi, ossia per selezioni. L’uso della funzione MouseOver, se associato ad una chiamata di funzione OnClick, risulta errato in quanto i browser, in presenza di periferiche touch, attivano 100 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami contemporaneamente entrambe le azioni. Nel corso di questo progetto si è utilizzata l’azione MouseOver, adoperando regole di stile Css attraverso la definizione delli classi: a:hover.img_risp e a.img_risp per attivare la completa visualizzazione delle immagini associate alle risposte. L’azione OnClick è stata utilizzata per la scelta delle risposte nella div contenitore delle stesse: onclick=”cambia_valore_radio(…,…)” In tale scenario “puntando” sulle immagini si attiva contestualmente l’azione OnClick associata al contenitore delle risposte, oltre all’effetto MouseOver delle immagini. Mentre la seconda azione era voluta, la prima risultava un comportamento non desiderato dell’algoritmo, poiché visualizzando un’immagine si sarebbe contemporaneamente risposto alla domanda. Analizzando il problema ci si è resi conto che solo il browser Safari, ottimizzato per un utilizzo touch su periferiche com l’Apple iPad o iPhone, aveva una politica di controllo delle azioni da seguire, nel caso di presenza di azioni di tipo MouseOver. La soluzione adoperata dal browser è di procedere con l’attivazione della funzione associata all’azione MouseOver al primo tocco e alle eventuali azioni associate a funzioni OnClick con un tocco successivo o uno prolungato. Prendendo spunto da questo funzionamento si è deciso di implementare una politica di controllo basata su “2 tocchi”. Tale politica si è attuata utilizzando il seguente codice: mouseover=false; function click_img(){ mouseover=true; } 101 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami function cambia_valore_radio(…,…){ if (mouseover==false){ … } else {mouseover=false;} } Una variabile booleana definita “mouseover” è inizializzata a “false” al caricamento della pagina. Puntando o cliccando sull’immagine questa modifica la sua condizione in “true”. Contestualmente si sono attuate delle politiche di controllo nella selezione della risposta che viene attivata: si controlla il valore della variabile “mouseover”, nel caso esso sia uguale a “false” si procede con la funzione, altrimenti la si resetta al valore iniziale. Utilizzando questo semplice algoritmo, si ha la possibilità di visualizzare senza nessun tipo di problematica l’immagine, sia utilizzando periferiche touchscreen, sia mouse convenzionali, inibendo l’azione OnClick associata al contenitore della risposta in cui l’immagine è contenuta, attivando esclusivamente l’effetto MouseOver. 4.1.4 Regole di stile Esame_.css Nel file esame_.css, sono inserite le regole di stile, ovvero le impostazioni grafiche delle interfacce, e le proprietà di tutte le strutture definite nei file precedenti. È possibile definire questo file il fulcro delle interfacce stesse, poiché responsabile della rappresentazione dei dati dell’esame. Si è cercato di impostare lo sviluppo, in modo tale che per creare nuove interfacce, o modificare quelle esistenti, fosse necessario modificare esclusivamente le regole di stile, contenente le regole di visualizzazione, ad 102 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami esempio la grandezza massima dello spazio adibito alle domande o delle risposte, o delle immagini, oppure della barra laterale contenente i riferimenti per le domande. 4.2 Interfacce 4.2.1 Interfaccia Base Figura 2 - Interfaccia Base Come è possibile vedere nella Figura 2, l’interfaccia Base si presenta suddivisa in 3 parti principali: una parte superiore, una inferiore, ed una barra laterale di controllo. Nella parte superiore è possibile notare la domanda attuale, nell’esempio proposto riferito a un esame reale di Fisica. Il 103 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami testo della domanda occupa tutto lo spazio disponibile, poiché non sono presenti immagini o altri oggetti che richiedono di essere rappresentati. Nella parte inferiore della schermata sono invece posizionate le risposte pre-inserite. Il numero di risposte è variabile, da un minimo di 2 risposte multiple, ad un massimo di 12 risposte, disposte su 3 file, con un massimo di 5 risposte per fila. Queste sono formattate in modo da occupare l’area di schermo maggiore possibile. In questo particolare esempio si è voluto rappresentare la possibilità della piattaforma di visualizzare formule scientifiche. Nella balla laterale sono enumerate le domande dell’esame. Si è scelto di evidenziare la domanda attiva utilizzando esclusivamente un carattere con una dimensione maggiore, al fine di non influire sull’attenzione dello studente, si ricorda, infatti, che la piattaforma è dedicata anche ad utenti con difficoltà di attenzione. Lo scorrimento delle domande del test è possibile sia in maniera continua, procedendo dalla prima all’ultima utilizzando il pulsante apposito in basso a destra, sia in maniera casuale-personale selezionando a piacimento le domande da visualizzare raggiungibili dai numeri. Non si è voluto introdurre una caratterizzazione di colore per le domande già visualizzate, quelle risposte e quelle lasciate incomplete, poiché, come sensibilmente detto precedentemente, sull’attenzione si sarebbe potuto degli studenti durante inciderete lo svolgimento dell’esame. Nella Figura 2 è possibile altresì notare le formule scientifiche. Tali formule sono visualizzate grazie all’utilizzo di una libreria JavaScritp chiamata MathJax. Come detto nel capitolo precedente, le formule inserite 104 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami nella piattaforma sono memorizzate in codice LaTex e la libreria utilizzata permette la traduzione del codice LaTex sia in linguaggio MathMl, lo standard W3C per le formule matematiche attualmente non compatibile con alcuni browser anche di recente sviluppo, sia un una combinazione di immagini opportunamente allineate definita “Html-Css”. Si è deciso di eseguire lo script in modalità combinata, ovvero di supportare sia la codifica in linguaggio MathJax, previo il supporto da parte del browser, sia la codifica “Html-Css”, al fine di velocizzare la visualizzazione quando possibile. Di seguito si riporta lo schema di funzionamento della libreria MathJax, e della traduzione delle formule che esegue: Figura 3 – Schema Visualizzazione Formule 105 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami 4.2.2 Interfaccia Ipovedenti Figura 4 - Interfaccia Ipovedenti Nella Figura 4 è possibile vedere l’esempio già presentato precedentemente, ma visualizzato utilizzando la maschera ottimizzata per gli utenti con difficoltà visive. La caratteristica predominante di questa interfaccia è la combinazione di colori utilizzata, questa risulta ottimizzata per utenti con difficoltà visive accentuate. Il colore “Lime” delle scritte in contrasto con il colore “Nero” dello sfondo, risulta una delle migliori combinazioni possibili per la visualizzazione. Le linee guida dell’accessibilità consigliano, infatti, di utilizzare una coppia di colori per lo sfondo e per il testo con la maggiore differenza possibile in termini di contrasto sia di tonalità, sia di luminosità. Tale accorgimento, unito all’utilizzo di un set di caratteri della famiglia “Sans-Serif”, permette una migliore leggibilità del testo, poiché permettono di accrescere l'impatto visivo tra lo sfondo ed il testo, al fine di una più facile lettura. 106 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami Per questa interfaccia è stata inoltre utilizzata la libreria Pixastic. Come già descritto nel capitolo 2, questa libreria permette la modifica delle immagini, consentendo la manipolazione dei singoli pixel. In questo progetto tale libreria è stata utilizzata, dopo la scrittura di un opportuno script di modifica, per modificare le immagini che compongono le formule matematiche. Come è stato descritto nel paragrafo precedente le formule matematiche inserite nella piattaforma vengono memorizzate in codice LaTex nel database convertite successivamente in immagini dalla libreria MathJax durante la visualizzazione dell’esame. Le immagini sono formate da caratteri neri, sovrapposte ad uno sfondo trasparente. Durante l’utilizzo di questa interfaccia tale conversione avrebbe portato all’assenza visibilità delle formule, poiché i caratteri neri sovrapposti allo sfondo nero della pagina, non avrebbero permesso la lettura delle stesse. Si è pertanto resa necessaria la ricerca di uno strumento che intervenisse sulle immagini delle formule, dopo che queste fossero state sostituite alle formule, in quanto il tool MathJax non supporta formule di colore diverso dal nero, a causa dell’eccessivo spazio di memorizzazione che tale supporto richiederebbe. L’idea è stata quindi quella di accedere ad ogni singola immagine della formula e di modificare il colore di ogni singolo pixel delle immagini. A tale scopo si è individuato la libreria JavaScript Pixastic. Tale strumento non includeva però una funzione necessaria a tale scopo, benché rendesse possibile la modifica delle immagini, non la sostituzione di un singolo colore con un altro non risultava accessibile. Si è reso quindi necessario la scrittura di una funzione aggiuntiva, che utilizzando le funzioni principali della libreria, permettesse la modifica dei colori. Tale funzione, il cui codice risulta riportato di seguito, analizza ogni 107 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami pixel, uno ad uno, dell’immagine, andando a modificare i 4 byte associati alle informazioni del colore, qualora il colore originario risulti essere uguale al nero. Il risultato deriva dalla conversione del colore dal nero al verde. Pixastic.Actions.changecolor = { process : function(params) { if (Pixastic.Client.hasCanvasImageData()) { var data = Pixastic.prepareData(params); var invertAlpha = !!params.options.invertAlpha; var rect = params.options.rect; var p = rect.width * rect.height; var pix = p*4, pix1 = pix + 1, pix2 = pix + 2, pix3 = pix + 3; while (p--) { if((data[pix-=4]==0)&&(data[pix1-=4]==0)&&(data[pix2-=4]==0)){ data[pix]=0; data[pix1]=255; data[pix2]=0; data[pix3-=4]; } }return true; } else if (Pixastic.Client.isIE()) { params.image.style.filter += " invert"; return true; } },checkSupport : function() { return (Pixastic.Client.hasCanvasImageData() || Pixastic.Client.isIE()); } } A titolo integrativo dello schema proposto nel paragrafo precedente della libreria MathJax, si ripropone il grafico in Figura 3, completo della libreria Pixastic. 108 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami Figura 5 – Schema Visualizzazione Formule Completo 109 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami 4.2.3 Interfaccia “Simon” o Alternata Figura 6 – Interfaccia Alternata - Domanda Figura 7 – Interfaccia Alternata - Risposta 110 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami Come risulta visibile dalle Figure 6 e 7, contrariamente alle precedenti, questa interfaccia non include in un’unica schermata la domanda e la risposta. Tale rappresentazione, sviluppata partendo da una specifica richiesta della dottoressa Maria Assunta Vecchi dell’Ufficio Disabili dell’Università Politecnica delle Marche, tende alla focalizzare l’attenzione dello studente sull’esame. La separazione delle domande dalle risposte è necessaria poiché degli utenti destinati all’utilizzo di tale interfaccia, erano abituati a svolgere l’esame alternando le domande alle risposte attraverso l’utilizzo di carta stampata, dove da un lato è presente la domanda e dell’altro le risposte. Al fine di favorire l’approccio al pc, si è deciso di mantenere tale metodica, introducendo come unico elemento di “distrazione” la barra laterale. Si sono volute apportare solo alcune modifiche regole di visualizzazione e con la scrittura di una funzione apposita per alternare le domande alle risposte, mantenendo la veste grafica della visualizzazione base. Si è inoltre inserita una caratteristica non presente nelle altre maschere, ovvero il feedback immediato della risposta, come risulta visibile nella Figura 8. Tale strumento è parte della metodica attuale di svolgimento a cui sono abituati gli studenti, poiché ricevevano immediatamente l’esito della risposta. 111 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami Figura 8 – Interfaccia Alternata – Feedback Risposta immediato 4.3 Risultati Figura 9 – Risultati Esami Una volta completato l’esame cliccando sul pulsante “FINE”, che comparirà in basso a destra, si accederà alla pagina riguardante i risultati dell’esame. Tale pagina è suddivisa in 3 sezioni principali, una tabella 112 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami riepilogativa sintetica dell’esame, una tabella riepilogativa delle domande e, infine, i bottoni che permettono l’accesso agli strumenti di backup e stampa. Si è pensato, inoltre, di aggiungere la possibilità di tornare all’esame, cliccando su un apposito bottone. 4.3.1 Tabella Riepilogativa Esame Posta sulla sinistra della schermata, tale tabella riassume le informazione dell’esame. Al suo interno è possibile individuare: Il numero delle domande a risposta multipla; Il numero delle domande a risposta aperta; Il numero delle risposte date; Il numero delle risposte multiple corrette; Il numero delle risposte multiple errate; Il punteggio delle risposte multiple; Il punteggio “potenziale” delle risposte aperte. L’ultimo punteggio viene definito “potenziale”, poiché il tool di correzione non è in grado di decodificare il testo scritto e, pertanto, risulta inefficace nella correzione delle domande a risposta aperta. Pertanto in questo campo viene visualizzato solo la somma dei punteggi delle domande a risposta aperta presenti nell’esame. 113 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami 4.3.2 Tabella Riepilogativa Domande Posizionate nella parte centrale della pagina in questa tabella sono enumerate tutte le domande dell’esame, evidenziate in verde qualora le risposte siano corrette, in rosso se errate e in giallo se associate a risposte libere da verificare. Risultano con uno sfondo bianco, tutte quelle domanda a cui non è stata data risposta. All’interno della tabella è inoltre possibile individuare: Il tipo di domanda Il numero della risposta data L’esito della risposta Il punteggio associato alla domanda Cliccando inoltre su ogni singola riga della tabelle, sarà possibile approfondire l’analisi della domanda e della risposta data e verificare l’errore commesso. Nella Figura 10 è possibile notare questo pop-up di verifica, nella fattispecie la possibilità di visualizzare il testo della domanda, il testo della risposta data e, nel caso quest’ultima sia errata, il testo della risposta corretta associata alla domanda. In questo pop-up sono sempre disponibili sia le immagini, opportunamente ridimensionate, sia le formule scientifiche, renderizzate secondo lo schema illustrato nei paragrafi precedenti. In questa finestra è possibile inoltre leggere le risposte date alle domande aperte, con l’obiettivo di verificare l’esattezza delle stesse e assegnarne il punteggio. 114 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami Figura 10 – Correzione Domande 4.3.3 Strumenti: Salvataggio esame Come descritto nel capitolo precedente, la piattaforma è provvista di uno strumento per il backup degli esami. Accedendo a tale strumento, dopo aver svolto un esame, è possibile effettuare un backup dei dati dell’esame, come descritto nel paragrafo 3.4.9, includendo anche l’elenco delle risposte date, funzione non disponibile dal tool descritto precedente per ovvi motivi. 4.3.4 Strumenti: Stampa risultati Tale strumento, utilizzando delle regole di stile apposite, consente la stampa delle tabelle riepilogative dei risultati dell’esame, permettendo di 115 Capitolo 4 Sviluppo Piattaforma: Interfaccia Esami mantenere una copia cartacea delle risposte date e del punteggio totalizzato dallo studente durante lo svolgimento del test. 4.3.5 Strumento Stampa esame Tale funzione richiama la pagina di stampa in precedenza discussa nel paragrafo 3.6 del capitolo 3, che permette la stampa del solo esame evidenziando le risposte corrette, non includendo le risposte date dallo studente durante lo svolgimento. Per la stampa dell’esame svolto completo di domande è necessario utilizzare lo strumento di stampa dei Risultati, congiuntamente a quanto qui descritto. 116 Capitolo 5 Test delli interfacce e Conclusioni Capitolo 5 TEST DELLE INTERFACCE E CONCLUSIONI 117 Capitolo 5 Test delli interfacce e Conclusioni 5.1 Testing La fase di testing della piattaforma è avvenuta sia in modo privato sia con la consulenza dell’Ufficio Disabili in una simulazione di esame. L’utilizzo della piattaforma si è rivelato intuitivo oltre ogni aspettativa. La simulazione in collaborazione con l’Ufficio Disabili è avvenuta utilizzando come periferica di input un mouse. Tale limitazione è stata determinata dalla mancanza di un supporto Touch-screen disponibile per il test. La simulazione è stata, comunque, un successo ed ha permesso di evidenziare come l’utilizzo delle interfacce, benché ideato ed ottimizzato per supporti input Touch-screen, ben si adatta all’utilizzo associato ad un mouse. La sessione in esame ha permesso, inoltre di evidenziare l’importanza delle soluzioni adottate per l’utilizzo delle immagini e le scelte fatte in termini di visibilità, posizionamento e dimensioni. Fondamentali sono le soluzioni individuate per la fruizione delle formule scientifiche, anche se a tal proposito si sono riscontrate alcune difficoltà nell’utilizzo di alcuni browser. Successivamente sono state effettuate delle simulazioni con l’utilizzo di diverse periferiche Touch-Screen utilizzando lo stesso test di esame, per di verificare l’accessibilità della piattaforma, secondo gli standard che ci si era prefissi all’inizio dello sviluppo del progetto di studio. Si sono utilizzate le seguendi piattaforme Hardware: Apple iPad Hp TouchSmart TS2-2101SL VirtualTouch with WiiMote Lee Chung 118 Capitolo 5 Test delli interfacce e Conclusioni Tablet Android (emulazione) 5.1.1 Apple iPad Caratteristiche Hardware e Software CPU: Apple A4 FREQUENZA CPU: 1 GHz DISPLAY INCORPORATO: LED 9,7" IPS Multi-touch SISTEMA OPERATIVO iOS 4.2.1 RISOLUZIONI VIDEO: 768 x 1024 px, 132 ppi SITO WEB: apple.com/it/ipad Impressioni: Il browser, derivato direttamente da Safari 5, pemette la navigazione senza alcun problema attraverso la piattaforma. L’utilizzo degli strumenti è agevole, ma sconsigliato per l’inserimento di esami, se non in presenza di una tastiera fisica. L’inserimento di lunghi testi comporta alcune difficoltà. L’uso dell’interfaccia risulta impeccabile, la velocità di caricamento dell’esame, delle immagini e delle formule è istantanea. 119 Capitolo 5 Test delli interfacce e Conclusioni Esempio Formule su Interfaccia Standard funzionante su iPad Esempio Immagini su Interfaccia Alternata funzionante su iPad 120 Capitolo 5 Test delli interfacce e Conclusioni Esempio Formule su Interfaccia Ipovedenti funzionante su iPad Come visibile dalle immagini sia lo script MathJax sia lo script Pixastic, sono pienamente compatibili con la periferica. L’unica nota da segnalare è l’impossibilità di nascondere la barra degli indirizzi del browser, che comporta la diminuzione dello spazio visualizzabile e una fonte di distrazione per l’utente. 121 Capitolo 5 Test delli interfacce e Conclusioni 5.1.2 Hp TouchSmart TM2-2101SL Caratteristiche Hardware e Software CPU: Intel Core i3-380UM FREQUENZA CPU: 1,33 GHz DISPLAY INCORPORATO: LED 12,1” Multi-touch SISTEMA OPERATIVO Windows 7 Home Premium 64bit RISOLUZIONI VIDEO: 1.280 x 800 px SITO WEB: www.hp.com Impressioni: il computer, apparente alla categoria dei “convertibili”, è un notebook di media potenza con una buona autonomia, che possiede la peculiarità di potersi trasformare in un TabletPc, grazie ad uno schermo ruotante e ruotabile e ribaltabile sulla tastiera. Avendo in dotazione il sistema operativo Microsoft Windows 7 permette l’installazione di un qualunque browser disponibile per questa piattaforma, per la simulazione, si è preferito utilizzare Mozilla FireFox nella sua ultima versione stabile 3.6.13. L’utilizzo degli strumenti è agevole. Grazie alla duplice natura del prodotto l’inserimento di esami è stato facilitato dalla presenza della tastiera fisica in modalità notebook e dalla presenza di un touchpad. La velocità di caricamento dell’esame, delle immagini e delle formule è estremamente veloce, per alla presenza di un Hardware completo, e all’utilizzo di uno dei più recenti browser esistenti in rete. 122 Capitolo 5 Test delli interfacce e Conclusioni Esempio Immagini su Interfaccia Alternata funzionante su TabletPc Hp Esempio Immagini e Feedback su Interfaccia Alternata funzionante su TabletPc Hp 123 Capitolo 5 Test delli interfacce e Conclusioni L’utilizzo del touch-screen non si è rilevato all’altezza delle aspettative. Essendo di tipo capacitivo è stato possibile interagire esclusivamente tramite il tocco con le dita, ma il sistema mostrava una latenza di risposta di circa 11,5 secondi, eccessiva per l’utilizzo che se ne vuole fare. 5.1.3 Notebook Acer Aspire 5024WLMi + Proiettore Acer X1161 per uso software “Project Wiimote controller” Caratteristiche Hardware e Software CPU: Turion 64bit ML-34 FREQUENZA CPU: 1,80 GHz DISPLAY INCORPORATO: Proiettore Acer X1161 SISTEMA OPERATIVO Windows Xp Professional SP3 32bit RISOLUZIONI VIDEO: 1.024 x 768 px (Proiettore) SITO WEB: johnnylee.net/projects/wii/ CONTROLLER BLUETOOTH CONTROLLER WIIMOTE Generico 2.0 Originale Nintendo Impressioni: Dopo aver installato i driver Bluetooth ed aver collegato il controller WiiMote Nintendo al notebook, Windows riconosce il controller come HID (Human Interface Device) attraverso il driver generico per tutte le periferiche d’input. Successivamente è possibile avviare il programma scritto da Lee Chung per l’utilizzo del controller Nintendo sfruttando il ricevitore Infrarossi al suo interno. 124 Capitolo 5 Test delli interfacce e Conclusioni Esempio Interfaccia Standard funzionante con uso WiiMote e Proiettore 125 Capitolo 5 Test delli interfacce e Conclusioni Esempio Interfaccia Alternata funzionante con uso WiiMote e Proiettore Esempio Interfaccia Ipovedenti funzionante con uso WiiMote e Proiettore 126 Capitolo 5 Test delli interfacce e Conclusioni Esempio Interfaccia Ipovedenti funzionante con uso WiiMote e Proiettore L’utilizzo del software abbinato al controller è stato incredibilmente positivo. Non si sono riscontrate latenze di alcun genere, nonostante l’hardware del notebook datato. Poter utilizzare il proiettore come una costosa LIM (Lavagna Interattiva Multimediale) è stato una piacevole scoperta, se a questo aggiungiamo che la spesa totale risulta inferiore di due ordini di grandezza, ci si rende conto della portata dell’innovazione. L’entità e l’importanza di tale supporto tecnologico è del tutto evidente nella scelta che il MIUR (Ministero dell'Istruzione, dell'Università e della Ricerca) di dotale le scuole statali di tutta l’Italia di un numero considerevole, ed in rapido ulteriore incremento di LIM1. L’utilizzo di questo Progetto nella sua connotazione innovativa 1 http://www.lavoce.info/binary/la_voce/dossier/cap.0_introduzione_.1296231435.pdf 127 Capitolo 5 Test delli interfacce e Conclusioni potrebbe essere un supporto altrettanto valido per la sua semplicità di utilizzo. 5.1.4 Tablet Android 2.3 (emulazione) Caratteristiche Hardware e Software CPU: Generica (Emulata) SISTEMA OPERATIVO Android v.2.3.1 RISOLUZIONI VIDEO: 800x640 px SITO WEB: www. android.com Non è possibile dare impressioni di utilizzo del sintema operativo Android in quanto le emulazioni sono notoriamente lente. Inoltre l’efficienza degli input Touch, la loro precisione e velocità è strettamente legata al hardware del tablet usato. Si è deciso di effettuare l’emulazione software esclusivamente per valutare la compatibilità della piattaforma sviluppata con il browser integrato nel sistema operativo di casa Google. 128 Capitolo 5 Test delli interfacce e Conclusioni Esempio Immagine su Interfaccia Standard funzionante su emulazione Android 2.3.1 129 Capitolo 5 Test delli interfacce e Conclusioni Esempio Formule e Feedback su Interfaccia Alternata funzionante su emulazione Android 2.3.1 L’unica considerazione possibile è che, data la compatibilità con la versione 2.3 destinata prevalentemente agli smartphone, risulta probabile la compatibilità del browser integrato nel sistema operativo, anche della versione 3.0 di recente introduzione destinata al mondo tablet. 130 Capitolo 5 Test delli interfacce e Conclusioni 5.2 Conclusioni e Possibili Sviluppi In conclusione il lavoro svolto e mostrato in questo elaborato ha posto in evidenza che è possibile fare ancora molto. Il campo di applicazione è estremamente ampio. Le possibili applicazioni sono implementabili con altri adattamenti funzionali all’approccio alle nuove tecnologie sia da coloro normo-dotati sia da coloro che hanno disabilità di diverso tipo. Ad esempio: l’integrazione di un sintonizzatore vocale Web è uno dei possibili obiettivi da raggiungere. Sono state già effettuate diverse prove di integrazione del software OpenSorce Festival, attraverso la creazione di un servizio web, utilizzando uno script Php attivo sul server, che codifica i testi delle domande, delle risposte e delle formule scientifiche ( grazie al supporto del software e della piattaforma sviluppata del linguaggio MathMl ) e restituisce un file audio Mp3 contenente la codifica, ma si sono riscontrate eccessive latenze di codifica e download dei file audio risultanti. Questo possibile sviluppo richiederà, pertanto, soluzioni atte a garantire una maggiore fruibilità del servizio, magari introducendo lo streaming in tempo reale del testo codificato, o suddividendo il testo in porzioni più piccole. Ulteriore sviluppo potrebbe essere la creazione di un tool per lo sviluppo facilitato delle interfacce di esame, così da migliorarne la personalizzazione rispetto al destinatario finale. Altri sviluppi potrebbero essere mirati sull’inserimento di un editor WYSIWYG (What You See Is What You Get) per facilitare e personalizzare 131 Capitolo 5 Test delli interfacce e Conclusioni ulteriormente la creazione degli esami. La piattaforma non è perfetta, si pone, appunto, all’inizio di un percorso tutto da esplorare, ampliare e migliorare al fine di integrarla nell’uso quotidiano universitario. Migliorare la vita di chi ci sta in torno è un nostro dovere. Usare le nostre capacità e conoscenze per aiutare chi ci sta intorno è un nostro onere ed una nostra responsabilità, se vogliamo concorrere alla costruzione di un mondo in cui le difficoltà individuali non siano barriere da abbattere, ma stimolo per una ricerca che arricchisca tutti, ciascuno per le proprie capacità di incidere positivamente e migliorare l’ambiente in cui vive e da cui trae vita. 132 Bibliografia Risorse Web: HCI – Interfacce MultiModali - www. webaccessibile.org - Alessandra Verzelloni “Nuove prospettive per la partecipazione scolastica degli alunni con disabilità” – MIUR - Pasquale Pardi e Giovanni Simoneschi Statistiche e dati - www.disabilitaincifre.it - www.miur.it Definizioni e Cenni storici - www.wikipedia.it Touch-Screen tecnologie - www.nonsolocittanova.it/ Accessibilità Guida completa - M. Diodati – www.accessibile.diodati.org/agc/ Web Usability – Jakob Nielsen - www.useit.com Strumenti Adoperati: Script scrittura Latex - www.codecogs.com “Low-Cost Multi-point Interactive Whiteboards Using the Wiimote” – www.johnnylee.net/projects/wii – Lee Chung “TouchLib” – www.touchlib.com Php – www.php.com GD Graphics Library – www.libgd.com Mysql – www.mysql.com Html – Css – MathMl - www.w3.org 133 Latex - www.latex-project.org MathJax – www.mathjax.com Pixastic – www.pixastic.com Server utilizzato: Netsons.org Editor Html - Php - JavaScript – Css: NotePad++ Esempi codice Javascript e Css utilizzati: www.html.it ww.w3schools.com www.htmldog.com 134