Таблицы в интерфейсах

Иногда в интерфейсах нам нужно выводить таблицу каких-нибудь объектов. Всем знакомый пример — Проводник:

Обычная сортировка по имени

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

Сортировка по размеру файла

Если ткнуть в уже выбранный столбец, то сортировка изменит направление:

Сортировка по имени вверх ногами

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

Проблема, конечно же, в том, что такая таблица сделана на универсальном контроле, который должен работать с абсолютно любыми данными. Что можно улучшить?

Во-первых, вообще перестанем считать сортировку по алфавиту сортировкой. Просто файлы так сами по себе идут, если их не сортировать (пользователю нет дела до того, что файлы на диске лежат как попало, да ещё и фрагментированы).

Сортировка по имени - это отсутствие сортировки

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

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

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

Сортировка по дате бывает двух видов

Теперь заголовок колонки человеческим языком говорит о том, как отсортированы файлы. Он выделен жирным, а сами даты изображены на контрастном фоне, благодаря чему сортировка выделяется как «особое» отображение папки — перейдя вдругую папку, человек не растеряется, обраружив, что на диске C: после папки Windows исчезла папка Work. Повторяющиеся значения выбранного поля приглушаются, чтобы было проще следить за их изменением. Сменить сортировку на «Старые сверху» можно привычным способом.

Естественно, при изменении сортировки файлов, они должны плавно перелетать туда-сюда, меняясь местами, причём так, чтобы файлы, летящие вверх, пролетали над файлами, летящими вниз.

В комментариях предлагаю обсудить, какие ещё возможны улучшения.

Дальше
46 комментариев
Алексей Скрипник 2008

Интерфейс стал хуже.

Илья Бирман 2008

Практика показывает, что большинство людей, увидев новый интерфейс того, к чему они давно привыкли, говорят, что он стал хуже. Любимый пример — 2007-й Офис. Также практика показывает, что если человек, увидев какие-то изменения, говорит, что стало хуже, но не называет конкретных недостатков, то это нужно просто проигнорировать.

Johnny Woo 2008

Это не стрелка, а треугольник. Где у треугольника меньше, там и в таблице меньше.

Илья Бирман 2008

Это я заметил. Но я не считаю, что D меньше, чем W. Этот принцип надёжно работает только с размерами файлов.

Johnny Woo 2008

Прямая сортировка по алфавиту — от А до Я. Обычное положение треугольника — вершиной вверх. Я-А и треугольник вершиной вниз чётко воспринимаются как перевёрнутые. Хотя, конечно, с датами уже всё не так просто.

Писать направление по-человечески, конечно, лучше :) Однако это сильно увеличивает длину названия поля.

Илья Бирман 2008

Наше восприятие отличается. Для меня это стрелка, и при сортировке по алфавиту она смотрит в сторону, противоположную реальному «направлению файлов», что неправильно.

Если бы были нарисованы мелкие Я и А (Я сверху, А снизу) для антиалфавитной сортировки, я бы ничё не сказал. Собственно, я сначала так и нарисовал сам вместе стрелочки, но потом вдруг понял, что антиалфавитная сортировка не нужна, поэтому выкинул там всё.

Кирсанов 2008

Если поле, по которому вы сортируете, содержит много одинаковых значений, то обязательно нужно продумать, о втором и даже третьем порядке сортировки. Божественный медиаплеер iTunes при сортировке по исполнителю всегда сортирует ещё и по альбомам, а потом уже и по порядковому номеру трека. Счастья вам!

Илья Бирман 2008

Божественный медиаплеер iTunes, говоришь? :-)

Кирсанов 2008

Мне лично вот эти треугольнички при сортировке никогда не помогали.

Ещё понравилось то, как здорово выделено отличающееся время в последнем примере.

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

Александр Гольмаков 2008

Есть замечательная особенность в Файндере макоси, которой не хватает в винде: когда название файла не помещается целиком в таблицу, оно не обрезается многоточием в конце „очень_очень_длинно...“, а из него вырезается середина „очень_о...ное_название.файла“. Это особенно полезно, когда есть много файлов с почти одинаковым названием, различающихся только цифрами на конце.

Игорь 2008

Интерфейс стал гораздо хуже
Последняя картинка это просто абзац
Для того, чтобы решить офигенно узкую задачу — показать порядок сортировки в таблице ты умудрился применить четыре «метода» — изменение заголовка (что вообще дикость), выделение жирным заголовка, выделение цветом фона столбца и неординарную раскраску столбца.
Давай по порядку.
Во-первых изменение текста заголовка. Вместо маленького значка пикселов(ей?) в 10 ты сделал текст в десять-пятнадцать раз шире (мне, например, редко необходима такая ширина для поля даты\времени). Плюс к этому, у тебя однородные по восприятию обозначения — заголовки столбцов теперь содержат разнородные понятия — во всех, кроме одного столбца, у тебя содержание стобцов, а в одном-единственном — порядок вывода
Второе-третье. Зачем ты выделяешь стобец сортировки и цветом и жирным? имхо — вполне было достаточно одного (что и сделано в оригинале)
Четвертое — раскраска столбца. По некоторому опыту создания табличных фейсов — либо кодировать все в цвете, либо цвет вообще не трогать — иначе потом хрен разберешь, что у тебя и где. По какому принципу ты выделяешь минуты в отдельную «группу». Почему не часы? или секунды? Мне вот, например, время нужно в десять раз реже чем дата (время вообще обрезано — если надо, я могу подвести мышь и увидеть всплывающую подсказку) — почему тогда дата не выделяется? А в каталогах куда файлы добавляются понемногу — будет вообще каша непрерывная
!!Естественно, при изменении сортировки файлов, они должны плавно перелетать туда-сюда, меняясь местами, причём так, чтобы файлы, летящие вверх, пролетали над файлами, летящими вниз.!!
Мог бы сказать, что в этом естественного и для чего это нужно? Либо ты делаешь нормальную быструю сортировку и просто перерисовываешь таблицу... либо за«бываешься с анимацией, причем осмысленной... а что делать когда у тебя полтора миллиона записей в таблице?? И за какое время это должно проходить? За фиксированное? или за относительное по количеству записей? В первом случае — будет просто мельтешение, во втором замедления на больших таблицах... ну вобщем для меня это неестественно

А, ну и самое главное. Я — очень нетипичный пользователь, ибо программист.

Илья Бирман 2008

Игорь! Слишком много вопросов, и такая интонация, будто вы не особо-то хотите услышать на них ответы. Давайте по-порядку.

Первое. Я согласен, что менять заголовок — не очень удачная идея. Но задачу сэкономить пиксели никто не ставил. Можно значок упихать не в 10 пикселей, а в 3 — он от этого не станет лучше. Сейчас 10 пикселей тратятся впустую, а я трачу 100 на дело. Не вижу в этом криминала.

Второе-третье. Столбец сортировки я выделяю, чтобы сказать, что «есть сортировка» и «это особый режим», и, таким образом, отделить это от варианта, когда файлы специально не отсортированы (т. е. идут по алфавиту). Жирным я выделяю не столбец сортировки, а слова «Новые сверху», т. е. как бы название сортировки.

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

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

Станислав 2008

А, ну и самое главное. Я — очень нетипичный пользователь, ибо программист.

Игорь, простите конечно, но практика показывает, что интерфейсы, разработанные программистами без привлечения дизайнеров просто чрезмерно ужасны :)

По теме: интерфейс отличный. Выделение различий во времени просто замечательно.

Думаю, при одинаковых значениях параметра, по которому задаётся сортировка, файлы должны вторично сортироваться по имени. Там, где у файлов одна дата создания, они не сортируются. Впрочем, я не исключаю, что у них время создания различается на сотые секунды :)

Роман Ибрагимов 2008
  1. Это не стрелки «вверх/вниз», а указание направления «возрастание/убывание». Возрастание/убывание отлично ассоциируется и с буквами (название), и с цифрами (дата/размер).
  2. Если *тебе лично* не нужна обратная сортировка по имени, это не означает, что такой возможности следует лишать всех остальных.
  3. Надпись «Новые/старые сверху» воспринимается хуже/медленнее треугольника, потому что мозгу нужно время, чтобы осознать, что же ключевое слово (новые/старые) означает.
  4. Анимация должна быть отключабельна!
Алексей Иванов 2008

Интерфейс стал хуже.

  1. Сортировка по алфавиту в любом случае сортировка, и должна себя вести как остальные сортировки. Хотя бы потому что нам на нее нужно возвращаться с других сортировок. Если выбранная колонка может выглядеть двумя разными способами — это уже источник для путаницы и ошибок.
  1. Допущение что по алфавиту не нужно сортировать в обратном порядке — спорное, сам им иногда пользуюсь и знаю людей которые пользуются. К тому же даже если ей и не пользуются то вреда от нее никакого, а вот ее отключение ломает привычный паттерн работы с интерфейсом (в новом варианте смотря на колонку не знаешь заранее что с ней можно делать пока не щелкнешь).
  1. Замена заголовка на объяснение сортировки плохо по нескольким причинам:

3.1. Одинаковые данные могут иметь разное значение: Например на данной выборке дата может быть как датой создания, так и датой изменения. Сейчас нельзя сказать что это не переключившись на другую колонку.

3.2. Если название колонки и данные в ней узкие, то ширина у этой колонки скорее всего тоже узкая: Если в примере начать сортировать по размеру и не изменять ширину колонки то состояние «Больше сверху» и «Большие снизу» нельзя различить, так как будет видно только слово «Большие».

3.3. Ну и соответственно непонятно зачем увеличивать без причины длину колонки при коротком содержании — становится сложнее читать строчку таблицы при слишком большом расстоянии между колонками.

  1. У треугольника есть один большой плюс: Он универсален и предсказуем. Он может использоваться на любой колонке с данными и будет понятно что сортировка идет по ней и что можно сортировать наоборот. То что можно щелкнуть по тексту «Новые сверху» (или любому другому так как они разные для разных колонок) и сделать обратную сортировку совсем не понятно.

А то что непонятно в какую сторону оно сортируется — это на самом деле вопрос исключительно привычки как и большинство существующих метафор в интерфейсе. Думаете что использование мышки интуитивно понятно и очевидно? Как бы не так. Но вот если один раз объяснить как мышкой пользоваться, то потом с ней никаких проблем не будет. Также и с ним.

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

Илья Бирман 2008
  1. Вы правы, это неудачное решение.

3.2. Должно быть написано, что сверху. «Нов…», «Ста…», «Бол…», «Мал…» — этого уже достаточно, чтобы всё понять.

  1. Вы ошибаетесь, что треугольничек подсказывает, что можно кликнуть. Вы просто знаете это.

Про привычку — так почему же я привык к мышке, к любым элементам управления на экране, даже к отличиям в поведении Type tool в Фотошопе и Иллюстраторе, а к стрелочке привыкнуть не могу?

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

A!e% 2008

Универсальная сортировка — это вообще трындец. Я для работы делаю компонент, «грид». Это таблица, но с многострочными ячейками, со сгруппированными ячейками, с возможностью выстраивания дерева в колонке, со сложным заголовком…

Так о чем это я. А, да. Мы честно неделю пробовали придумать, что из этого не нужно, и как то, что осталось, правильно отображать. Не получилось ничего. И так непонятно, и эдак. Есть некое общее правило. Треугольничек вверх — сортировка по-возрастанию. Вниз — по-убыванию. Почему? А не знаю, но и в винде и в MacOSX так.

Писать словами хорошо, но тогда нужно позаботиться и о узких столбцах (например, как в Apple Mail’е, там дата когда помещается — словом, когда нет — цифрами). То есть помещается — словами, нет — значком.

Можно вообще вынести этот указатель за таблицу. Над/под колонкой (например для дат: наверху «раньше», внизу «позже») или сбоку от таблицы…

Alisey 2008

Я бы хотел пользоваться вашим способом уже сегодня.

Хотя если бы сам делал, то отвёл бы под сортировку отдельную строку, в которой через запятую были бы указаны критерии сортировки, и там же хватит места для текстового фильтра. Такая вот строка состояния. Каждый критерий — выпадающий список. Но можно нажать и заголовок колонки, тогда все выбранные до этого критерии сбрасываются, остаётся текущий
[Sort by date v] [then...v]

Знаете чего очень не хватает? Группировки с подзаголовками. Возьмём Оперу например. Мне часто нужно посмотреть письма от определённого адресата сгруппированные по датам. В фильтре я пишу фамилию (заметил что даты фильтр не распознаёт), получаю огромный список. Я не помню конкретный день, зато помню что тогда была долгая дискуссия. И цельный список никак не помогает найти этот день. Всё сливается воедино. Ещё злит неоднородность отображения дат в той же Опере. Теоретически это хорошая идея — использовать относительные даты. А практически это похоже на злую шутку: вот я уже дошёл до 28 марта, до 30, а потом вторник! Ну какой же вторник, если мне нужно третье число.

Владимир Епифанов 2008

Илья, а как в твоём варианте показать сначала все файлы, начинающиеся с прописных букв, потом со строчных? Или, наборот, игнорировать регистр букв? Или показывать файлы начиная с буквы «z»?

!!Во-первых, вообще перестанем считать сортировку по алфавиту сортировкой. Просто файлы так сами по себе идут, если их не сортировать (пользователю нет дела до того, что файлы на диске лежат как попало, да ещё и фрагментированы).!!

Мне кажется, что это неверно. Файлы вообще не упорядочено лежат в директории. Поэтому и возникает нужна в сортировке, причём разной.

LXj 2008

Теперь бы это перевести на английский и показать разработчикам... (не винды и макоси, конечно, но хотя бы разработчику Dolphin’а, к примеру)

Кстати, хотелось бы услышать твоё мнение: должен ли двойной клик умереть?

Илья Бирман 2008

Я не имею мнения по даблклику. Меня он совершенно не смущает. Не знаю, зачем ему умирать — есть и есть. Предлагаемые там альтернативы кажутся мне ужасными.

Pure_BY 2008

Замечания по вашей заметке

— «Стрелка вверх/вниз»: вы заблуждаетесь, сейчас как раз всё правильно. Для кого-то это стрелка, для кого-то треугольничек, для кого-то — значёк меньше/больше, как в математике (но расположенный вертикально); для меня — пирамидка. Говорит оно само за себя — показывает порядок возрастания/убывания определённого параметра данной колонки. Логично, что наименьшее число в списке будет на том же месте, где пика пирамиды (там только один камешек), а наибольшее число, естественно, у её основания (там их 10). Это подходит для всех параметров (исчисляемых и цифрами, и буквами — я не думаю, что вы будете спорить с тем, что А — это первая буква алфавита (№1), а Я — последняя (№32); %%1<32 => А<Я%%).

Так что треугольничек стоит в правильном направлении, но это не влияет на факт, что удобнее и быстрее воспринимается [Новые сверху], чем [Date ^]. По крайней мере, я говорю за себя: во втором случае у меня в голове происходит примерно такой процесс: «пирамидка пикой вверх, это значит что наверху „даты меньше“, соответственно внизу файлы старые, а новые сверху!» В вашем варианте думать не нужно, и это плюс.

— Обратная сортировка по алфавиту: ещё ни разу ей не пользовался, но не могу заявить, что она всем бесполнезна. Может быть, для чего-то хитренького это необходимо, но я даже близко представить не могу, для чего.

— Выделение колонки: согласен с Игорем: “либо кодировать все в цвете, либо цвет вообще не трогать — иначе потом хрен разберёшь, что у тебя и где”.
Идея выделять различное время/дату хороша, но цвета на мой взгляд слишком контрастны. Вместо чёрного можно было б использовать чуть более тёмный (чем основной цвет) серый.

— Перелёт файлов при пересортировке: это будет супер охуенной финтифлюшкой, но должно легко отключаться.

Свои предложения
— Оставить только имена файлов чёрными, а всю вспомогательную информацию (такую, как дату, размер, и т. п.) сделать светло-серой.
Если файлы разсортированы например по дате, сделать текст даты тёмно-серым, и выделить заголовок колонки жирным (так же, как и вы).

— Убрать все ненужные заглавные буквы в пунктах выпадающего меню (конкретно бесят), и может быть даже из заголовков колонок (тут я не уверен)

