conceptgame


Искусство создания игр


Previous Entry Share Next Entry
Заметки по конференции Frontend DevConf (Минск, 18 апреля 2015)
z_hunter wrote in conceptgame

MapBox


-- Клёвая технология отрисовки географической информации (карт) из OpenStreetMaps. Есть для WebGL чтобы юзать в браузере, есть для C++, чтобы юзать в приложениях. Opensource. Для геосоциальных игр must have.

github/mapbox



Управление восприятием времени в UI


Восприятие пользователем времени при работе приложения очень  важно. Platform Success Model (Google): НИКАКИХ ЗАДЕРЖЕК!



  • 40% пользователей уходит с сайта если он грузится более 3 секунд


  • 1сек. ожидания = 7% потеря конверсии



Как пользователь оценивает скорость задержки при реакции сайта на свои действия (в сек.):


  • 01-02 = мгновенный


  • 0.5-1 = быстрый


  • 2-5 = медленный


  • 7-10 и больше = порог внимания. при такой задержки чел. не сможет удерживать UI в фокусе внимания. или уйдёт или переключиться на что-то другое.



Закон Weber-Fechner -- пользователь способен заметить разницу в длительности только если оно отличается на 20% и более.

Мало смысла оптимизировать скорость загрузки если это даст выигрыш менее 20%, так как юзер ничего не заметит.


Не можешь поменять что-то -- поменяй отношение к этому.

Если мы не можем заставить процесс выполняться быстрее, мы можем поменять отношение пользователя к ожиданию. Замаскировать его.


Перенос точки восприятия страницы с момента окончания загрузки на на момент самого начала.


  • Например, в YouTube плеер с интерфейсом грузится быстрее чем всё остальное, даже раньше чем логотип. Пользователь считает, что страница загружается мгновенно, так как судит по появлению знакомого плеера, в то время как это  всего лишь имитация.


  • Другой пример -- при загрузке ленты в FB показываются муляжи постов вместо ещё не загрузившейся ленты. Пользователь не успевает заметить этого.


  • Реплика из зала: У нас замена собственного спиннера загрузки (анимированного колечка) на системный привела к тому, что пользователи думают, будто приложение работает нормально, а тормоза из-за того, что телефон медленный :).



Какой индикатор загрузки лучше использовать при задержках


  • 2-5 сек = без отображения прогресса, например спиннер;


  • 5-10 сек = с отображением прогресса сколько % уже сделано, например прогресс-бар;


  • >10 сек = писать estimate цифрой (пример -- инсталлятор Windows);



Когда мы пишем юзеру estimate, важно использовать следующие цифры (Time Anchors):


1, 2, 3, 5, 10, 15, 20, 25, 30

----------------------------------->

Это “естественные длительности”, комфортные пользователю. Например, ему будет Ok если мы пишем что процесс займёт 5 минут, даже если он занял 6. Пользователь не заметит разницу инртервала меньше 20%. Если же мы напишем 6, то это привлечёт его внимание, он будет замерять интервал.  Вместо 45 минут лучше указать 1 час. Пользователь будет доволен если заметит, что реальное время будет меньше ожидаемого, но не наоборот. И т.д.


Когда мы пишем про интервал, нежелательно перескакивать через соседние значение.

Нормально писать, что загрузка займёт 5-10 минут, но не 5-20 минут. Это дезориентирует пользователя, так как 5 минут и 20 для него слишком разные активности. 5 минут это “выпить чаю”, а 20 это “сходить в магазин”. Лучше тогда писать, что загрузка займёт до 20 минут.


Использовать с пользой время ожидания:


  • Показать пользователю, что это время стоит того, и он получит что-то ценное в конце



Управление временем:

Делать быстрее→ Менять отношение → Показать что стоит ждать



Ресурсы посмотреть:



  • Лекции Андрея Короткова на YouTube


  • книга “Сюрреализм на Java Script”


  • книга “Game Engines Architecture”



?

Log in