Чук vs. Гек или противоречия парадигм
Чук vs. Гек или противоречия парадигм

Сегодня меня потянуло на вечные вопросы. Даже в сфере веб-разработки их набирается не так уж и мало. За десятилетия развития компьютерных интерфейсов люди придумали множество методов общения с пользователем и работы с данными. И вроде бы все должно быть на пользу, и все должны быть счастливы, но пользователи по-прежнему путаются испытывают дискомфорт и напрягаются.
Удивляться этому, конечно, не приходится - слишком люди разные. У всех разные способы мышления, разная степень самоорганизации и привычки думать - тоже разные. Поэтому ответы на многие вечные вопросы отличаются - в зависимости от… а вот об этом поподробнее.
Итак, сегодня рассматриваем столкновение различных парадигм, используемых при работе с информацией вообще и на сайтах в частности:
- Поиск и Просмотр
- Навигация и Структура
- Папки и Теги
- Сортировка и Фильтрация
Поиск и Просмотр
Поиск - способ добраться до нужного контента, задав сайту вопрос.
Просмотр - способ сделать то же самое через навигацию, предложенную сайтом.
Если очень приблизительно, половина пользователей предподчитает перемещение по структуре, потому что не верят в эффективность поиска, а другая половина предподчитает искать, потому что так быстрее.
На самом деле, есть сравнительно объективный критерий для выбора парадигмы для данной задачи. Он работает в большинстве случаев:
Если речь идет о собственном контенте пользователя, проще использовать навигацию (он ведь сам ее создал, верно?).
Если имеем дело с чужим контентом, проще искать.
Выводы:
- На публичной части сайта имеет смысл делать акцент на поиске. Примерами могут быть:
- Общая лента любой социальной сети на базе контента (Хабрахабр)
- Раздел пресс-релизов на копоративном сайте
- Весь Интернет (Google)
- В закрытой части сайта имеет смысл делать акцент на структуре. Примеры:
- Google Docs (навигация через папки и теги)
- Управление своими фотографиями на Flickr (навигация через теги)
- Любой сервис электронной почты (кстати, вот это на грани, на самом деле)
Навигация и Структура
Навигация - набор всевозможных меню для перемещения по сайту, проще говоря, ссылки.
Структура - реальная группировка страниц сайта в разделы и подразделы.
Очень многие пользователи быстро теряют связь между навигацией, которую видно на публичной части сайта, и структурой, которая создается в системе управления. Это происходит потому, что CMS отделяют одно от другого и позволяют редактировать независимо (для гибкости). В результате визуальной взаимосвязи нет, возникает куча недоразумений и сложность в общении.
Буквально на прошлой неделе я, в очередной раз, полчаса объяснял отличие Заказчику. Кажется, удалось донести идею :)
Папки/Рубрики и Теги
Папки/Рубрики позволяют группировать контент по теме.
Теги делают то же самое.
При этом, в обоих случаях нет ограничений на принадлежность к папкам или тегам. Любой странице можно происводит несколько тегов, но ее также можно включить и в несколько рубрик.
Принципиальное отличие (это и рекомендация разработчикам, в том числе!) - Папки/Рубрики предполагают наличие своей собственной иерархии. Внутри папки могут быть другие папки, формируя многоуровневую структуру.
К тегам правильнее относиться, как к ярлыкам. Вы можете фильтровать свой контент по нескольким тегам одновременно, но сами теги не имеют между собой никаких отношений - структура отсутствует.
Выбор парадигмы, в данном случае, определяется степенью пересечения контента. Если группы контента часто пересекаются, лучше использовать теги, и наоборот.
Сортировка и Фильтрация
Сортировка - расположение элементов в списке с определенном порядке.
Фильтрация - отсеивание из списка элементов, не удовлетворяющих заданным критериям.
Путаница здесь объясняется двусмысленностью слова “сортировка” в русском языке. В повседневной жизни этим словом обозначаются оба понятия, но в интерфейсах, как видите, есть принципиальная разница.
Поскольку бороться со стереотипами крайне сложно, есть мнение, что проще адаптировать интерфейс. Но подобные решения работают далеко не всегда.
В реальных интерфейсах, на самом деле, это не играет большой роли. Если не с первой, то со второй попытки пользователи понимают, как это работает на конкретном сайте. Сама же парадигма вполне однозначно определяется реальной задачей интерфейса: всегда понятно, что нужно сделать - отсортировать или отфильтровать.
Гораздо больше трудностей это создает во время общения внутри проектной команды в ходе разработки сайта, поэтому на начальном этапе проекта важно определиться с терминологией.
Мораль
- Давайте проектировать интерфейсы осознанно. Пользователи будут благодарны.
- Старайтесь использовать в речи и документах одни и те же слова для одних и тех же терминов и приводите примеры.
- Не пренебрегайте энциклопедиями.