SlideShare une entreprise Scribd logo
1  sur  143
Télécharger pour lire hors ligne
!
!
UNIVERSITA’ DEGLI STUDI DEL SANNIO
!
Dipartimento di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica!
TESI DI LAUREA
SpokenHouse: Applicazione mobile cross-platform di
supporto ai non vedenti per il controllo domotico.
Interazione con l’utente e usabilità.
RELATORE: CANDIDATA:
Prof.ssa Aversano Lerina Daniela Guardabascio
Prof.ssa Tortorella Maria Mat. 399000060
CORRELATORE:
Dott. Parrella Manuel
ANNO ACCADEMICO 2013/2014
!
!
A mio fratello Lorenzo
& mia nipote Francesca:
il più grande regalo che la vita
potesse farmi.
!
!
"Non fatevi scoraggiare
da chi vi dice
che la vita non è inseguire un sogno,
da chi vi vuole sereni
nella ristrettezza di un destino piccolo
e di un futuro convenzionale.
Sudate e lavorate duramente
perché il vostro sogno si avveri
o perché almeno possiate dire
di averlo visto da vicino.
La ricchezza
più grande di ognuno di noi
è il futuro che sogna."»
Indice!
!
!
I!
Sommario!
INTRODUZIONE*................................................................................................................*1!
ORGANIZZAZIONE)DEL)LAVORO)..........................................................................................)2!
1! INFORMATICI*SENZA*FRONTIERE*...............................................................................*4!
1.1! IL)DIGITAL)DIVIDE)E)LA)DISABILITA’).........................................................................)5!
1.2! I)PROGETTI)DI)ISF).....................................................................................................)6!
2! TECNOLOGIE*A*SUPPORTO*DEI*NON*VEDENTI*...........................................................*8!
2.1! LA)TECNOLOGIA)ED)I)NON)VEDENTI)........................................................................)8!
2.2.1!!STRUMENTI!A!SUPPORTO!DEI!NON!VEDENTI!........................................................!9!
2.2.2!!IL!COMPUTER!(4)!.................................................................................................!10!
2.2! IL)WEB)ED)I)NON)VEDENTI).....................................................................................)15!
2.3.1!!LA!LEGGE!STANCA!(5)!..........................................................................................!15!
2.3.2!!IL!WEB!E!GLI!IPOVEDENTI!....................................................................................!18!
2.3! STRILLONE).............................................................................................................)19!
2.4.1!!L’INTERFACCIA!A!QUATTRO!ANGOLI!...................................................................!20!
2.4! OBIETTIVI)...............................................................................................................)22!
3! TECNOLOGIE*A*SUPPORTO*DELLA*CROSS*PLATFORM*..............................................*23!
3.1! COS’E’)LA)CROSS>PLATFORM).................................................................................)23!
3.2! CLASSIFICAZINE)DELLE)APPLICAZIONI)....................................................................)24!
3.2.1! APPLICAZIONI!NATIVE!...................................................................................!25!
3.2.2! WEB!APPLICATION!.........................................................................................!26!
3.2.3! APP!IBRIDE!.....................................................................................................!28!
3.2.4! APP!NATIVE!VS!WEB!APP!VS!APP!IBRIDE!.......................................................!29!
3.3! FRAMEWORK)MULTIPIATTAFORMA)......................................................................)31!
3.3.1! SENCHA!TOUCH!.............................................................................................!32!
3.3.2! TITANIUM!MOBILE!........................................................................................!33!
3.3.3! APACHE)CORDOVA)&)STEROID!......................................................................!34!
3.3.4! XAMARIN!.......................................................................................................!37!
3.3.5! FRAMEWORK)A)CONFRONTO!........................................................................!39!
3.3.6! APP!REALIZZATE!CON!FRAMEWORK!CROSSLPLATFORM!...............................!41!
3.4! APPS)MOBILE)CROSS>PLATFORM)SVILUPPATE)PER)NON)VEDENTI)........................)44!
Indice!
!
!
II!
3.4.1! BE!MY!EYES!....................................................................................................!45!
3.4.2! BLIO!eBOOKS!.................................................................................................!45!
3.5! CONCLUSIONI)........................................................................................................)46!
4! SISTEMA*MOBILE*A*SUPPORTO*DEI*NON*VEDENTI*..................................................*47!
4.1! SCOPO)DELL’APPLICAZIONE)...................................................................................)47!
4.1.1! ACCESSIBILITA’!...............................................................................................!48!
4.1.2! L’INTERFACCIA!...............................................................................................!48!
4.2! ANALISI)DEI)REQUISITI)...........................................................................................)50!
4.2.1! ATTORI!DEL!SISTEMA!.....................................................................................!52!
4.2.2! CASI!D’USO!....................................................................................................!53!
4.3! ARCHITETTURA)A)LIVELLI).......................................................................................)62!
4.3.1! DESIGN!PATTERN!MVC:!MODEL!VIEW!CONTROLLER!....................................!65!
4.4! 
ARCHITETTURA DEL SISTEMA SPOKENHOUSE)..........................................)67!
4.5! ARCHITETTURA)DELL’APPLICAZIONE)DI)SPOKENHOUSE)........................................)69!
4.5.1! DIAGRAMMA!DELLE!CLASSI!GENERICO!.........................................................!73!
4.5.2! VINCOLI!..........................................................................................................!73!
4.6! TECNOLOGIE)UTILIZZATE).......................................................................................)74!
4.6.1! LA!DOMOTICA!...............................................................................................!74!
4.6.2! HTML5!...........................................................................................................!77!
4.6.3! CSS3!...............................................................................................................!78!
4.6.4! JAVASCRIPT!....................................................................................................!78!
4.6.5! WEBSQL!.........................................................................................................!79!
4.6.6! XML!................................................................................................................!80!
4.6.7! REST!...............................................................................................................!81!
4.6.8! TCP/IP!............................................................................................................!83!
4.6.9! HTTP!..............................................................................................................!83!
4.6.10! PLUGINLCORDOVA!.........................................................................................!84!
4.7! AMBIENTI)DI)SVILUPPO).........................................................................................)85!
4.7.1! CONFIGURAZIONE!APACHE!CORDOVA!..........................................................!85!
4.7.2! CONFIGURAZIONE!FREEDOMOTIC!................................................................!87!
4.7.3! PROBLEMI!PROGETTUALI!..............................................................................!88!
5! VERIFICA*E*VALIDAZIONE*........................................................................................*90!
5.1! SPOKENHOUSE:)MENU)DI)NAVIGAZIONE)..............................................................)90!
Indice!
!
!
III!
5.2! TEST)DI)USABILITA’)................................................................................................)93!
5.3! TEST)FUNZIONALE).................................................................................................)95!
5.3.1! SCENARIO!DI!TESTING!...................................................................................!95!
5.3.2! PIATTAFORMA!E!CONFIGURAZIONE!AMBIENTE!............................................!97!
5.4! CONFIGURAZIONE)APPLICAZIONE).........................................................................)97!
5.4.1! TEST!FUNZIONALE:!CONFIGURAZIONE!APPLICAZIONE!................................!100!
5.4.2! TEST!DI!USABILITA’:!CONFIGURAZIONE!APPLICAZIONE!..............................!106!
5.5! ATTIVAZIONE)VIBRAZIONE)..................................................................................)106!
5.5.1! TEST!FUNZIONALE:!ATTIVAZIONE!VIBRAZIONE!...........................................!108!
5.5.2! TEST!DI!USABILITA’:!ATTIVAZIONE!VIBRAZIONE!..........................................!109!
5.6! MODIFICA)GRANDEZZA)DEI)CARATTERI)..............................................................)109!
5.6.1! TEST!FUNZIONALE:!MODIFICA!GRANDEZZA!CARATTERI!.............................!111!
5.6.2! TEST!DI!USABILITA’:!MODIFICA!GRANDEZZA!CARATTERI!............................!112!
5.7! MODIFICA)TEMA)INTERFACCIA)............................................................................)112!
5.7.1! TEST!FUNZIONALE:!MODIFICA!TEMA!..........................................................!115!
5.7.2! TEST!DI!USABILITA’:!ATTIVAZIONE!VIBRAZIONE!..........................................!116!
5.8! PROBLEMI)RISCONTATI)........................................................................................)117!
CONCLUSIONI*E*SVILUPPI*FUTURI*..................................................................................*119!
SVILUPPI)FUTURI).............................................................................................................)119!
A.*GLOSSASIO*DEI*TERMINI*...........................................................................................*121!
B.*TEST*FUNZIONALE:*SCRIPT*PYTHON*...........................................................................*123!
BIBLIOGRAFIA*...............................................................................................................*129!
!
Indice!delle!Tabelle!
!
!
iv!
*
INDICE*DELLE*TABELLE*
!
Tabella!3L1:!Tabella!comparativa!App!...................................................................................!31!
Tabella!3L2!:!Tabella!comparativa!Framework!......................................................................!39!
Tabella!3L3!:!Tabella!comparativa!framework!L!pro!e!contro!................................................!40!
Tabella!4L1!:!Colori!videoingrandotore!..................................................................................!50!
Tabella!4L2!:!Attori!del!sistema!.............................................................................................!53!
Tabella!4L3!:!Caso!d'uso!“Configurazione!Applicazione”!.......................................................!55!
Tabella!4L4!:!Caso!d'uso!“Attivazione!vibrazione”!.................................................................!56!
Tabella!4L5!:!Caso!d'uso!“Modifica!credenziali!di!accesso!all'applicazione”!.........................!58!
Tabella!4L6!:!Caso!d'uso!“Modifica!tema!interfaccia”!...........................................................!59!
Tabella!4L7!:!Caso!d'uso!“!Modifica!grandezza!caratteri”!......................................................!60!
Tabella!4L8!:!Caso!d'uso!6:!Attivazione!tutorial!di!navigazione!.............................................!62!
Tabella!5L1!:!Vincoli!caso!d'uso!"Configurazione!Applicazione"!..........................................!103!
Tabella!5L2!:!Test!Frame!"Configurazione!applicazione"!.....................................................!105!
Tabella!5L3!:!Esito!test!"Configurazione!applicazione"!........................................................!105!
Tabella!5L4!:!Test!Frame!"Attivazione!Vibrazione"!..............................................................!108!
Tabella!5L5!:!Esito!test!"Attivazione!vibrazione"!.................................................................!109!
Tabella!5L6!:!Test!Frame!"Modifica!grandezza!caratteri"!....................................................!111!
Tabella!5L7!:!Esito!test!"Modifica!grandezza!caratteri"!.......................................................!112!
Tabella!5L8!:!Test!Frame!“modifica!tema"!...........................................................................!116!
Tabella!5L9!:!Esito!test!"Modifica!Tema"!.............................................................................!116!
Indice!delle!Figure!
!
!
v!
INDICE*DELLE*FIGURE*
Figura!2L1!:!Luce!Braille!.........................................................................................................!13!
Figura!2L2!:!Funzionamento!interfaccia!Strillone!(2)!.............................................................!21!
Figura!3L1!:!App!a!confronto!.................................................................................................!30!
Figura!3L2!:!Apache!Cordova!.................................................................................................!36!
Figura!3L3!:!:!Xamarin!per!Android!........................................................................................!37!
Figura!3L4!:!Xamarin!per!iPhone!............................................................................................!38!
Figura!3L5!:!Kiva!Touch!..........................................................................................................!41!
Figura!3L6:!GameStop!............................................................................................................!42!
Figura!3L7!:!HealtTap!.............................................................................................................!43!
Figura!3L8!:!ACSI!Campsites!Europe!......................................................................................!44!
Figura!4L1!:!Tema!interfaccia!SpokenHouse:!Base!blu!,!carattere!giallo!...............................!50!
Figura!4L2!:!Use!case!diagramm!............................................................................................!52!
Figura!4L3!:!Sequence!Diagram!"Configurazione!Applicazione"!............................................!55!
Figura!4L4!:!Sequence!Diagram!"Attivazione!Vibrazione"!.....................................................!56!
Figura!4L5!:!Sequence!Diagram!"Modifica!credenziali!d'accesso"!.........................................!58!
Figura!4L6!:!Sequence!Diagram!"Modifica!tema!interfaccia"!................................................!59!
Figura!4L7!:!Sequence!Diagram!"Modifica!grandezza!caratteri"!...........................................!61!
Figura!4L8!:!Sequence!Diagram!"Attivazione!Tutorial!di!navigazione"!..................................!62!
Figura!4L9!:!Architettura!Software!a!"livelli"!.........................................................................!63!
Figura!4L10!:!Architettura!Two!Tier!.......................................................................................!64!
Figura!4L11!:!Architettura!Three!Tier!.....................................................................................!65!
Figura!4L12!:!Model,!View!e!Controller!.................................................................................!66!
Figura!4L13!:!Architettira!sistema!"alto!livello"!.....................................................................!67!
Figura!4L14!:!Architettura!de!sistema!SpokenHouse!.............................................................!68!
Indice!delle!Figure!
!
!
vi!
Figura!4L15!:!Funzionamento!Apache!Cordova!.....................................................................!69!
Figura!4L16!:!Architettura!dell’applicazione!di!SpokenHouse!...............................................!70!
Figura!4L17!:!Funzionamento!Apache!Cordova!.....................................................................!71!
Figura!4L18!:!Diagramma!delle!classi!generico!......................................................................!73!
Figura!4L19!:!Esempio!impianto!domotico!............................................................................!74!
Figura!4L20!:!Freedomotic!.....................................................................................................!76!
Figura!4L21!:!Potenzialità!HTML5!..........................................................................................!77!
Figura!4L22!:!API!Freedomotic!...............................................................................................!81!
Figura!5L1!:!Albero!di!navigazione!SpokenHouse!..................................................................!92!
Figura!5L2!:!Utenti!durante!i!test!...........................................................................................!94!
Figura!5L3!Screenshots!relativi!a!“configurazione!applicazione”!..........................................!99!
Figura!5L4!Porzione!di!codice!relativo!alla!gestione!del!DB!del!device!...............................!100!
Figura!5L5!:!Screenshot!"attivazione!vibrazione"!................................................................!107!
Figura!5L6!Porzione!di!codice!relativo!alla!codifica!Morse!..................................................!108!
Figura!5L7!:!Screenshot!"Modifica!grandezza!caratteri"!......................................................!110!
Figura! 5L8! Porzione! di! codice! relativo! al! cambiamento! della! grandezza! dei! caratteri!
(setupManager.js)!...............................................................................................................!111!
Figura! 5L9! :! Porzione! di! codice! relativo! al! cambiamento! della! grandezza! dei! caratteri!
(index.html)!.........................................................................................................................!111!
Figura!5L10!:!Screenshot!"modifica!tema"!..........................................................................!114!
Figura!5L11!Porzione!di!codice!relativo!alla!modifica!del!Tema!..........................................!115!
Figura!5L12!:!Rotazioni!consentite!su!Android!....................................................................!118!
Figura!5L13!:!Rotazione!erronea!su!Android!.......................................................................!118!
Introduzione!
!
!
1!
INTRODUZIONE0
!
Questo!lavoro!di!tesi,!nasce!dalla!volontà!dei!volontari!di!Informatici!Senza!Frontiere!ONLUS!
di!fornire!uno!strumento!utile!per!aiutare!le!persone!emarginate!o!in!difficoltà!a!superare!il!
cosiddetto!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'obiettivo!principale!di!questo!lavoro!di!tesi!è!quello!di!ideare!e!progettare!un’applicazione!
mobile!in!grado!di!interfacciarsi!con!un!sistema!domotico,!al!fine!di!agevolare!tali!persone!
nel!controllo!degli!elettrodomestici!presenti!nell’ambiente!domestico;!!al!fine!di!abbattere!il!
digital! divide! è! stata! progettata! un’interfaccia! grafica! che! vada! incontro! alle! esigenze! di!
persone!non!vedenti!o!ipovedenti,!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!tutte!quante!tecnologie!“Open!Source!”!la!per!la!realizzazione!di!questo!progetto.!
Gli! obiettivi! sono! stati! due;! il! primo! riguarda! la! progettazione! e! la! realizzazione! di! un!
interfaccia!grafica!che!sia!fruibile!a!persone!con!particolari!difficoltà!visive!(non!vedenti!e!
ipovedenti)! e/o! uditive;! a! tal! proposito! la! fase! di! progettazione! è! stata! preceduta! da!
un’attenta! ricerca! di! tutto! quanto! potesse! essere! di! supporto! ai! potenziali! utenti!
dell’applicazione!di!SpokenHouse!(videoingranditori,!codifica!morse,!interfaccia!a!quattro!
angoli,!ecc.).!!
Il!secondo!obiettivo!è!stato!quello!di!sviluppare!tale!applicazione!in!maniera!cross>platform,!
utilizzando!un!framework!apposito,!in!modo!da!rendere!accessibile!l’applicazione!al!target!
utente!a!prescindere!dalla!tipologia!di!sistema!operativo!installato!sullo!smartphone.!
L’altro!lavoro!di!tesi!,!svolto!in!parallelo!a!questo,!è!stato!quello!di!Marco!Di!Brino,!il!quale!!
ha!focalizzato!la!sua!attenzione!sulla!domotica:!partendo!da!una!fase!di!ricerca!al!fine!di!
Introduzione!
!
!
2!
individuare!il!framework!domotico!che!più!si!adatta!alle!esigenze!del!progetto,!si!è!occupato!
dell’implementazione! delle! funzionalità! del! sistema! che! riguardano! la! vera! e! propria!
interazione!con!il!framework.!!
!
ORGANIZZAZIONE0DEL0LAVORO0
!
Nel!primo!capitolo!verrà!effettuata!una!panoramica!sul!gruppo!ISF,!sui!progetti!realizzati!nel!
corso!degli!anni,!verrà!inoltre!argomentata!la!loro!Mission!e!il!loro!impegno!atto!ad!introdurre!
gli!strumenti!tecnologici!come!supporto!al!tenore!di!vita!dei!soggetti!disagiati.!!
Nel! secondo! capitolo! verrà! presentata! l’user! experience! dell’applicazione! ! Strillone! e! le!
motivazioni!che!hanno!portato!alla!realizzazione!dell’interfaccia!a!“4!angoli”;!sui!“4!angoli”,!
infatti,!si!basa!anche!l’interfaccia!realizzata!per!“SpokenHouse”.!In!seguito!viene!fatta!una!
panoramica!sulle!tecnologie!a!supporto!dei!non!vedenti!e!ipovedenti,!!e!sulla!legge!“Stanca”!
che!li!tutela!per!l’accessibilità!ad!Internet.!!
Nel!terzo!capitolo!verrà!fatta!un’analisi!dello!stato!dell’arte,!una!panoramica!sui!principali!
framework!per!lo!sviluppo!“cross!platform”!,!alcune!applicazioni!sviluppate!utilizzando!questi!
ultimi)e!le!motivazioni!che!hanno!spinto!all’utilizzo!di!“Apache)Crodova”.!!
Nel! capitolo! quarto! verranno! descritte! le! ragioni! che! hanno! portato! allo! sviluppo! di! un!
applicazione! multipiattaforma! per! il! controllo! di! un! sistema! domotico,! verrà! descritta!
dettagliatamente! la! tipologia! di! utenza! alla! quale! l'applicazione! è! orientata,! i! requisiti!
funzionali! che! l’applicazione! deve! soddisfare,! i! principali! scenari! e! casi! d’uso!
dell’applicazione,! l’architettura! dell’intero! sistema! con! le! principali! tecnologie! utilizzate!
durante!lo!sviluppo.!!
Nel!quinto!capitolo!sarà!descritta!la!fase!di!verifica!e!validazione!dell’applicazione,!dove!sono!
stati!rivisitati!più!nel!dettaglio!i!casi!d’uso!visti!nel!capitolo!4.!Proprio!in!base!a!questi!ultimi!
sono!stati!effettuati!i!test!di!accettazione!sia!funzionali!che!di!usabilità;!riguardo!questi!ultimi,!
per! ognuno! verrà! descritta! la! sperimentazione! effettuata! con! degli! utenti! non! vedenti!
dell’associazione! ONLUS! “Unione) ciechi”,! i! quali! si! sono! resi! disponibili! per! testare!
l'applicazione.!
Introduzione!
!
!
3!
Nell’ultima!parte!del!lavoro!vengono!riportate!le!conclusioni!a!cui!si!è!giunti!e!i!possibili!
ampliamenti!del!lavoro!svolto.!!
! !
1 – Informatici Senza Frontiere
!
!
4!
CAPITOLO010
!
1! INFORMATICI0SENZA0FRONTIERE0
!
Alla!fine!del!2005!un!gruppo!di!manager!veneti!che!lavorano!nel!settore!informatico!ha!deciso!
di!mettere!le!proprie!conoscenze!in!un!aiuto!concreto!contro!il!digital!divide.!È!nata!così!una!
Onlus!che!ha!come!primo!obiettivo!quello!di!utilizzare!conoscenze!e!strumenti!informatici!
per!portare!un!aiuto!concreto!a!chi!vive!situazioni!di!emarginazione!e!difficoltà.!La!Mission!di!
ISF! è! infatti! quella! di! aiutare,! tramite! l’applicazione! pratica! e! consapevole! dell’ICT!
(Information!and!Communication!Technology)!(1),!i!“soggetti!deboli”!ad!essere!più!liberi.!!
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.!!
ISF! 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.!ISF!crede!nell’uso!abilitante!delle!ICT!
come!modo!per!migliorare!la!qualità!della!vita.!!
Oggi! Informatici! Senza! Frontiere! conta! dieci! sezioni! regionali! e! più! di! 300! soci! e! socie,!
informatici!e!non,!che!contribuiscono!alla!vita!dell’associazione.!Secondo!la!nostra!vision,!ISF!
crescerà,! mantenendo! intatti! i! valori! di! fondo,! come! associazione! caratterizzata! dalla!
piacevolezza!dello!stare!assieme!e!dall’affidabilità!del!suo!operato.!
! !
1 – Informatici Senza Frontiere
!
!
5!
1.1! IL0DIGITAL0DIVIDE0E0LA0DISABILITA’0
!
Il!Digital!Divide!(divario!digitale)!è!un!fenomeno!che!riguarda!il!divario!esistente!tra!chi!ha!la!
possibilità! di! accedere,! grazie! ad! un! computer! (o! un! dispositivo! mobile)! e! tramite! una!
connessione! alla! rete,! ai! servizi! della! tecnologia! dell'informazione,! e! chi! invece! ne! resta!
escluso.!!
I! motivi! che! portano! all'esclusione! dai! servizi! in! questione! riguardano! principalmente!
differenze!socioLdemografiche!come!condizione!economica,!livello!d'istruzione,!differenza!di!
età!o!di!sesso,!qualità!delle!infrastrutture!e!appartenenza!a!diversi!gruppi!etnici!ma!anche!la!
disparità!nelle!capacità!e!nelle!conoscenze!necessarie!per!l'accesso!e!la!partecipazione!alla!
società! dell'informazione.! In! questo! ultimo! caso! si! può! anche! parlare! di! analfabetismo!
digitale.!!
Il! Mobile! dà! certamente! un! contributo! al! superamento! del! digital! devide! e! della! social!
exclusion! (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!con!amici,!familiari!e!colleghi.!Questo!è!possibile,!da!un!
lato,!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.!!
Il! forte! valore! aggiuntivo! del! Mobile! rispetto! al! PC! è! l'accesso! ai! contenuti! in! mobilità!
everywhere!e!everytime:!chiunque,!anche!chi!non!possiede!un!computer,!ha!la!possibilità!di!
avere!uno!strumento!di!navigazione!ed!informazione.!!
Lo!scenario!delle!opportunità!che!il!Mobile!può!offrire!a!un!utente!disabile!è!ricco!e!variegato,!
ovviamente!a!patto!che!terminali,!applicazioni!e!servizi!offerti!siano!progettati!e!realizzati!
seguendo!le!linee!guida!dell’accessibilità!e!dell’usabilità.!Il!Mobile!può!consentire!ad!un!non!
vedente!o!ad!un!ipovedente,!per!esempio,!di!accedere!ad!informazioni!in!tutti!quei!contesti!
in! cui! vi! è! una! comunicazione! esclusivamente! visiva,! come! informazioni! sul! binario! di!
partenza!dei!treni!delle!stazioni,!gli!orari!e!le!indicazioni!sui!tragitti!e!ritardi!degli!autobus!alle!
fermate,!le!informazioni!di!servizio!in!un!hotel,!ecc.!!
1 – Informatici Senza Frontiere
!
!
6!
Tuttavia! lo! smartphone! può! anche! sostituire! un! PC:! le! maggiori! opportunità! sono! state!
riscontrate!nel!caso!delle!persone!non!vedenti.!Esso!ha!infatti,!caratteristiche!di!usabilità!
preferibili!rispetto!ad!un!computer,!grazie!alle!ridotte!dimensioni!e!alla!garanzia!di!maggiore!
praticità!di!utilizzo!(il!cellulare!è!'senza!fili',!non!presenta!problematiche!di!connessione!alla!
rete! e! nella! maggior! parte! dei! casi! è! già! acceso! nel! momento! dell'uso).! In! aggiunta! una!
persona!non!vedente!con!un!basso!livello!di!informatizzazione!presenta!mediamente!molte!
difficoltà! nell'utilizzo! della! tastiera! del! PC,! mentre! non! ha! problemi! con! l'uso! dello!
smartphone.!!
L’elenco!delle!applicazioni!potrebbe!continuare!a!lungo.!L’eliminazione!del!digital!divide,!non!
è!un!meta!da!raggiungere,!ma!più!un!obiettivo!mobile,!visto!che!le!tecnologie!cambiano!di!
continuo!e!che!occorre!garantire!anche!una!formazione!continua!alle!persone.!Una!maggiore!
sensibilizzazione!di!imprese,!provider,!società!civile!e!Pubblica!Amministrazione!potrebbe!
evitare!e!ridurre!i!rischi!del!digital!divide.!!
!
1.2! I0PROGETTI0DI0ISF0
!
L’attività!di!ISF!è!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!ISF,!che!si!occupano!di!creare!piccoli!sistemi!informativi!nell’ospedale!e!della!
formazione!del!personale.!!
Un!altro!importante!progetto!è!quello!realizzato!all’Ospedale!di!Brescia,!dove,!al!reparto!di!
oncologia! pediatrica,! è! stato! installato! un! sistema! informativo! 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!
1 – Informatici Senza Frontiere
!
!
7!
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!ISF!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”.!!
Una!applicazione!progettata!e!realizzata!dai!volontari!di!ISF!è!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,! cosi! che! l’utente! possa! sfruttare! gli! angoli! fisici! del! device! per! poter! navigare!
facilmente! all’interno! del! menù! dell’applicazione.! Attualmente! Strillone! è! disponibile!
gratuitamente!nelle!versioni!per!le!principali!piattaforme:!Android,!iOS!per!i!dispositivi!Apple,!
Windows! Phone! e! in! versione! Web! Application! utilizzabile! su! tutti! i! dispositivi! con!
connessione!ad!Internet.!
ISF!si!occupa!anche!di!offrire!corsi!e!strumenti!di!alfabetizzazione!informatica!nelle!carceri,!
negli!ospedali!e!tra!persone!che!vivono!situazioni!di!emarginazione!e!disagio.!!
!
!
!
!
! !
!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
8!
CAPITOLO020
2! TECNOLOGIE0A0SUPPORTO0DEI0NON0VEDENTI0
!
Questo!lavoro!di!tesi!si!rivolge!ad!una!specifica!tipologia!di!utenti!quali!"disabili!visivi!e/o!
uditivi".!I!"disabili!visivi"!comprendono!sia!i!non!vedenti!o!i!ciechi!assoluti,!che!gli!ipovedenti.!!
I!primi!non!sono!in!grado!di!cogliere!attraverso!la!vista!nessuna!informazione!significativa!in!
ordine! all'ambiente! esterno;! i! secondi,! invece,! possono! avvalersi! del! loro! residuo! visivo,!
anche! se! con! molte! limitazioni! e! trovandosi! in! situazioni! percettive! estremamente!
differenziate,!sia!sotto!il!profilo!dell'acuità!che!sotto!quello!dell'ampiezza!del!campo!visivo.!!
La!persona!ipovedente!non!è!semplicemente!un!individuo!che!ha!una!riduzione!delle!capacità!
visive.! A! volte! egli! manifesta! difficoltà! notevoli! nella! fissazione,! nei! movimenti! oculari,!
nell’esplorazione!visiva,!nell’ampiezza!del!campo!di!fissazione,!nella!sensibilità!al!contrasto,!
nella!percezione!del!colore.! !
I!“disabili!uditivi”!comprendono!sia!i!non!udenti!che!gli!ipoacusici.!I!primi!hanno!una!completa!
disfunzione! dell’intero! apparato! uditivo,! mentre! i! secondi! hanno! un! indebolimento!
dell'apparato! uditivo!dovuto! a! un! danno! o! alla! degenerazione! di! uno! o! più! dei! suoi!
componenti.!!
Nel!capitolo!che!segue!saranno!analizzate!le!tecnologie!a!supporto!di!questa!tipologia!di!
utenza,!prestando!attenzione!alle!tecnologie!esistenti!a!supporto!di!questi!e!alla!legge!Stanca!
che!li!per!quanto!riguarda!il!loro!interfacciamento!con!il!Web.!
!
2.1! LA0TECNOLOGIA0ED0I0NON0VEDENTI0
!
Negli!ultimi!decenni!sono!stati!inventati!diversi!strumenti!che!consentono!ai!ciechi!ed!agli!
ipovedenti! di! compiere! attività! che! prima! non! erano! alla! loro! portata! o,! se! lo! erano,!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
9!
richiedevano!uno!sforzo!e!delle!capacità!particolari.!!I!prossimi!paragrafi!discutono!alcune!di!
queste!applicazioni.!
!
2.2.100STRUMENTI0A0SUPPORTO0DEI0NON0VEDENTI0
Di!seguito!verranno!passati!in!rassegna!gli!strumenti!più!importanti!che!supportano!i!non!
vedenti!e!gli!ipovedenti!nella!vita!quotidiana!(3).!
Orologi,*termometri*e*oggetti*per*la*casa*
Esistono! in! commercio! orologi! da! polso! e! da! taschino! che! presentano! all'interno! del!
quadrante!una!serie!di!simboli!tattili.!Normalmente!il!quadrante!è!protetto!da!un!coperchio!
che!il!cieco!deve!aprire!per!toccare!le!lancette!ed!i!segni!indicatori!delle!ore!e!dei!minuti.!
Esistono!anche!orologi!sia!analogici!che!digitali!che,!oltre!a!mostrare!l'ora!in!un!display,!la!
vocalizzano!se!si!preme!un!apposito!tasto.!Solitamente!questi!orologi!parlanti!hanno!anche!
una!funzione!di!sveglia!e!di!segnale!orario.!
Un!esempio!è!un!modello!di!orologio!da!polso!realizzato!dalla!ditta!Tissot,!chiamato!SilenLT,!
che!consente!di!conoscere!l'ora!semplicemente!facendo!scorrere!il!dito!lungo!la!corona.!
Poiché!in!corrispondenza!delle!lancette!vengono!emesse!delle!vibrazioni.!
Esistono!termometri!tattili!e!parlanti!sia!per!la!misurazione!della!temperatura!corporea!che!
per!quella!ambientale.!!
Esistono,!infine,!sia!bilance!pesapersone!che!pesa!alimenti!con!indicazioni!tattili!e!sonore.!
Per!l'autonomia!in!casa!possono!rivelarsi!molto!utili!strumenti!di!comune!reperibilità,!quali!
segnalatori!di!fonti!luminose,!acqua!e!gas,!strumenti!per!separare!il!tuorlo,!apriscatole!e!
grattugie!elettriche.!!
Strumenti*per*scrivere*
Per!la!scrittura!con!il!sistema!Braille!ci!si!può!avvalere!di!un!set!costituito!da!una!tavoletta!di!
metallo!o!di!plastica,!un!regolo!e!un!punteruolo.!Esistono!anche!modelli!da!taschino.!
Per!una!scrittura!più!rapida!e!semplice!si!può!ricorrere!alla!dattilobraille:!ne!esistono!vari!
modelli!di!diversi!prezzi,!in!plastica!e!in!metallo,!a!testina!fissa!o!mobile.!!
Gli!ipovedenti!possono!scrivere!utilizzando!un!pennarello.!Esistono!dei!quaderni!con!righe!e!
quadretti!più!larghi!e!con!contorni!più!marcati!rispetto!ai!comuni!quaderni.!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
10!
Strumenti*per*leggere*
Gli!ipovedenti!possono!leggere!la!normale!scrittura!stampata!ed!i!manoscritti!servendosi!del!
videoingranditore!o!di!una!telecamera!ingrandente.!Il!primo!è!un!sistema!costituito!da!un!
monitor,!una!telecamera!fissa!ed!un!carrello!scorrevole!sul!quale!vengono!appoggiati!i!testi!
da!leggere.!
Ne!esistono!modelli!da!tavolo!e!portatili.!La!telecamera!ingrandente,!invece,!è!costituita!da!
un! unico! oggetto! che! incorpora! una! telecamera! ed! un! piccolo! schermo.! Esistono! anche!
sistemi!ibridi,!costituiti!da!una!telecamera!che!si!collega!al!computer!fisso!o!portatile.!
I! ciechi! assoluti! e! gli! ipovedenti! che! non! riescono! a! leggere! con! un! sistema! ingrandente!
possono!fare!ricorso!alla!scrittura!braille.!In!Italia!esistono!vari!centri!che!prestano!libri!già!
trascritti!o!trascrivono!libri!su!richiesta.!
Ciechi!ed!ipovedenti!possono!utilizzare!il!computer!anche!come!strumento!di!lettura,!sia!
abbinandolo! ad! uno! scanner! e! ad! un! programma! di! riconoscimento! caratteri,! sia!
procurandosi!libri!in!forma!digitalizzata.!!
*
2.2.200IL0COMPUTER!(4)0
La!possibilità!di!utilizzare!sistemi!di!lettura!e!scrittura!elettronica!rappresenta!per!i!disabili!
visivi! una! vera! rivoluzione! nel! campo! delle! loro! possibilità! di! accedere! alla! cultura! ed!
all'informazione,!come!anche!nelle!modalità!dello!studio!e!nelle!nuove!possibilità!lavorative!
e!di!impiego!del!tempo!libero.!In!altre!parole!l'utilizzo!di!questi!ausili!consente!di!migliorare!
la! qualità! della! vita.! Quanto! ciò! sia! vero,! lo! si! può! capire! facilmente! ascoltando! l'elenco!
schematico!delle!cose!che!un!non!vedente!può!fare!usando!un!computer!e!una!connessione!
ad!internet:!
•! Scrivere!lettere,!appunti,!testi!di!ogni!genere!e!poter!rileggere!e!correggere!quanto!
scritto.!
•! Leggere!lettere!o!altri!scritti!ricevuti!su!dischetto,!per!posta!elettronica!o!presi!da!
internet.!
•! Leggere!i!normali!libri!o!le!riviste!in!nero!mediante!lo!scanner.!
•! Leggere!migliaia!di!libri!disponibili!in!forma!elettronica.!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
11!
•! Leggere! il! televideo! con! tutte! le! informazioni! che! contiene,! fra! cui! i! programmi!
televisivi.!
•! Consultare!l'elenco!telefonico!di!tutta!l'Italia.!
•! Consultare!l'orario!ferroviario!e!le!previsioni!del!tempo.!
•! Ricevere!a!casa!via!cavo!o!via!etere!e!leggere!quotidiani!e!settimanali.!
•! Scambiare!corrispondenza!di!ogni!tipo!a!mezzo!posta!elettronica.!
•! Avere! la! possibilità! per! gli! studenti! di! scrivere! i! loro! compiti! e! presentarli!
correttamente!stampati!ai!loro!insegnanti.!
•! Consultare!vocabolari!ed!enciclopedie!elettroniche.!
•! Leggere!raccolte!di!leggi!e!di!giurisprudenza.!
•! Tenere!una!contabilità!aziendale!o!familiare.!
•! Svolgere!operazioni!bancarie!dalla!propria!abitazione.!
•! Riascoltare!programmi!televisivi!o!radiofonici!anche!a!distanza!di!tempo.!
•! Svolgere! su! internet! ogni! tipo! di! ricerca,! avendo! a! disposizione! un! archivio! con!
miliardi!di!informazioni.!
•! E!molto!altro!ancora.!
L'elemento! centrale! di! tutti! i! sistemi! di! lettura! e! scrittura! elettronica! è! il! computer,! ma!
bisogna!assolutamente!evitare!di!credere!che!per!usare!tali!sistemi!sia!necessario!imparare!
l'informatica:!è!sufficiente!imparare!quali!tasti!si!debbono!premere!per!ottenere!determinati!
risultati.!Al!computer!sono!collegati!altri!apparecchi,!alcuni!dei!quali!sono!specifici!per!disabili!
visivi,!mentre!altri!sono!utilizzati!da!tutti.!
Sintesi*vocale*
La!sintesi)vocale!è!una!voce!artificiale!come!quella!che!legge!i!titoli!dei!vari!capitoli!e!paragrafi!
di!questo!servizio!fonomatico.!Essa!costituisce!uno!dei!modi!con!cui!un!non!vedente!può!
leggere!e!scrivere!con!un!computer.!Le!prime!sintesi!vocali,!che!risalgono!ai!primi!anni!'80,!
erano! comprensibili! solo! dopo! un! lungo! allenamento.! Quella! da! me! utilizzata! è! una!
abbastanza! recente,! ma! ve! ne! sono! anche! altre! con! intonazioni! più! naturali.
Tuttavia,!ancora!più!importante!della!gradevolezza!della!voce,!è!la!completezza!e!facilità!
d'uso!del!programma!che!permette!di!chiedere!alla!stessa!voce!di!leggere!tutto!quello!che!ci!
interessa!e!soltanto!quello.!
!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
12!
Barra*Braille*
Il!secondo!ausilio!che!permette!ai!non!vedenti!di!usare!il!computer!è!la!barra!braille.!Si!tratta!
di!una!riga!costituita!da!un!certo!numero!di!celle,!in!ciascuna!delle!quali!si!vengono!a!formare!
elettronicamente!dei!punti!a!rilievo!corrispondenti!ad!una!delle!lettere!presenti!su!una!riga!
dello!schermo.!Quando!il!non!vedente!ha!terminato!di!leggere!quella!riga!facendo!scorrere!
le!dita!su!di!essa,!sulla!barra!appare!la!riga!successiva.!La!sua!importanza!consiste!nel!fatto!
che!con!questa!modalità!di!lettura!il!cieco!resta!in!contatto!con!la!corretta!grafia!delle!parole,!
cosa!che!non!succede!ascoltando!una!lettura!vocale.!E'!un!ottimo!sistema!per!coloro!che!sono!
veloci!nella!lettura!braille!ed!è!indicato!soprattutto!per!la!lettura!di!libri!e!la!consultazione!di!
vocabolari!ed!enciclopedie.!Sono!in!commercio!barre!da!20,!40!od!80!caratteri;!queste!ultime!
sarebbero!da!preferire,!in!quanto!presentano!il!contenuto!di!un'intera!riga!dello!schermo,!
ma!sono!estremamente!costose!
Luce*Braille*
Come!detto!precedentemente,!per!aiutare!le!persone!non!vedenti!a!leggere!e!scrivere!in!
linguaggio!Braille,!sono!state!create!delle!tastiere!(dette!anche!display)!molto!utili!e!facili!da!
maneggiare.!Una!di!queste!è!il!dispositivo!chiamato!Luce!Braille!della!TifloSystem.!!
È!un!display!Braille!leggero!e!portatile,!che!permette!di!portare!con!sé!tutti!i!documenti,!ma!
che!si!può!usare!anche!per!gestire!dispositivi!esterni,!tutto!da!un!unico!apparecchio.!!
Questo!display!Braille!(come!si!può!vedere!nella!Figura!2L1)!è!formata!da!16!caratteri!(o!celle)!
a!8!punti.!Esistono!anche!altri!modelli!con!più!celle!a!disposizione!ma!il!resto!dei!tasti!è!
pressoché!lo!stesso.!
La!struttura!della!barra!è!molto!semplice:!ai!lati!del!display,!ci!sono!2!tasti!per!lo!scorrimento!
del!testo!che!compare!sul!display.!!
Sopra!il!display,!ci!sono!i!tasti!per!la!scrittura!a!8!punti.!!
L’ordine!dei!tasti!(in!base!a!quella!che!è!la!disposizione!dei!punti!nella!cella!a!8punti)!è!il!
seguente:!7–3–2–1–4–5–6–8!(partendo!da!sinistra!e!andando!verso!destra).!!
Sotto! la! riga/display! ci! sono! altri! 2! tasti:! quello! a! sinistra! è! detto! tasto! 9! che! serve,! in!
combinazione!con!altri!tasti,!per!attivare!particolari!funzionalità;!quello!a!destra!è!la!barra!
spaziatrice.!!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
13!
Agli!estremi!di!questi!2!ultimi!tasti!ci!sono!2!joystick!che!si!muovono!nelle!5!direzioni!(ovvero!
sopra,! sotto,! destra,! sinistra,! centro);! possono! essere! utilizzati! per! spostarsi! nei! menù! o!
carattere!per!carattere,!ad!esempio.!!
La!barra!può!essere!utilizzata!senza!supporto!di!PC!o!smartphone.!Infatti,!sul!display!escono!
le!voci!del!menù,!tipo!blocco!note,!gestione!file!etc.!!
Per!il!blocco!note,!si!può!creare!un!nuovo!file!col!comando!SPAZIO!+!N.!Man!mano!che!si!
scrive!con!la!tastiera,!sul!display!verrà!visualizzato!il!testo!che!si!sta!scrivendo.!!
Per!quanto!riguarda!l’interfacciamento!con!l’iPhonesi!utilizza!la!connessione!Bluetooth!(la!si!
deve!settare!nel!menu!del!display).!L’iPhone,!avendo!il!VoiceOver!attivo,!può!essere!utilizzato!
con! il! movimento! del! dito! verso! destra! per! scorrere! i! menu! e! doppio! click! su! un! punto!
qualsiasi!dello!schermo!per!accedere!alla!voce!selezionata.!!
!
Figura*2R1*:*Luce*Braille*
!
Si!va!quindi!nella!sezione!VoiceOver!dell’IPhone!per!abbinare!il!display!Braille!al!telefono!in!
modo!tale!da!usarlo!prettamente!come!display.!Ci!sarà!ovviamente!una!voce!elettronica!che!
indicherà!la!posizione!attuale.!!
Il!comando!SPAZIO!+!K!fornisce!l’elenco!di!tutti!i!comandi!eseguibili!tramite!questo!display.!!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
14!
Col!rotore!si!fa!in!modo!di!scorrere!le!parole!che!sono!state!scritte!per!riga,!parola!oppure!
per! carattere,! ad! esempio.! In! questo! modo! è! possibile! correggere! il! file! creato! molto!
agevolmente.!!
Gli*Screen*Reader*
Lo!screen!reader!è!un’altra!funzionalità!per!l'accessibilità!molto!importante.!Si!tratta!di!un!
software! che! permette! di! ascoltare! (invece! di! leggere)! un! contenuto! presente! a! video.!
Scorrendo!il!dito!sullo!schermo,!lo!screen!reader!legge!ad!alta!voce!i!contenuti!selezionati!o!
una! loro! descrizione.! Inoltre! le! notifiche! come! sveglie,! eventi! del! calendario! e! avvisi!
sull'esaurimento!della!batteria!sono!lette!ad!alta!voce.!
Questo!strumento!quindi!si!rivela!
essenziale!per!tutti!gli!utenti!non!vedenti,!che!non!ne!potrebbero!farne!a!meno!per!usare!un!
certo!dispositivo.!!
A!seconda!del!sistema!operativo!dello!smartphone!viene!messo!a!disposizione!uno!Screen!
Reader!differente:!
•! Per! i! dispositivi! Android:! TalkBack! che! aggiunge! feedback! vocali,! sonori! con!
vibrazione!al!dispositivo.!!
•! Per!i!dispositivi!Apple:!Voice!Over!con!cui!è!possibile!controllare!il!dispositivo!iOS!con!
alcune!gesture!oltre!al!normale!funzionamento!di!lettura!dello!schermo.!!
•! Per!dispositivi!Windows!Phone!è!disponibile!solo!per!i!dispositivi!più!aggiornati!ed!è!
limitato!alla!sola!lingua!inglese!(Stati!Uniti).!!
Interfaccia*facilitata*Winguido*
Lo!Screen!Reader!più!utilizzato!dai!non!vedenti!si!chiama!Jaws!e!legge!con!la!sua!sintesi!vocale!
tutto!ciò!che!appare!scritto!sullo!schermo,!ma!è!molto!costoso!e!anche!non!molto!semplice!
da!apprendere.!!
Circa!2.000!non!vedenti!utilizzano!invece!"Winguido",!una!interfaccia!che!presenta!tutti!i!
menu! ad! albero! ed! è! quindi! estremamente! facile! ed! intuitiva! nel! suo! utilizzo.! Inoltre! è!
scaricabile!gratuitamente!da!Internet!e,!oltre!a!tutte!le!normali!funzioni!di!scrittura,!lettura,!
navigazione,! posta! elettronica,! skype,! ne! ha! altre! ancora! più! semplificate,! come! l'orario!
ferroviario,!l'elenco!telefonico,!il!televideo.!Inoltre!ha!degli!applicativi!specificamente!creati!
per!i!non!vedenti,!come!diversi!giochi!enigmistici,!una!agenda!con!scadenze,!appuntamenti!e!
ricorrenze,! un! riconoscitore! di! caratteri! per! lo! scanner,! un! programma! di! registrazione!
digitale,!un!catalogo!per!dischi,!un!programma!di!contabilità,!ecc.!!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
15!
Il!vantaggio!più!rilevante!nel!uso!di!winguido!risiede!!nel!rapporto!tra!la!semplicità!del!suo!
utilizzo!e!i!risultati!che!possono!essere!ottenuti,!i!quali!riescono!a!soddisfare!certamente!la!
gamma!di!esigenze!di!un!utente!domestico!del!computer.!un!disabile!della!vista,!grazie!a!
questo! semplice! strumento! può! leggere! un! giornale,! ricevere! una! ricetta! di! cucina! o! le!
istruzioni!di!un!farmaco,!consultare!le!pagine!gialle!!o!l'elenco!telefonico,!accedendo!così!
semplicemente!ad!informazioni!spesso!di!vitale!importanza!altrimenti!inaccessibili.!
!
2.2! IL0WEB0ED0I0NON0VEDENTI0
!
L'accessibilità!ad!internet!per!un!non!vedente!è!diventata!una!priorità!assoluta,!cosa!di!cui!si!
sono! finalmente! accorti! anche! i! politici,! tanto! che! è! stata! già! varata! una! legge!
sull'accessibilità,!approvata!quasi!all'unanimità!nel!2004.!
Avere!Internet!accessibile,!per!un!non!vedente,!significa!riappropriarsi!di!molte!cose!per!le!
quali!prima!dell'avvento!delle!nuove!tecnologie,!venivano!puntualmente!demandate!ad!altri!
o,!nella!migliore!delle!ipotesi,!eseguite!con!l'aiuto!di!altri.!
Con! l'uso! del! computer! abbinato! alla! rete! internet! si! può! fare! acquisti! onLline,! tenere! i!
rapporti!con!la!propria!banca,!accedere!alle!informazioni!dei!maggiori!media,!accedere!alla!
cultura,!accedere!direttamente!alle!università!e!alle!loro!banche!dati,!eseguire!ricerche,!e,!
non! trascurabile,! tenere! i! rapporti! interpersonali! e! per! la! socializzazione! senza! avere! il!
bisogno!di!spostarsi!da!casa!con!tutti!i!problemi!che!gli!spostamenti!comportano!per!un!
disabile!visivo.!
Già!oggi,!se!Internet!fosse!completamente!accessibile,!tutto!quanto!suddetto!sarebbe!realtà!
e!non!un!grosso!punto!interrogativo!ad!ogni!accesso!tentato.!
!
2.3.100LA0LEGGE0STANCA0(5)0
Il! 17! Dicembre! 2003! il! Parlamento! Italiano! ha! approvato! all'unanimità! la! Legge!
sull'Accessibilità!meglio!nota!come!Legge!Stanca!dal!nome!del!Ministro!per!l'Innovazione!e!le!
Tecnologie!Lucio!Stanca!che!l'ha!presentata!sotto!forma!di!Disegno!di!Legge.!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
16!
La!Legge!"!Disposizioni!per!favorire!l'accesso!dei!soggetti!disabili!agli!strumenti!informatici"!
è!stata!pubblicata!in!Gazzetta!Ufficiale!come!legge!9!gennaio!2004,!n.!4.La!Legge!prevede!
l'obbligo!per!la!Pubblica!Amministrazione!di!rendere!accessibili!tutti!i!propri!siti!web,!prevede!
infatti!che!i!nuovi!contratti!stipulati!dalla!pubblica!amministrazione!per!la!realizzazione!di!siti!
Internet! siano! nulli! qualora! non! rispettino! i! requisiti! di! accessibilità.! L'inosservanza! delle!
disposizioni!della!legge!da!parte!del!pubblico!amministratore!inoltre!comporta!responsabilità!
dirigenziale!e!responsabilità!disciplinare.!
Quindi!con!la!Legge!stanca!sono!state!stabilite!alcune!regole!da!rispettare!al!fine!di!poter!
rendere!accessibile!il!web!a!persone!con!disabilità!visive.!
Per!fare!in!modo!che!lo!screenLreader!funzioni!correttamente!fornendo!esattamente!tutto!
quello! che! è! presente! sul! monitor,! il! sito! deve! essere! costruito! in! modo! tale! che!
l'interpretazione!di!tutte!le!informazioni!avvenga!in!maniera!fedele,!senza!perdere!nulla!di!
quello!che!il!sito!contiene.!
Nel! caso! contrario,! il! navigatore! non! vedente! nella! migliore! delle! ipotesi! perderà!
l’orientamento,!ma!il!più!delle!volte!non!potrà!accedere!al!sito.!
Quando! il! web! master! costruisce! il! sito! deve! tenere! conto! di! queste! variabili,! ponendo!
l’attenzione!su!alcune!cose!di!estrema!importanza.!Vediamo!quali!sono:!
1.! Etichettare! le! immagini! in! maniera! comprensibile! e! corrispondente! a! quanto!
riportato!sullo!schermo,!avendo!cura!di!inserire,!per!cose!da!descrivere,!il!tag!long!
Desk!che!consente!descrizioni!più!lunghe!ed!adeguate.!
2.! Se!si!utilizzano!elementi!grafici!nei!link!o!nei!bottoni!significativi,!immettere!del!testo!
alternativo!nell'apposito!attributo!del!tag!IMG!(ALT="testo!descrittivo").!
3.! Non!utilizzare!tecnologie!flash,!in!quanto!gli!screen!reader!meno!recenti!e!i!browser!
testuali! non! riescono! ad! interpretare! questo! tipo! di! tecnologia,! mentre! gli! ultimi!
realizzati! la! interpretano! male.! Sul! sito! di! Macromedia! si! continua! a! parlare! di!
tecnologia!flash!accessibile,!ma!intanto!la!programmazione!in!flash!dei!siti,!forse!
perché!nessuno!si!mette!a!perdere!la!testa!per!creare!dei!flash!accessibili,!continua!
a!creare!problemi!alle!tecnologie!assistive.!
4.! Non!utilizzare!tabelle!nidificate!nel!caso!si!voglia!visualizzare!elenchi!o!dati.!In!alcuni!
casi! di! visualizzazione! personalizzata! o! per! i! browser! testuali,! si! potrebbero!
sovrapporre!gli!elementi!della!pagina!nascondendo!addirittura!gli!stessi!link.!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
17!
5.! Nei! form! di! compilazione! i! campi! devono! essere! etichettati! in! maniera! corretta,!
soprattutto!se!si!usano!i!tag!Label.!
6.! La!struttura!del!sito!non!deve!essere!costruita!a!frame!in!quanto!gli!screen!reader!
testuali!non!la!interpretano!correttamente.!
7.! Le! pagine! del! sito! devono! sempre! riportare! il! link! al! contenuto! della! pagina,!
soprattutto!se!il!menù!di!navigazione!è!molto!grande.!
8.! Tutti!i!comandi!del!sito!sia!essi!di!navigazione!o!di!attivazione!di!procedure!devono!
poter!essere!gestiti!da!tastiera.!
9.! I!pulsanti!radio!devono!avere!l’indicazione!del!comando!che!producono,!leggibile!in!
modo!coretto!durante!la!selezione,!soprattutto!se!si!usano!taglabel.!
10.!Se!si!usano!testi!nei!campi!editazione!per!descrivere!il!dato!da!immettere,!fare!in!
modo!che!il!testo!presente!si!cancelli!appena!si!accede!al!campo!editazione,!evitando!
di!usare!script!per!la!cancellazione.!
11.!Non! utilizzare! Javascript! o! altri! tipi! di! script,! poiché,! con! i! browser! testuali! o! se!
l'utente!decide!di!disattivare!gli!script!per!sicurezza,!si!impedisce!di!usufruire!di!tutto!
quello!che!tali!script!veicolano.!
12.!Inserire!i!tag!per!l'interpretazione!della!lingua!in!quanto!gli!ultimi!screenLreader!già!
riescono!a!leggere!nella!lingua!impostata.!
13.!Inserire!i!significati!espliciti!di!abbreviazioni!ed!acronimi!perché,!anche!questi!,!già!
vengono!correttamente!interpretati!dagli!ultimi!screenLreader.!
14.!Evitare!di!inserire!testo!alternativo!anche!per!i!grafici!di!separazione!del!contenuto!
della!pagina!come!ad!esempio!"linea!tratteggiata",!"freccia",!"!puntini!neri",!eccetera!
ecc.!
15.!Quando!si!usano!le!accessLkey,!evitare!di!usare!questo!comodo!comando!per!tutti!i!
link,! inserendolo! essenzialmente! ai! link! principali! occorrenti! per! una! più! rapida!
navigazione,! come! ad! esempio! la! home! page,! la! mappa,! il! motore! di! ricerca,! e!
qualche!altro!di!importanza!per!il!sito.!Se!tali!comandi!vengono!inseriti!su!tutti!i!link,!
possono!solo!generare!confusione.!Speriamo!che!le!prossime!direttive!internazionali!
diano!una!direttiva!su!queste!cose!che!stanno!proliferando!in!modo!caotico!un!poco!
ovunque.!
16.!Nei!form!di!compilazione,!i!commenti!inseriti!tra!un!campo!e!l'altro!per!spiegare!
meglio!i!dati!da!immettere,!devono!essere!gestiti!tramite!CSS!e!inseriti!come!SPAN!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
18!
nelle!LABEL,!in!modo!che!vengono!regolarmente!letti!anche!quando!è!attivata!la!
modalità!scrittura.!
Quelli!suddetti!sono!i!principali!accorgimenti!che!permettono!ad!un!non!vedente!di!poter!
usufruire!dei!contenuti!di!un!sito!con!un!grado!abbastanza!sufficiente!di!accessibilità.!
!
2.3.200IL0WEB0E0GLI0IPOVEDENTI0
Rendere! fruibile! il! web! anche! ai! soggetti! ipovedenti! significa! dover! tenere! presente!
moltissime!variabili,!quali:!
•! L’acuità!visiva.!
•! Il!campo!visivo.!
•! La!percezione!dei!colori.!
•! Altre!patologie!collaterali!che!influiscono!negativamente!sulla!sensibilità!visiva.!
Inoltre,!bisogna!tenere!conto!di!come!gli!ipovedenti!configurano!i!propri!pc.!Infatti,!non!tutti!
utilizzano! gli! strumenti! assistivi,! i! magnifier! (ingranditori! software).! Molti! tendono! a!
personalizzare!in!maniera!estrema!il!proprio!desktop,!ingrandendo!le!icone,!le!lettere!ed!i!
menù,!altri!ancora!tendono!ad!utilizzare!risoluzioni!di!schermo!molto!basse,!per!esempio!800!
per!600.!
Infine,!ci!sono!coloro!i!quali!utilizzano!l’opzione!di!ingrandimento!caratteri!dei!browser,!e!
magari! usano! browser! diversi! che! interpretano! la! pagina! web! in! maniera! differente,!
privilegiando!il!dimensionamento!dei!caratteri.!
Qui! di! seguito! sono! elencati! 12! punti! dai! quali! iniziare! ad! affrontare! l'argomento!
dell'ipovisione!ed!il!web.!Fondamentale!è!la!progettazione!di!un!layout!semplice!ed!intuitivo,!
dove!sia!facile!raggiungere!le!varie!aree!del!sito.!
Ecco!i!dodici!punti!(6):!
1.! I! link! significativi! dovrebbero! essere! posti! in! posizioni! strategiche,! ad! esempio! a!
sinistra,!dove!lo!sguardo!tende!a!dirigersi.!
2.! Lo! spazio! di! editazione! nei! form! non! deve! essere! esiguo,! ma! sufficientemente!
spazioso,!in!modo!da!poter!essere!scritto!e!letto!con!facilità.!
3.! I!link!non!dovrebbero!essere!troppo!ravvicinati!tra!loro!e!agli!oggetti!circostanti.!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
19!
4.! Gli! sfondi! ed! i! caratteri! devono! essere! sufficientemente! contrastati,! in! modo! da!
essere!decifrati!da!tutti!gli!ipovedenti.!
5.! Bisognerebbe!evitare!l’uso!di!colori!fluorescenti!in!quanto!danno!l’illusione!di!un!
buon!contrasto,!ma!rendono!i!contenuti!inaccessibili.!
6.! Bisognerebbe! evitare! l’utilizzo! di! caratteri! stilizzati! quali:! Impact,! Juice,! Matisse,!
Rockwell,!Matura,!Snap,!Lucida!Handwriting!e!simili.!
7.! Si!dovrebbe!evitare!accuratamente!l’utilizzo!dei!caratteri!testuali!in!dimensioni!fisse.!
Questa!soluzione!preclude!in!maniera!inesorabile!la!possibilità!di!adattare!il!sito!alle!
proprie!esigenze,!tramite!l’utilizzo!dell’accesso!facilitato!del!sistema!operativo!e!del!
browser.!
8.! Non!si!devono!usare!caratteri!che!sono!di!derivazione!grafica,!in!quanto!non!possono!
essere!trattati!a!livello!di!interfaccia!utente.!
9.! Non!si!devono!usare!sfondi!sfumati,!o!immagini!in!movimento,!o!testi!scorrevoli,!i!
quali!compromettono!in!maniera!inesorabile!l’accessibilità.!
10.!Evitare!l’uso!di!sfondi!di!diversi!colori!nella!stessa!pagina.!
11.!Implementare! sempre! il! mouseover! e! il! visited! dei! link,! contestualizzandone! il!
contrasto!con!i!colori!del!sito,!in!quanto!questo!strumento!rappresenta!un!punto!di!
riferimento!per!l’orientamento!del!navigatore!ipovedente.!
12.!Una! possibile! alternativa! per! un! ipovedente! potrebbe! essere! rappresentata! dalla!
possibilità!di!personalizzare!la!visualizzazione!del!sito!secondo!le!proprie!esigenze,!
adattando! colori! di! sfondo! e! del! testo,! tipo! e! dimensione! dei! caratteri,! con!
l’implementazione!di!una!specifica!pagina!del!sito,!raggiungibile!con!uno!dei!primi!
link!della!home!page.!
!
2.3! STRILLONE0
!
Il!digital!divide,!come!già!ampiamente!discusso!nei!capitoli!precedenti,!non!riguarda!solo!la!
mancanza! di! connettività! Internet,! ma! tutti! quegli! ostacoli! che! limitano! l’accesso! alle!
tecnologie!digitali.!!
Ecco!il!caso!di!ISF,!un!gruppo!di!professionisti!che!ha!deciso!di!aiutare!le!persone!a!superare!
il!digital!divide!o!ad!affrontare!emergenze,!ovunque!ce!ne!sia!bisogno.!!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
20!
L’idea!di!Strillone!nasce!da!un’intuizione!di!Roberto!De!Nicolò!che!nell’ambito!di!ISF!si!occupa!
di!coordinare!i!lavori!riguardanti!i!progetti!legati!alla!disabilità.!Strillone!è!un’applicazione!
progettata!per!smartphone,!tablet!e!PC!desktop,!che!consente!alle!persone!non!vedenti!o!
con! gravi! problemi! di! vista! di! sfogliare! e! ascoltare! le! notizie! di! interesse! del! proprio!
quotidiano!preferito!tramite!la!sintesi!vocale!integrata!e!ad!una!facile!organizzazione!dei!
contenuti.!!
L'applicazione! Strillone! è! disponibile! gratuitamente! per! sistemi! operativi! iOS! e! Android,!
quindi!per!smartphone!e!tablet,!ed!è!anche!consultabile!da!un!qualsiasi!computer!desktop!e!
utilizzabile! con! la! tastiera! premendo! i! tasti! è,! +,! à,! ù! e! compatibile! con! gran! parte! delle!
versioni!degli!Screen!Reader!per!non!vedenti!(come!Jaws).!!
Esistono!molte!applicazioni!che!similmente!consentono!a!persone!non!vedenti!di!ascoltare!
cosa!“accade”!sullo!schermo.!Il!gruppo!ISF!che!ha!progettato!ed!implementato!l'applicazione!
Strillone,! ha! però! avuto! un'intuizione! meravigliosa:! il! tatto,! insieme! all'udito,! è! l'unica!
certezza!dei!non!vedenti,!per!cui!ISF!fa!pensato!di!associare!a!ciascun!angolo,!di!tablet!o!
smartphone,!una!funzione!predefinita.!Le!funzioni!svolte!dagli!angoli!del!touch!screen,!sono!
installate!in!quattro!tasti!ben!definiti.!!
Strillone!è!un'applicazione!che!si!rivela!molto!utile!non!solo!per!gli!ipovedenti!ma!anche!per!
tutte!quelle!persone!con!importanti!difficoltà!visive!come!anziani,!autistici,!dislessici,!etc.!!
!
2.4.100L’INTERFACCIA0A0QUATTRO0ANGOLI0
Ma!quali!reali!certezze!può!avere!un!non!vedente!che!utilizza!uno!schermo!touch?!Gli!angoli!!
L'aspetto! interessante,! che! consente! dunque! agli! ipovedenti! o! ai! ciechi! una! facile!
individuazione! dei! pezzi,! è! la! schermata! principale,! suddivisa! in! quattro! aree! uguali!
corrispondenti! quindi! agli! angoli! dei! dispositivi.! Questi! sono! ben! delineati! e! tattilmente!
riconoscibili! anche! da! chi! ha! problemi! di! vista.! A! ciascuna! di! queste! aree! viene! quindi!
associato!un!comando!predefinito.!!
Sfogliare!i!contenuti!è!facile!e!veloce.!Ogni!giornale!è!infatti!distribuito!secondo!lo!schema!
logico!dell'albero!rovesciato:!in!questo!modo,!ogni!giornale!è!la!“radice”!di!un!albero,!il!punto!
di!partenza!della!navigazione.!Scegliendone!uno,!i!“rami”!successivi!rappresentano!le!sezioni!
di!ciascuna!testata!(ad!esempio!sport,!politica,!finanza,!cronaca),!e!una!volta!scelta!una!di!
queste,!le!"foglie"!sono!gli!articoli!di!quella!specifica!sezione!e!rappresentano!i!punti!terminali!
2!–!Tecnologie!a!dei!non!vedenti!
!
!
21!
della!pubblicazione.!Il!segreto,!sta!quindi!nell'uso!del!telefono!come!supporto!all'azione!nel!
programma.!!
!
!
Possiamo!fornire!una!descrizione!dettagliata!di!ciascuna!funzionalità!associata!ai!quattro!
pulsanti!(Figura!2L2):!!
•! Angolo! superiore! sinistro:! toccando! brevemente! questo! angolo! si! torna! al! livello!
superiore.!Se,!ad!esempio,!si!sta!navigando!gli!articoli,!premendo!questo!angolo!si!
può! interrompere! la! lettura! dell’articolo.! Premendolo! nuovamente! si! torna! alle!
sezioni!del!giornale,!e!così!via!fino!alla!navigazione!iniziale.!Se!si!intende!chiudere!
Strillone,!si!preme!a!lungo!questo!pulsante!e!l’applicazione!si!chiuderà.!!
•! Angolo! superiore! destro:! toccando! brevemente! questo! angolo! si! passa! da! una!
sezione!o!da!un!articolo!al!precedente.!!
•! Angolo!inferiore!destro:!toccando!brevemente!questo!angolo!si!passa!da!una!sezione!
o!da!un!articolo!al!successivo.!!
•! Angolo!inferiore!sinistro:!toccando!brevemente!questo!angolo!si!scende!al!livello!
successivo.!Se,!ad!esempio,!si!sta!navigando!le!sezioni!del!giornale,!premendo!questo!
angolo!si!entra!nella!lista!degli!articoli!della!sezione!scelta.!Premendolo!nuovamente,!
dopo!aver!scelto!un!articolo,!si!avvia!la!lettura!del!testo!dell’articolo!di!interesse.!Se!
invece! si! vuole! ascoltare! la! guida! vocale! è! necessario! premere! a! lungo! questo!
pulsante.!!
!
!
Figura*2R2*:*Funzionamento*interfaccia*Strillone*(2)*
2!–!Tecnologie!a!dei!non!vedenti!
!
!
22!
2.4! OBIETTIVI0
!
Sulla!base!delle!ricerche!effettuate,!per!creare!un’applicazione!che!vada!incontro!al!target!
utente! in! questione! è! necessario! aggiungere! una! guida! vocale! che! aiuti! l’utilizzatore!
dell’applicazione!durante!il!suo!utilizzo;!in!aggiunta!è!necessario!utilizzare!combinazioni!di!
colori!che!rendano!accessibile!l’applicazione!anche!a!persone!con!disabilità!visive!di!tipo!
daltoniche.!
Il! progetto! SpokenHouse! punta! a! soddisfare! in! pieno! le! esigenze! dei! suoi! utilizzatori,!
integrando!la!sintesi!vocale!ad!una!facile!organizzazione!dei!contenuti.!!
In!aggiunta,!l'applicazione!dovrà!essere!supportata!da!tutti!i!sistemi!operativi!mobile!(iOS,!!
Android,!Windows!Phone!8,!ecc…).
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
23!
!
!
CAPITOLO030
!
3! TECNOLOGIE0 A0 SUPPORTO0 DELLA0 CROSS0
PLATFORM0
!
Questo!capitolo!contiene!nozioni!basilari!necessarie!per!comprendere!gli!sviluppi!successivi!
della!tesi.!Partendo!dalla!definizione!di!“cross>)platform”!viene!fatto!un!focus)sui!principali!
aspetti! inerenti! lo! sviluppo! di! applicazioni! mobili! multipiattaforma,) viene! fatta! una!
panoramica!su!alcune!app)mobile)sviluppate!utilizzando!alcuni!dei!Framework)menzionati.!Il!
capitolo!si!conclude!con!una!breve!descrizione!di!due!App!mobile!crossLplatform!per!non!
vedenti.!
!
3.1! COS’E’0LA0CROSSEPLATFORM0
!
È!noto!come!le!tecnologie!Web!abbiano!avuto!un!forte!impulso!negli!ultimi!anni!grazie!anche!
al!settore!mobile.!La!definizione!delle!specifiche!di!HTML5!e!di!CSS3!includono!molte!opzioni!
per!il!mondo!mobile!ed!il!loro!utilizzo!ha!delineato!nuovi!approcci!per!lo!sviluppo!di!App.!
Con!l’arrivo!di!Windows!Phone,!le!principali!piattaforme!Mobile!che!detengono!il!90%!della!
quota!di!mercato!–!iOS!e!Android!–!diventeranno!quasi!certamente!tre.!E!se!i!consumatori!
avranno!la!possibilità!di!scegliere!più!piattaforme,!l’abilità!di!creare!App!crossLplatform!è!già!
diventata!un!must!per!gli!sviluppatori.!
Gli!sviluppatori!conoscono!bene!le!differenze!tra!App!native,!sviluppate!con!il!proprio!SDK!e!
i!propri!linguaggi!(xCode/ObjectiveLC!per!iOS,!Eclipse/Java!per!Android,!Visual!Studio/C#!per!
Windows!Phone),!e!App!sviluppate!attraverso!dei!framework!crossLplatform!come!PhoneGap!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
24!
(HTML5),! Titanium! di! Appcelerator! (javascript),! RhoLMobile! (Ruby),! Sencha! (HTML5),!
MonoTouch!e!MonoforAndroid!(.NET)!e!Air!(27).!
Queste!tecnologie!permettono!di!avverare!il!sogno!di!ogni!sviluppatore:!scrivere!una!sola!
volta! il! codice! e! usarlo! per! tutte! le! piattaforme.! Di! contro,! il! sogno! del! “write! once,! run!
everywhere”!(wora),!porta!spesso!ad!applicazioni!mal!realizzate!o!mal!integrate!con!il!resto!
del!sistema,!complesse!e!pesanti,!con!un!minimo!comune!denominatore:!una!brutta!userL
interface!scritta!in!HTML5.!
Tuttavia,!non!sempre!le!App!sviluppate!con!tecnologia!crossLplatform!sono!da!considerare!
inferiori.!Un!caso!noto!è!quello!del!team!di!Sencha!(un!framework!per!la!realizzazzione!di!
interfacce!in!HTML5!per!applicazioni!mobili)!che!si!è!offeso!quando!Zuckerberg!ha!affermato!
che! avrebbe! rifatto! in! maniera! nativa! l’App! di! Facebook! perché! HTML5! non! era! ancora!
pronto:!hanno!sviluppato,!così,!un’App!del!tutto!simile!a!quella!di!Facebook!in!HTML5!e!
l’hanno!chiamata!“Fastbook”.!
In!effetti!la!loro!App!risulta!più!veloce!nel!refresh!e!nel!caricamento!delle!varie!viste,!e!la!UI!
è!del!tutto!identica!all’originale.!La!scelta!del!framework!da!usare!non!è!quindi!una!cosa!da!
sottovalutare!e!dovrebbe!essere!guidata!da!una!chiara!idea!del!servizio!che!si!vuole!offrire,!
seguita!da!un’analisi!dettagliata!che!miri!a!semplificare!il!più!possibile!l’interfaccia.!
Con!tutta!probabilità,!il!modello!vincente!è!quello!misto,!composto!da!una!UI!nativa!e!da!un!
core!crossLplatform.!
!
3.2! CLASSIFICAZINE0DELLE0APPLICAZIONI00
!
Allo! stato! attuale! possiamo! classificare! le! applicazioni! per! il! mondo! mobile! in! base! alle!
tecnologie!utilizzate!in!tre!categorie!(28):!
•! App*native:!sono!App!scritte!e!compilate!per!una!specifica!piattaforma!utilizzando!
uno!dei!linguaggi!di!programmazione!supportati!dal!particolare!sistema!operativo;!
•! Web* App:! sono! pagine! Web! ottimizzate! per! dispositivi! mobili! sfruttando! le!
tecnologie!Web,!in!particolare!HTML5,!JavaScript!e!CSS3;!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
25!
App*ibride:!sono!App!che!cercano!di!sfruttare!il!meglio!delle!due!categorie!precedenti:!sono!
scritte!con!tecnologie!Web,!ma!vengono!eseguite!localmente!all’interno!di!un’applicazione!
nativa!
!
3.2.1!APPLICAZIONI0NATIVE0
Un’applicazione!mobile!nativa!è!un’applicazione!per!un!determinato!dispositivo!smartphone!
e!tablet!installata!direttamente!sul!dispositivo.!Lo!sviluppo!delle!mobile!App!per!Tablet!e!
smartphone!prevede!la!progettazione!adLhoc!per!specifici!sistemi!operativi!(!IOS,!Android,!
Blackberry!e!Windows!Mobile)!e!per!specifici!device.!!Gli!utenti!in!genere!acquistano!queste!
applicazioni!tramite!uno!store!online!o!di!mercato,!come!ad!esempio!l’Apple!Store!o!Android!
Apps! su! Google! Play.! Di! solito! le! applicazioni! mobile! sfruttano! il! linguaggio! specifico! del!
dispositivo!e!dialogano!con!i!framework!del!device:!GPS,!fotocamera,!accelerometro,!lista!
contatti,!utilizzando!un!sistema!di!Notifiche!push!e!sono!utilizzabili!anche!in!modalità!offline!
con!una!maggiore!velocità!di!caricamento!dei!dati.!
Sviluppare!App!native!significa!utilizzare!i!linguaggi!nativi!di!ciascuna!piattaforma,!che!nel!
caso!di!Android!è!Java,!mentre!nel!caso!di!iOS!è!ObjectiveLC!oppure!il!nuovo!arrivato!Swift!
(8).!
I! principali! vantaggi! dello! sviluppo! nativo! sono! sicuramente! le! performance! e! l’accesso!
diretto!ai!sensori!hardware!dei!dispositivi!attraverso!le!API!native,!sfruttando!perciò!al!meglio!
le!funzionalità!dello!smatphone.!Essendo!il!codice!compilato!in!codice!macchina!o!comunque!
in!un!bytecode!esso!girerà!in!modo!efficiente!e!rapido!sui!dispositivi.!
Le!applicazioni!native!sono!più!veloci!(rispetto!alle!web!App)!e!possono!funzionare!anche!offL
line,!inoltre!un'applicazione!nativa!gode!della!grande!visibilità!data!dagli!store!digitali.!
D’altronde! bisogna! annoverare! anche! gli! svantaggi! nello! sviluppare! questa! tipologia! di!
applicazioni.!I!costi!e!tempi!di!realizzazione!delle!applicazioni!native!sono!mediamente!più!
elevati! (si! deve! sviluppare! un’applicazione! per! ogni! device! differente,! per! ogni! sistema!
operativo! differente).! Inoltre! per! accedere! agli! store! le! applicazioni! devono! soddisfare!
determinati!requisiti!decisi!dai!distributori.!!
Anche!la!gestione!degli!aggiornamenti!è!difficoltosa,!e!deve!sempre!passare!attraverso!le!
policy! di! approvazione! degli! store.! Sviluppare! nativamente! implica! avere! delle! buone!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
26!
competenze! da! programmatore! ed! alle! spalle! uno! studio! approfondito! dei! framework! di!
riferimento!di!ciascuna!piattaforma!che!si!vuole!targhettizzare,!occorre!dunque!investire!una!
notevole!quantità!di!tempo!per!padroneggiare!questo!genere!di!sviluppo.!
Un’applicazione!mobile!nativa!è!conveniente!nei!seguenti!casi:!
•! Advergaming)L!per!i!giochi!interattivi!una!mobile!App!nativa!è!quasi!sempre!la!scelta!
migliore.!
•! Personalizzazione!L!Se!gli!utenti!di!destinazione!utilizzeranno!l’applicazione!in!modo!
personalizzato.!
•! Maggiore)capacità)di)calcolo!e!reporting!–!una!mobile!App!nativa!è!la!scelta!giusta!
se!si!necessita!di!un’applicazione!per!gestire!ed!elaborare!i!dati!con!calcoli!complessi,!
grafici!o!relazioni!(applicazioni!per!il!banking!e!la!finanza).!
•! Funzionalità)native!L!la!mobile!App!nativa!è!molto!efficace!se!è!necessario!accedere!
a!fotocamera!o!alla!capacità!computazionale!del!dispositivo!mobile.!
•! Nessun) collegamento) richiesto! –! la! mobile! App! nativa! è! la! scelta! giusta! se! è!
necessario!fornire!accesso!offline!ai!contenuti!o!funzioni!senza!connessione.!
)
!
3.2.2!WEB0APPLICATION0
Le!Web!App!mobile!sono!delle!applicazioni!InternetLenabled!!che!possono!essere!fruite!da!
un!dispositivo!mobile!tablet!o!smartphone.!Sono!accessibili!tramite!browser!del!dispositivo!
mobile!e!non!hanno!bisogno!di!essere!scaricate!e!installate!sul!dispositivo.!L’utilizzo!della!
memoria! cache! del! telefono! permette! spesso! di! utilizzare! anche! alcune! funzionalità! in!
modalità!offline!permettendo!in!tal!modo!di!far!avvicinare!ulteriormente!le!web!app!alle!
applicazioni!mobile.!Le!web!app!utilizzano!linguaggi!di!programmazione!web!(HTML,!CSS,!
Javascript)!e!sono!accessibili!da!svariati!dispositivi:!computer!desktop,!laptop,!smartphone,!
tablet.!
I!vantaggi*possono!essere!schematizzati!come!segue:!
•! Immediatezza!L!le!web!App!sono!immediatamente!disponibili!agli!utenti!tramite!un!
browser! su! una! gamma! di! dispositivi! (iPhone,! Android,! BlackBerry,! ecc.).! Le!
applicazioni! mobile! native! invece! richiedono! che! l’utente! innanzitutto! scarichi! e!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
27!
installi!l’applicazione!da!un!mercato!prima!che!il!contenuto!o!l’applicazione!possa!
essere!utilizzata.!
•! Compatibilità!L!un!unico!sito!web!mobile!può!raggiungere!gli!utenti!attraverso!diversi!
tipi!di!dispositivi!mobili,!mentre!applicazioni!native!richiedono!una!versione!separata!
da!sviluppare!per!ogni!tipo!di!dispositivo.!Inoltre,!le!URL!delle!web!App!mobile!sono!
facilmente!integrabili!all’interno!di!altre!tecnologie!mobile!come!gli!SMS,!i!codici!QR!
e!NFC.!
•! Capacità)di)aggiornamento!–!una!web!App!è!molto!più!dinamica!di!un’applicazione!
mobile! in! termini! di! flessibilità! pura! per! aggiornare! il! contenuto.! Se! si! desidera!
modificare!la!struttura!o!il!contenuto!di!una!web!App!mobile!è!sufficiente!pubblicare!
la!modifica!una!volta!e!le!modifiche!sono!immediatamente!visibili;!l’aggiornamento!
di!un!App,!dall’altro!richiede!gli!aggiornamenti!siano!convogliati!agli!utenti,!che!poi!
devono! essere! scaricati! in! modo! da! aggiornare! l’applicazione! su! ogni! tipo! di!
dispositivo.!
•! Ricercabilità!–!le!web!App!sono!maggiormente!ricercabili!dagli!utenti!perché!le!loro!
pagine! possono! essere! visualizzate! nei! risultati! di! ricerca! ed! elencati! nel! settore!
directory!specifiche.!Gli!utenti!del!sito!web!possono!essere!inviati!automaticamente!
al! tuo! sito! mobile! quando! navigano! tramite! un! dispositivo! mobile! smartphone! o!
tablet.!Al!contrario,!la!visibilità!delle!applicazioni!mobile!è!in!gran!parte!limitata!alle!
App!store!del!produttore.!!Inoltre!le!web!App!sono!accessibili!da!tutte!le!piattaforme!
e!possono!essere!facilmente!condivise!da!più!utenti!
•! Condivisione!L!le!web!App!sono!facilmente!condivisibili!tramite!un!semplice!link!(ad!
esempio! all’interno! di! un! messaggio! di! posta! elettronica! o! di! testo,! Facebook! o!
Twitter! post)! mentre! invece! un’applicazione! nativa! non! può! essere! condivisa! in!
questo!modo.!
•! Tempo!e!costi!L!le!web!App!sono!meno!costose!!soprattutto!se!si!necessita!di!avere!
una! presenza! su! diverse! piattaforme! (che! richiede! lo! sviluppo! di! applicazioni!
multiple).!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
28!
•! Supporto!e!manutenzione!L!il!supporto!e!lo!sviluppo!evolutivo!!di!una!mobile!!App!
nativa!(aggiornamenti,!test,!problemi!di!compatibilità!e!lo!sviluppo!in!corso)!sono!più!
costosi!al!supporto!di!una!web!App.!
Principale! svantaggio! delle! web! App! è! che! per! poter! funzionare! hanno! necessità! di! una!
connessione!internet.!In!aggiunta!si!ha!che!una!webapp!non!può!interagire!più!di!tanto!con!
hardware!e!software!del!device!mobile.!Sono!più!lente!nelle!loro!performance!rispetto!alle!
App!native,!e,!visto!che!risiedono!sul!web!e!vengono!fruite!tramite!il!browser,!non!possono!
essere!distribuite!negli!store!e!sono!quindi!penalizzate!dal!punto!di!vista!di!quella!visibilità!
che!i!market!online!garantiscono.!
!
3.2.3!APP0IBRIDE0
Le!App!ibride!sono!applicazioni!che!hanno!un'architettura!che!unisce!caratteristiche!delle!
App!native!a!delle!web!App.!
Un’App!ibrida!è!tipicamente!un’App!nativa!che!ha!comunque!una!parte!web!e!che!si!adatta!
facilmente!alle!diverse!piattaforme!e!diversi!device!mobili!(diciamo!che!il!”contenitore”!è!
un’applicazione!nativa,!che!quindi!sfrutta!le!caratteristiche!del!device!su!cui!è!installata,!e!il!
”contenuto”!è!un’applicazione!webLbased!e!quindi!si!aggiorna!tramite!Web).!
Il!vantaggio!principale!delle!applicazioni!ibride!risiede!nel!fatto!che!il!codice!del!contenuto!
viene!scritto!con!un!linguaggio!comune!a!tutti!i!device!ed!è!solo!il!contenitore!a!dover!essere!
cambiato!in!funzione!del!dispositivo!che!deve!ospitare!l'applicazione!–!questo!significa!che!
per!la!realizzazione!di!una!App!ibrida!ci!sono!tempi!e!costi!più!bassi!rispetto!a!quelli!necessari!
per!le!applicazioni!native.!
Un’App!ibrida!è!comunque!considerata!come!un’App!nativa,!quindi!può!essere!pubblicata!
sugli!store.!
Svantaggio!principale,!invece,è!che!le!App!ibride!non!sono!performanti!e!veloci!come!quelle!
native,!e!inoltre!hanno!le!stesse!difficoltà!che!hanno!le!App!native!per!accedere!agli!store!dei!
distributori!e!per!gli!aggiornamenti.!!
!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
29!
3.2.4!APP0NATIVE0VS0WEB0APP0VS0APP0IBRIDE0
Mentre! le! differenze! di! architettura! tra! un’applicazione! mobile! nativa! e! web! App!
probabilmente!rimarranno!rilevanti!per!un!pò!di!tempo,!a!livello!d’interfaccia!utente!e!di!user!
experience!la!differenza!tra!le!due!interfacce!tende!a!divenire!sempre!più!sfumata!perchè!
ormai!le!mobile!App!native!utilizzano!sempre!più!la!connettività!in!tempo!reale!e!le!web!App!
sono!utilizzabili!offline!sfruttando!la!cache,!arrivando!quindi!a!un!concetto!di!applicazione!
mobile!ibrida.!!
Ormai! le! web! App! stanno! tentando! di! eguagliare! le! App! mobile! native! in! materia! di!
esperienza!utente!grazie!all’evoluzione!dell’HTML5,!ma!non!raggiungono!la!stessa!efficienza!
in!materia!di!User!Interface.!Per!colmare!il!gap!con!le!App,!stanno!nascendo!framework!
specifici! che! forniscono! alle! web! Application! elementi! di! UI! standard! e! garantiscono!
compatibilità!multidevice!e!multipiattaforma!(27).!
I!fattori!da!prendere!in!considerazione!sono:!
•! Performance!dell’interfaccia.!
•! Rapidità!di!caricamento.!
•! Potenza!di!calcolo.!
•! Frequenza!d’uso.!
•! Utilizzo!di!funzionalità!native.!
•! Persistenza!dei!dati.!
•! Revenue.!
•! Integrazione!con!altre!applicazioni!native.!
•! Diffusione!capillare.!
•! Funzionamento!offline.!
•! Quantità!di!contenuti!non!residenti!online.!
•! Restrizioni!sul!contenuto.!
•! Tempo!di!rilascio!degli!aggiornamenti.!
Ad!esempio,!un’applicazione!nativa!ha!dalla!sua!parte!una!maggiore!velocità!di!esecuzione!e!
una!maggiore!integrazione!con!il!look!and!feel!della!piattaforma,!ma!non!è!direttamente!
portabile!su!altre!piattaforme.!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
30!
Una!Web!App!invece!risulta!indipendente!dalla!piattaforma!ma!richiede!una!connessione!
Internet!attiva!e!non!è!in!grado!di!accedere!al!file!system!o!ad!altre!risorse!hardware!del!
dispositivo.!
La! tipologia! di! App! ibrida! coniuga! i! vantaggi! delle! web! App! con! quelle! delle! App! native,!
consentendo!di!utilizzare!le!tecnologie!Web!per!sviluppare!l’applicazione!senza!necessità!di!
una!connessione!Internet!costante!e!avendo!accesso!alle!risorse!locali!del!dispositivo.!
Anche!in!questo!caso!ci!sono!degli!svantaggi!da!considerare:!
•! Una!minore!efficienza!nel!rendering!grafico;!
•! La!potenziale!lentezza!di!esecuzione!nell’accesso!alle!risorse!locali;!
•! Senza! particolari! accorgimenti! l’aspetto! dell’interfaccia! grafica! potrebbe! non!
risultare!abbastanza!omogeneo!con!quello!nativo!della!piattaforma.!
Diciamo!che!in!linea!di!massima!le!App!ibride!si!pongono!a!metà!strada!tra!le!App!native!e!le!
web!App!(Figura!3L1),!rappresentando!un!buon!compromesso!per!la!creazione!di!applicazioni!
mobile!multipiattaforma!con!un!supporto!nativo.!
!
!
!
!
!
!
!
!
!
!
Quanto!detto!può!essere!riportato!schematicamente!nella!tabella!comparativa!Tabella!3L1.!
!
!
Figura*3R1*:*App*a*confronto*
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
31!
Tipo*
Integrazione*
con*il*Device*
Tempo* e*
costi* di*
sviluppo*
Funzionamento*
OffRLine*
Modalità* di*
distribuzione*
Approvazione*
dello*store*
Nativa* SI! ALTI! SI! STORE! SI!
Web*
App*
LIMITATO! BASSI! NO! SOLO!WEB! SI!
Ibrida* SI! MEDIO! ALCUNE!PARTI! STORE! SI!
Tabella*3R1:*Tabella*comparativa*App*
!
3.3! 0FRAMEWORK0MULTIPIATTAFORMA0
!
Un!framework!è!un!ambiente!di!sviluppo!evoluto!su!cui!un!software!può!essere!organizzato!
e!progettato.!
Alla!base!di!un!framework!Mobile!c’è!una!serie!di!librerie!di!codice!utilizzabili!con!determinati!
linguaggi!di!programmazione!(SDK),!un!editor!di!codice!sorgente,!un!compilatore,!un!tool!di!
building! automatico! e! un! debugger! o! altri! strumenti! ideati! per! aumentare! la! velocità! di!
sviluppo!del!prodotto!finito.! !
Lo!scopo!di!questi!framework!multipiattaforma!è!duplice:!risparmiare!allo!sviluppatore!la!
riscrittura!di!un!codice!già!scritto!in!precedenza!per!compiti!simili!e!compilare!il!codice!per!i!
vari!tipi!di!smartphone.!
Le!funzionalità!di!smartphone!e!tablet!si!aggiornano!e!migliorano!a!ritmi!sostenuti.!
Un! codice! unico! dà! la! possibilità! di! intervenire! su! tutti! i! device! minimizzando! i! tempi! di!
sviluppo! di! un! applicativo! e! dando! la! possibilità! di! aggiornare,! modificare! e! ottimizzare!
un’applicazione!in!maniera!uniforme!e!univoca.!
Sono!quindi!nati!degli!strumenti!per!supportare!e!velocizzare!il!lavoro!del!programmatore.
! !
Questi!Mobile!framework!permettono!di!scrivere!il!codice!una!sola!volta!e!di!compilarlo!per!
le!varie!piattaforme,!creando!la!stessa!App!per!iOS,!Android,!Windows!Phone!ecc.!
In!conclusione,!dipende!sempre!dalla!tipologia!di!progetto!che!si!intende!realizzare,!in!base!
al! cliente! al! budget! ed! al! target! di! riferimento! dell’applicazione;! ad! esempio,! si! vuole!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
32!
distribuire!su!più!piattaforme!un’applicazione,!con!l’obiettivo!di!svilupparla!una!sola!volta!
senza!ricorrere!a!linguaggi!proprietari,!ma!a!standard!web,!contenendo!i!tempi!e!i!costi!di!
realizzazione.!! !
La!risposta!è!analizzare!meticolosamente,!in!fase!di!progettazione,!tutte!le!funzionalità!di!cui!
abbiamo!bisogno,!e!solo!con!le!idee!chiare!su!obiettivi!e!strumenti!a!nostra!disposizione,!
scegliere!il!framework*multipiattaforma!più!adatto!alle!nostre!esigenze.!
!
3.3.1!SENCHA0TOUCH0
Nella!seconda!metà!del!2010,!il!gruppo!Sencha!ha!rilasciato!Sencha!Touch,!un!progetto!open!
source!che!permette!agli!sviluppatori!di!creare!web!App!che!girano!su!tutte!le!principali!
piattaforme,!iOS,!Android,!BlackBerry!10!e!Windows!Phone,!e!che!somigliano!a!delle!vere!e!
proprie!App!native.! !
Sencha!Touch!utilizza!gli!standard!HTML5,!CSS3!e!JavaScript.!
Con!HTML5,!le!applicazioni!Sencha!Touch!possono!essere!utilizzate!anche!off!line!e,!grazie!
alla!geolocalizzazione,!è!possibile!integrare!dati!geografici!nei!propri!progetti.!
L’uso! di! CSS3! permette! di! non! avere! praticamente! nessuna! immagine! nelle! librerie! dei!
componenti:!gli!stili,!i!bordi,!i!gradienti,!le!ombre,!le!transizioni,!i!menu!e!i!pulsanti!sono!tutti!
componenti! creati! con! CSS! puro.! Tramite! JavaScript! viene! gestita! una! buona! parte! delle!
interazioni!con!l’utente!finale.!!
Dalla!versione!2,!Sencha!supporta!la!creazione!di!App!native!per!iOS,!Android,!BlackBerry!10!
e!Windows!Phone*tramite!il!suo!SDK!(Sencha!Mobile!Packager!integrato!nel!tool!gratuito!
Sencha!Cmd),!che!racchiude!le!web!App!in!un!contenitore!nativo.!Il!risultato!è!che!possiamo!
distribuire!queste!App!sui!vari!store!o!anche!usare!la!fotocamera,!cosa!che!non!è!possibile!ad!
una!semplice!web!App.!
Uno!dei!problemi!nello!sviluppo!di!applicazioni!multipiattaforma!per!i!dispositivi!multimediali!
è!la!difficoltà!nell’adattarle!alle!risoluzioni!diverse!dei!vari!dispositivi.!
Sencha!Touch!utilizza!un!metodo!innovativo!per!eliminare!questo!problema,!consentendo!
agli!sviluppatori!di!modificare!la!scala!globale!delle!loro!interfacce!e!lasciando!al!framework!
l’incarico! di! adattare! i! vari! componenti! utilizzati! alle! caratteristiche! tecniche! dei! diversi!
display.!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
33!
In! questo! modo,! ad! esempio,! i! pulsanti! sono! sempre! abbastanza! grandi! da! poter! essere!
facilmente!toccati,!indipendentemente!dallo!schermo!nel!quale!sono!visualizzati.!
Sencha!Touch!offre!diverse!opportunità!nell’ambito!della!produzione!delle!applicazioni!web!
per!gli!smartphone!e!i!tablet.!
Siccome! il*framework! è! open! source,! lo! sviluppatore! ha! il! vantaggio! di! poterlo!utilizzare*
gratuitamente!e! ha! anche! l’opportunità! di!condividere! idee!e! di!partecipare! al!
miglioramento!del!prodotto.!
Dal!punto!di!vista!tecnico,!tutti!i!componenti!di!Sencha!Touch!rispondono!perfettamente!e!
rapidamente!agli!input:!Sencha!permette!animazioni!fluide!e!uno!scorrimento!continuo!che!
compete!in!tutto!e!per!tutto!con!le!tecnologie!native.!
Nel!caso!di!applicazioni!particolarmente!complesse,!l’hardware!del!dispositivo!fa!da!collo!di!
bottiglia!sulle!prestazioni!del!programma.!Questo!rende!Sencha!Touch!una!valida!soluzione!
per!la!realizzazione!di!diversi!progetti.!
!
3.3.2!TITANIUM0MOBILE0
La! piattaforma! Titanium! è! stata! introdotta! da! Appcelerator! nel! dicembre! 2008,! ma! il!
supporto!per!lo!sviluppo!di!applicazioni!Mobile!è!stato!aggiunto!nel!giugno!2009,!mentre!il!
supporto!all’iPad!soltanto!nell’aprile!2010.!
Appcelerator!Titanium!Mobile!è!un!framework!JavaScript.!Come!Sencha!Touch,!permette!agli!
sviluppatori!il!tanto!agognato!“Write!Once!Run!Anywhere”.!
Si!possono!creare!App!per!iPhone,!Android!o!BlackBerry,!ma!non!per!Windows!Phone.!Si!
compone!di!un!SdK!open!source!basato!su!JavaScript,!e!di!un!ambiente!di!sviluppo!integrato!
(IDE)!basato!su!Eclipse.!Supporta!l’autocompletamento!del!codice!e!ha!un!debugger!integrato!
basato!su!firebug.!Quando!viene!creato!un!nuovo!progetto,!viene!richiesto!quali!piattaforme!
supportare!come!target;!poi,!in!fase!di!compilazione,!si!scelgono!quali!compilare.!
Titanium! compila! il! nostro! codice! in! un’App! nativa! iOS,! Android,! MobileWeb! (HTML5),!
Blackberry!e!Tizen.!Questo!significa!che!non!racchiude!una!web!App!in!un!contenitore!nativo!
come!Sencha!Touch,!ma!compila!direttamente!una!App!nativa.*In!altre!parole,!non!è!un!web!
framework,! ma! un! compatibility! layer,! un! livello! che! sta! sopra! i! tool! che! permettono! di!
sviluppare!nativamente!le!app.!!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
34!
Il!codice!che!scriviamo!non!ha!nulla!a!che!vedere!con!HTML,!CSS!o!sviluppo!web!in!generale,!
bensì!si!appoggia!a!un!object!model!proprietario!che!wrappa!(racchiude)!gli!oggetti!nativi!
delle!varie!piattaforme.!
Il!risultato!è!che!Titanium!genera!codice!nativo,!con!un!layer!che!ne!consente!l’invocazione!
via!JavaScript.! !
Questo!framework!ci!permette,!quindi,!di!sviluppare!delle!App!che!assomigliano!in!tutto!e!
per!tutto!alle!App!native,!con!un’ottima!gestione!di!tutte!le!componenti!hardware!del!nostro!
smartphone,!dalla!fotocamera!al!GPS,!dall’accelerometro!alla!bussola.!Di!contro,!diventano!
difficilmente!implementabili!delle!nuove!funzionalità!a!progetto!finito.!Si!rischia!di!dover!
riscrivere!tutto!o,!peggio,!accorgersi!che!con!questo!framenwork!alcune!funzionalità!non!
possono!essere!create:!la!scarsa!flessibilità!è!sicuramente!uno!dei!limiti!più!difficilmente!
superabili! da! questo! tipo! di! architettura.) In! realtà,! è! possibile! realizzare! dei! wrapper! di!
funzionalità!native!ed!esportarle!tramite!JavaScript!in!Titanium.!Ovviamente,!però,!in!questo!
caso!si!ha!la!necessità!di!scrivere!codice!in!ObjectiveLC!e!o!Java!(a!seconda!della!piattaforma);!
sono!quindi!richieste!delle!conoscenze!superiori,!ma!comunque!questa!è!una!feature!che!
eleva!di!molto!il!livello!del!prodotto.!
!
3.3.3!APACHE(CORDOVA(&(STEROID(
Apache!Cordova!e!Steroids!scaturiscono!dal!knowLhow!nello!sviluppo!per!Internet.!Cordova!
è!la!versione!open!source!del!progetto!PhoneGap!e!serve!a!realizzare!le!cosiddette!App!ibride!
con! un’interfaccia! realizzata! in! modalità! web! ma! in! grado! di! interfacciarsi! con! il! sistema!
operativo!mobile!mediante!un!vasto!numero!di!API.!Steroids!nasce!per!superare!alcuni!limiti!
riscontrati! in! PhoneGap! ma! senza! “reinventare! la! ruota”,! si! basa! infatti! su! Cordova! ma!
approfondisce!il!legame!con!lo!strato!nativo.!
!
3.3.3.1!APACHE0CORDOVA0
Apache! Cordova! nasce! da! un! progetto! di! successo,! PhoneGap,* avviato! da! un’azienda!
canadese,!Nitobi!Software,!e!venduto!nel!2011!ad!Abobe.!Contestualmente!alla!trattativa!
con!Adobe,!Nitobi!ha!donato!alla!fondazione!Apache!il!progetto!che!in!un!primo!tempo!aveva!
assunto!il!nome!di!Apache)Callback!e!successivamente!il!nome!attuale!di!Apache)Cordova.!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
35!
Si!tratta!quindi!un!software!Open!Source!distribuito!con!licenza!Apache!2.0.!Allo!stato!attuale!
il!progetto!PhoneGap!portato!avanti!da!Adobe!non!è!altro!che!una!distribuzione!di!Apache)
Cordova!con!la!possibilità!di!usufruire!di!servizi!aggiuntivi.!!
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.!!
Pertanto!Web!view!e!API!sono!le!componenti!dell’applicazione!che!dipendono!dalla!specifica!
piattaforma! mobile.! E! sono! appunto! queste! componenti! che! il! framework! mette! a!
disposizione! dello! sviluppatore,! consentedogli! di! concentrarsi! sul! codice! standard!
indipendente!dalla!piattaforma.!
Cordova! infatti! implementa! lo! stesso! insieme! di! API! sulle! diverse! piattaforme! mobile!
supportate! creando! un! livello! software! standard! a! cui! si! possono! interfacciare! le! nostre!
applicazioni.! Per! chiarire! meglio! il! concetto,! è! come! se!Apache) Cordova!mettesse! a!
disposizione!dello!sviluppatore!delle!app!vuote,!una!per!ciascuna!piattaforma!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.!
Allo!stato!attuale!Apache!Cordova!supporta!le!seguenti!piattaforme!mobile:!Android,!iOS,!
Blackberry,!Bada,!Tizen!e!Windows!Phone.!Questo!dà!un’idea!della!platea!di!utilizzatori!di!cui!
potrebbe!usufruire!la!nostra!App!e!del!lavoro!che!sta!dietro!al!progetto.!
Apache!Cordova!è!un!framework!multipiattaforma!ma!i!requisiti!software!variano!in!base!alla!
piattaforma!mobile!di!riferimento.!
Ad! esempio,! per! sviluppare! un’applicazione! e! compilarla! per! Android! possiamo! usare!
indifferentemente!un!PC!Linux,!Windows!o!un!Mac,!mentre!possiamo!sviluppare!un’app!iOS!
solo!su!Mac.!Questo!perché!per!ciascuna!piattaforma!mobile!di!riferimento!dobbiamo!avere!
installato!il!relativo!SDK!di!sviluppo.!
Prima! di! iniziare! quindi! occorre! definire! la! piattaforma! o! le! piattaforme! mobile! su! cui!
vogliamo!che!venga!eseguita,!quindi!scaricare!ed!installare!i!relativi!SDK.!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
36!
In!pratica,!per!realizzare!un’App!per!Android,!iOS!e!BlackBerry!sul!nostro!PC!devono!essere!
installati!Android!SDK,!Xcode!o!iOS!SDK!e!BlackBerry!WebWorks!framework.!
!
3.3.3.2!STEROID0
Steroids!è!uno!strumento!che!consente!di!creare!applicazioni!mobile!crossLplatform!con!quel!
tocco!di!“nativo”!mancante.!Lo!fa!mettendo!a!disposizione!una!serie!di!oggetti!e!metodi!che!
permettono!di!gestire!alcuni!elementi!dell’interfaccia!utente!nativamente,!con!la!promessa!
di!performance!migliori!e!applicazioni!più!fluide.!
Questo!lato!più!di!basso!livello!riguarda!essenzialmente!il!sistema!di!Views,!lo!stack!e!tutto!
ciò!che!vi!è!collegato:!per!il!resto,!infatti,!Steroids!si!basa!comunque!su!PhoneGap.!
!
Figura*3R2*:*Apache*Cordova*
!
Lo! sviluppo! avviene! in! locale:! scriviamo! il! codice! HTML,! CSS! e! Javascript! (Figura! 3L2)!
richiamando,!dove!opportuno,!le!funzioni!fornite!da!PhoneGap!o!di!Steroids.!
Anche!se!ogni!soluzione!va!valutata!come!caso!specifico,!ecco!gli!scenari!di!utilizzo!in!cui!uno!
strumento!come!questo!sembra!particolarmente!indicato:!
•! demo!o!un!prototipi!da!realizzare!in!tempi!brevi,!senza!funzionalità!complesse!da!
implementare;!
•! realizzazione!di!applicazioni!semplici,!magari!di!supporto!ad!un!servizio!Web;!
•! creazione!di!applicazioni!quando!non!si!ha!il!tempo!giusto!per!imparare!a!lavorare!in!
ambiente!nativo!da!zero;!
•! scarsa!necessità!di!un’interfaccia!dal!look’n'feel!nativo.!
!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
37!
3.3.4!XAMARIN0
Xamarin!offre!vantaggi!simili,!consentendo!l'uso!del!linguaggio!C#!e!di!.NET*per!lo!sviluppo!di!
applicazioni!Android,!iOS!e!Windows!Phone,!con!in!più!la!possibilità!di!poter!utilizzare!tutte!
le!caratteristiche!native,!sia!per!quanto!riguarda!l'interfaccia!che!per!le!peculiarità,!delle!
diverse!piattaforme.!
!
3.3.4.1!XAMARIN0PER0ANDROID0
La! piattaforma! Android! è,! come! molti! sanno,! assai! aperta! alle! modifiche! e! molto! più!
permissiva!di!quella!Apple.!Quindi!su!Android!viene!installato!un!Mono!runtime!che!si!occupa!
di!eseguire!.NET!API!sulle!quali!applicazione!è!basata.!Lo!sviluppo!nativo,!che!consente!di!
utilizzare! C#! per! chiamare! tutte! le! API! di! Android,! si! ottiene! mediante! il!binding!delle!
suddette! API,! consentendo! uno! scambio! bidirezionale! tra! il! Mono! runtime! e! il!Dalvik!
runtime!di!Android.!La!Figura!3L3!illustra!meglio!questo!concetto.!
!
!
3.3.4.2!XAMARIN0PER0IPHONE0
Per!quanto!riguarda!la!piattaforma!iPhone,!le!restrizioni!imposte!da!iOS!non!consentono!l'uso!
di!un!sistema!basato!su!un!runtime!e,!intoltre,!richiedono!l'uso!del!compilatore!contenuto!
nel!sistema!di!sviluppo!di!Apple!stessa,!ovvero!di!XCode,!per!la!compilazione!preventiva!
("head! of! time")! dell'applicazione.! Per! tale! motivo,! l'applicazione! incorpora! al! suo!
interno!tutto! il! necessario! al! suo! funzionamento,! incluse! le! porzioni! del! .NET! Framework!
Figura*3R3*:*:*Xamarin*per*Android*
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
38!
necessarie,!compilate!in!nativo.!Anche!in!questo!caso!è!consentito!l'uso!via!C#!di!tutte!le!
librerie!di!sistema,!attraverso!il!meccanismo!di!binding,!come!meglio!illustrato!nella!Figura!
3L4.!
!
Figura*3R4*:*Xamarin*per*iPhone*
0
3.3.4.3!XAMARIN0PER0WINDOWS0PHONE0
Qui!la!strada!è!tutta!in!discesa,!visto!che!C#!e!.NET!sono!la!tecnologia!di!sviluppo!predefinita,!
ma!c'è!comunque!una!precisazione!da!fare.!Con!Windows!Phone!8.1,!possiamo!realizzare!sia!
le! nuove! applicazioni! basate! su!WinRT,! sia! utilizzare!Silverlight.! Al! momento! Xamarin!
supporta!esclusivamente!Silverlight,!anche!se,!in!più!occasioni,!l'azienda!ha!confermato!che!
un!porting!di!WinRT!è!in!corso!di!sviluppo!(e!quindi!avremo!la!possibilità!di!realizzare!anche!
le!Universal!app).!
!
3.3.4.4!SVILUPPO0NATIVO0
Come!si!è!già!detto,!la!caratteristica!che!rende!unico!Xamarin!è!la!possibilità!di!utilizzare!tutte!
le!API*delle!piattaforme!Android,!iOS!e!Windows!Phone.!Inoltre,!Xamarin!ha!anche!un'ottima!
storia! dal! punto! di! vista! dell'adeguamento! del! proprio! sistema! alle! nuove! versioni! delle!
piattaforme!di!riferimento,!come!ad!esempio!iOS!8!o!Android!5.0!Lollipop,!che!tipicamente!
avviene!nello! stesso! giorno! del! rilascio.! La! ciliegina! sulla! torta! è! poi! la! possibilità! di!
creare!custom!binding!a!librerie!di!terze!parti,!scritte!in!Java,!ObjectiveLC!e!C++.!
!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
39!
3.3.5!FRAMEWORK(A(CONFRONTO(
Sulla! base! di! quanto! detto! precedentemente! è! stato! possibile! tabellare! e! comparare! le!
caratteristiche!principali!dei!diversi!framework!crossLplatform!(Tabella!3L2!e!Tabella!3L3).!!
!
* Sencha*Touch*
Titanium*
Mobile*
Apache*
Cordova*
/PhoneGap*
Xamarin*
Piattaforme*
supportate*
iOs,!Android,!
Blackberry!10,!
Window!
Phone,!Kindle,!
Tizen!
iOs,!Android,!
Blackberry,!
MobileWeb,!
Tizen!
Android,!iOS,!
Blackberry,!
Bada,!Tizen!e!
Windows!Phone!
Android,!iOs,!!Window!
Phone!
IDE*di*
sviluppo*
Sencha!Mobile!
Package!(SDK)!
,Sencha!Cmd!
Appcelerator!
Titanium!
Studio!
Plugin!Eclipse,!
Visual!studio,!
IntellJ!e!
NetBeans!
Visual!Studio,!Xamarin!
Studio!
Peculiarità*
Hardware*
Apple:!iOs!
6,7,8!
Android:!da!2.3!
Windows!
Phone:!8.1!e!
Microsoft!
Surface!Pro!e!
NT!
Blackerry!10!
Tizen:!Dark!e!
Light!
Per!l’ultima!
versione!di!
Titanium:!
Android:!
dalla!
versione!2.3!
Blackerry:!
dalla!
versione!10!
Apple:!dalla!
versione!7.1!
iOS!:!min.!5.x!
Android!:!2.3.x!
(Gingerbread,!
dall'API!di!livello!
10)!e!4.x.!Le!
versioni!
precedenti!alla!
10!,!e!la!3.x!(api!
11L13)!falliscono!
nel!5%!dei!casi!
Amazon!Fire!
OS!:!API!level!19!
BlackBerry!10!!
Windows!8.1!
Android!development
:!VS2010+,!e!Android!
4+!
iOS!development:!
VS2010+,!Mac,!iPhone!
con!iOS!8!
Windows!
Phone!development:!
VS2010+,!Win!8!x64,!
inoltre!requisiti!
specifici!per!i!PC!per!
avere!l’emulatore!e!
smartphone!con!WP!
8+!
!
Community*
Attiva!(Più!di!
20!topic!solo!a!
gennaio)!
Attiva!(è!un!
blog,!nel!
quale!è!
possibile!
anche!
vedersi!per!
una!pizza!ad!
esempio)!
Attiva!(quando!
ci!sono!dei!
problemi!è!
possibile!aprire!
un!ticket!sul!
portale!
sviluppatori!di!
SteroidsJS).!
Attiva!(molto.!È!un!
blog!sul!quale!
qualsiasi!utente!
registrato!può!
scrivere).!
Tabella*3R2*:*Tabella*comparativa*Framework*
!
!
!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
40!
* Sencha*Touch*
Titanium*
Mobile*
Apache*
Cordova*
/PhoneGap*
Xamarin*
Pro*
App!utilizzabili!
anche!offline.!
Facile!
adattamento!
della!
risoluzione.!
Ottima!
gestione!
componenti!
hardware!
dello!
smartphone.!
Sviluppo!app!
che!
assomigliano!
in!tutto!per!
tutto!alle!
app!native.!
È!basato!su!
PhoneGap,!
quindi!supporta!
una!grande!
quantità!di!
sensori!e!
feature!di!molti!
dispositivi!in!
circolazione;!è!
possibile!
usufruire!di!un!
servizio!di!Push!
Notifications!
(con!un!
adeguato!setup)!
per!le!
piattaforme!
Android!e!iOS;!
!
Contro*
l'API!utilizza!
una!libreria!
JavaScript!
molto!grande!
(120kb)!
il!markLup!html!
della!pagina!è!
creato!dal!lato!
client!del!
framework!
Sencha!quando!
viene!caricata!
la!pagina!
Difficoltà!ad!
implementar
e!nuove!
funzionalità!
a!progetto!
finito.!
Scarsa!
flessibilità!
Non!è!possibile!
lavorare!su!
processi!
separati!da!
quello!
principale;!
La!compilazione!
su!cloud!può!
rivelarsi!
un’arma!a!
doppio!taglio;!
!
Limitata!condivisione!
del!codice!UI!oltre!iOS!
e!Android.!
Limitata!condivisione!
di!codice!esterno!di!
Xamarin!
!
Tabella*3R3*:*Tabella*comparativa*framework*R*pro*e*contro*
!
In!base!alla!descrizione!generale!dei!framework!open!source!per!lo!sviluppo!crossLplatform!
presi!in!esame!e,!successivamente,!la!loro!comparazione!a!livello!più!tecnico!si!è!scelto!di!
utilizzare! Apache! Cordova! per! realizzare! un’applicazione! di! domotica! multipiattaforma!
indirizzata!a!persone!non!vedenti!o!ipovedenti,!portato!avanti!in!questo!lavoro!di!tesi.!
!
3!–!Tecnologie!a!supporto!alla!Cross!Platform!
!
!
41!
3.3.6!APP0REALIZZATE0CON0FRAMEWORK0CROSSEPLATFORM0
Di!seguito!sarà!fatta!una!veloce!panoramica!sulle!App!Mobile!sviluppate!con!i!framework!
precedentemente! menzionati.! Tale! panoramica! serve! per! avvalorare! lo! sviluppo! mobile!
crossLplatform;! infatti! è! possibile! progettare! applicazioni! abbastanza! complesse! che! non!
hanno!nulla!da!invidiare!alle!app!native.!
1)! SENCHA*TOUCH:*Kiva*Touch*
Kiva!touch!è!l’interfaccia!mobile,!sviluppata!da!Sencha,!per!kiva.org)(9)!il!cui!scopo!è!quello!
di! mettere! in! contatto! delle! persone,! dando! la! possibilità! di! inserire! delle! preferenze! di!
ricerca,!come!mostrato!nella!Figura!3L5.))
!
!
Come!si!legge!dal!sito!di!kiva:)“!We!are!a!nonLprofit!organization!with!a!mission!to!connect!
people! through! lending! to! alleviate! poverty.! Leveraging! the! internet! and! a! worldwide!
network!of!microfinance!institutions,!Kiva!lets!individuals!lend!as!little!as!$25!to!help!create!
opportunity!around!the!world.”.!
2)! Appcelerator:*GameStop*
Gamestop!(12)è!un!applicazione!per!smartphone!disponibile!sia!sullo!Store!di!Google!(13)che!
su!quello!Apple!(14).!
Figura*3R5*:*Kiva*Touch*
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.

Contenu connexe

Plus de freedomotic

Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...freedomotic
 
Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...freedomotic
 
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...freedomotic
 
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...freedomotic
 
Heima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente ControladaHeima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente Controladafreedomotic
 
Freedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaperFreedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaperfreedomotic
 
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelogfreedomotic
 

Plus de freedomotic (7)

Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...
 
Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...
 
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
 
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
 
Heima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente ControladaHeima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente Controlada
 
Freedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaperFreedomotic v1.5 whitepaper
Freedomotic v1.5 whitepaper
 
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelog
 

SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti per il controllo domotico. Interazione con l’utente e usabilità.