Schermi Multi-Touch: storia e introduzione allo sviluppo web

Ecco una breve storia degli schermi multi-touch, che hanno radici molto più lontane di quanto si possa pensare; oltre a questo faremo un accenno allo sviluppo di codice per il web in riferimento a questa tipologia di schermo, che sembra ormai proiettato verso un futuro roseo
di Antonio Barba pubblicato il 12 Agosto 2013 nel canale WebPunti di tocco multipli
A basso livello, l’hardware ci espone un array di punti di contatto, ciascuno dei quali dotato di proprie coordinate, livello di pressione, ecc… Per semplificarci le cose, il sistema operativo applica dei filtri su questi punti di contatto, per eliminare le “oscillazioni ad alta frequenza”, cioè quelle vibrazioni dovute all’incertezza del sensore a livello elettronico. Dopo il passaggio di filtro, la situazione dei punti di tocco viene analizzata con un algoritmo che si occupa di “enumerare” questi punti. Per fare ciò viene confrontata la situazione attuale con quella dell’istante di tempo precedente (immaginate questi calcoli eseguiti in loop), e vengono confrontate le coordinate ed il numero dei punti di contatto.
Basandosi su una stima della distanza massima percorribile nel lasso di tempo tra due frames consecutivi (tipicamente un touchscreen di fascia consumer si aggiorna dalle 50 alle 100 volte al secondo), l’algoritmo capisce se un punto di contatto si è mosso in quell’arco di tempo, e quindi nell’enumerazione riporta lo stesso codice ID del frame precedente.
Grazie a questo lavoro preliminare di filtraggio e tracking dei punti di contatto, il sistema è in grado di capire quando un tocco inizia, trasla e termina, e può quindi offrire delle API di più alto livello per gestire gli eventi dell’interfaccia in modo molto semplice. Internet Explorer 10 ci espone questo livello di astrazione con le API MSPointer*.
In realtà, esiste un livello ancora più elevato di astrazione che consente,
analizzando opportunamente i punti di contatto, di riconoscere ed estrapolare le
note gestures di pinch, scroll, rotazione, ecc…
Le API di più alto livello, che si occupano di rilevare e gestire opportunamente
le gesture, sono le MSGesture* di cui abbiamo parlato in un
precedente articolo.
Agganciare il proprio codice a questi eventi è semplice come scrivere queste poche righe in Javascript:
var mydiv = document.getElementById("mydiv"); mydiv.addEventListener("MSPointerDown", onDivPointerDown, true); mydiv.addEventListener("MSPointerUp", onDivPointerUp, true); mydiv.addEventListener("MSPointerMove", onDivPointerMove, true); function onDivPointerDown(e) { // Fai qualcosa } function onDivPointerUp(e) { // Fai qualcosa } function onDivPointerMove(e) { // Fai qualcosa } |
Il sistema genera eventi di Down, Up e Move separatamente per ogni punto di tocco (uno per ogni dito), per cui non è complicato gestire un’interfaccia multi-touch, oppure trasformare un sito classico in uno adatto ad essere usato con le dita. Un esempio di codice (completo), ci illustra alcuni possibili usi dell’API MSPointer e di MSGesture: http://code.msdn.microsoft.com/ie/Pointers-and-Gestures-ae95918f.
Queste API, inoltre, sono state proposte da Microsoft per l’integrazione tra
gli standard del
W3C, pertanto è solo questione di tempo prima che vengano standardizzate su
tutti i browser. In attesa che lo standard venga ratificato e adottato da tutti,
è possibile applicare degli accorgimenti per gestire correttamente tutti i
browser, come ben spiegato in
questo articolo di approfondimento. Dopo questa introduzione sulle basi
tecniche, strettamente a carico dello sviluppatore, parleremo nei prossimi
articoli di aspetti di più alto livello, relativi alla progettazione e
ottimizzazione di interfacce multitouch da un punto di vista del design e della
User Experience.
9 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoCome rimpiango la buona vecchia tastiera fisica, non sopporto essere costretto ad una digitazione scomodissima, con lo schermo coperto per 3/4 dalla tastiera virtuale e l'impossibilità di digitare alla cieca, un gaming limitatissimo, e vedere uno schermo pieno di schifosissime ditate.
Se ora la tastiera occupa 3/4 di schermo, prima occupava 3/4 del telefono stesso.
E comunque i telefoni classici li vendono ancora.
Come rimpiango la buona vecchia tastiera fisica, non sopporto essere costretto ad una digitazione scomodissima, con lo schermo coperto per 3/4 dalla tastiera virtuale e l'impossibilità di digitare alla cieca, un gaming limitatissimo, e vedere uno schermo pieno di schifosissime ditate.
Guarda, sui cellulari posso ancora tolleralo, ma sui portatili o sugli AIO decisamente no.
No? A me pare che se si cerca un qualcosa di decente oggi si sia obbligati al touch. I telefoni coi tasti rimangono quasi sempre confinati a roba di fascia bassa che spesso non fanno tutto quello che si potrebbe cercare.
Poi certo, non ti obbligano a comprarli..ma esiste una sola opzione di acquisto quindi è quasi come essere costretti.
il touch ha comunque mille altri buoni motivi di esistere, come per scorrere le foto, zoomare, scorrere le pagina internet, ma credo che in linea generale, sugli schermi piccoli non ha senso per scrivere querty in verticale perchè la precisione è quello che è ma non a causa dell'immaturità della tecnologia attuale ma perchè il mio dito non è uno stuzzicadente. lo trovo molto piu utile per esempio in una lavatrice o in una lavastoviglie dove tocchi icone grandi per selezionare impostazioni, insomma dove ci sono tutti elementi mediamente piu grandi di mezzo cm quadro
il touch ha comunque mille altri buoni motivi di esistere, come per scorrere le foto, zoomare, scorrere le pagina internet, ma credo che in linea generale, sugli schermi piccoli non ha senso per scrivere querty in verticale perchè la precisione è quello che è ma non a causa dell'immaturità della tecnologia attuale ma perchè il mio dito non è uno stuzzicadente. lo trovo molto piu utile per esempio in una lavatrice o in una lavastoviglie dove tocchi icone grandi per selezionare impostazioni, insomma dove ci sono tutti elementi mediamente piu grandi di mezzo cm quadro
Fino a 1 anno fa, data in cui il mio HTC desire Z era ancora vivo, ero d'accordo con te. Dopo che si è rotto, sono stato "costretto" a comprare uno smartphone senza tastiera fisica, e a parte l'impatto iniziale trovo che la tecnologia swype sia comodissima e probabilmente veloce quanto se non più della vecchia tastierina fisica del desire Z. Abitudine...
Lo so, ma spesso non si ha scelta: gli smartphone sono praticamente tutti touch senza tastiere fisiche.
Per i portatili guardavo uno della asus (u38n mi sembra) che però in versione full hd è disponibile solo con il touch. Poco male, ma avrei preferito il prezzo minore e la possibilità di scegliere
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".