Таблицы в интерфейсах. Итоги. Часть 3

Теперь поговорим про затронутую тему соотношения анимации и производительности.

А что можно сказать про анимацию и производительность? Ребята, посмотрите на Мак и Айфон. В Айфоне процессор крутится на четырёхстах мегагерцах.

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

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

Если кто не знает, когда у Джобса в интервью спросили, зачем они сделали в Дашбоарде, что когда бросаешь в него новый виджет, от него идут круги по воде, он ответил: Because we can. Этот ответ в три раза умнее, чем может показаться сначала. Этим ответом он дал понять, что все остальные этого не делают просто потому, что не могут. Разговоры про потерю производительности — отмазки неудачников. И, «могут» здесь означает не только техническую возможность, но ещё и умение сделать это так, чтобы это действительно выглядело хорошо и помогало в работе.

Микрософты к 2008 году так и не обратили внимания на то, что в мире существует инерция. Поэтому если бы они сделали летающие туда-сюда строчки при пересортировке, это было бы просто невнятное мельтешение.

Да, я вполне допускаю, что может быть анимация в случае с пересортировкой таблицы была бы и лишней. Но уж точно не стоит делать её «отключаемой».

Если, реализовав такой контрол, мы обнаружим, что анимация мешает (не помогает), её нужно просто убрать, совсем.

Дальше
12 комментариев
Игорь 2008

Ок, только скажи сначала, когда ты начинал это действо, ты рассчитывал на проектирование таблицы, которая показывает файлы, или все-таки делал табличный контрол, который умеет показывать все, что в него положат?
Я, сейчас, работаю с базами. Есть контрол-таблица, он показывает первые -цать строк выборки. Если нужно следующие — он тащит следующие и показывает их. Все нормально. Мне нужно пересортировать — я нажимаю заголовок — у меня обновляется запрос, вытаскиваются первые -цать записей. Это вообще нормальная работа для db-контролов.
Все замечательно. Но потенциально в таблице может быть до 100-150 килозаписей (и на некоторых площадках есть). И время, затрачиваемое на вытаскивание 10-20-100 записей, которые видны пользователю и 100-150 килозаписей, которые есть «за кадром» это немного разные времена. Для того, чтобы реализовать анимацию мне нужно вытащить первые 100 килозаписей и потом вытащить вторые 100 килозаписей. Отработать порядок их «полета» и показать анимацию. Причем, я догадываюсь, что даже отработка построения анимации здесь будет не самым страшным. Самым страшным будет вытаскивание этих тонн абсолютно ненужной информации.
Поэтому я совершенно точно знаю, что анимация тут будет не нужной и тормозной. Но конечно, если ты работаешь со списком файлов на тридцать-сто позиций, которые при этом уже лежат в оперативке — легко рассуждать о подобной возможности.
Кстати, именно поэтому для меня — странно отказыватся от обратной сортировки и алфавитной и цифровой.

Илья Бирман 2008

Дмитрий Кирсанов на днях скинул мне замечательную цитату из Дональда Нормана, которого я, к стыду, так и не удосужился сам прочитать. Это его вольный перевод:

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

Нужно найти хорошего программиста, который не будет ныть, а возьмёт и сделает: придумает как правильно сложить данные в базу, что куда закешировать, как навесить триггеры на изменение базы, чтобы поддерживать вспомогательные данные актуальными.

Люди делают как-то, что не тормозит даже PhotoSynth (Ютюб). Технология такова, что производительность зависит только от числа пикселей, отображаемых в данный момент на экране, но не от объёма данных, с которыми ведётся работа.

homm 2008

Игорь, «разговоры про потерю производительности — отмазки неудачников».
Вы серьезно считаете что для отображения анимации 20-и текущих записей и 20-и записей, которые появятся после пересортировки нужны запросы в 100-150 килозаписей?

Игорь 2008

У себя в Маке я почти сразу отключил часть анимации. Действительно некоторые штуки начинают раздражать, когда интенсивно работаешь. И кажется, что окно сворачивается не треть секунды, а целую вечность. Чисто психологический эффект.

Кай 2008

Игорь, во время работы нужно периодически расслабляться, успокаиваться и чуть-чуть медленнее «фигачить».

Впрочем, это моё лично мнение касательно моего собственного стиля работы.

haruspex 2008

Оффтопик: Calibri с отключенным ClearType ужасен.

Константин 2008

