MIT App Inventor 2: la Scansione per agire le scelte

Nuovo post finalizzato a suggerire utilizzi di MIT App Inventor 2 per applicazioni il più possibile personalizzate, create “su misura” e non standardizzate (trovate qui tutti i precedenti contributi).

Oggi parliamo di difficoltà motorie: le tecnologie touch possono costituire un’opportunità per “portare il corpo” dentro alla tecnologia e al processo di apprendimento ma, se ciò è vero, occorre predisporre soluzioni anche per persone con limitazioni motorie.

Cosa è la scansione? E’ un procedimento che consente di individuare e selezionare un elemento appartenente ad un insieme attraverso scelte successive, compiute in sottoinsiemi sempre più piccoli.

MIT App Inventor 2 Scansione Disabilità Apprendimento

In altre parole, con una prima scelta, la persona seleziona un insieme di elementi differenziandolo da altri insiemi. Secondariamente, all’interno dell’insieme selezionato, sceglierà un secondo sotto-insieme…e così via sino ad arrivare al singolo elemento da selezionare.

Più semplice da sperimentare che da spiegare…

Riprendiamo la App per “agire scelte”, creata nell’ultimo tutorial: terremo valida parte dell’impostazione di Layout e modificheremo il codice secondo i nostri nuovi propositi di accessibilità.

Qual è l’idea?

L’icona che rappresenta la scelta (mi piace/non mi piace o, per la verità, qualunque altra opzione di scelta che vorremo impostare) varierà visivamente ad un intervallo prescelto (e facilmente personalizzabile).

Quando l’opzione gradita sarà comparsa, basterà semplicemente toccare una vasta area di schermo (nel nostro esempio, l’80% dello schermo) per effettuare la scelta.

Inseriremo nell’app anche un meccanismo anti-rimbalzo, per evitare che, appunto a seguito di difficoltà motorie, più tocchi, ravvicinati nel tempo, dello schermo stesso possano in qualche modo impedire il corretto funzionamento dell’applicazione: questo per ampliare il più possibile l’accessibilità anche a controlli motori più difficoltosi…

Rimane, come nella versione precedente, la possibilità (essenziale) di personalizzare lo stimolo acquisendolo tramite fotocamera.

Design

Il Designer della nostra applicazione si presenterà come nell’immagine seguente:

MIT App Inventor 2 Disabilità Scansione App

Clicca sull’immagine per ingrandire

Destineremo la parte inferiore dello schermo (circa il 20%) per gli strumenti di servizio (la barra per la scelta della velocità di scansione e il tasto per avviare la fotocamera) mentre la parte superiore sarà attiva per la visualizzazione dell’opzione (a sinistra) e dello stimolo (metà destra dello schermo).

Tutta la parte superiore del nostro schermo costituirà la superficie attiva per la scelta touch.

Ecco, di seguito, le caratteristiche dei componenti del Designer:

Componente Nome Proprietà
VerticalArrangement VerticalArrangement1 Heght: Fill Parent

Width: Fill Parent

Canvas Canvas1 Height: 190 Pixel

Width: Fill Parent

Sprite Opzione Height: 70 Pixel

Width: 70 Pixel

Enabled: True

Visible: True

Picture: mipiace3png.png (scaricabile da qui)

Sprite Oggetto Height: 190 Pixel

Width: 240 Pixel

Enabled: True

Visible: True

Picture: mela.jpg (scaricabile da qui)

Sprite ImageSprite1 Height: 190 Pixel

Width: 240 Pixel

Enabled: True

Visible: True

Picture: none

TableArrangement TableArrangement1 Columns: 3

Row: 1

Height: Fill Parent

Width: Fill Parent

Slider Slider1 Width: 240 Pixel

MaxValue: 100

MinValue: 10

Button Button1 Width: 100 Pixel

Visible: False

Button Foto Height: 40 Pixel

Width: 40 Pixel

Image: fotocamera.png (scaricabile qui)

Clock Clock1 TimerEnabled: True

TimerInterval: 3000

Clock Ritardo TimerEnabled: False

TimerInterval: 4000

Camera Camera1
Sound Sound1
TextToSpeech TextToSpeech1

Occorre poi effettuare l’upload anche del file immagine della seconda opzione (“Non mi piace”), scaricabile qui.

Impostare la scansione

Come realizziamo la modalità Scansione?

Nella parte sinistra dello schermo, uno Sprite cambierà la propria proprietà Picture ogni volta che un orologio interno (la componente Clock che troviamo nel menu Palette, sottomenu Sensor, sezione Designer) segnala il raggiungimento di un intervallo di tempo desiderato.

Al cambiamento di immagine (ossia di opzione di scelta, “Mi Piace”/”Non mi Piace”, per esempio), corrisponde anche il settaggio di una variabile (una “scatola” di memoria che tiene traccia dell’opzione in quel momento selezionabile).