— Обязательно предусмотреть сортировку по нескольким параметрам одновременно (например, при сортировке по дате изменения, если 10 файлов изменены одновременно, чтоб можно было их сортировать и в алфавитном порядке, и по размеру, и т. п.). В μTorrent’е «второй уровень» сортировки можно настроить, зажав Shift и кликнув по нужному заголовку колонки («первый уровень» настраивается простым кликом, как в Виндоусе).
Вот только здесь проблема — как правильно обозначить «вторичную сортировку»? Исходя из того, что в моей модели file names чёрного цвета, выбранная сортировка имеет жирный заголовок и тёмно-серая, все остальные колонки — светло серые, то «второй уровень» сортировки можно было бы обозначить исключительно жирным заголовком (и оставить текст светло-серым).

1smash1 2008

Мне кажется логичным обозначать наоборот

А мне не кажется.

Обратная сортировка по алфавиту еще как может быть полезна, не стоит ее убирать.

Deepwalker 2008

Положения статьи вкратце — ограничить функциональность, сделать функционирование элементов разнобойным, забить на пользовательский опыт. Я ничего не упустил?

Роман Добровенский 2008

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

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

Кстати, я пользуюсь «антиалфавитной» сортировакой уже много лет. Не знаю почему — мне так нравится.

Улитка 2008

Зачем нужна обратная сортировка, если можно легко переместиться в конец списка?

Николай 2008

Улитка, а что если список в 50000 элементов и нужен 10-ый снизу элемент. Что удобнее: скроллить с утра до ночи или пересортировать список?

Alisey 2008

Аргумент здесь у меня простой — слова надо читать, а картинку сразу видно.

Аргумент. Ага. В закладки. Картинки лучше слов, их не надо читать. Назад к наскальным рисункам.
А ещё очень странно что доказывают логичность пирамидок, как будто эта логичность чем-то логичнее логичности стрелок.

LXj 2008

Можно было бы не рисовать ничего дополнительного, а просто подсвечивать ту колонку, по которой отсортированы данные

Кстати, идея интересная! При чём фон подсвечиваемой колонки можно делать не сплошным, а градиентным.

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

Azs 2008

Естественно, при изменении сортировки файлов, они должны плавно перелетать туда-сюда, меняясь местами, причём так, чтобы файлы, летящие вверх, пролетали над файлами, летящими вниз.

Порадовало. Улетающие на зиму на юг файлы...

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

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

Во-вторых, анимация должна отключаться вместе с отключением плавного сворачивания окошек и выезжания менюшек.

!!Практика показывает, что большинство людей, увидев новый интерфейс того, к чему они давно привыкли, говорят, что он стал хуже. Любимый пример — 2007-й Офис.!!

Илья, создай для обсуждения этой темы отдельный пост. Думаю, дискуссия будет немаленькой :)
Для затравки: http://written.ru/blog/2007/01/24/Privetuzabilist и http://written.ru/blog/2007/03/20/MSOffice2007

LXj 2008

!! (вроде бы по здравому смыслу более тёмный цвет должен соответствовать более «тяжёлым» элементам, но это также неинтуитивно, как и стрелки в заголовке) !!

Сделал набросок, и что-то мне теперь кажется, что лучше делать наоборот. Вот что у меня получилось: http://lxj.endofinternet.net/kde/wp-content/uploads/2008/04/dolphin-mockup.png

Станислав 2008

Улитка, а что если список в 50000 элементов и нужен 10-ый снизу элемент. Что удобнее: скроллить с утра до ночи или пересортировать список?

Не сочтите все присутствующие за рекламу, но есть такая мышка MX Revolution, которая позволяет пролистать 50000 элементов за 4 секунды (вот только что в Excel проверил).
Во-вторых, никто не отменял полосу прокрутки, да?

Павел Власов 2008

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

Я бы просто заменил треугольники на однозначные стрелки — мне они ближе.

Илья Бирман 2008

Как вы представляете себе однозначные стрелки?

Pure_BY 2008

Станислав: а ещё есть просто клавиши Home и End. Но если кому-то удобнее поменять алфавитный порядок — не надо его лишать этой возможности.

Я, кстати, нашёл практическое применение revedsed алфавиту — есть у тебя, например, папка, куда ты скачал подкасты, и ты хочешь, чтоб как только ты в эту папку зашёл, самый новый подкаст был сразу наверху (чтоб его быстро скопировать на, скажем, mp3 плеер). Если подкасты загружались в хронологическом порядке, то можно есс-но сортировать и по дате создания, но представь что ты их качал вручную, и некоторые пропустил, и скачал только попозже. В таком случае спасёт только reversed алфавитная раскладка.

Siberex 2008

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

Идея выделять только отличающиеся моменты при сортировке — гениальна. Только мне кажется, повторяющиеся значения чересчур приглушены.

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

Siberex 2008

Защитникам отмены антиалфавитной сортировки:
Вот, например, у меня прекрасно работают кнопки Home/End и я дотягиваюсь до них вслепую, мышь у меня — Logitech G9, которая позволяет прокрутить 5000 записей гораздо быстрее, чем за 4 секунды. Но вот когда я захожу в папку, меня это волнует очень мало, потому как я хочу видеть файлы в порядке «Я—А», а не прыгать в конец списка (а проводник, в отличие от FAR’а, скажем, ещё и выделяет элемент по кнопке «End», что есть уродство) и создавать себе в голове желаемый порядок лишь из-за того, что под рукой есть только «А—Я».

Siberex 2008

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

Артём Курапов 2008

Делаю тоже grid (как и A!e%). Тоже никогда не видел смысловой нагрузке в этих «стрелочках»-пирамидках — никакой ассоциации они не давали.. проще действительно использовать ↑↓

По теме — нажимая shift неплохо бы сортировать по нескольким параметрам (в винде это дошло только в висте.. и то с багами)

Павел Власов 2008

Однозначная стрелка, вот она:
—->
(однозначная в смысле «не перепутаешь с треугольником»).

По-моему не хуже «треугольника»... интересно сколько %% людей догоняют его символизм «здесь больше, а здесь меньше»...
______________

Отсутствие возможности обратной сортировки — интересная фича (анти-фича, хехе). В простых случаях может упростить понимание приложения; клавиши End/Home вполне себе работают, но есть пара препятствий:

  • если вывод разбит на страницы, то без реверса скорее всего не обойтись
  • если вверху есть какие-то контролы для работы с элементами, тогда трудновато будет бегать ввер-вниз (актуально для веб-страниц)
Улитка 2008

Именно такая таблица, которая обсуждается в заметке, крайне редко бывает разбита на страницы.

вова 2008

Табличный режим сам по себе используют 3 человека всего в мире. Из них одному ты решил запретить обратную сортировку по алфавиту.
А слово «противоестественно», это синоним слову «мне не нравится» но с некоей претензией на то, чтобы запретить всем остальным.

Centaur 2008

Про треугольничек. Возьмите любой утюг или холодильник с «колесом». Вокруг этого колеса нарисован такой же треугольничек, только загнутый по окружности. И у него широкая сторона указывает направление, где «больше», «сильнее».

Про индикацию словами. Я бы, может быть, попробовал нарисовать слова «Новые»/«Старые» около скроллбара, вне таблицы, а заголовки оставил в покое.

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

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

А анимацию в сад.

Степан Семёнов 2008

Не совсем в тему таблиц, но близко.
Илья, будет где-нибудь под рукой компьютер с Вистой — загляните в генетически модифицированный Проводник. Там появилась новая фича — группировка.

Например, если сортировка установлена по имени, то после включения группировки появятся, допустим, три группы: A—H, I—P, Q—Z. Чем больше файлов в папке, тем больше групп. Группы можно сворачивать, а можно и вообще отключать независимо друг от друга. И вывести таким образом на экран только файлы с названием на *A—H* и *Q—Z*.

Для сортировки по дате будут такие группы: Today, Earlier this year и A long time ago.
Ну и так далее.

Есть ещё и стэки. Это те же группы, но выведённые в отдельные виртуальные папки. Звучит страшно, но на деле здорово: в стэке Today уже можно поставить сортировку по алфавиту.

Идеи хорошие, и меня лично пару раз выручили (при том, что я в основном в Мак ОС сижу).
Но при этом всё же осталось ощущение, что над реализацией следует подумать получше.

А комментарии про анимацию интересны. Люди, по-моему, просто не видели нормальную реализацию анимации и не верят, что можно сделать хорошо. Хотя на самом деле, когда всё грамотно реализовано, то её просто не захочется выключать.Знакомые, которые сидят за Маками иногда даже зажимают Shift, чтобы полюбоваться замедленной версией :-)
Тут, знаю, сейчас мне скажут много красивых слов про быстродействие и всё такое, но я опять же не знаю ни одного человека, который бы хотел отключить анимацию на Айфоне, хотя в этом телефоне вовсе не core 2 duo вкупе с nVidia 8800.

И по поводу отключаемости фич. Если вы реализуете в программе отключение чего бы то ни было, то крепко задумайтесь. Чаще всего это значит, что эту фичу стоит отключить насовсем ещё перед первым показом программы пользователю ;-)

P.S. «Божественный медиаплеер iTunes»… чёрт, надо бы запомнить.

Илья Бирман 2008

Про Висту — обращу внимание, спасибо.

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

Улитка 2008

Теперь остается продумать как себя должна вести таблица при смене сортировки, когда прокрутка находится посередине таблицы

Илья Бирман 2008

Если выделенных курсоров элементов нет (или они остались за экраном), то при пересортировке нужно остаться в том же месте. То есть, скроллинг остаётся там же.

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

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

  • при возвращении к исходной сортировке возвращается и исходный вид (или почти исходный, если неизбежно съехало);
  • можно удобно сравнивать выбранный элемент с другими.

Если выбрано несколько элементов, то ведём себя так, как если не выбран ни один.

Кай 2008

Порадовали первые комментарии: «интерфейс стал хуже», «стрелочка-треугольничек» означает то, сё, пятое-десятое…

Мне, как бедному постоянному смотрителю этих треугольничков жалко теперь, что я останусь с треугольничками, а не с новым вариантом Ильи.

KaKTy3 2008

Новый интерфейс—ужос, выше уже расписали, почему. Особенно смешон отказ от сортировки по имени.

Илья Бирман 2008

Обхохочешься, особенно учитывая, что я не отказывался от сортировки по имени.

Станислав 2008

Я извиняюсь, но это просто писец какой-то. «Новый интерфейс стал хуже», и аргументы приводят: потому что больше места занимает, или вот еще понравилось: потому что это плохо. Апогеем всего этого маразма стала фраза: «Если выбранная колонка может выглядеть двумя разными способами — это уже источник для путаницы и ошибок». Где здесь ошибки? Какие ошибки? Я путаюсь, когда вижу треугольник вниз, а сортировка идёт вверх. Что такое восходящая сортировка? Вы такое девушке своей скажите (если она только программированием не занимается), поймёт она вас?

Я так понял, для всех, кто недоволен новым интерфейсом, идеальным покажется таблица, набранная 6-м шрифтом (чтобы место экономить), с кучей кнопочек, возможностей и служебной информации (а вдруг забудем вот это? Или вон то забудем? Все надо учесть, ага) и главное: никаких визуальных украшений и улучшений. Никакой анимации, никаких подсветок, выделений жирным. Вот будет счастье, да?

Павел Власов 2008

!!Centaur: Про треугольничек. Возьмите любой утюг или холодильник с «колесом». Вокруг этого колеса нарисован такой же треугольничек, только загнутый по окружности. И у него широкая сторона указывает направление, где «больше», «сильнее».!!

С утюгом всё проще — «треугольник» там сильно вытянут и на стрелку не похож. А наш треугольник… в какую из трёх сторон «расширяются» данные? :-)

С градиентом идея мне тоже понравилась, можно ещё стрелки фоном подложить. А указатели «здесь новые» ваще суперские :-)

Юра Ткаченко 2008

Илья, надо было просто покрасить колоку не в бирюзовый а в светлосиний или светложелтый цвет и ужоснахов было бы меньше :)

Очень нравится идея с текстом «Новые сверху», взял на воружение.

SauroN 2008

Ты бредишь :)

Стас 2008

Треугольничек позволяет увидеть идёт сортировка От большего к меньшему(это когда он направлен вниз) — убывание(против алфавита) или от меньшего к большему(это когда направлен вверх) — возрастание(по алфовиту).

Mercury 2008

Про стрелку уже написали на Хабрахабре:
http://habrahabr.ru/blog/ui_design_and_usability/40250.html

Илья Бирман 2008

Ага, видел. Напишу про это потом ещё.

Мои книги