Начало работы / Как это работает

Как это работает

intent-link наблюдает за движением пользователя по странице и оценивает, к какой видимой цели он приближается. Когда сигнал становится достаточно сильным, библиотека вызывает функцию onIntent этой цели.

1 · Наблюдение за движением

На компьютере библиотека читает движение указателя, а на сенсорных устройствах — прокрутку. Она просыпается только при взаимодействии и снова отдыхает, когда движение прекращается.

2 · Выбор цели

Механизм сравнивает движение пользователя с видимыми целями. Цели за пределами области просмотра не участвуют в расчётах.

3 · Запуск работы

Когда выбор цели становится достаточно вероятным, её callback onIntent выполняется один раз. Он может сработать снова, если пользователь отдалится и позднее вернётся.

Компьютер и телефон

  • На компьютере механизм отслеживает двумерное движение указателя.
  • На телефоне он отслеживает вертикальную прокрутку и включается при первой прокрутке.
  • Скрытые и находящиеся за пределами экрана цели игнорируются, включая элементы, скрытые адаптивным CSS.

Идея из физики

Представьте каждую цель как небольшую гравитационную впадину. Движение создаёт кинетическую энергию, а расстояние до цели — потенциальную энергию. Быстрый указатель или прокрутка ещё сохраняют импульс, а медленное движение рядом с целью похоже на остановку у неё. По правилу, похожему на термодинамику, механизм считает такие точки с низкой энергией более вероятным выбором.

В данных о движении браузера есть небольшие скачки и ошибки. Фильтр Калмана сглаживает этот шум перед физическим расчётом. Проще говоря, он помогает отличить намеренное движение от нестабильных измерений. Всё это происходит внутри библиотеки; приложение получает только onIntent.

Прочитать исследовательскую работу. Пока статья не опубликована в ACM, это временная ссылка.