Как стать автором
Обновить

Вам показалось! Все о Perceived Performance

Время на прочтение12 мин
Количество просмотров11K
Всего голосов 18: ↑17 и ↓1+21
Комментарии23

Комментарии 23

Вот очень, очень напрягает, когда, например, удаляешь элемент из списка, он пропадает, но на самом деле никуда он не пропал и запрос всё ещё идёт. Ещё хуже, когда бэкенд сообщил об ошибке, а фронт как ни в чём не бывало показывает что элемента нет, или, например, выводит «Ошибка» (да, тупо одно слово, за это отдельный минус), а элемент назад уже не возвращается.

Нет, ребята, я лучше посмотрю на вращающийся спиннер и подожду пока операция реально завершится — такое поведение даёт более прочное ощущение контроля над ситуацией, а не «оно там что-то как-то шурупит». Именно за это я не люблю максимально асинхронные интерфейсы — они делают что-то, чего я не понимаю и не могу контролировать, я не ощущаю работы системы, мне остаётся лишь — сюрприз! — ждать результата и гадать, а есть ли он вообще.

Бонус об интерфейсе GMail
Именно так поступает осточертевший интерфейс Google Mail. Ты удаляешь письмо и оно мгновенно пропадает. Удалилось? Да как бы не так! Пытаешься закрыть вкладку, а он тебе стыдливо так: «ну эй, братишка, подожди, я не такой быстрый, я тебя обманул… Не закрывай, пожалуйста, вкладочку, дай бэкенду удалить письмо...»
image
Давайте попробуем рассмотреть контрпример. Представьте что спинер крутиться бесконечно и лишь через 10 минут открыв консоль вы видите, что ошибку не обработали. Я не буду рассказывать сколько раз я этот пример видел в реальной жизни.

Я могу быть не прав, но мне кажется вас бесит не skeleton или optimistic updates, а просто криворукие сайты написанные на коленке :)
Давайте попробуем рассмотреть контрпример. Представьте что спинер крутиться бесконечно и лишь через 10 минут открыв консоль вы видите, что ошибку не обработали. Я не буду рассказывать сколько раз я этот пример видел в реальной жизни.

так пускай крутится сколько-то времени, а потом вываливается сообщение об ошибке (в интерфейсе). В чем проблема так сделать ?

Ну вот и я о том-же :) Бесит обычно не конкретный подход а его реализация. Ну и сама необходимость сидеть и чего-то ждать, на что-то смотреть.
Я об этом и говорил — не надо пытаться меня обмануть. Недосмотр и попытка сделать вид что всё хорошо — немного разные случаи.
Пожалуйста не используйте трюк с mousedown.
Если пользователь промахнулся по кнопке, нажал и не отпустил, то ещё есть шанс всё исправить — увести клик за пределы кнопки, события onclick не будет. Трюк с mousedown ломает этот UX.
Хорошее замечание! Но все зависит от того какое действие вы делаете на mousedown. Если переход на страницу то да — будет полных треш.

Но я говорю немного о другом. На mousedown вы можете начать скачивать ресурсы следующей страницы, предзагружать контент, в общем выполнять любую подготовительную работу и только после события click — «визуально» выполнять действие (выполнять переход, обрисовывать элементы)

PS: но с общим посылом не спорю, добавлю замечание в статью
НЛО прилетело и опубликовало эту надпись здесь
Это расшифровка доклада, скрины с презентации(

запросить презентацию в текстовом формате (PDF, PPTX)?

Взял право на редактирование. Исправил! Спасибо за терпение!
По ощущениям, ничего меня не бесит больше, чем эти самые скелетоны-плейсхолдеры. Но я не знаю, может есть аудитория, которая в восторге.
А можно конкретные примеры? Я не спорю, просто интересно :)
Больше всего, конечно, раздражают Почта России, Пятерочка и Тинькофф, которые могут сверкать этими самыми скелетонами чуть не полминуты:

Раз



Остальных набрал (не поверите) случайно. Из троицы Леруа-Озон-Хабр быстрее всех заменяет скелетоны контентом Леруа, а Озон с Хабром не особо торопятся имитировать улучшенную производительность.

Два



Ну и вообще, дело в том, что, повторюсь, меня лично вот эта имитация бурной деятельности жутко раздражает.
НЛО прилетело и опубликовало эту надпись здесь
Извучал анимацию (как правилно рисовать мультики). Так вот есть 1 интересный принцип. Чем плавнее и медленней анимация движения, тем больше кадров должно быть чтобы анимация выглядела «естественно». Соответственно, чем медленней анимация UI тем быстрее его отрисовка должна быть (больше FPS), к сожалению KDE этим не славилась (в свое время), что приводило к тому что помимо обычных проблем с производительнотью — долгая, плавная анимация делала этот UI неестественным.

Для себя сделал правило не делать долгих transiton особенно в высоконагруженных приложениях
Про аэропорт интересная история.
;-)
Учитывая, что Штатах есть два таких места:
Аэропорт Hustons в Индиане с одной грунтовой полосой аж в 700 метров.
Аэропорт в местечке Huston в Айдахо, который вертолетная площадка.
Боюсь ни в одном из них нет транспортеров или даже места для выдачи багажа.
Или речь про другую страну?

Maybe Houston, TX?

:-) Это шутка была.
Конечно Houston, но меня на секунду сбило при чтении
На сколько я понял речь о George Bush Intercontinental/Houston Airport (IAH)
Интересно, было бы ли исследования на аудитории из разработчиков — прекрасно знающей, что любые анимации и трюки типа скелетонов предназначены лишь для скрытия тормозов. Мне кажется, результаты бы заметно отличались.
К сожалению, даже если ты знаешь об этом, это все равно работает :)

Как это проверить? Посмотрите на The Coyote Illusion из секции «Обманывайте», главный элемент этой иллюзии скорости Motion Blur. Это все связанно с таким интересным эффектом как Chronostasis (это я не про мангу). Есть очень много интересных научных исследований о том как человек (довольно часто) ошибается с оценкой времени.

Время для человека — величина эмоциональная.

Ну а про популярность данных методик и говорить особо не стоит. Все онлайн игры используют Latency Compensation (Optimistic Updates). Twitter один из ярких представителей вебсайтов который использует эту технику. Про скелетоны вообще молчу. И поверьте почти за каждым из таких внедрений стоят исследования, а не слепое — давайте воткнем. Поэтому и писал что прежде чем это все внедрять стоит проверить полезность на вашем конкретном сайте. Слава богу с сервисами вроде Яндекс.Толока это не так дорого и сложно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий