Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
UNIVERSITÀ DEGLI STUDI DEL SANNIO
DIPARTIMENTO DI INGEGNERIA
CORSO DI LAUREA IN INGEGNERIA INFORMATICA
Tesi di Laurea
Ev...
2
A mia madre
che mi ha insegnato ad amare i libri.
3
Ringraziamenti
Questa pagina è dedicata ai ringraziamenti di tutti coloro che in un modo o nell’altro mi hanno
aiutato n...
4
Sommario
SOMMARIO..........................................................................................................
5
4.1 RACCOLTA REQUISITI.....................................................................................................
6 Elenco delle figure
Elenco delle figure
Figura 3-1 Interfaccia Strillone...................................................
7 Elenco delle tabelle
Elenco delle tabelle
Tabella 2-1 Traduzione da Lingua dei Segni a Italiano Segnato....................
8 Introduzione
CAPITOLO 1
1 Introduzione
Questo lavoro di tesi è incentrato sulle difficoltà che alcune persone diversamen...
9 Introduzione
1.1 Organizzazione del lavoro
La tesi è organizzata in cinque capitoli. Questo primo capitolo ha il compito...
10 Stato dell’arte
CAPITOLO 2
2 Stato dell’arte
“Un giorno le macchine riusciranno a risolvere tutti i problemi, ma mai ne...
11 Stato dell’arte
Divide racchiude in sé complesse problematiche che coinvolgono tutti gli aspetti della
vita di una comu...
12 Stato dell’arte
permettendo un maggior margine di autonomia, assumono un ruolo molto importante,
bilanciando le limitaz...
13 Stato dell’arte
Oggi Informatici Senza Frontiere conta dieci sezioni regionali e più di 300 soci e socie,
informatici e...
14 Stato dell’arte
dell’applicazione. Attualmente Strillone è disponibile gratuitamente nelle versioni per le
principali p...
15 Stato dell’arte
postverbale”. La prima comprende persone che sono nate sorde o hanno perso l’udito
prima del processo d...
16 Stato dell’arte
2.4 La lingua dei segni e l’Italiano segnato
La sordità è una disabilità che può creare una condizione ...
17 Stato dell’arte
Il lessico delle lingue dei segni potenzialmente può esprimere qualsiasi concetto,
concreto e astratto....
18 Stato dell’arte
L.I.S. I.S.
Maria sua gonna nera Gonna Maria nera
Tavolo palla sopra Palla sopra tavolo
Tu, cinema anda...
19 Stato dell’arte
specializzati; inoltre le sue finalità sono ispirate a principi di pari opportunità tra uomini
e donne ...
20 Controllo domotico e SpokenHouse
CAPITOLO 3
3 Controllo domotico e SpokenHouse
“Le case saranno in grado di volare. Ver...
21 Controllo domotico e SpokenHouse
Anche se non esiste uno standard univoco, i sistemi domotici devono presentare poche
e...
22 Controllo domotico e SpokenHouse
un impianto di domotica può incidere sul costo degli impianti elettrici, in linea di
m...
23 Controllo domotico e SpokenHouse
Nella visione dell’Internet of Things, gli oggetti creano un sistema pervasivo ed
inte...
24 Controllo domotico e SpokenHouse
abbattere il Digital Divide è stata progettata un’interfaccia grafica che vada incontr...
25 Controllo domotico e SpokenHouse
L’applicazione SpokenHouse è stata sviluppata in maniera cross-platform, utilizzando u...
26 Controllo domotico e SpokenHouse
3.5 Architettura del sistema Spoken House
Il sistema progettato è composto da tre sott...
27 Controllo domotico e SpokenHouse
Nel progetto, svolto dagli ingegneri Marco Di Brino e Daniela Guardabascio, si è curat...
28 Controllo domotico e SpokenHouse
L’applicazione ibrida si differenzia dalle applicazioni native dato che queste ultime ...
29 Controllo domotico e SpokenHouse
demo in grado di mostrare l’integrazione di tali sistemi. Il punto di forza è rapprese...
30 Controllo domotico e SpokenHouse
mobile, da riempire con codice HTML, CSS e JavaScript. Una volta riempite avremo
un’ap...
31 Controllo domotico e SpokenHouse
 Device: permette di ottenere informazioni sul telefono e sul sistema operativo.
 Vi...
32 Controllo domotico e SpokenHouse
3.6.4 CSS 3
Per la realizzazione dell’interfaccia grafica, per la definizione del layo...
33 Controllo domotico e SpokenHouse
La diffusione delle applicazioni web e delle applicazioni desktop ha visto il fiorire ...
34 Controllo domotico e SpokenHouse
3.6.6 WebSQL
Per la realizzazione del Model di SpokenHouse, al fine di rendere persist...
35 Controllo domotico e SpokenHouse
sintattico che consente di definire e controllare il significato degli elementi conten...
36 Controllo domotico e SpokenHouse
schema URI per identificare le risorse consiste nel fatto che esiste già, è ben defini...
37 Controllo domotico e SpokenHouse
permettere la comunicazione tra diversi tipi di computer e di reti di computer. TCP/IP...
38 Controllo domotico e SpokenHouse
Nel caso specifico di questo lavoro di tesi, l’applicazione implementa il lato client ...
39 SpokenHouse e i non udenti
CAPITOLO 4
4 SpokenHouse e i non udenti
“L’unico modo di conoscere davvero i problemi è acco...
40 SpokenHouse e i non udenti
 Navigazione con l’ausilio di messaggi testuali attraverso tutte le funzionalità di
control...
41 SpokenHouse e i non udenti
Inoltre sono state effettuate alcune modifiche al database manager dell’applicazione in
modo...
42 SpokenHouse e i non udenti
l’apposita voce presente nel menù delle impostazioni. Inoltre nel caso in cui i messaggi
tes...
43 SpokenHouse e i non udenti
La specifica di un caso d’uso dovrebbe includere almeno un nome, gli attori principali e
sec...
44 SpokenHouse e i non udenti
2. L’utente preme il tasto ↓ per accedere all’area
impostazioni.
3. Il sistema riconosce il ...
45 SpokenHouse e i non udenti
Attivazione/disattivazione dei video nella lingua dei segni
Descrizione
Il Sistema dà la pos...
46 SpokenHouse e i non udenti
8. L’utente preme ↓ per disattivare la funzionalità dei video
in Lingua dei Segni.
9. Il sis...
47 SpokenHouse e i non udenti
Figura 4-4 Menu di navigazione
48 SpokenHouse e i non udenti
Partendo dal nodo radice (menu), quindi la schermata iniziale dell’applicazione, l’utente
pu...
49 SpokenHouse e i non udenti
Oltre agli shortcuts, la sezione del controllo domotico permette la navigazione della
strutt...
50 SpokenHouse e i non udenti
dello stato dell’impostazione “Messaggi testuali” attraverso il pulsante in basso a
sinistra...
51 SpokenHouse e i non udenti
Figura 4-6 Stato dei messaggi testuali attivato
L’attivazione dei messaggi testuali comporte...
52 SpokenHouse e i non udenti
4.6 Attivazione video in lingua dei segni
Questa funzionalità permette di attivare i video i...
53 SpokenHouse e i non udenti
Figura 4-8 Sequenza dei passi da eseguire per l'attivazione dei video in Lingua dei Segni
Un...
54 SpokenHouse e i non udenti
L’attivazione dei video in Lingua dei Segni comporterà la visualizzazione di alcuni brevi
fi...
55 SpokenHouse e i non udenti
perfettamente funzionante ma completamente inutile se non rispecchia quanto richiesto
nella ...
56 Conclusioni e sviluppi futuri
CAPITOLO 5
5 Conclusioni e sviluppi futuri
“Ciò che abbiamo fatto solo per noi stessi muo...
57 Conclusioni e sviluppi futuri
Nella lista delle impostazioni dell’applicazione è ora possibile trovare le voci
corrispo...
58 Conclusioni e sviluppi futuri
Per rendere il sistema domotico più conforme al prototipo di “Smart House”, è
possibile a...
59 Glossario dei termini
APPENDICE
A. Glossario dei termini
Di seguito sono stati riportati i termini tecnici maggiormente...
60 Glossario dei termini
Ambiente
domotico
Ambiente domestico che mette a disposizione
dell’utente impianti in grado di sv...
61 Bibliografia
Bibliografia
[1] Libro Bianco: Tecnologie per la disabilità, Commissione interministeriale sullo sviluppo
...
Upcoming SlideShare
Loading in …5
×

Evoluzione di un’applicazione mobile cross platform per il supporto domotico ad utenti non udenti

649 views

Published on

