Специфика обработки нажатий кнопок в тач-интерфейсах — 2
Ну, в первой части немного размялись, а теперь — к делу! )
Часть 2. Биомеханика сенсорных кнопок
Гипотеза
Непреднамеренное проскальзывание пальца при тапе на сенсорном экране добавляет в интерфейс фактор сложности, сравнимый с трудностью попадания в маленькие элементы.
* * *
Закон Фиттса описывает сложность наведения на цель в пространстве. Но ничего не говорит о самом моменте касания и возможном проскальзывании пальца.
Давайте разберёмся, почему тап — это не просто клик, а другая биомеханическая задача. Посмотрим на вариации закона Фиттса. Сравним работу мышью и пальцами.
Оглавление:
Гипотеза (вы здесь)
Фиттс
Оригинальная статья
Модификации закона Фиттса
Модификация FFitts
Устройство для эксперимента
Мышь
Биомеханика
Фиксация руки
Пальцы
Видимость цели
Форма контакта
Кинетическая цепочка
Вращательное движение
Отдельная фаза
Выводы и рекомендации
Фиттс
Оригинальная статья Пола Фиттса 1954 года
http://www2.psychology.uiowa.edu/faculty/mordkoff/InfoProc/pdfs/Fitts%201954.pdf
На Википедии:
https://en.wikipedia.org/wiki/Fitts%27s_law
В переводе на русский:
https://translated.turbopages.org/proxy_u/en-ru.ru.f66b549e-69427f60-bf9f66f5-74722d776562/https/en.wikipedia.org/wiki/Fitts%27s_law
В общем виде закон Фиттса увязывает три вещи:
— Расстояние до цели,
— Размер цели,
— Время движения.
Не буду сюда тащить формулы, смотрите в исходной статье.
В эксперименте Фиттса испытуемые поочерёдно касались стилусами металлических пластин разной ширины, расположенных на определенном расстоянии. Замеряли время, попадания и ошибки.
Важная деталь: это была одномерная задача. Пластины были широкими в перпендикулярном направлении, чтобы исключить ошибки во втором измерении.
Модификации закона Фиттса
Существуют вариации под разные устройства и задачи — 2D, 3D, разные формы целей. По сути, это просто математические модели оценки сложности наведения.
Модификация FFitts
https://www3.cs.stonybrook.edu/~xiaojun/pdf/FFitts.pdf
https://research.google.com/pubs/archive/41645.pdf
FFitts (Finger-Fitts) добавляет фактор абсолютной неточности пальца — «дрожь», fat finger problem. Около 1—1,5 мм, независимо от задачи.
Однако это не относится к величине проскальзывания пальцев при тапе. Модель просто оценивает наведение на элемент. И ничего не говорит о проскальзывании пальца после касания.
Устройство эксперимента Фиттса
Обратим внимание на аппарат в оригинальном эксперименте Фиттса: при касании пластины счётчик фиксировал только первый момент контакта и блокировался до касания противоположной пластины, чтобы не было дублирующих срабатываний.
Эксперимент никак не фиксировал проскальзывания стилуса. Можно было хоть вензеля выписывать — прибор регистрировал только первый момент касания.
Если представить аналогичный эксперимент с механическими кнопками — боковое смещение тоже не имело бы значения: кнопка нажимается в одном направлении. Проскальзывание пальца при этом может быть (уже на поверхности кнопки), но кнопке все равно, если она исправна, конечно.
Мышь.
Микропауза
Биомеханика клика мыши отличается от тапа.
Фазы:
— Движение мыши к цели,
— Микропауза над целью,
— Клик.
Что за «Микропауза над целью»?
Мы не кликаем мышью «вскользь», если только это не специализированный интерфейс или компьютерная игра. Микропауза возникает потому, что курсор виден. И мы ждём визуального подтверждения точного позиционирования. А реакция человека — не мгновенная, она занимает доли секунды. Эта остановка мыши устраняет проскальзывание курсора в момент нажатия.
Фиксация руки
При движении мышью рука часто опирается на стол или подлокотник — это фиксирует локоть и плечо, оставляя для очень точного движения только кисть и пальцы.
Попробуйте эксперимент от обратного:
— Встаньте у рабочего стола.
— Возьмите мышь, не кладя руку на стол. На столе только мышь.
— Попробуйте кликать по мелким элементам — станет заметно сложнее, чем с опорой руки на стол.
Пальцы: биомеханика тапа
Видимость цели
Палец закрывает кнопку, точка контакта не видна. Поэтому человек не ждет визуального подтверждения точности попадания до миллиметра. Тапы по сравнению с кликами — это приблизительные «выстрелы навскидку».
Форма контакта
Палец слегка сдавливается при касании, и мы не видим формы и размера пятна контакта. В зависимости от угла пятно контакта может принимать разные формы, и устройство может по-разному извлекать координаты из этого пятна.
Попробуйте: прицельтесь пальцем точно над кнопкой тачскрина. Коснувшись кнопки, прокатите палец «колесом» немного. Не скользите по экрану, а именно прокатите, как прокатывают для отпечатков. Система воспримет это как перетаскивание (драг), хотя вы не скользили пальцем по экрану. Двигалось пятно контакта.
Кинетическая цепочка
С тачскрином контактирует только кончик пальца. Это конец кинетической цепочки сегментов и суставов руки от плеча и возможно даже выше. Позиция кончика пальца зависит от инерции и движения множества сегментов руки. Более крупных и менее точных, чем пальцы.
Эта длинная цепочка сегментов объясняет, почему в движущемся автомобиле тапы становятся ещё сложнее, например. И почему некоторые кнопки полезно делать механическими. Не только потому, что механика дает тактильную обратную связь. Но и потому, что механическая кнопка является естественным фильтром случайной составляющей движения пальца. Механическая кнопка извлекает одномерную составляющую из трехмерного движения.
Вращательное движение
Все суставы — вращательные. Прямолинейное движение пальца требует незаметной глазу координации сразу нескольких суставов на лету. Для движения кончика по прямой какие-то суставы должны сгибаться, а какие-то другие в то же время — разгибаться. В реальности в движениях пальцев бывают неточности. Механическая кнопка «прощает» это, переводя любое приближение в нажатие.
Отдельная фаза движения
Подход Фиттса, это по сути оценка сложности сближения условного указателя с элементом в N-мерном пространстве. Процесс сближения — стохастический: траектории содержат случайную составляющую. И чем точнее движение, тем меньше отклонение траекторий от идеальной.
Тап добавляет отдельную фазу: вертикальное сближение уже наведённого пальца с поверхностью. Это не мгновенное событие, а процесс со своей стохастикой — случайными отклонениями.
Этой детали вариации формулы Фиттса не учитывают. У Фиттса есть процесс сближения и событие касания. Для сенсорного интерфейса касание — это не событие, а тоже процесс, хотя и незаметный.
Если мы принимаем тот факт, что траектория наведения по Фиттсу — стохастическая, вследствие неточности движения руки и помех реального мира, то в тех же условиях финальную фазу «тап» нужно также считать стохастической.
Выводы и рекомендации
Непреднамеренное проскальзывание при тапе — нормальное, частое и биомеханически неизбежное явление.
На сенсорном интерфейсе для пальцев порог допустимого скольжения без перехода в перетаскивание (драг) нужен не на всякий случай, а на каждый случай.
Для обычных кнопок отслеживать перетаскивание вообще почти никогда не требуется.
В операционных системах (iOS, Android и др.) учет Touch slop есть по умолчанию (UIGestureRecognizer, ViewConfiguration). Настройка Touch slop на уровне 2—3 мм как раз отражает реальную точность, которую можно ожидать от пользователя. Но в кастомных компонентах это свойство легко поменять или забыть настроить.
Когда речь не просто про кнопку, а главную кнопку для миллионной аудитории, хочется обратить на это внимание.
Проблема непреднамеренного запуска перетаскивания в сенсорном интерфейсе влияет на комфорт, а иногда и на безопасность:
— навигаторы в авто,
— медицинские интерфейсы,
— промышленные и другие специализированные интерфейсы.
Это не критика закона Фиттса — он актуален в своей области. Просто для сенсорных интерфейсов к сложности наведения стоит добавить сложность самого касания.
Дизайнерам и разработчикам
При приемке разработанного интерфейса проверяйте поведение кнопок при легком смещении пальца. Особенно для главных действий.
Передайте коллегам в VK Video :-) Мы там смотрим мультики с дочерью и хотим, чтобы кнопка Play запускала ролик, а не сворачивала его.
Пишите вопросы и комментарии в Телеге:
https://t.me/sergeykashin/818