La velocità di scansione delle scelte viene modificata tramite il componente Slider (Componente Designer, Menù Palette, sottomenù User Interface): una barra scorrevole che ci permette di selezionare agevolmente valori all’interno di un intervallo.

MIT App Inventor 2 Disabilità Scansione Android

Clicca sull’immagine per ingrandire

All’avvio della App, la variabile “Immagine” viene impostata al valore 1, corrispondente al “Mi piace”, la faccina sorridente.

Ogni volta che il Clock raggiunge l’intervallo desiderato, viene effettuato un test: se Immagine vale 1, allora modifichiamo la proprietà Picture dello SpriteOpzione caricando la faccina triste (“Non mi piace”) e settiamo la variabile “Immagine” a zero.

La volta successiva il test agirà in modo inverso, modificando lo Sprite e il valore della variabile, riportandola a 1.

E’ essenziale, per la personalizzazione dell’App, che la velocità di scansione sia facilmente variabile dall’utente (o dal suo educatore).

Utilizziamo, per questo, uno Slider (una barra scorrevole) che, nelle nostre impostazioni, assume valori da 10 a 100 e, sempre nel nostro esempio, attribuisce ad ogni unità il valore di 60 millisecondi. Ecco il blocco corrispondente:

MIT App Inventor 2 Slider Disabilità Motoria Apprendimento

Clicca sull’immagine per ingrandire

Personalizzare lo stimolo

Come abbiamo già visto nello scorso tutorial, usiamo la fotocamera per personalizzare lo stimolo rispetto al quale richiediamo di effettuare la scelta.

Quando viene premuto il tasto Foto, viene avviata la fotocamera; dopo l’acquisizione della fotografia, viene modificata la proprietà Picture dello Sprite Oggetto.

Sull’asse delle ascisse, lo Sprite viene posizionato a metà del valore della larghezza dello schermo grazie alla funzione Screen1.Width. Ecco il codice:

MIT App Inventor 2 Disabilità Apprendimento

Clicca sull’immagine per ingrandire

Effettuare la scelta e gestire il “Rimbalzo”

Non appena viene effettuata una scelta toccando gli Sprite Oggetto e ImageSprite1 (che occupano circa l’80% della superficie disponibile nella nostra App), congeliamo la situazione di scelta: disabilitiamo sia il nostro timer che gli Sprite stessi.

In tal modo la variabile “Immagine” conterrà il valore corrispondente alla scelta desiderata: 1 per “Mi piace” e 0 per “Non mi piace”.

Ed è proprio testando il valore di “Immagine” che la nostra app determinerà il proprio comportamento: effettuando una breve vibrazione (di 300 millisecondi) ed producendo la sintesi vocale desiderata (nel nostro esempio, “Mi piace” o “Non mi piace”).

L’ultima istruzione dei due blocchi When Sprite.TouchDown, riportati sotto, attiva il meccanismo anti-rimbalzo: il Clock “Ritardo” viene attivato e solo quando raggiungerà il suo intervallo (impostato nel nostro esempio a 4 secondi) ri-attiverà i due Sprite Oggetto e ImageSprite1, consentendo all’utente di effettuare una nuova scelta.

Ecco, di seguito, i blocchi di istruzioni:

MIT App Inventor 2 Apprendimento Disabilità motoria personalizzazione Android

MIT App Inventor 2 Scansione Disabilità

MIT App Inventor 2 Rimbalzo Scansione Disabilità App Android

Clicca sulle immagini per ingrandirle

Note e sviluppi

Una semplice App come quella descritta permette già molti livelli di Personalizzazione, facilmente realizzabili grazie alla plasticità e alla semplicità di utilizzo di MIT App Inventor 2.

Possiamo variare le impostazioni di Clock1 e Slider1 (ottenendo scansioni più lente, veloci, con un più ampio intervallo di variabilità), variare l’intervallo del Clock Ritardo (o anche eliminare la procedura anti-rimbalzo), possiamo aumentare il numero di opzioni scandite oppure variare tipologia e dimensione delle icone che rappresentano scelte o stimoli, modificare le sintesi vocali…

Ulteriormente, potremmo ri-utilizzare i meccanismi di base della nostra App e pensare la scansione per “fare” cose differenti: per esempio, usando due opzioni (“avanti” e “indietro”) per muoverci attraverso una SlideShow di immagini (o pagine) acquisite e memorizzate in precedenza.

Per quest’ultimo utilizzo, però, dovremo introdurre almeno altri due potenti (ma semplici) strumenti di MIT App Inventor 2: le liste (che consentono di memorizzare serie di elementi all’interno di una variabile) e il TinyDB (l’archivio permanente, allocato sul nostro smartphone/tablet).

Alla prossima…

Annunci

2 thoughts on “MIT App Inventor 2: la Scansione per agire le scelte

  1. Pingback: Creare Lapbook con MIT App Inventor 2 – Tutorial parte 1 | Il sarto delle App

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...