Pensieri e parole su HCI, home computing, tecnologie desktop e sul Progetto Lobotomy

sabato 28 luglio 2007

Smooth Scroll

Ispirato da questo paragrafo della pagina dedicata alle discussioni sull'interfaccia di OpenMoko, da un paio di giorni medito in merito all'implementazione, per mezzo di GTK+, di qualche routine per facilitare la realizzazione di interfacce che usino pesantemente lo "smooth scrolling": questa tecnica permette, a parer mio, di ottenere (senza neppure troppo sforzo) interfacce gradevoli ed allo stesso tempo estremamente usabili e funzionali, soprattutto su devices portatili (come appunto OpenMoko) che spesso e volentieri vengono manipolati con una mano (ed un dito, il pollice) sola. In particolare, mi riferisco alle liste "con l'attrito" di iPhone, e al carousel con cui vengono visualizzate le immagini.
In breve, lo scopo e' quello di ottenere dei widgets (nella fattispecie, dei GtkContainer. O anche uno solo, derivato da GtkViewport) che prevedano callbacks per la gestione della pressione, il rilascio e lo spostamento del cursore sul monitor, si' da scorrere il contenuto in funzione dell'intervallo di tempo ed il percorso e dunque della "velocita'" impressa al cursore stesso. Lo spunto da dove iniziare con il codice me lo ha fornito il client IM un tempo conosciuto come Gaim, che gia' da tempo implementa (pur sfruttandolo in minima parte) lo smooth scrolling, mentre la parte prettamente matematica del sistema trova una ricca risorsa in questa lista di algoritmi belli che pronti per essere adottati in circostanze diverse.
A breve spero di avere tempo per affrontare la problematica e scrivere una test suite, per poi includere in Kiazma il risultato della ricerca...

2 commenti:

Anonimo ha detto...

Perche non:)

Anonimo ha detto...

Si, probabilmente lo e