Начну немного издалека...У меня было огромное количество телефонов. Соеди них десяток смартфонов Nokia. Каждый раз я покупал их в надежде что наверное эта платформа лучше...что этот процессор быстрее. И что в результате? Я увидел iPhone и понял что все то дерьмо что я устанавливал на Symbian OS — жалкое пародие на софт. Оказывается софт на телефоне может работать быстро и быть ОЧЕНЬ комфортным. Оказывается чтобы открыть контакты нужно не 3 секунды, а НОЛЬ! Оказвыается они могут плавно прокручиваться, а не мерзостно перескакивать. Оказывается маштабирование картинок может быть в реальном времени, а интернет-страницам не нужен «недобраузер».
P.S. Не купил iPhone лишь потому, что он похоже уже есть у всех вокруг. Теперь стыжусь своей Nokia E-50 на которой из софта есть только убогая читалка книг.

Илья Бирман 2008

Меня не смущает, что Айфон у многих есть. Меня-то он от этого радовать меньше не будет.

clops 2008

Кстати, a pro pos анимация — на WII (такой же гениальный продукт как iPhone) с довольно хилым процессором анимировано изменение размера текста (ну так +- когда делаешь чтобы буквы были больше/меньше). Притом анимировано настолько доходчиво и понятно, что я сначала подумал, что это решение из Купертино. Ан нет, оказалось чисто японской инновацией. Так что да, согласен, анимация — это ОЧЕНЬ важно.

Да что я рассказываю, это как-то так

http://ru.youtube.com/watch?v=ZW_COtPtWg0

clops 2008

p.s. а новости на WII можно читать вот так http://ru.youtube.com/watch?v=uO6J8ryTKYk — тоже анимировано суперски!

Илья Бирман 2008

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

Kildor 2008

Не перевариваю анимацию. За исключением двух случаев, это маленький крутящийся шарик (как это сделано в браузерах). И исключительно с утилитарной целью, показать что «мы не зависли, процесс идёт».

Второй случай — это скроллинг текста. Тут уж исключительно удобство и скорость получения информации. И то, этот скроллинг должен идти с постоянной скоростью, зависящий лишь от моего желания (безо всяких ускорений в начале и замедлений в конце(

Ну и со скрипом можно сказать о попапах, в той-же опере.

А все эти выезжающие панели, подменю, окна в панель задач, диалоги в сафари — нафиг-нафиг.

!!Дашбоард плавно прилетает из-за спины не только потому, что это круто, но и для того, чтобы пользователь понимал, что он за спиной.!!

не за спиной он. Когда его нет, его нет. Когда он есть — он на экране. Точно так-же, как и любое другое окно.
Все они лежат в куче где-то вне пространства, с неопределённым порядком, за исключением верхнего окна. Аналогичная ситуация с виртуальными рабочими столами (ну, разве что кроме тех случаев, когда они находятся черепицей, как и окна) Кстати поэтому и переключатель в висте бессмысленен, и все эти кварцы-бериллы в никсах — они отображают совершенно не то, что есть на самом деле.

Впрочем, я никого не заставляю следовать моей логике — на то это и «My workspace».

Роман Парпалак 2008

Очередной забавный спор.

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

Вторым программам вообще бессмысленно иметь какие бы то ни было настройки. А вот первые должны обладать кучей настроек для кастомизации, и анимация, если она имеется, должна в настройках отключаться. Ведь если на экране действие сопровождается анимацией, то оно будет выполнено медленнее, чем без анимации. Так ведь? А я не хочу, чтобы инструмент, которым я пользуюсь каждый день, работал медленнее по сравнению с тем, как он может на самом деле работать.

вова 2008

!!А я не хочу, чтобы инструмент, которым я пользуюсь каждый день, работал медленнее по сравнению с тем, как он может на самом деле работать.!!
В винде такое переключение между рабочими столами как в mac будет сопровождацо моргающими окнами и кучей глюков. Ясно, что этим никто не будет пользоваться.
А они в эппл сделали реально работающее переключение с анимацией, которое работает и видно куда деваются окна.
По времени вся эта анимация занимает меньше чем нажатие на кнопку. Зато видно что и как.

Роман Парпалак 2008

!!По времени вся эта анимация занимает меньше чем нажатие на кнопку. Зато видно что и как.!!

И что? Когда я работаю с несколькими окнами и мне нужно переключиться между ними, мышью я вообще не жму. Я нажимаю ALT+TAB и оказываюсь в том окне, в котором был до этого. Какая бы то ни была анимация лишь замедлит этот процесс.

Мои книги