Il mobile rende necessario sviluppare delle tecniche per mostrare informazioni che, per natura, avrebbero bisogno di un ampio display. Per l’utente spensierato questo significa in sostanza poter visualizzare immagini ad alta risoluzione senza rinunciare a vederne i dettagli, consultare un sito non progettato per cellulari, o esaminare un ampio foglio di calcolo o qualche tabella.

I problemi della barra di scorrimento

Il touchscreen è un valido aiutante in questa situazione, tuttavia la classica soluzione della barra di scorrimento o scrollbar ci obbligherebbe a dargli in pasto mezzo display per renderla accessibile al tocco del ditone, e se l’elemento da scorrere è molto più lungo della dimensione del display significherebbe aver un bel daffare a posizionarsi in maniera precisa (p. es. un movimento di un mm sul display può corrispondere a 2 cm del contenuto). La cosa è già difficoltosa col mouse su grandi schermi, se per esempio stiamo scorrendo un documento lungo come una tesi di laurea.

Touch Scrolling

Per evitare il problema si è ricorso al paradigma dello scroll diretto, che è anche più naturale e, se fatto in un certo modo (vedi oltre) anche più comodo. In pratica, lo scorrimento avviene come se avessimo un foglio sulla scrivania liscia e lo facessimo scivolare col dito.

L’implementazione più rozza di questo sistema è quella per cui il “foglio” (il contenuto) scorre su un piano per così dire appiccicoso. Una volta alzato il dito, il contenuto si ferma immediatamente, garantendo precisione ma, in caso di ampi contenuti, lentezza e scomodità pari ad andare in bici con i freni tirati.

Touch Scrolling inerziale

L’implementazione avanzata è invece quella per cui il piano su cui scorrono i contenuti è scivoloso. Se si dà una “spinta” ai contenuti e si alza il dito (gesto chiamato fling), quelli continuano a scorrere sotto i nostri occhi finché li fermiamo col dito, o si fermano per l’attrito simulato del piano, o arriviamo al bordo. Il vantaggio è che lo scrolling preciso è ancora possibile se alziamo il dito quando è fermo.

Come tutte le cose avanzate però, entrano in gioco altri fattori da considerare.

I problemi del Touch Scrolling

In primis, tutti questi tocchi possono generare degli equivoci: se ad esempio stiamo visitando un sito e per caso fermiamo lo scivolamento mettendo il dito su un link, questo tocco non dovrà essere interpretato come un click sul link, pena le nostre maledizioni a chi ha progettato il sistema e la decisione di usare un’altra applicazione perché questa non fa quel che vogliamo. La cosa non è semplice, perché il touchscreen è tutt’altro che perfetto: non sa distinguere tra due tocchi e un tocco poco deciso (un click è un click, ma un tocco può avere pressioni diverse), e può perdersene qualcuno se il processore è carico di lavoro (in background o proprio per visualizzare i contenuti). Inoltre, è in realtà impossibile tenere il dito fermo sul display, rendendo impossibile evitare la spinta se non si applica una velocità di soglia sotto cui considerare il dito fermo. Insomma, se si adotta questo sistema bisogna assumersene le responsabilità (parlo agli sviluppatori).

In secundis, esistono diversi modi di gestire il raggiungimento del bordo. Quello più comodo per il programmatore è non gestirlo: lo scrolling è infinito e se volessimo potremmo far arrivare i contenuti due chilometri più in là. Questo sistema non è troppo scomodo per l’utente se lo scrolling è appiccicoso, e può essere sfruttato a proprio vantaggio ad esempio in un gioco di puzzle, dove avremmo a disposizione un piano infinito su cui gestire i pezzi, o se il piano è in realtà una sfera (vedi GoogleMaps). Oppure giunti al bordo i contenuti potrebbero semplicemente fermarsi (magari facendo vibrare il cellulare – se vuoi provare questa soluzione, l’abbiamo implementata nel nostro gioco ParanoidDifferenze), oppure rimbalzare (soluzione abbastanza strana). La soluzione che va per la maggiore, che assicura l’utente di aver raggiunto il bordo, è quella di simulare un meccanismo a molla, per cui vedremo lo sfondo nero e noteremo una maggior resistenza al trascinamento. Personalmente però trovo un po’ antiestetico (e un problema filosofico) questo “nulla” di sfondo e mi pare uno spreco di tempo stare a guardare i contenuti tornare pigramente al loro posto quando alzo il dito. Inoltre, se questa “molla” è troppo morbida, non è così immediato accorgersi che quello è il bordo.

Un’altra considerazione sullo scrolling scivoloso è che se il cellulare non riesce a ricreare un movimento abbastanza fluido e va a scatti, l’esperienza diventa penosa esteticamente e soprattutto all’atto pratico, non sapendo mai in realtà a che punto dello scrolling siamo e se fermandolo siamo veramente dove volevamo.

Saluti

Tante e tali le variabili da considerare quando si ha a che fare con un sistema di scrolling. A volte è questione di gusti dell’utente (i quali, purtroppo per chi sviluppa, sono i più importanti e imprevedibili), altre volte no. Non sorprenda gli utenti, quindi, di trovare applicazioni con uno scrolling scomodo, e anzi dovrebbero riportare i problemi che hanno (se lo sviluppatore è disposto ad ascoltarli!)