Per iniziare / Come funziona

Come funziona

intent-link osserva come l’utente si muove nella pagina e stima a quale obiettivo visibile si sta avvicinando. Quando il segnale è abbastanza forte, chiama la funzione onIntent di quell’obiettivo.

1 · Osserva il movimento

Sul desktop legge il movimento del puntatore. Sui dispositivi touch legge lo scorrimento. Si attiva solo quando l’utente interagisce e torna inattivo quando il movimento si ferma.

2 · Decidi l’obiettivo

Il motore confronta il movimento dell’utente con gli obiettivi visibili. Gli obiettivi fuori dalla viewport non partecipano ai calcoli.

3 · Avvia il lavoro

Quando un obiettivo diventa abbastanza probabile, il suo callback onIntent viene eseguito una volta. Può essere eseguito di nuovo se l’utente si allontana e poi ritorna.

Desktop e dispositivi mobili

  • Sul desktop il motore segue il movimento bidimensionale del puntatore.
  • Sui dispositivi mobili segue lo scorrimento verticale e si attiva al primo scorrimento.
  • Gli obiettivi nascosti o fuori dallo schermo vengono ignorati, compresi quelli nascosti dal CSS responsivo.

L’idea della fisica

Immagina ogni obiettivo come un piccolo pozzo gravitazionale. Il movimento crea energia cinetica, mentre la distanza dall’obiettivo crea energia potenziale. Un puntatore o uno scorrimento veloce ha ancora slancio; un movimento lento vicino a un obiettivo sembra invece stabilizzarsi lì. Il motore usa una regola simile alla termodinamica per considerare più probabili queste destinazioni a bassa energia.

I dati di movimento del browser contengono piccoli salti ed errori. Un filtro di Kalman attenua questo rumore prima del calcolo fisico. In parole semplici, aiuta a distinguere un movimento intenzionale da misurazioni instabili. Tutto avviene dentro la libreria; la tua app riceve soltanto onIntent.

Leggi l’articolo di ricerca. Questo collegamento è provvisorio fino alla pubblicazione su ACM.