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

61
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

Upload: freedomotic

Post on 22-Jan-2018

598 views

Category:

Software


0 download

TRANSCRIPT

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

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 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

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

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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ò 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 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 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.

2 1 3

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 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 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 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 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 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 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 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 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 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 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