Tesi realizzata presso l'Università del Sannio in collaborazione con Informatici senza Frontiere. Il progetto utilizza il framework Freedomotic.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Evoluzione di un’applicazione mobile cross platform per il supporto domotico ad utenti non udenti

  1. 1. 1 UNIVERSITÀ DEGLI STUDI DEL SANNIO DIPARTIMENTO DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA Tesi di Laurea Evoluzione di un’applicazione mobile cross platform per il supporto domotico ad utenti non udenti Relatore: Candidato: Prof.ssa Lerina Aversano Giuseppe Ristaino Mat. 863000128 Anno Accademico 2014/2015
  2. 2. 2 A mia madre che mi ha insegnato ad amare i libri.
  3. 3. 3 Ringraziamenti Questa pagina è dedicata ai ringraziamenti di tutti coloro che in un modo o nell’altro mi hanno aiutato nella realizzazione di questa tesi. In primis vorrei ringraziare la professoressa Lerina Aversano che mi ha permesso di poter contribuire a un progetto bellissimo, dandomi anche la possibilità di rendermi utile, anche se in piccola parte, nel diminuire il divario esistente tra il mondo della tecnologia e quello delle persone diversamente abili. Le sarò sempre grato per la fantastica esperienza e per l’aiuto che mi ha dato nello sviluppo di questo progetto. Un sentito ringraziamento va ad Informatici Senza Frontiere, in particolare nella persona di Adia Barretta, che ha dato inizio alla nascita di questo affascinante progetto dandomi inoltre la possibilità di ampliarlo senza troppe difficoltà. Anche se queste prossime cinque righe non basteranno a ringraziare due persone fantastiche, è mio dovere farlo. Daniela Guardabascio e Marco Di Brino, i “pionieri” dell’applicazione discussa in questo lavoro di tesi, sono stati più di una semplice guida durante la realizzazione di questo progetto. Il loro supporto è stato fondamentale e senza di loro questa tesi non sarebbe mai esistita. Ricorderò con affetto il loro ufficio accogliente e i bei momenti passati assieme. Cogliendo la palla al balzo un ringraziamento particolare va ad Antonio e Fiorella che hanno contribuito, insieme a Daniela e Marco, a rendere l’ambiente di lavoro un posto piacevole e familiare dandomi la possibilità di trovarmi a mio agio anche nelle situazioni più difficili Un grazie di cuore a Davide che mi ha sopportato per tutti questi anni accademici. Non potrò mai ringraziarlo abbastanza per tutto quello che ha fatto nei miei confronti. Da lui ho imparato (o almeno ho cercato di imparare) a fare le cose nel modo giusto e a prendere il tempo che ci voleva nel farle bene. Inoltre ringrazio tutte le persone che ho conosciuto in questi anni universitari e che mi hanno aiutato ad arrivare allo sviluppo di questa tesi di laurea. Infine per ultimo, ma non meno importante, ringrazio la mia famiglia per avermi supportato.
  4. 4. 4 Sommario SOMMARIO......................................................................................................................................4 ELENCO DELLE FIGURE...........................................................................................................6 ELENCO DELLE TABELLE ....................................................................................................................7 1 INTRODUZIONE........................................................................................................................8 1.1 ORGANIZZAZIONE DEL LAVORO......................................................................................................9 2 STATO DELL’ARTE...................................................................................................................10 2.1 IL DIGITAL DIVIDE......................................................................................................................10 2.2 INFORMATICI SENZA FRONTIERE...................................................................................................12 2.3 I NON UDENTI ..........................................................................................................................14 2.4 LA LINGUA DEI SEGNI E L’ITALIANO SEGNATO..................................................................................16 2.5 ELIS.......................................................................................................................................18 2.6 ENS ......................................................................................................................................19 3 CONTROLLO DOMOTICO E SPOKENHOUSE.............................................................................20 3.1 CHE COS’È LA DOMOTICA ...........................................................................................................20 3.2 COSTI E DIFFUSIONE..................................................................................................................21 3.3 INTERNET OF THINGS................................................................................................................22 3.4 INTRODUZIONE A SPOKENHOUSE.................................................................................................23 3.5 ARCHITETTURA DEL SISTEMA SPOKEN HOUSE.................................................................................26 3.6 TECNOLOGIE UTILIZZATE ............................................................................................................27 3.6.1 Freedomotic ....................................................................................................................28 3.6.2 Apache Cordova ..............................................................................................................29 3.6.3 HTML 5............................................................................................................................31 3.6.4 CSS 3................................................................................................................................32 3.6.5 JavaScript ........................................................................................................................32 3.6.5.1 JSON.....................................................................................................................................33 3.6.6 WebSQL...........................................................................................................................34 3.6.7 XML .................................................................................................................................34 3.6.8 REST.................................................................................................................................35 3.6.9 TCP/IP..............................................................................................................................36 3.6.10 HTTP............................................................................................................................37 4 SPOKENHOUSE E I NON UDENTI.............................................................................................39
  5. 5. 5 4.1 RACCOLTA REQUISITI.................................................................................................................39 4.2 MODIFICHE ALL’ARCHITETTURA DEL SISTEMA .................................................................................40 4.3 CASI D’USO .............................................................................................................................42 4.4 LA NAVIGABILITÀ ......................................................................................................................46 4.5 ATTIVAZIONE MESSAGGI TESTUALI ...............................................................................................49 4.6 ATTIVAZIONE VIDEO IN LINGUA DEI SEGNI......................................................................................52 4.7 ESPERIENZA CON I NON UDENTI...................................................................................................54 5 CONCLUSIONI E SVILUPPI FUTURI ..........................................................................................56 5.1 CONCLUSIONI ..........................................................................................................................56 5.2 SVILUPPI FUTURI ......................................................................................................................57 A. GLOSSARIO DEI TERMINI........................................................................................................59 BIBLIOGRAFIA.................................................................................................................................61
  6. 6. 6 Elenco delle figure Elenco delle figure Figura 3-1 Interfaccia Strillone.................................................................................... 24 Figura 3-2 Overview del sistema SpokenHouse....................................................... 26 Figura 3-3 Architettura del sistema SpokenHouse................................................... 27 Figura 3-4 Apache Cordova ........................................................................................ 30 Figura 4-1 Componenti aggiunti e modificati nell’architettura............................... 41 Figura 4-2 Sequence Diagram: attivazione/disattivazione dei messaggi testuali.. 44 Figura 4-3 Sequence Diagram: attivazione/disattivazione dei video nella lingua dei segni.......................................................................................................................... 46 Figura 4-4 Menu di navigazione.................................................................................. 47 Figura 4-5 Sequenza dei passi da eseguire per l'attivazione dei messaggi testuali 50 Figura 4-6 Stato dei messaggi testuali attivato .......................................................... 51 Figura 4-7 Esempio di messaggi testuali.................................................................... 51 Figura 4-8 Sequenza dei passi da eseguire per l'attivazione dei video in Lingua dei Segni................................................................................................................................ 53 Figura 4-9 Stato dei video in Lingua dei Segni attivato ........................................... 53 Figura 4-10 Esempio di video in Lingua dei Segni................................................... 54 Figura 4-11 Verifica delle funzionalità effettuata con persona sorda .................... 55
  7. 7. 7 Elenco delle tabelle Elenco delle tabelle Tabella 2-1 Traduzione da Lingua dei Segni a Italiano Segnato............................. 18 Tabella 4-1 Caso d'uso 1: attivazione/disattivazione dei messaggi testuali........... 44 Tabella 4-2 Caso d'uso 2: attivazione/disattivazione dei video nella lingua dei segni ................................................................................................................................ 46 Tabella A-1 Glossario dei termini............................................................................... 60
  8. 8. 8 Introduzione CAPITOLO 1 1 Introduzione Questo lavoro di tesi è incentrato sulle difficoltà che alcune persone diversamente abili potrebbero incontrare nell’utilizzo di nuove tecnologie. Protagonista di questa tesi è SpokenHouse, un’applicazione nata dalla collaborazione dei volontari di Informatici Senza Frontiere ONLUS (ISF) e dell’Università degli Studi del Sannio di Benevento, in particolare con la tesi di Guardabascio Daniela e Di Brino Marco. SpokenHouse è un’applicazione mobile per il controllo dei dispositivi elettronici presenti in un’abitazione ed è stata progettata in modo tale da renderla facilmente utilizzabile da parte di utenti con disabilità visive. A tal proposito, l’applicazione, dispone di una interfaccia grafica e di funzionalità cercando di andare il più possibile incontro alle esigenze di questi utenti. L’obiettivo di questo lavoro di tesi è quello di aumentare le funzionalità dell’applicazione in modo da renderla accessibile anche ad utenti con disabilità uditive. Per l’analisi delle funzionalità da aggiungere è stata contattata l’associazione eLIS la quale si è dimostrata molto disponibile contribuendo alla realizzazione di questo progetto. Per garantire un accesso molto più semplice all’applicazione per quanto riguarda gli utenti non udenti, si è quindi deciso di aggiungere due funzionalità fondamentali. Una di queste prevede la comparsa di messaggi testuali sullo schermo dello smartphone presentando all’utente il contesto in cui si trova. L’altra, invece, prevede la visualizzazione di alcuni video in Lingua dei Segni sullo schermo dello smartphone, aiutando l’utente alla navigazione dell’applicazione.
  9. 9. 9 Introduzione 1.1 Organizzazione del lavoro La tesi è organizzata in cinque capitoli. Questo primo capitolo ha il compito di introdurre il lettore allo scopo del progetto. Il tema principale del secondo capitolo è il digital divide (divario digitale), fenomeno che riguarda il mancato accesso, per diversi motivi, ai servizi della tecnologia dell’informazione ad alcune persone. Si discuterà della sua nascita e di come alcune associazioni cercano di trovare soluzioni in grado di risolvere parte del problema. Infine, siccome il lavoro è dedicato alle persone con problemi uditivi, si tratteranno aspetti relativi alla sordità e alla comunicazione utilizzata in questo ambito. La parte software dell’applicazione SpokenHouse verrà trattata nel capitolo tre, illustrando nel dettaglio la sua architettura e le tecnologie utilizzate per la sua creazione. Inoltre, dato che lo scopo funzionale dell’applicazione, protagonista di questo lavoro di tesi, è quello di controllare i dispositivi connessi ad una rete di casa tramite l’aiuto di uno smartphone, nello stesso capitolo si introdurranno i concetti fondamentali del controllo domotico. Si parlerà della sua diffusione per poi arrivare a discutere, in breve, un aspetto molto più ampio riguardo il campo degli oggetti interconnessi, l’Internet Of Things. Nel capitolo quattro verrà descritto nel dettaglio lo scopo di questo lavoro di tesi evidenziando i requisiti raccolti e le funzionalità aggiunte all’applicazione mostrandone, inoltre, i rispettivi casi d’uso. Al fine di testare le nuove funzionalità dell’applicazione, sviluppate in questo progetto, nel medesimo capitolo si troveranno le verifiche effettuate direttamente con il target di utenza a cui è destinato questo lavoro di tesi. Nell’ultimo capitolo, il quinto, saranno descritte le conclusioni a cui si è giunti e i possibili ampliamenti futuri dell’applicazione.
  10. 10. 10 Stato dell’arte CAPITOLO 2 2 Stato dell’arte “Un giorno le macchine riusciranno a risolvere tutti i problemi, ma mai nessuna di esse potrà porne uno.” Albert Einstein 2.1 Il digital divide Il mondo in cui viviamo è sempre più connesso, in cui gli aspetti delle nostre relazioni sociali si stanno muovendo sempre di più verso il campo virtuale. Non si tratta più di essere in grado di rimanere in contatto con gli amici o avere conversazioni con parenti lontani. Infatti, le operazioni che in precedenza erano impossibili da fare con un computer o un telefono cellulare sono stati progressivamente trasferiti in tali mezzi, fino al punto, in alcuni casi, di essere penalizzati per il non utilizzo di tali tecnologie. Questo contesto isola una parte significativa della popolazione che è involontariamente esclusa all’utilizzo dei mezzi tecnologici innovativi. In particolare, le persone anziane, i non vedenti, i non udenti sono spesso separate dal resto della società da parte del cosiddetto Digital Divide, che impedisce loro di godere di più progressi che potrebbero, senza dubbio, migliorare la loro qualità di vita. Il Digital Divide è quindi il termine utilizzato per intendere una mancanza di accesso all’utilizzo delle nuove tecnologie di comunicazione informatiche. La definizione Digital
  11. 11. 11 Stato dell’arte Divide racchiude in sé complesse problematiche che coinvolgono tutti gli aspetti della vita di una comunità: economici, culturali, sociali. Storicamente, i primi che parlarono di digital divide furono Al Gore e Bill Clinton, quando, all’inizio degli anni novanta, intrapresero una politica di forte sviluppo e potenziamento dell’infrastruttura di internet negli Stati Uniti. Il concetto di Digital Divide era riferito alle difficoltà di accesso a internet in determinate zone del paese (difficoltà intesa anche sotto l’aspetto dei costi). In quegli anni Internet esplode come fenomeno di massa diventando sempre di più un mezzo di lavoro e di business e non essere connessi alla rete (o non avere gli strumenti cognitivi per farlo), significava quindi essere relegati ai margini della società. Nascono così vari progetti per colmare il divario digitale americano nell’amministrazione Clinton. Comunque sia, il mobile dà certamente un contributo al superamento del Digital Divide e della esclusione sociale. Esso consente, infatti, alla persona con disabilità, sia una maggiore facilità di accesso a contenuti e servizi di vario genere, sia il miglioramento della sua “partecipazione” alla vita sociale. Questo è possibile grazie alla possibilità di accedere tramite i dispositivi mobile e le reti wireless al grande mondo delle applicazioni Internet ed in particolare ai contenuti del web, grazie all’offerta di contenuti e servizi specifici. In Italia, al fine di definire una soluzione, volta a promuovere il potenziale delle tecnologie verso disabili e anziani, e quindi al fine di debellare il Digital Divide che li potrebbe colpire, è stata istituita nel Maggio del 2002 presso il Dipartimento per l’Innovazione e le Tecnologie della Presidenza del Consiglio dei Ministri la “Commissione interministeriale sullo sviluppo e l’impiego delle tecnologie dell’informazione per le categorie deboli” [1], oggi divenuta permanente. Inoltre, il Ministro per l’Innovazione e le Tecnologie ha presentato un disegno di legge, dal titolo “Disposizioni per favorire l’accesso dei soggetti disabili agli strumenti informatici” [2], che obbliga tutte le amministrazioni pubbliche e i soggetti che erogano pubblici servizi a rispettare i requisiti di accessibilità nei contratti stipulati per la realizzazione o la modifica di siti web. Per quanto riguarda il Digital Divide che affligge le persone disabili, le tecnologie assistive, le quali cercano di aiutare i disabili sopperendo alle loro difficoltà e
  12. 12. 12 Stato dell’arte permettendo un maggior margine di autonomia, assumono un ruolo molto importante, bilanciando le limitazioni dell’interessato. Ciò è realizzato attraverso particolari strumenti hardware e software che consentono di convertire l’informazione non accessibile all’utente in un formato comprensibile, come la barra Braille, la sintesi o il riconoscimento vocale, o supporti che offrono l’uso dei dispositivi d’input in accordo con le speciali necessità della persona, ad esempio mouse e tastiere speciali o ingranditori del testo sullo schermo. Le tecnologie assistive, si pongono l’obiettivo di mettere il disabile nelle stesse condizioni di utilizzo del computer di un soggetto normodotato, cercando di semplificargli la vita soprattutto nei contesti di maggior impatto formativo, cioè la scuola e il luogo di lavoro. La digitalizzazione sta compiendo passi da gigante, tuttavia è necessario ritenere che le tecnologie devono favorire il miglioramento della qualità della vita e non contribuire a innalzare nuove barriere. 2.2 Informatici senza frontiere Informatici senza Frontiere [3] è una Onlus che ha come primo obbiettivo quello di utilizzare conoscenze e strumenti informatici per portare un aiuto concreto a chi vive situazioni di emarginazione e difficoltà. Per i fondatori e i volontari di Informatici Senza Frontiere, l’accesso alle tecnologie dell’informazione e della comunicazione rappresenta un prerequisito essenziale allo sviluppo economico e sociale: l’Information Technology dovrebbe essere considerata un bene di primaria necessità, per questo si impegnano concretamente, in Italia e nel mondo, per facilitare a soggetti che vivono realtà disagiate l’accesso agli strumenti tecnologici. Informatici Senza Frontiere realizza progetti in Italia e nei paesi in via di sviluppo, offrendo l’opportunità di far conoscere l’informatica, e i vantaggi che anche una piccola tecnologia può portare, a realtà come ospedali, carceri, case di accoglienza e scuole. Informatici Senza Frontiere crede nell’uso abilitante delle ICT (Information and Communications Technology) come modo per migliorare la qualità della vita.
  13. 13. 13 Stato dell’arte Oggi Informatici Senza Frontiere conta dieci sezioni regionali e più di 300 soci e socie, informatici e non, che contribuiscono alla vita dell’associazione e mantenendo intatti i valori di fondo, come associazione caratterizzata dalla piacevolezza dello stare assieme e dall’affidabilità del suo operato e, senza dubbio, continuerà a crescere. L’attività di Informatici Senza Frontiere è iniziata con la realizzazione di “Open Hospital” (OH), un software open source, che permette a piccole realtà ospedaliere di gestire il flusso dei pazienti e dei medicinali con una certa sistematicità: OH è stato installato la prima volta ad Angal, in Uganda, e poi in moltissimi altri ospedali africani e non solo. L’installazione è seguita dai volontari di Informatici Senza Frontiere, che si occupano di creare piccoli sistemi informativi nell’ospedale e della formazione personale. Un altro importante progetto è quello realizzato all’Ospedale di Brescia, dove, al reparto di oncologia pediatrica, è stato installato un sistema che permette ai piccoli pazienti, ricoverati per lunghi periodi, di comunicare con le loro famiglie, giocare, e seguire un percorso scolastico. Questo progetto è stato poi replicato in altre città, dando vita al progetto “Bambini al PC”. Fra gli altri progetti lanciati ci sono “Shashamane”, per informatizzare alcune aule di una scuola rurale dell’Etiopia, “Progetto scuole senza Frontiere” per aiutare un ragazzo con una grave malattia di Forlì a seguire le lezioni scolastiche, “Progetto il giardino dai mille colori” a Scampia, uno dei quartieri più “difficili” di Napoli, dove è stato realizzato un laboratorio informatico e un corso di introduzione all’informatica per i bambini del quartiere. I volontari di Informatici Senza Frontiere inoltre sono intervenuti nelle zone colpite dal terremoto in Emilia, nel carcere di Treviso per il recupero sociale dei detenuti, in casi speciali come per i malati di SLA (Sclerosi Laterale Amiotrofica) con il progetto ISA “I Speak Again”. Un’applicazione progettata e realizzata dai volontari di Informatici Senza Frontiere è Strillone; questa è stata pensata per persone con disabilità visive affinché possano ascoltare notizie provenienti dalle testate giornalistiche. Una delle caratteristiche più importanti di Strillone è la sua interfaccia: essa infatti è divisa orizzontalmente e verticalmente, in modo da creare 4 parti perfettamente uguali, così che l’utente possa sfruttare gli angoli fisici del device per poter navigare facilmente all’interno del menù
  14. 14. 14 Stato dell’arte dell’applicazione. Attualmente Strillone è disponibile gratuitamente nelle versioni per le principali piattaforme: Android, iOS per dispositivi Apple, Windows Phone e in versione Web Application utilizzabile su tutti i dispositivi con connessione ad Internet. Informatici Senza Frontiere si occupa anche di offrire corsi e strumenti di alfabetizzazione informatica nelle carceri, negli ospedali e tra le persone che vivono situazioni di emarginazione e disagio. 2.3 I non udenti I non udenti sono la particolare tipologia di utenti a cui è rivolto il lavoro di questa tesi quindi è bene parlare un po’ di loro. Quando si ha a che fare con persone disabili in generale si è presi da una forma di disagio, dato che non si sa come comportarsi con loro. Ci si può accorgere della condizione di un disabile a volte anche solo guardandolo, invece non ci si accorge della sordità di una persona fino a quando si entra in relazione con essa. Si viene presi in contropiede e subentra la paura di comportarsi in modo inadeguato con quella persona. Ma alla fine sono sempre paure infondate perché bastano pochi accorgimenti per avere una comunicazione soddisfacente ed efficace con persone non udenti. Le persone affette da sordità non sono tutte uguali. Diversi fattori possono influire sulla crescita educativa, psicologica e sulla vita sociale di una persona sorda. Prima di tutto le persone possono avere diversi gradi di perdita uditiva:  Lieve: 16-25 decibel del deficit acustico  Media: 26-40 decibel del deficit acustico  Moderata: 41-65 decibel del deficit acustico  Grave: 66-95 decibel del deficit acustico  Profonda: superiore ai 96 decibel del deficit acustico I non udenti possono essere anche distinti dal punto di vista dell’epoca dell’insorgenza della sordità. Possiamo considerare due categorie: “sordità preverbale” e “sordità
  15. 15. 15 Stato dell’arte postverbale”. La prima comprende persone che sono nate sorde o hanno perso l’udito prima del processo dell’apprendimento linguistico. La seconda categoria si riferisce a persone che sono divenute sorde dopo l’anno di età in cui dovrebbero aver già acquisito le basi linguistiche del linguaggio minimo. In soccorso ai non udenti vi è la tecnologia per il supporto uditivo. La protesi acustica analogica, sebbene sia una tecnologia superata, è usata al giorno d’oggi da molte persone affette da sordità. Tipicamente queste protesi sono in posizione retroauricolare, cioè si applicano dietro l’orecchio. La protesi acustica digitale è una nuova generazione delle protesi acustiche che, grazie alla miniaturizzazione dei circuiti, ora sono introauricolari, ovvero a completa scomparsa nel condotto uditivo. Inoltre vi è l’impianto cocleare: un “orecchio” artificiale che ha l’obiettivo di ripristinare le discrete funzioni uditive di persone sorde. Questo dispositivo viene inserito mediante un intervento chirurgico su un lato della testa e a questa tecnologia non mancano le critiche, poiché si tratta di una tecnica invasiva e si interviene sui soggetti giovanissimi, nei primi anni di età. Dal punto di vista linguistico ci sono non udenti che scelgono di utilizzare la modalità comunicativa verbale delle persone udenti, altri che scelgono di adoperare principalmente la lingua dei segni e ancora altri che scelgono di affidarsi ad entrambe le lingue. Infine la provenienza dalle famiglie può influenzare fortemente la persona sorda e la costruzione della sua identità. Alcuni sordi hanno genitori sordi, per cui vivono la sordità come un fatto normale e condividono un percorso di crescita pressoché uguale, basato sulla frequentazione delle persone con la stessa disabilità. Mentre la maggior parte dei sordi provengono dalle famiglie udenti che hanno compiuto scelte diverse (supporto tecnologico uditivo, educazione, uso della lingua, etc.…). Da questa differente provenienza familiare può conseguire la differente vita sociale di una persona sorda, che può frequentare senza problemi sia il mondo degli udenti che quello dei sordi oppure decidere di frequentare solo persone sorde o solo persone udenti. Come si può vedere, esistono molte variabili, per cui le persone non udenti possono essere diverse le une dalle altre tanto da rendere quasi inutile la definizione della “sordità”, che indica comunque una sola cosa in comune: la perdita uditiva.
  16. 16. 16 Stato dell’arte 2.4 La lingua dei segni e l’Italiano segnato La sordità è una disabilità che può creare una condizione di svantaggio linguistico molto grave. Tutt’oggi, nonostante l’innovazione tecnologica, ci sono persone affette da sordità profonda che non sviluppano una piena competenza linguistica in italiano. Le conseguenze di questo problema possono essere anche molto gravi come l’impossibilità ad accedere a molte informazioni espresse dalla lingua scritta e parlata. Molte persone affette da sordità non sono autonomi nella comprensione e produzione di un testo scritto trovando difficoltà nell’area della sintassi della grammatica italiana. La necessità di comunicare con altre persone ha portato alla nascita della Lingua dei Segni. La LIS (Lingua dei Segni Italiana) [4] è la lingua dei segni usata dalle persone non udenti e udenti appartenenti alla Comunità Sorda Italiana. La Lingua dei Segni è un sistema comunicativo che presenta tutte quelle caratteristiche che fanno di un sistema di comunicazione una vera lingua: articolazione, composizione, grammatica, sintassi, etc. La ricerca sistematica sulla lingua dei segni iniziò negli USA ad opera di William Stokoe, alla fine degli anni cinquanta. Egli scoprì che i singoli segni della ASL (American Sign Language, la lingua usata dalla Comunità Sorda Statunitense) potevano essere scomposti in un numero relativamente limitato di unità minime prive di significato, che combinate diversamente davano origine a moltissimi segni. Esattamente come nelle lingue parlate, le unità linguistiche minime prive di significato possono, componendosi tra loro, dare origine a un numero enorme di parole diverse. Questa scoperta diede il via ad altre ricerche in tutte le Lingue dei Segni usate dai non udenti di diverse nazioni portando a risultati sorprendenti. La Lingua dei Segni non è un codice comunicativo universale bensì esistono tante lingue di segni quante sono le Comunità Sorde sul pianeta. Infatti, esattamente come le lingue vocali, le lingue dei segni sono nate spontaneamente quando le persone non udenti hanno avuto la necessità di comunicare tra loro. Ciascuna Lingua dei Segni ha poi sviluppato caratteristiche proprie, legata alla particolare cultura in cui viene usata.
  17. 17. 17 Stato dell’arte Il lessico delle lingue dei segni potenzialmente può esprimere qualsiasi concetto, concreto e astratto. Il fatto che usi delle immagini visive realizzate dalle mani anziché i suoni della voce, non significa assolutamente che i concetti esprimibili possono riferirsi solo ad una realtà concreta. Le lingue dei segni possiedono una struttura grammaticale e sintattica del tutto simile per complessità a quella delle lingue vocali. Come nelle lingue vocali esistono particelle semplici non dotate di significato, i fonemi, che insieme vanno a formare le parole, così nelle lingue dei segni esistono i cheremi, unità minime non dotate di significato. Secondo quest’analisi, un segno si può scomporre in riferimento a cinque parametri: la “configurazione” ossia la forma che la mano assume nell’eseguire il segno; il “luogo” cioè lo spazio dove viene eseguito il segno; il “movimento” che si effettua mentre si articola il segno; “l’orientamento” del palmo della mano mentre si segna e infine i “segnali non manuali”. Questi ultimi sono fondamentali e accompagnano l’articolazione del segno. Essi possono essere dati da espressioni facciali, da movimenti delle labbra, della lingua, dalla postura del corpo. Questi segnali non manuali servono a trasmettere gran parte dell’informazione che nelle lingue vocali viene trasmessa attraverso l’intonazione o l’uso di particolari costruzioni (ad esempio la costruzione con l’ausiliare “do” per le frasi interrogative in inglese). Accanto alle lingue dei segni usate dai sordi esistono altri sistemi gestuali a metà tra la lingua parlata e la lingua dei segni, come la “lingua segnata” (che utilizza a livello di vocabolario i segni dei sordi e a livello grammaticale e sintattico segue la lingua parlata). L'Italiano Segnato I.S. utilizza il lessico della L.I.S. e segue la struttura grammaticale della lingua vocale. Inoltre non ha parti del discorso come articoli, preposizioni e coniugazioni verbali. Queste parti del discorso, infatti, creano particolari difficoltà alle persone sorde nell'apprendimento della lingua parlata e scritta. Nella tabella seguente (Tabella 2-1) è riportata la traduzione di alcune frasi dalla lingua dei segni all’ Italiano segnato:
  18. 18. 18 Stato dell’arte L.I.S. I.S. Maria sua gonna nera Gonna Maria nera Tavolo palla sopra Palla sopra tavolo Tu, cinema andare? Tu andare cinema? No, io cinema andare no No, io non andare al cinema Tabella 2-1 Traduzione da Lingua dei Segni a Italiano Segnato Per capire bene la differenza tra una lingua parlata e una Lingua dei Segni bisogna immaginare la prima come un “nastro” formato da parole che si susseguono l’una all’altra e che arrivano all’orecchio a stimolare il senso dell’udito. La Lingua dei Segni invece si costituisce come tante immagini che si sovrappongono l’una all’altra. È quindi intuitivo capire che le persone sorde strutturano il loro pensiero in maniera diversa. La Lingua dei Segni è da riconoscere quindi come un sofisticato strumento che permette integrazione, identità, cultura alle persone non udenti, restando importante anche per le persone udenti, che imparandola avranno la possibilità di comprendere e apprezzare il mondo di un’altra comunità, dove le immagini regnano sovrane. 2.5 eLIS Un aiuto importante per il lavoro svolto in questa tesi è da riconoscere all’associazione eLIS [5] alla quale è stata chiesta la partecipazione a raggiungere l’obiettivo di portare l’applicazione SpokenHouse anche nelle mani di persone non udenti. L’associazione eLIS nasce nel marzo 2015 dalla volontà di un gruppo di interpreti professionali della lingua dei segni italiana che intendono dare dignità alla Lingua dei Segni Italiana e favorire la sua diffusione in tutti i campi della vita quotidiana. L’associazione eLIS si occupa anche della formazione e della specializzazione professionale degli interpreti LIS, degli assistenti alla comunicazione e degli educatori
  19. 19. 19 Stato dell’arte specializzati; inoltre le sue finalità sono ispirate a principi di pari opportunità tra uomini e donne rispettose dei diritti inviolabili della persona. 2.6 ENS L’Ente Nazionale Sordi [6] è stato fondato nel 1950 a Roma. Dall'anno della sua fondazione l'ENS ha subito diverse trasformazioni nella propria struttura, rinnovandosi continuamente ma mantenendo il focus centrale della propria azione: lottare, giorno per giorno, per il miglioramento continuo della qualità della vita delle persone sorde. L’organizzazione opera su tutto il territorio nazionale con 103 Sezioni Provinciali, 21 Consigli Regionali ed oltre 50 rappresentanze intercomunali, e dispone di un "curriculum" che ha visto ulteriori riconoscimenti nel corso degli anni, ottenendo l'attestazione di O.N.L.U.S. mediante l'iscrizione all'Anagrafe Unica delle Onlus. L'ENS tutela, rappresenta, promuove e valorizza la dignità e l'autonomia della persona sorda, i suoi pieni diritti di cittadinanza in tutti i campi della vita, l'autodeterminazione, l'accessibilità, l'informazione, l'educazione, la formazione, l'integrazione scolastica, post scolastica, professionale, lavorativa e sociale. L’ente inoltre favorisce la piena attuazione del diritto al lavoro dei sordi, favorendone il collocamento lavorativo e l'attività professionale in forme individuali e cooperative, la lingua dei segni, la comunicazione totale e il bilinguismo, la riabilitazione, la cultura, lo sport, il tempo libero e le attività ricreative.
  20. 20. 20 Controllo domotico e SpokenHouse CAPITOLO 3 3 Controllo domotico e SpokenHouse “Le case saranno in grado di volare. Verrà il momento in cui intere comunità potranno migrare a sud in inverno, o spostarsi verso nuovi territori ogni volta che sentono il bisogno di cambiare paesaggio.” Arthur Charles Clarke 3.1 Che cos’è la domotica Il termine domotica [7] è frutto di un neologismo tra il latino domus (casa) e l’aggettivo automatica. La domotica è quella branca della scienza che si occupa dello studio delle tecnologie atte a migliorare la qualità della vita all’interno di un’abitazione. L’automazione può riguardare qualsiasi aspetto ed elemento dell’abitazione: dal riscaldamento al sistema di condizionamento, dal controllo centralizzato dell’illuminazione alla sicurezza, dal risparmio energetico al controllo a distanza degli elettrodomestici. La popolarità della domotica è cresciuta esponenzialmente negli ultimi anni: i prezzi per l'automazione di un'intera abitazione sono calati di molto e la gestione a distanza del sistema-casa attraverso smartphone e tablet ha reso questa tecnologia più appetibile agli occhi del consumatore medio.
  21. 21. 21 Controllo domotico e SpokenHouse Anche se non esiste uno standard univoco, i sistemi domotici devono presentare poche e chiare caratteristiche. Devono innanzitutto essere improntati alla semplicità: essendo rivolti ad un pubblico ampio e non riservati ad un élite di specialisti, i sistemi devono essere semplici da utilizzare. Inoltre devono assicurare affidabilità e continuità di funzionamento, anche in caso di guasti improvvisi, il sistema deve continuare a erogare i servizi previsti e continuare a funzionare senza richiedere particolari attenzioni. Gli elementi costituenti un sistema di automazione domestica sono i sensori, i controllori e gli attuatori. Le diverse tipologie di sensori che è possibile trovare sono: di temperatura, di movimento, di fumo, di gas, di pressione, fotocellule (per la luce ambientale). I controllori si diversificano in: centraline, micro-controllori per elaborazione, unità centralizzata di calcolo (un PC di servizio preposto ad alcuni compiti). Infine, possibili attuatori possono essere: valvole motorizzate, interruttori, motori. Affinché si possa interagire con l’abitazione è necessaria la presenza di uno o più dispositivi di interfaccia come ad esempio telecomandi, interfaccia vocale, interfaccia smartphone. I dispositivi possono comunicare tra di loro utilizzando una rete dedicata, appoggiandosi alla rete locale (Local Area Network) oppure affidandosi ad un sistema di comunicazione wireless. 3.2 Costi e diffusione La domotica quindi, come detto in precedenza, offre varie potenzialità di controllo da internet della propria abitazione oltre a consentire l’adozione di soluzioni di design totalmente innovative. Ovviamente tutto questo ha immancabilmente un costo. Premesso che l’impianto di domotica non è un impianto elettrico evoluto ma va a sovrapporsi a quello preesistente e confrontando entrambi gli impianti a parità di prestazioni, il costo dell’impianto domotico arriva ad essere tra il 10-20% in più dell’impianto elettrico tradizionale. Inoltre non è da sottovalutare l’incidenza sul costo che ha la scelta della tecnologia da utilizzare. Esistono diverse tecnologie per realizzare un impianto di domotica, alcune con costi pari al doppio di altre. In ogni caso realizzare
  22. 22. 22 Controllo domotico e SpokenHouse un impianto di domotica può incidere sul costo degli impianti elettrici, in linea di massima, circa il 30-50%. La domotica, per poter essere proposta al grande pubblico, deve rispettare alcuni requisiti. Come scritto in precedenza la domotica deve garantire affidabilità. Alcuni componenti sono testati per un utilizzo continuo e gravosissimo. Molti dei componenti destinati ad impianti di domotica nascono e sono destinati ad essere utilizzati in ambienti come ospedali o fabbriche, dove l’affidabilità non è presa certo alla leggera. Non dimentichiamo, inoltre, che affidiamo a sistemi analoghi a quelli della domotica la nostra vita ogni giorno in auto, visto che i vari ABS, Air Bag etc. funzionano proprio come un impianto di domotica. L’uso di un impianto di domotica è semplicissimo ed è molto intuitivo, inoltre molte funzioni sono in realtà svolte in modo del tutto automatico. Secondo una ricerca di “ABI Research”, il mercato della domotica dovrebbe salire dal suo valore stimato nel 2014 di 570 milioni di dollari a 2,6 miliardi di dollari nel 2017, con un numero di impianti installati che prevede di raggiungere gli 8 milioni. 3.3 Internet Of Things L'Internet of Things è vista come una possibile evoluzione dell'uso della Rete. Gli oggetti si rendono riconoscibili e acquisiscono intelligenza in seguito alla possibilità di poter comunicare dati su se stessi e accedere a informazioni aggregate da parte di altri. I campi di applicabilità dell’Internet of Things sono molteplici: dalle applicazioni industriali alla logistica, dall’infomobilità all'efficienza energetica, dall'assistenza remota alla tutela ambientale [8]. Il concetto di Internet delle cose è strettamente legato alla diffusione delle pratiche e delle tecnologie della domotica. Anche essa è infatti uno di quegli ambiti applicativi interessati allo sviluppo di quegli strumenti e applicazioni che vanno sotto il nome di Internet of Things.
  23. 23. 23 Controllo domotico e SpokenHouse Nella visione dell’Internet of Things, gli oggetti creano un sistema pervasivo ed interconnesso instaurando una rete di comunicazione fra di essi. Il passaggio da IPv4 a IPv6 permette una incredibile svolta, in quanto ogni dispositivo domestico potrebbe potenzialmente essere dotato di un indirizzo IP univoco che lo contraddistingue e gli fornisce un accesso per comunicare sulla Rete. Oltre ai costi in continuo calo delle componenti elettroniche, un altro fattore fondamentale per la diffusione dell’Internet of Things è dato da alcune caratteristiche degli attuali dispositivi mobili, come la diffusione, le ridotte dimensioni e la potenza di calcolo. Questo fornisce una spinta enorme al progetto di Internet Of Things, in quanto fa degli smartphones uno strumento di controllo completo e versatile, ma soprattutto sempre disponibile. 3.4 Introduzione a SpokenHouse Spoken House [9] è un progetto nato da un lavoro di tesi, da parte degli ingegneri Marco Di Brino e Daniela Guardabascio, della laurea magistrale in Ingegneria Informatica dell’università degli studi del Sannio di Benevento. Il progetto nasce dall’idea dei volontari di Informatici Senza Frontiere di fornire uno strumento utile per aiutare le persone emarginate o in difficoltà a superare il Digital Divide (divario digitale). Grazie alle moderne tecnologie e agli strumenti informatici, il gruppo ISF vuole rendere accessibile l’Internet Of Things, ed in particolare la gestione di un sistema domotico all’interno di un’abitazione, a persone non vedenti, ipovedenti (o con gravi problemi di vista) e non udenti, in modo tale da abbattere il Digital Divide nelle situazioni di emarginazione. L’idea principale del progetto è quella di un’applicazione mobile cross-platform in grado di interfacciarsi con un sistema domotico e agevolare persone con disabilità visive e/o uditive nel controllo dei dispositivi presenti nell’ambiente domestico. Al fine di
  24. 24. 24 Controllo domotico e SpokenHouse abbattere il Digital Divide è stata progettata un’interfaccia grafica che vada incontro alle esigenze di tali persone, usufruendo di tecnologie che permettano lo sviluppo di un’applicazione installabile su diversi sistemi operativi mobile. I progetti di ISF, riguardo la realizzazione di applicazioni Mobile e Desktop, sono tutti Open Source, e quindi distribuiti gratuitamente; al fine di proseguire questo filone è stato scelto di utilizzare esclusivamente tecnologie Open Source per la realizzazione di questo progetto. L’interfaccia grafica è stata progettata in modo tale da essere facilmente intuibile a persone con particolari difficoltà visive (non vedenti e ipovedenti) e/o uditive; a tal proposito la fase di progettazione è stata preceduta sia da un’attenta ricerca di tutto quanto potesse essere di supporto ai potenziali utenti dell’applicazione di SpokenHouse (video-ingranditori, codifica morse, interfaccia a quattro angoli), che da una fase di raccolta dei requisiti mediante l'interfacciamento diretto con i membri dell'Unione Ciechi di Benevento. L’interfaccia di SpokenHouse è stata realizzata seguendo quella dell’applicazione Strillone (Figura 4-1), progetto degli Informatici Senza Frontiere, che dispone di un’interfaccia a “quattro angoli” appunto per garantire una facile navigazione per gli utenti. Figura 3-1 Interfaccia Strillone
  25. 25. 25 Controllo domotico e SpokenHouse L’applicazione SpokenHouse è stata sviluppata in maniera cross-platform, utilizzando un framework apposito, in modo da renderla accessibile al target utente a prescindere dalla tipologia di sistema operativo installato sullo smartphone. Tra i principali framework per lo sviluppo dell’applicazione “SpokenHouse” si è scelto “Apache Cordova” per il supporto alla creazione di applicazioni ibride e “FreeDomotic” per interagire con i più comuni e utilizzati standard domotici. Gli scenari principali, con le relative operazioni rese disponibili dall’applicazione all’utente, sono: la gestione degli elettrodomestici presenti nell'ambiente domestico, la gestione dell'impianti d'illuminazione, l'attivazione sul device della vibrazione, utilizzata per codificare eventuali notifiche audio in linguaggio Morse, la scelta del tema dell’interfaccia e la modifica della grandezza dei caratteri (in modo da soddisfare le esigenze dei potenziali utilizzatori ipovedenti), l'attivazione/disattivazione del Text To Speech in base alla attivazione/disattivazione della modalità Morse, l'attivazione/disattivazione del tutorial di navigazione. L'applicazione realizzata è stata verificata e validata per i principali casi d’uso. Proprio in base a questi ultimi sono stati effettuati i test di accettazione sia funzionali che di usabilità; riguardo questi ultimi, per ognuno è stata descritta la sperimentazione effettuata con degli utenti non vedenti dell’associazione ONLUS “Unione ciechi”, i quali si sono resi disponibili per testare l'applicazione. Si ritiene che l’applicazione, a valle della validazione e dell’usabilità da parte degli utenti con difficoltà visive e/o uditive, ha confermato la realizzazione della maggior parte dei requisiti funzionali che sono stati raccolti in fase di analisi. Infine, l’applicazione di SpokenHouse è perfettamente funzionante sulle piattaforme mobile Android, iOS e Windows Phone 8; rispettando quello che era lo sviluppo di un’applicazione mobile compatibile con più sistemi operativi. Lo sviluppo del progetto SpokenHouse offrirà sicuramente opportunità concrete di crescita e di miglioramento nella vita di tutti, in quanto, il più piccolo contributo non rappresenta altro che un passo in avanti verso un mondo migliore.
  26. 26. 26 Controllo domotico e SpokenHouse 3.5 Architettura del sistema Spoken House Il sistema progettato è composto da tre sottosistemi principali [10]. Figura 3-2 Overview del sistema SpokenHouse Il primo è l’applicazione di SpokenHouse, ovvero l’applicazione cross-platform. Come detto, quest’ultima è supportata da molteplici sistemi operativi mobile (es: Android, iOS, Windows Phone etc.) grazie all’ausilio di un framework open source, quale Apache Cordova, che permette lo sviluppo di applicazioni mobile ibride [11]. Il secondo è il framework open source domotico Freedomotic che agisce da middleware, dato che il solo utilizzo dell’applicazione di SpokenHouse non è sufficiente per adempiere allo scopo del progetto, ovvero la gestione di dispositivi elettronici all’interno di un ambiente domestico da parte di persone con difficoltà visive e/o uditive. Tramite opportuno protocollo di comunicazione, l’applicazione mobile può inviare dei messaggi a FreeDomotic, attraverso i quali l’utente espliciterà l’azione che vorrà effettuare sul sistema domotico. Infine, il terzo sottosistema è il sistema domotico installato nell’ambiente domestico; quest’ultimo, tramite opportuni protocolli di comunicazione, interagisce con il dispositivo sul quale è installato il framework di FreeDomotic.
  27. 27. 27 Controllo domotico e SpokenHouse Nel progetto, svolto dagli ingegneri Marco Di Brino e Daniela Guardabascio, si è curata la realizzazione del primo sottosistema e del suo interfacciamento con Freedomotic, come evidenziato nel diagramma seguente. Figura 3-3 Architettura del sistema SpokenHouse 3.6 Tecnologie utilizzate Di seguito verranno introdotte nel dettaglio i framework e i linguaggi di programmazione utilizzati per la creazione di SpokenHouse in modo tale da soddisfare le esigenze del target utente. SpokenHouse, come già detto in precedenza, è un’applicazione cross-platform o multi-piattaforma. Con tale termine si vuole indicare quel determinato obiettivo di scrivere una sola volta il codice e usarlo per tutte le piattaforme, applicando così il concetto di “write once, run everywhere”. L’applicazione sviluppata in questo modo viene detta ibrida.
  28. 28. 28 Controllo domotico e SpokenHouse L’applicazione ibrida si differenzia dalle applicazioni native dato che queste ultime sono applicazioni scritte e compilate per una specifica piattaforma o per uno specifico device, utilizzando uno dei linguaggi di programmazione supportati dal particolare sistema operativo (iOS, Android, Windows Mobile, etc.) L’applicazione ibrida inoltre si differenzia anche dall’applicazione web le quali sono pagine Web ottimizzate per dispositivi mobili e sfruttano le tecnologie Web come HTML5, JavaScript e CSS3. Le applicazioni ibride sono applicazioni che hanno un’architettura che unisce caratteristiche delle applicazioni native e di quelle web, cercando quindi di sfruttare il meglio delle due categorie. Un’applicazione ibrida è tipicamente nativa che ha comunque una parte web e che si adatta facilmente alle diverse piattaforme e diversi tipi di device. 3.6.1 Freedomotic Freedomotic [12] è un framework distribuito open source per l’automazione di edifici, costituito da una serie di moduli cross-language a basso accoppiamento che comunica attraverso un middleware oriented (MOM), ovvero scambiandosi dei messaggi. Questo implica la possibilità di sviluppare il proprio modulo, collegarlo a Freedomotic e di fatto usufruire di tutte le funzionalità messe a disposizione dalle altre componenti presenti nel sistema, indipendentemente dallo specifico linguaggio di programmazione utilizzato per l’implementazione. Ad esempio Freedomotic può girare su una scheda Rasperry Pi ed interagire con un modulo Arduino a sua volta gestito tramite controllo vocale, riducendo praticamente a zero lo sforzo in termini di programmazione del codice. Freedomotic è nato perché occorreva un framework in grado di interconnettere vari progetti basati si reti di sensori, sviluppati in linguaggi differenti e in tempi diversi, dando vita ad una piattaforma unificata per il testing, la valutazione e produzione di
  29. 29. 29 Controllo domotico e SpokenHouse demo in grado di mostrare l’integrazione di tali sistemi. Il punto di forza è rappresentato dal fatto che il framework ha una conoscenza semantica della tipologia degli ambienti (zone, collegamenti tra le stesse) e della dislocazione degli oggetti al loro interno (luci in cucina, TV in salone etc.) Gli stessi oggetti sono protocol-indipendent ovvero modellano le caratteristiche degli oggetti reali indipendentemente dalla tecnologia utilizzata per il loro funzionamento. Ad esempio questo permette di simulare il comportamento delle luci (accensione, spegnimento, regolazione), gestire le automazioni senza dover disporre di un impianto reale. Una funzione utilissima per progettisti e installatori. Quando tutto è pronto basta “linkare” gli oggetti virtuali con quelli reali selezionando una voce da un menu a tendina, dopo aver scaricato il plug-in specifico per la tecnologia da utilizzare. 3.6.2 Apache Cordova Apache Cordova [13] nasce da un progetto di successo, PhoneGap, avviato da una azienda canadese, Nitobi Software, e venduto nel 2011 ad Adobe. Contestualmente alla trattativa con Adobe, Nitobi ha donato il progetto alla fondazione Apache, da qui il nome Apache Cordova. Si tratta quindi di un software Open Source distribuito con licenza Apache 2.0 il cui obiettivo è quello di supportare e velocizzare il lavoro del programmatore nello sviluppo di applicazioni ibride [14]. L’architettura di Apache Cordova si presenta come una sorta di contenitore di applicazione Web eseguita localmente. L’interfaccia grafica di un’applicazione Cordova è infatti costituita da una Web view che occupa l’intero schermo del dispositivo e all’interno della quale viene visualizzato l’HTML ed il CSS ed eseguito il codice JavaScript. Tramite JavaScript è possibile accedere ad un ricco insieme di API che interfacciano l’applicazione Web con le funzionalità della piattaforma ospite. Cordova implementa lo stesso insieme di API sulle diverse piattaforme mobile supportate creando un livello software standard a cui si possono interfacciare le applicazioni. Per chiarire meglio il concetto è come se Apache Cordova mettesse a disposizione dello sviluppatore delle applicazioni vuote, una per ciascuna piattaforma
  30. 30. 30 Controllo domotico e SpokenHouse mobile, da riempire con codice HTML, CSS e JavaScript. Una volta riempite avremo un’applicazione per ciascuna piattaforma che condividono la stessa base di codice HTML, CSS e JavaScript. Figura 3-4 Apache Cordova Apache Cordova mette a disposizione, inoltre, dei plugin per interagire con il Sistema Operativo Mobile nativo e per agevolare l’utente ad accedere ad alcune funzionalità hardware e software dello smartphone. I plugin usati in SpokenHouse fino al momento della stesura di tale tesi sono:  Notification e Dialogs: permettono l’accesso ad alcuni elementi di dialogo dell’interfaccia utente, quali ad esempio gli “alert”.  Battery status: permette la gestione degli eventi relativi allo stato della batteria avvertendo l’utente sia sulla percentuale di carica della batteria sia quando essa sta per esaurirsi.  Text To Speach: abilita la sintesi vocale sullo smartphone.  Insomnia: previene che il telefono vada in stand-by e mantiene costante la luminosità dello schermo.  Vibration: consente la gestione degli eventi relativi alla vibrazione.  Storage: permette la creazione e gestione di un Data Base di tipo SQL Lite Locale al device.  Globalization: permette di ottenere informazioni sulla lingua e sull’orario della zona geografica in cui si trova l’utente.
  31. 31. 31 Controllo domotico e SpokenHouse  Device: permette di ottenere informazioni sul telefono e sul sistema operativo.  Video Player: permette la riproduzione di video sul device prendendo i file direttamente dalla memoria interna del telefono oppure da Internet. 3.6.3 HTML 5 Di linguaggi utilizzati per lo sviluppo di applicazioni web o applicazioni ibride, che funzionano indipendentemente dalla piattaforma sulla quale vengono eseguiti, ne esistono tanti, ma quello più utilizzato e supportato da Apache Cordova è HTML 5. L’HyperText Markup Language (traduzione letterale: linguaggio a marcatori per ipertesti) è il linguaggio di markup per eccellenza usato per la formattazione e impaginazione di documenti ipertestuali disponibili nel web sotto forma di pagine web. HTML 5 rappresenta appunto la quinta revisione delle specifiche HTML, la quale, rispetto al passato, presenta molte differenze. In essa convivono due anime: la prima, che raccoglie l’eredità semantica dell’XHTML2 (pagina HTML scritta in conformità con lo standard XML), e la seconda che invece deriva dallo sforzo di aiutare lo sviluppo di applicazioni web. Si assiste quindi a una evoluzione del modello di markup, che non solo si amplia per accogliere nuovi elementi, ma modifica in modo sensibile anche le basi della propria sintassi e le regole per la disposizione dei contenuti sulla pagina. A questo segue un rinvigorimento delle API JavaScript che vengono estese per supportare tutte le funzionalità di cui una applicazione moderna potrebbe aver bisogno, quali ad esempio accedere all’applicazione anche senza una connessione Internet, pilotare flussi multimediali (immagini e video), accedere e manipolare informazioni generate in tempo reale dall’utente attraverso sensori multimediali quali microfono e webcam. Questo linguaggio offre vantaggi come interoperabilità, economicità, facilità e scarsa onerosità degli aggiornamenti e soprattutto time-to-market. Conta molto anche la facilità di accesso che si ha scegliendo questo linguaggio perché con HTML 5 un’applicazione può essere utilizzata su qualsiasi dispositivo e può anche essere aperta direttamente da internet.
  32. 32. 32 Controllo domotico e SpokenHouse 3.6.4 CSS 3 Per la realizzazione dell’interfaccia grafica, per la definizione del layout e dello stile dei caratteri e tutto quanto concerne la View, Apache Cordova fa uso di CSS3. Infatti, un linguaggio che sta a stretto contatto con HTML 5 e che lo aiuta nella sua rapida diffusione è il CSS (Cascading Style Sheets, in italiano fogli di stile). CSS è il linguaggio utilizzato per descrivere la presentazione di pagine Web, compresi i colori, il layout e i font. Esso permette di adattare la presentazione a diversi tipi di dispositivi, come grandi schermi, schermi di piccole dimensioni o stampanti. CSS 3, ultima variante delle specifiche CSS, offre numerosi vantaggi per lo sviluppo di applicazioni web, come ad esempio per quanto riguarda le prestazioni poiché offre potenti strumenti per la grafica e le animazioni, la semplicità d’uso e il meccanismo della cache per far funzionare le applicazioni anche laddove interne non è disponibile. 3.6.5 JavaScript Apache Cordova, per la realizzazione di tutto quanto concerne la business logic dell’applicazione, fa uso di un particolare tipo di linguaggio, quale JavaScript. Esso è un linguaggio di scripting orientato agli oggetti e agli eventi che permette la semplice creazione di effetti dinamici interattivi tramite funzioni di script invocate da eventi innescati a loro volta in vari modi dall’utente sulla pagina web in uso. Le interfacce che consentono a JavaScript di rapportarsi con un browser sono chiamate DOM (Document Object Model, in italiano modello a oggetti del documento), i quali standard non sempre vengono rispettati dai vari browser.
  33. 33. 33 Controllo domotico e SpokenHouse La diffusione delle applicazioni web e delle applicazioni desktop ha visto il fiorire di numerose librerie nate con lo scopo di semplificare alcune delle attività più comuni e di bypassare le differenze che ancora c’erano tra i vari browser, favorendo una programmazione unificata e più rapida. Tutto questo ha permesso a JavaScript di diventare un linguaggio maturo (non più un semplice collante tra codice HTML e l’utente) e utilizzabile anche lato server e in diversi contesti non più necessariamente legati al web. 3.6.5.1 JSON Lo scambio di messaggi tra framework e applicazione avviene tramite messaggi JSON. JSON [15] è l’acronimo di Java Script Object Notation ed è basato su JavaScript, anche se ne è indipendente. JSON è un formato di testo completamente indipendente dal linguaggio di programmazione, ma utilizza convenzioni conosciute dai programmatori di linguaggi della famiglia del C, come C, C++, C#, Java, JavaScript e altri. Questa caratteristica fa di JSON un linguaggio ideale all’interscambio di dati fra applicazioni Client-Server. JSON è basato fondamentalmente su due strutture:  Un insieme di coppie nome/valore: in diversi linguaggi, questo è realizzato come un oggetto, un record, uno struct, una tabella hash o altri metodi;  Un elenco ordinato di valori: nella maggior parte dei linguaggi di programmazione questo si realizza attraverso un array, un vettore, un elenco o una sequenza. Queste sono strutture di dati universali. Virtualmente tutti i linguaggi di programmazione moderni li supportano in entrambe le forme e questo fa sì che JSON sia un formato molto utilizzato nella programmazione.
  34. 34. 34 Controllo domotico e SpokenHouse 3.6.6 WebSQL Per la realizzazione del Model di SpokenHouse, al fine di rendere persistente sia le informazioni necessarie alla connessione che lo stato dell’applicazione, con le relative impostazioni, si è ricorso a WebSQL. WebSQL Database è un web page API utilizzato per il salvataggio di dati all’interno di database che possono essere interrogati attraverso una variante del SQL, ovvero su SQLite (versione 3.1.19) [16]. Essa non fa parte direttamente delle specifiche HTML5, ma è parte della suite di specifiche che permettono agli sviluppatori di creare applicazioni web a pieno titolo. Le specifiche di questa API permettono l’utilizzo di questi 3 metodi principali:  openDatabase: questo metodo crea un oggetto di tipo Database, utilizzandone uno già presente oppure creandone uno nuovo.  transaction: questo metodo dà la possibilità di controllare una transazione e la sua esecuzione.  executeSql: questo metodo viene utilizzato per mandare in esecuzione la vera e propria query SQL. Il supporto di questi web databases è molto frammentato, poiché al momento solamente i WebKit (Chrome, Safari, browser Android, browser BlackBerry) e Opera supportano a pieno questa tecnologia [17]. 3.6.7 XML Per i file di configurazione è stato utilizzato il formato XML, all’interno dei quali è possibile trovare i messaggi forniti in output dall’applicazione. XML è un acronimo e sta per eXtensible Markup Language. Esso è appunto un linguaggio di markup, ovvero un linguaggio marcatore basato su un meccanismo
  35. 35. 35 Controllo domotico e SpokenHouse sintattico che consente di definire e controllare il significato degli elementi contenuti in un documento o in un testo. Il codice XML è simile all’HTML perché infatti contengono entrambi simboli di markup per descrivere il contenuto di una pagina o di un file. Il codice HTML descrive il contenuto di una pagina web solo in termini di come essa è visualizzata e nel modo in cui ci si può interagire. La struttura base di un documento XML è un elemento, definito da un tag di apertura e uno di chiusura. Tutti gli elementi sono contenuti in un elemento esterno denominato root (radice). I nomi degli elementi descrivono il contenuto dell’elemento, e la struttura descrive le relazioni tra elementi. XML supporta anche gli elementi annidati, o elementi all’interno di altri elementi, in modo da gestire anche delle strutture gerarchiche, il che lo rende molto utilizzato come mezzo per l’esportazione di dati tra diversi DBMS e come mezzo per salvare i file di configurazione del progetto di lavoro. 3.6.8 REST FreeDomotic fornisce delle Application Programming Interface (API), necessarie per l'interazione tra framework e sistema domotico e per l'esecuzione di specifiche richieste. Tali API [18] sono state implementate seguendo il paradigma REST. REST è l’acronimo di Representational Transfer State e permette la manipolazione delle risorse per mezzo dei metodi GET, POST, PUT e DELETE del protocollo HTTP. Basando le proprie fondamenta sul protocollo HTTP, il paradigma REST restringe il proprio campo d’interesse alle applicazioni che utilizzano questo protocollo per la comunicazione con altri sistemi. Il paradigma REST può essere riassunto nei seguenti principi:  identificazione delle risorse: il meccanismo più naturale per individuare una risorsa in ambito web è dato dal concetto di URI. Il principale beneficio nell’adottare lo
  36. 36. 36 Controllo domotico e SpokenHouse schema URI per identificare le risorse consiste nel fatto che esiste già, è ben definito e collaudato e non occorre pertanto inventarsene uno nuovo.  utilizzo esplicito dei metodi HTTP.  risorse autodescrittive: i principi REST non pongono nessun vincolo sulle modalità di rappresentazione di una risorsa. Di fatto, però, è opportuno utilizzare formati il più possibile standard in modo da semplificare l’interazione con i client. Freedomotic supporta i formati di rappresentazione JSON e XML.  collegamenti tra risorse: un altro vincolo dei principi REST consiste nella necessità che le risorse siano tra loro messe in relazione tramite link ipertestuali. In sostanza, tutto quello che un client deve sapere su una risorsa e sulle risorse ad essa correlate deve essere contenuto nella sua rappresentazione o deve essere accessibile tramite collegamenti ipertestuali.  comunicazione senza stato: HTTP è un protocollo senza stato, in quanto una richiesta non ha alcuna relazione con quella precedente o successiva. Lo stesso principio si applica ad un Web Service RESTful, cioè le interazioni tra client e server devono essere senza stato. È importante sottolineare che sebbene REST preveda la comunicazione stateless, non vuol dire che un’applicazione non deve avere stato. La responsabilità della gestione dello stato dell’applicazione non deve essere conferita al server, ma rientra nei compiti del client. Dunque, grazie all'applicazione di tali principi è possibile utilizzare i servizi di Freedomotic come Web Service altamente efficienti e scalabili. E' importante evidenziare questo aspetto in quanto le API REST di FreeDomotic assumono un ruolo chiave nella gestione del sistema domotico. 3.6.9 TCP/IP L’applicazione mobile, per poter comunicare con il sistema domotico, a livello di trasporto, si poggia sul protocollo TCP/IP (Transmission Control Protocol e Internet Protocol): questo è un insieme standard di protocolli sviluppato nella seconda metà degli anni '70 dalla DARPA (Defence Advanced Research Project Agency), allo scopo di
  37. 37. 37 Controllo domotico e SpokenHouse permettere la comunicazione tra diversi tipi di computer e di reti di computer. TCP/IP è il motore di Internet, ecco perché è l'insieme di protocolli di rete più diffuso al mondo. I due protocolli che compongono il TCP/IP si occupano di aspetti diversi delle reti di computer. L'Internet Protocol, la parte IP di TCP/IP, è un protocollo senza connessione che tratta solo l'instradamento dei pacchetti di rete usando il datagramma IP come l'unità fondamentale dell'informazione di rete. Il datagramma IP è formato da un'intestazione seguita da un messaggio. Il Transmission Control Protocol, la parte TCP di TCP/IP, consente agli host della rete di stabilire delle connessioni usate per scambiare flussi di dati. Inoltre il TCP garantisce che i dati tra le connessioni siano consegnati e che arrivino ad host della rete nello stesso ordine in cui sono stati trasmessi da un altro host della rete. 3.6.10 HTTP Come detto, Freedomotic si basa sul protocollo HTTP. Il protocollo di trasferimento di un ipertesto (in inglese, HyperText Transfer Protocol ovvero HTTP) è usato come principale sistema per la trasmissione di informazioni sul web ovvero in una architettura tipica Client-Server. In particolare il protocollo dello strato dell'applicazione definisce:  i tipi di messaggi scambiati, per esempio, messaggi di richiesta e messaggi di risposta;  la sintassi dei vari tipi di messaggio, per esempio i campi del messaggio e come questi campi vengono caratterizzati;  la semantica dei campi, cioè il significato dell'informazione nei campi;  le regole per determinare quando e come un processo invia o risponde a messaggi. Un protocollo dell'applicazione tipicamente ha due "lati", un lato client e uno server. Il lato client all'interno di un terminale comunica con il lato server di un altro terminale.
  38. 38. 38 Controllo domotico e SpokenHouse Nel caso specifico di questo lavoro di tesi, l’applicazione implementa il lato client e il microcontrollore su cui è installato Freedomotic ne implementa il lato server. Come nel caso di quasi tutte le applicazioni, l'host che inizia la sessione è etichettato come client. Come ogni protocollo dell'applicazione che usa TCP come protocollo di trasporto, HTTP richiede una connessione TCP. Poiché un client HTTP è responsabile dell'inizio della comunicazione, esso è anche l'iniziatore del processo che crea la connessione TCP. Inoltre, poiché la caratteristica principale del protocollo HTTP è di essere stateless, ovvero privo di stato, significa che la connessione tra client e server viene chiusa ogni volta che viene esaudita una richiesta.
  39. 39. 39 SpokenHouse e i non udenti CAPITOLO 4 4 SpokenHouse e i non udenti “L’unico modo di conoscere davvero i problemi è accostarsi a quanti vivono quei problemi e trarre da essi, da quello scambio, le conclusioni.” Ernesto Che Guevara 4.1 Raccolta requisiti Le nuove funzionalità aggiunte all’applicazione SpokenHouse per aumentare la leggibilità e la navigabilità anche ai non udenti, derivano dalla raccolta di alcuni requisiti. Inizialmente l’idea del progetto era quella di introdurre dei messaggi testuali durante la navigazione dell’applicazione. Da un colloquio effettuato con una collaboratrice dell’associazione eLIS, Veronica Caruso, per verificare la validità e l’efficacia dei messaggi testuali, è emersa anche la volontà di inserire dei video introduttivi in lingua dei segni. Il compito di tali video è quello di poter garantire ai “non udenti” una maggiore comprensione di come muoversi all’interno dell’applicazione SpokenHouse. Quindi per garantire un utilizzo più semplice da parte di persone non udenti, l’applicazione deve soddisfare determinati requisiti. Tali requisiti sono elencati di seguito:
  40. 40. 40 SpokenHouse e i non udenti  Navigazione con l’ausilio di messaggi testuali attraverso tutte le funzionalità di controllo domotico.  Navigazione con l’ausilio di video in lingua dei segni attraverso tutte le funzionalità di controllo domotico. Per quanto riguarda la funzionalità dei video in lingua dei segni la riproduzione dovrà garantire una visibilità dei gesti abbastanza nitida e quindi comprensibile all’utente. La funzionalità dei messaggi testuali prevede la comparsa sullo schermo di alcune finestre contenenti del testo scritto che spiega all’utente l’area in cui si trova. Come già introdotto nel Capitolo 2, le persone con disabilità uditiva sono tutte diverse tra di loro. Alcune persone non udenti potrebbero parlare solo la lingua dei segni e per questo motivo potrebbero trovare difficoltà nella lettura del testo scritto, altre invece potrebbero comprendere solo un particolare lessico della lingua che utilizzano. Proprio per questo motivo le frasi presenti nei messaggi testuali devono rispettare una forma grammaticale più semplice in modo da essere capite dai “non udenti”. 4.2 Modifiche all’architettura del sistema Le nuove funzionalità di attivazione dei messaggi testuali e di visualizzazione dei video in lingua dei segni sono state aggiunte all’applicazione mediante la modifica di alcune parti del codice sorgente. Le modifiche effettuate all’architettura comprendono l’utilizzo di particolari plug-in di Apache Cordova. Il plug-in utilizzato per la creazione dei messaggi testuali è:  navigator.notification.alert Mentre il plug-in utilizzato per la visualizzazione dei video in lingua dei segni è:  com.moust.cordova.videoplayer
  41. 41. 41 SpokenHouse e i non udenti Inoltre sono state effettuate alcune modifiche al database manager dell’applicazione in modo da permettere il salvataggio permanente delle variabili contenenti lo stato dell’attivazione dei messaggi testuali e dei video in lingua dei segni. Nella Figura 5-1 sono mostrate le componenti dell’architettura del sistema alle quali si è lavorato in questa tesi di laurea (Cordova plugins; DMS Manager) o che sono state aggiunte all’applicazione (Textual Messages Manager; Video LIS Manager). Figura 4-1 Componenti aggiunti e modificati nell’architettura I messaggi testuali, come stabilito nella fase della raccolta dei requisiti, devono rispettare una particolare sintassi della grammatica italiana per poter essere comprese appieno dalle persone non udenti. A questo proposito è stato creato un determinato file xml. Tale file contiene tutte le frasi, scritte in Italiano segnato (Capitolo 2), utilizzate nei messaggi testuali che compaiono sullo schermo del cellulare. I messaggi testuali escono ogni qualvolta si transita da un menù all’altro e, oltre ad indicare il menù in cui ci si trova, spiegano l’azione che bisogna intraprendere per raggiungere un determinato sottomenù o lo stato di un particolare oggetto. Vi è la possibilità di attivare o disattivare la visualizzazione di tali messaggi testuali tramite
  42. 42. 42 SpokenHouse e i non udenti l’apposita voce presente nel menù delle impostazioni. Inoltre nel caso in cui i messaggi testuali vengono attivati il Text To Speech e la visualizzazione dei video in lingua dei segni vengono disattivati di conseguenza. A loro volta Il Text To Speech e i messaggi testuali vengono disattivati nel momento in cui l’utente attiva la visualizzazione dei video in lingua dei segni oppure tramite apposita configurazione nelle impostazioni. Per non appesantire ulteriormente l’applicazione, per quanto riguarda la funzionalità della visualizzazione dei video in lingua dei segni, la qualità dei filmati è stata abbassata di conseguenza. I video, ripresi da cellulare (mp4), sono stati convertiti in formato 3gp mantenendo una visibilità delle immagini comunque abbastanza nitida in modo tale da garantire una comprensione del loro significato. Anche i video, come i messaggi testuali, possono essere attivati o disattivati tramite l’apposita voce nel menù delle impostazioni. Si contano in tutto 16 video, uno per ogni menù o sottomenu visualizzato. 4.3 Casi d’uso Per capire al meglio come sviluppare e comprendere i requisiti, questi ultimi del progetto sono stati analizzati attraverso la descrizione dei casi d’uso. Il caso d’uso in informatica è una tecnica usata nei processi di ingegneria del software per effettuare in maniera esaustiva e non ambigua la raccolta dei requisiti al fine di produrre software di qualità. Vengono utilizzati per l’individuazione e la registrazione dei requisiti funzionali descrivendo come un sistema possa essere utilizzato per consentire agli utenti di raggiungere i loro obbiettivi. In questo paragrafo vengono descritti i casi d’uso delle funzionalità che sono state aggiunte all’applicazione tramite questo lavoro di tesi. Di seguito ad ogni caso d’uso, è riportato il “Sequence Diagram” ad esso associato, il quale va ad esplicitare le iterazioni e la comunicazione tra i vari oggetti del sistema, seguendo un ordine temporale ben preciso.
  43. 43. 43 SpokenHouse e i non udenti La specifica di un caso d’uso dovrebbe includere almeno un nome, gli attori principali e secondari, un obiettivo (il motivo per il quale gli attori principali avviano il caso d’uso), la precondizione nella quale è eseguibile, la sequenza delle azioni svolte dagli attori e dal sistema (considerato come una scatola nera, quindi senza entrare nel dettaglio del suo funzionamento interno), le eventuali eccezioni e come esse devono essere gestite. Attivazione/disattivazione dei messaggi testuali Descrizione Il Sistema dà la possibilità all’utente di impostare notifiche tramite messaggi testuali. Attori Utente Input Volontà dell’utente di attivare la funzionalità “messaggi testuali” Precondizione Dispositivo acceso e la funzionalità dei messaggi testuali non attiva sul dispositivo. Output Il dispositivo informa l’utente di avvenuta impostazione della funzionalità “messaggi testuali”. Post condizione Messaggi testuali attivi. Scenario Principale 1. L’utente avvia l’applicazione. 2. L’utente preme il tasto ↓ per accedere all’area impostazioni. 3. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 4. L’utente preme il tasto ↑ per selezionare l’area “messaggi testuali”. 5. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 6. L’utente preme il tasto ↵ per confermare l’accesso all’ area “messaggi testuali”. 7. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 8. L’utente preme ↑ per attivare i messaggi testuali. 9. Il sistema, riconosciuto il comando, attiva la funzionalità sul device. 10. Il sistema, tramite un messaggi testuale, informa l’utente dell’avvenuta esecuzione del comando. Scenario Alternativo 1. L’utente avvia l’applicazione.
  44. 44. 44 SpokenHouse e i non udenti 2. L’utente preme il tasto ↓ per accedere all’area impostazioni. 3. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 4. L’utente preme il tasto ↑ per selezionare l’area “messaggi testuali”. 5. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 6. L’utente preme il tasto ↵ per confermare l’accesso all’ area “messaggi testuali”. 7. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 8. L’utente preme ↓ per disattivare i messaggi testuali. 9. Il sistema, riconosciuto il comando, attiva la funzionalità sul device. 10. Il sistema, tramite un messaggio vocale o tramite codifica morse, informa l’utente dell’avvenuta esecuzione del comando. Tabella 4-1 Caso d'uso 1: attivazione/disattivazione dei messaggi testuali Figura 4-2 Sequence Diagram: attivazione/disattivazione dei messaggi testuali
  45. 45. 45 SpokenHouse e i non udenti Attivazione/disattivazione dei video nella lingua dei segni Descrizione Il Sistema dà la possibilità all’utente di impostare notifiche tramite video in Lingua dei Segni. Attori Utente Input Volontà dell’utente di attivare la funzionalità “video in Lingua dei Segni” Precondizione Dispositivo acceso e la funzionalità dei video in Lingua dei Segni non attiva sul dispositivo. Output Il dispositivo informa l’utente di avvenuta impostazione della funzionalità “video in Lingua dei Segni”. Post condizione Video in Lingua dei Segni attivi. Scenario Principale 1. L’utente avvia l’applicazione. 2. L’utente preme il tasto ↓ per accedere all’area impostazioni. 3. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 4. L’utente preme il tasto ↑ per selezionare l’area “video in Lingua dei Segni”. 5. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 6. L’utente preme il tasto ↵ per confermare l’accesso all’ area “video in Lingua dei Segni”. 7. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 8. L’utente preme ↑ per attivare la funzionalità dei video in Lingua dei Segni 9. Il sistema, riconosciuto il comando, attiva la funzionalità sul device. 10. Il sistema, tramite un messaggi testuale o un messaggio vocale o tramite codifica morse, informa l’utente dell’avvenuta esecuzione del comando. Scenario Alternativo 1. L’utente avvia l’applicazione. 2. L’utente preme il tasto ↓ per accedere all’area impostazioni. 3. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 4. L’utente preme il tasto ↑ per selezionare l’area “video in Lingua dei Segni”. 5. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta. 6. L’utente preme il tasto ↵ per confermare l’accesso all’ area “video in Lingua dei Segni”. 7. Il sistema riconosce il comando e porta l’utente nella sezione del menù richiesta.
  46. 46. 46 SpokenHouse e i non udenti 8. L’utente preme ↓ per disattivare la funzionalità dei video in Lingua dei Segni. 9. Il sistema, riconosciuto il comando, attiva la funzionalità sul device. 10. Il sistema, tramite un messaggio vocale o tramite codifica morse, informa l’utente dell’avvenuta esecuzione del comando. Tabella 4-2 Caso d'uso 2: attivazione/disattivazione dei video nella lingua dei segni Figura 4-3 Sequence Diagram: attivazione/disattivazione dei video nella lingua dei segni 4.4 La navigabilità Per poter attivare o disattivare le funzionalità create in questo lavoro di tesi bisogna trovare le giuste voci nel menu delle impostazioni. Il menu di navigazione dell’applicazione SpokenHouse è strutturato ad albero come rappresentato nella figura seguente:
  47. 47. 47 SpokenHouse e i non udenti Figura 4-4 Menu di navigazione
  48. 48. 48 SpokenHouse e i non udenti Partendo dal nodo radice (menu), quindi la schermata iniziale dell’applicazione, l’utente può scegliere quale sotto-albero poter navigare. Nella sezione delle impostazioni possiamo trovare le funzionalità create in precedenza a questo lavoro di tesi:  modificare il tema (ovvero la combinazione di colori dello sfondo e del carattere)  aumentare, o diminuire, la grandezza del font utilizzato nell’interfaccia grafica  attivare, o disattivare, il tutorial dell’applicazione, il quale permette una maggiore comprensione di tutte le azioni che l’applicazione offre  modificare le credenziali (ovvero indirizzo IP e porta della macchina sulla quale è in esecuzione FreeDomotic e i valori dell’username e la password relativi al login sul framework stesso) impostate durante il primo accesso all’applicazione  attivare, o disattivare, la codifica delle notifiche in codice Morse attraverso la vibrazione E le nuove funzionalità svolte per questo progetto:  attivare o disattivare la visualizzazione dei messaggi testuali  attivare o disattivare la visualizzazione dei video in Lingua dei Segni La sezione del controllo domotico, invece, comprende tutte le azioni che possono essere effettuate sul framework di FreeDomotic, e quindi anche direttamente nell’ambiente domotico. Qui è presente anche una sezione relativa alle scorciatoie (shortcuts) che aiutano l’utente ad un controllo più rapido e pratico di alcune particolari azioni, come ad esempio:  la gestione di alcuni particolari oggetti che possono non essere associati a una relativa stanza (come ad esempio il termostato)  la gestione di alcuni oggetti che permettono il controllo di più oggetti contemporaneamente (come ad esempio gli switch)  la possibilità di conoscere quali dispositivi sono attualmente accesi all’interno dell’abitazione
  49. 49. 49 SpokenHouse e i non udenti Oltre agli shortcuts, la sezione del controllo domotico permette la navigazione della struttura dell’abitazione; questa struttura è gerarchica, ovvero, per arrivare a modificare una determinata caratteristica di un oggetto, si deve scorrere il livello con l’elenco dei piani, poi l’elenco delle camere, l’elenco degli oggetti e, infine, l’elenco delle caratteristiche dell’oggetto selezionato. Sfruttando questa organizzazione ad albero, di seguito verranno esplicitati più nel dettaglio i casi d’uso di cui si è discorso nel capitolo 4, in modo tale che vengano mostrati più a basso livello quelli che sono i cambiamenti di stato dell’applicazione, grazie anche all’utilizzo degli screenshots. 4.5 Attivazione messaggi testuali Questa funzionalità permette di attivare i messaggi testuali sullo schermo per facilitare la navigabilità nell’applicazione. I passi che dovrà eseguire l’utente, per abilitare questa funzionalità, sono elencati di seguito:  Passo 1: L’utente deve accedere all’applicazione di SpokenHouse. Una volta aperta l’home page, egli deve effettuare l’accesso alla sezione “Impostazioni” premendo il tasto in basso a destra  Passo 2: L’applicazione mostrerà all’utente la lista delle impostazioni che è possibile configurare. L’utente di SpokenHouse, attraverso i tasti di destra seleziona l’impostazione “Messaggi testuali” ed esegue l’accesso premendo il tasto in basso a sinistra  Passo 3: Una volta effettuato l’accesso all’impostazione “Messaggi testuali” l’applicazione permetterà l’attivazione o la disattivazione di tale funzionalità attraverso i tasti di destra. L’utente di SpokenHouse attiva l’impostazione “Messaggi testuali” premendo il tasto in alto a destra. Un messaggio testuale sullo schermo avvertirà della modifica appena effettuata. L’applicazione visualizza il cambiamento
  50. 50. 50 SpokenHouse e i non udenti dello stato dell’impostazione “Messaggi testuali” attraverso il pulsante in basso a sinistra. Ad ognuna delle fasi appena descritte, corrisponde a un determinato stato all’interno dell’applicazione, e quindi ad un determinato cambiamento nella visualizzazione del menu di navigazione. Tutti questi cambiamenti possono essere rappresentati facilmente attraverso una serie di screenshots effettuati su un device sul quale è in esecuzione l’applicazione di SpokenHouse. Figura 4-5 Sequenza dei passi da eseguire per l'attivazione dei messaggi testuali Una volta attivati i messaggi testuali lo stato di tale funzionalità verrà cambiato di conseguenza mostrando, inoltre, un primo messaggio che avverte questa attivazione. In Figura 6-2 è mostrato il cambiamento di stato di tale impostazione. 21 3
  51. 51. 51 SpokenHouse e i non udenti Figura 4-6 Stato dei messaggi testuali attivato L’attivazione dei messaggi testuali comporterà la visualizzazione di frasi durante la navigazione. Due esempi pratici di questa funzionalità sono mostrati in Figura 6-3. Figura 4-7 Esempio di messaggi testuali
  52. 52. 52 SpokenHouse e i non udenti 4.6 Attivazione video in lingua dei segni Questa funzionalità permette di attivare i video in lingua dei segni sullo schermo per facilitare la navigabilità nell’applicazione. I passi che dovrà eseguire l’utente, per abilitare questa funzionalità, sono elencati di seguito:  Passo 1: L’utente deve accedere all’applicazione di SpokenHouse. Una volta aperta l’home page, egli deve effettuare l’accesso alla sezione “Impostazioni” premendo il tasto in basso a destra  Passo 2: L’applicazione mostrerà all’utente la lista delle impostazioni che è possibile configurare. L’utente di SpokenHouse, attraverso i tasti di destra seleziona l’impostazione “Video LIS” ed esegue l’accesso premendo il tasto in basso a sinistra  Passo 3: Una volta effettuato l’accesso all’impostazione “Video LIS” l’applicazione permetterà l’attivazione o la disattivazione di tale funzionalità attraverso i tasti di destra. L’utente di SpokenHouse attiva l’impostazione “Video LIS” premendo il tasto in alto a destra. L’applicazione visualizza il cambiamento dello stato dell’impostazione “Video LIS” attraverso il pulsante in basso a sinistra. Ad ognuna delle fasi appena descritte, corrisponde a un determinato stato all’interno dell’applicazione, e quindi ad un determinato cambiamento nella visualizzazione del menu di navigazione. Tutti questi cambiamenti possono essere rappresentati facilmente attraverso una serie di screenshots effettuati su un device sul quale è in esecuzione l’applicazione di SpokenHouse.
  53. 53. 53 SpokenHouse e i non udenti Figura 4-8 Sequenza dei passi da eseguire per l'attivazione dei video in Lingua dei Segni Una volta attivati i video in Lingua dei Segni lo stato di tale funzionalità verrà cambiato di conseguenza. In Figura 6-2 è mostrato il cambiamento di stato di tale impostazione. Figura 4-9 Stato dei video in Lingua dei Segni attivato 1 2 3
  54. 54. 54 SpokenHouse e i non udenti L’attivazione dei video in Lingua dei Segni comporterà la visualizzazione di alcuni brevi filmati durante la navigazione. In Figura 6-3 è mostrato un esempio di questa funzionalità. Figura 4-10 Esempio di video in Lingua dei Segni 4.7 Esperienza con i non udenti Per verificare la corretta efficienza delle funzionalità aggiunte, l’applicazione è stata fatta provare ad alcune persone che rispettassero il target di utenza alla quale è rivolta questa tesi di laurea. Un contributo alla ricerca di persone con disabilità uditiva è stato dato dall’associazione eLIS. La verifica serve a stabilire che il software e la sua implementazione rispettino i requisiti e le specifiche. Oltretutto la fase di validazione ha il compito di accertare che i requisiti e le specifiche siano rispettate nella maniera giusta. È il momento conclusivo della verifica nonché un passaggio molto delicato, in quanto si può ottenere un software
  55. 55. 55 SpokenHouse e i non udenti perfettamente funzionante ma completamente inutile se non rispecchia quanto richiesto nella fase di analisi. Prima che venisse presentata al grande pubblico, l’applicazione è stata installata su un tablet Android con le funzionalità dei video in lingua dei segni già attivati. Lo scopo, infatti, è quello di garantire un riscontro positivo solo nella lettura di tali funzionalità. L’incontro è avvenuto nella sede dell’Inail di Benevento. Con la disponibilità del personale di tale sede l’applicazione è stata presentata a un ragazzo con disabilità uditiva profonda. Le funzionalità aggiunte all’applicazione sono servite allo scopo di far capire al ragazzo come poter navigare all’interno di SpokenHouse senza troppe difficoltà. I video in lingua dei segni sono stati ben visti dall’utente e hanno dato un buon contributo alla guida di utilizzo. Anche i messaggi testuali sono stati utili per far comprendere lo stato in cui si trovava l’utente all’interno dell’applicazione. Figura 4-11 Verifica delle funzionalità effettuata con persona sorda
  56. 56. 56 Conclusioni e sviluppi futuri CAPITOLO 5 5 Conclusioni e sviluppi futuri “Ciò che abbiamo fatto solo per noi stessi muore con noi. Ciò che abbiamo fatto per gli altri e per il mondo resta ed è immortale.” Harvey B. Mackay 5.1 Conclusioni Contribuire nell’opera di Informatici senza Frontiere ONLUS nell’ambito del contesto di disagio sociale e di emarginazione a cui sono soggette persone con disabilità uditive è stato un lavoro gratificante. Al momento della stesura della tesi, mai avrei pensato di occuparmi di un’attività tanto bella quanto utile e anche per questo è doveroso ringraziare la professoressa Lerina Aversano per avermi trovato questo compito. Il traguardo raggiunto in questo lavoro di tesi ha fatto in modo di ampliare l’utenza a cui è rivolta l’applicazione SpokenHouse; ora anche le persone non udenti, oltre alle persone con disabilità visive, potranno trovare più facilità nell’utilizzo di questa applicazione. Non bisogna dimenticare la progettazione di tale applicazione da parte degli ingegneri Daniela Guardabascio e Marco Di Brino che ha permesso l’aggiunta di queste funzionalità senza troppe difficoltà.
  57. 57. 57 Conclusioni e sviluppi futuri Nella lista delle impostazioni dell’applicazione è ora possibile trovare le voci corrispondenti alle nuove funzionalità aggiunte al sistema: messaggi testuali e video in lingua dei segni. Il metodo di attivazione o disattivazione di queste funzionalità rispecchia quello di alcune impostazioni già presenti in SpokenHouse prima della stesura di questa tesi, giusto per non perdere la semplicità di utilizzo con la quale è stata progettata l’applicazione. Lo scopo delle novità aggiunte all’applicazione è quello di supportare l’utente non udente alla navigazione di SpokenHouse per il controllo domotico. I messaggi testuali avvisano la posizione in cui si trova l’utente all’interno dell’applicazione ogni qualvolta si preme un pulsante, mentre i video in lingua dei segni hanno il compito di garantire una guida più ampia, illustrando le azioni che sono possibili da compiere nell’area in cui ci si trova. Infine si ritiene che le nuove funzionalità aggiunte all’applicazione, a valle della validazione e dell’usabilità da parte degli utenti con difficoltà uditive, abbiano confermato la realizzazione dei requisiti funzionali che sono stati raccolti in fase di analisi. 5.2 Sviluppi futuri I possibili sviluppi futuri dell’applicazione possono riguardare l’aggiunta di altre funzionalità al di fuori di quelle presenti, come l’inserimento sul framework di Freedomotic di nuovi oggetti, ad esempio l’allarme e il sistema di videosorveglianza con relativo controllo del sistema di SpokenHouse.
  58. 58. 58 Conclusioni e sviluppi futuri Per rendere il sistema domotico più conforme al prototipo di “Smart House”, è possibile aggiungere le così dette azioni programmate, già integrate all’interno di FreeDomotic, in modo tale da rendere il più indipendente possibile l’utente. Riguardo le funzionalità aggiunte in questo lavoro di tesi, la visualizzazione dei video in Lingua dei Segni è stata progettata solo su dispositivi Android, quindi un possibile sviluppo futuro potrebbe essere quello di garantire la visibilità di questi video anche su altre tipologie di device come iOS o Windows Phone.
  59. 59. 59 Glossario dei termini APPENDICE A. Glossario dei termini Di seguito sono stati riportati i termini tecnici maggiormente utilizzati all’interno di questo lavoro di tesi, e soprattutto nella descrizione dei casi d’uso. Accessibilità Caratteristica di un dispositivo, di un servizio o di una risorsa, di essere fruibile con facilità da qualsiasi tipologia di utente. Il termine è comunemente associato alla possibilità anche per persone con ridotta o impedita capacità sensoriale, motoria o psichica, di fruire di sistemi informatici e di risorse attraverso l'uso di tecnologie assistite. Usabilità Definita dall'ISO (International Organisation for Standardisation) come l'efficacia, l'efficienza e la soddisfazione con le quali determinati utenti raggiungono determinati obiettivi in determinati contesti. Definisce il grado di facilità e soddisfazione con cui si compie l'interazione tra l'uomo ed uno strumento. Device Dispositivo mobile utilizzato dall’utente per il controllo domotico, sul quale verrà installata l’applicazione di SpokenHouse. Utente Utilizzatore dell’applicazione. Soggetto che decide di controllare l’ambiente domotico presente nella sua abitazione. Associazione Collegamento virtuale che permette di gestire la corretta comunicazione tra il device controllante e il sistema domotico controllato.
  60. 60. 60 Glossario dei termini Ambiente domotico Ambiente domestico che mette a disposizione dell’utente impianti in grado di svolgere funzioni parzialmente/completamente autonome o programmate dall’utente, tramite l’utilizzo di tecnologie specifiche. Notifica Atto mediante il quale si porta un determinato soggetto a conoscenza di una determinata informazione (l’oggetto della notifica stessa) mediante messaggi audio e/o tramite vibrazione. Text To Speech Tecnica per la riproduzione artificiale della voce umana. LIS Acronimo per Lingua dei Segni Italiana. Comunicazione utilizzata da persone non udenti in Italia. Dati di autenticazione Credenziali che permettono all’utente di interagire con il sistema domotico al fine di garantire la connessione a quest’ultimo in maniera sicura: “Username, Password, IpAddress, Porta”. IP Address Etichetta numerica che identifica univocamente un dispositivo (microcontrollore su cui è installato il Framework) collegato a una rete informatica che utilizza l'Internet Protocol come protocollo di comunicazione. Porta Numero associato ad un tipo di applicazione, che, combinato ad un indirizzo IP, permette di determinare in modo univoco un'applicazione che gira un terminale dato. Framework Architettura logica di supporto su cui un software può essere progettato e realizzato. Shortcut Operazione che permette di raggrupparne altre al fine di velocizzare le operazioni richieste. Tabella A-1 Glossario dei termini
  61. 61. 61 Bibliografia Bibliografia [1] Libro Bianco: Tecnologie per la disabilità, Commissione interministeriale sullo sviluppo e l'impiego delle tecnologie dell'informazione per le categorie deboli, 3 Aprile 2003 [2] Gazzetta Ufficiale 9 Gennaio 2009 [3] Informatici Senza Frontiere ONLUS. Da www.informaticisenzafrontiere.org [4] http://www.grupposilis.it/ [5] http://associazionelis.altervista.org/ [6] http://www.ens.it/ [7] Domenico Trisciuoglio, Introduzione alla domotica, 3° edizione, Tecniche Nuove, 2009 [8] P. Magrassi, Supranet in "Dizionario dell'economia digitale", V. Di Bari, Sole 24 Ore Pirola, Milano, 2002. [9] SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità. [10] SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interfacciamento con un framework domotico [11] Seung-Ho Lim, Experimental Comparison of Hybrid and Native Applications for Mobile Systems, Department of Digital Information Engineering - Hankuk University of Foreign Studies, 2015 [12] http://freedomotic.sednet.it/ [13] https://cordova.apache.org/ [14] Pazirandeh Alireza, Vorobyeva Evelina, Evaluation of cross-platform tools for mobile development, 2015 [15] http://json.org/ [16] http://www.w3.org/TR/webdatabase/ [17] http://caniuse.com/#feat=sql-storage [18] https://github.com/freedomotic/freedomotic/wiki/Freedomotic-APIs

×