Таблицы в интерфейсах. Итоги. Часть 3
А что можно сказать про анимацию и производительность? Ребята, посмотрите на Мак и Айфон. В Айфоне процессор крутится на четырёхстах мегагерцах.
Всё понятно: против анимации выступают пользователи Винды, которые не видели нормальной анимации. Собственно, я тоже при установке винды первым делом отключаю весь этот кошмар. Проблема всей анимации Винды — если забыть о чудовищном качестве реализации — её бессмысленность.
В Висте Микрософты сделали более крутую графическую подсистему, которая позволяет сделать всё плавным, поэтому на анимацию в Висте по крайней мере не так больно смотреть. Но Микрософты всё ещё думают, что анимация — это просто развлечение пользователя. Они ещё не понимают, что Дашбоард плавно прилетает из-за спины не только потому, что это круто, но и для того, чтобы пользователь понимал, что он за спиной. Они не понимают, что окна утекают в Док настолько реалистично для того, чтобы пользователь совершенно подсознательно чувствовал, что вот эта штука в Доке — это и есть его окно. Поэтому на Маке для переключения между окнами есть Экспоузей, а на Висте — эта тупая хрень с окнами, стоящими к тебе боком и заслоняющими друг друга. Про Тайм-машину вообще чего говорить — понятно, что там анимация в интерфейсе сделала продукт — первое в истории человечества приложение для бекапа, которым люди будут пользоваться.
Если кто не знает, когда у Джобса в интервью спросили, зачем они сделали в Дашбоарде, что когда бросаешь в него новый виджет, от него идут круги по воде, он ответил: Because we can. Этот ответ в три раза умнее, чем может показаться сначала. Этим ответом он дал понять, что все остальные этого не делают просто потому, что не могут. Разговоры про потерю производительности — отмазки неудачников. И, «могут» здесь означает не только техническую возможность, но ещё и умение сделать это так, чтобы это действительно выглядело хорошо и помогало в работе.
Микрософты к 2008 году так и не обратили внимания на то, что в мире существует инерция. Поэтому если бы они сделали летающие туда-сюда строчки при пересортировке, это было бы просто невнятное мельтешение.
Да, я вполне допускаю, что может быть анимация в случае с пересортировкой таблицы была бы и лишней. Но уж точно не стоит делать её «отключаемой».
Если, реализовав такой контрол, мы обнаружим, что анимация мешает (не помогает), её нужно просто убрать, совсем.
Я, сейчас, работаю с базами. Есть контрол-таблица, он показывает первые -цать строк выборки. Если нужно следующие — он тащит следующие и показывает их. Все нормально. Мне нужно пересортировать — я нажимаю заголовок — у меня обновляется запрос, вытаскиваются первые -цать записей. Это вообще нормальная работа для db-контролов.
Все замечательно. Но потенциально в таблице может быть до 100-150 килозаписей (и на некоторых площадках есть). И время, затрачиваемое на вытаскивание 10-20-100 записей, которые видны пользователю и 100-150 килозаписей, которые есть «за кадром» это немного разные времена. Для того, чтобы реализовать анимацию мне нужно вытащить первые 100 килозаписей и потом вытащить вторые 100 килозаписей. Отработать порядок их «полета» и показать анимацию. Причем, я догадываюсь, что даже отработка построения анимации здесь будет не самым страшным. Самым страшным будет вытаскивание этих тонн абсолютно ненужной информации.
Поэтому я совершенно точно знаю, что анимация тут будет не нужной и тормозной. Но конечно, если ты работаешь со списком файлов на тридцать-сто позиций, которые при этом уже лежат в оперативке — легко рассуждать о подобной возможности.
Кстати, именно поэтому для меня — странно отказыватся от обратной сортировки и алфавитной и цифровой.
Люди делают как-то, что не тормозит даже PhotoSynth (Ютюб). Технология такова, что производительность зависит только от числа пикселей, отображаемых в данный момент на экране, но не от объёма данных, с которыми ведётся работа.
Вы серьезно считаете что для отображения анимации 20-и текущих записей и 20-и записей, которые появятся после пересортировки нужны запросы в 100-150 килозаписей?
Впрочем, это моё лично мнение касательно моего собственного стиля работы.
P.S. Не купил iPhone лишь потому, что он похоже уже есть у всех вокруг. Теперь стыжусь своей Nokia E-50 на которой из софта есть только убогая читалка книг.
Да что я рассказываю, это как-то так
http://ru.youtube.com/watch?v=ZW_COtPtWg0
Второй случай — это скроллинг текста. Тут уж исключительно удобство и скорость получения информации. И то, этот скроллинг должен идти с постоянной скоростью, зависящий лишь от моего желания (безо всяких ускорений в начале и замедлений в конце(
Ну и со скрипом можно сказать о попапах, в той-же опере.
А все эти выезжающие панели, подменю, окна в панель задач, диалоги в сафари — нафиг-нафиг. не за спиной он. Когда его нет, его нет. Когда он есть — он на экране. Точно так-же, как и любое другое окно.
Все они лежат в куче где-то вне пространства, с неопределённым порядком, за исключением верхнего окна. Аналогичная ситуация с виртуальными рабочими столами (ну, разве что кроме тех случаев, когда они находятся черепицей, как и окна) Кстати поэтому и переключатель в висте бессмысленен, и все эти кварцы-бериллы в никсах — они отображают совершенно не то, что есть на самом деле.
Впрочем, я никого не заставляю следовать моей логике — на то это и «My workspace».
На самом деле, анимацию делать можно, и не во всех типах программ она должна быть отключаемой. Чисто условно программы можно разделить на два типа — первые используются как повседневный инструмент, а вторые предназначены для разового использования.
Вторым программам вообще бессмысленно иметь какие бы то ни было настройки. А вот первые должны обладать кучей настроек для кастомизации, и анимация, если она имеется, должна в настройках отключаться. Ведь если на экране действие сопровождается анимацией, то оно будет выполнено медленнее, чем без анимации. Так ведь? А я не хочу, чтобы инструмент, которым я пользуюсь каждый день, работал медленнее по сравнению с тем, как он может на самом деле работать.
А они в эппл сделали реально работающее переключение с анимацией, которое работает и видно куда деваются окна.
По времени вся эта анимация занимает меньше чем нажатие на кнопку. Зато видно что и как.