четверг, 23 марта 2017 г.

On-hover убивает Flash. И не только

Очень интересная статья аж от 2010 года профессионального Flash-разработчика о том, почему у Flash проблемы на мобильных устройствах (уж на что Adobe и Apple взаимно любят друг друга, а все равно Flash отсутствует на iPhone и конца этому не видно). Кратко: большинство Flash-изделий используют on-hover как самостоятельный и незаменимый метод взаимодействия; on-hover, в свою очередь, невозможен на современных устройствах с тактильным вводом (его эмуляция хоть и возможна, но убога до безобразия).

Я, откровенно говоря, испытываю в данном случае лишь злорадство. Мне нравится Flash (и ещё больше нравится Air, которая суть Java от людей, не испорченных enterprise-программированием), но всё же — флашеры сами виноваты в том, что получилось. Использовать интерфейсные методы только потому что (а) так можно и (б) другие так не делают — статистически верный способ получить нечто убогое.

Вот вполне реальный сценарий. Есть сайт, на сайте есть анимированное меню. В начале работы в голове дизайнера что-то щёлкает и дизайнер решает — повешу анимацию не на on-click (боже, как это скучно и старо!), а на on-hover. С мышью все работает; с пальцем не работает ничего.

А теперь главный вопрос: чем кнопка на on-hover работает лучше, чем кнопка на on-click? Я вижу только один ответ — теоретически, on-hover быстрее, т.к. не тратится время на стимуляцию. Но это ускорение настолько мало, что оно не может быть оценено неинструментальными методами (и даже инструментальными может быть измерено лишь с трудом). Так зачем вообще было связываться с on-hover?

Больше того, on-hover не очень хорош даже и как способ подсказки о том, что объект является кликабельным. Если приходится использовать для этой цели on-hover, значит, объект нарисован недостаточно хорошо, т.е. по его облику недостаточно заметно, что объект кликабелен (не могу не отметить, впрочем, что если кликабельность и так видна, on-hover в качестве приправы таки добавит прелести).

Именно поэтому у нас уже довольно давно запрещено проектировать в рассчете на on-hover. На том стоим!

PS. Почти семнадцать лет назад заметка Нильсена Flash: 99% Bad вызвала непомерную бурю возмущения у дизайнеров. Свежо до сих пор.


Комментарии

Иван Дегтяренко:
Все-таки существенную роль в том, что на iPhone и iPad нету Flash играет то, что поддержка Flash частично приведет к отсутствию контроля над ассортиментом приложений. Ведь Flash — это и среда разработки приложений. А Apple очень сильно держится за «цензуру» App Store.

Никита Прокопов:
Пусть onHover не работает, можно же просто тыцнуть? Типа, для устройств без onHover-а получается, что он с успехом заменяется onClick-ом?

Alexander:
Мне кажется что onHover(onRollOver более привычно) совсем тут не причем. Его действительно можно заменить кликом, да и используют его только для красивости. А что завязывает на нем логику, тот сам себе такой :)
У вас то тоже меню, с onHover-ом, пускай и ccs-ым…

drunk ninja:
“Если приходится использовать для этой цели on-hover, значит, объект нарисован недостаточно хорошо”
согласне на 100%



Другие посты по этой теме:



Комментариев нет: