x
 
Михаил
25 марта 2010

Здравствуйте!

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

Цель: увидев весь спектр результатов, сузить его, явно указав одну или несколько категорий для отображения. Сейчас речь идёт не о контекстных фильтрах рядом с выдачей (где в общем случае понятно, что ты видишь всё), а именно об отдельной странице расширенного поиска.

Как это может работать: 1) мы не говорим, а подразумеваем, что при всех снятых чекбоксах пользователь увидит всё; 2) мы вводим искусственный чекбокс «Любой», который снимается при активации исключающего чекбокса.

Я за первый вариант, второй мне кажется слишком надуманным (не понятно, оправдана ли такая тяжелая конструкция), но есть ощущение, что моему папе явное указание «Любой» помогло бы.



По-моему, надо изначально выделить всё:

Тогда проблема непонимания, о которой вы говорите, просто не возникнет.


Поделиться
Отправить

Комментарии

Алексей Мельников
25 марта 2010

Само собой напрашивается :-)

Валерий Попов
25 марта 2010

> …который снимается при активации исключающего чекбокса

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

>надо изначально выделить всё

Выделить всё можно. А если списков чекбоксов несколько? Не будет ли смотреться, как приборная доска в кабине в кабине самолета?

Что если так?

Александр Реушкин
25 марта 2010

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

Если все элементы изначально выделены, то есть смысл использовать кнопку «Снять выделение», но это зависит от размера формы.

Думаю, в каждом конкретном случае надо использовать свой вариант.

Юрий Хан
25 марта 2010

Есть ещё такой элемент управления, как <select multiple>. По умолчанию выделяем всё, пользователь при желании выделяет одним кликом то, что нужно.

Виктор Никитин
25 марта 2010

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

Алексей Егоров
25 марта 2010

Сделайте динамический вариант: если искателю подходит любой, то частные варианты показывать незачем.

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

Владимир Страшков
25 марта 2010

Артём, а почему не вот так?

Павел Супрунюк
26 марта 2010

Может, так?

Денис Хуснутдинов
26 марта 2010

Мне нравятся настройки поиска на http://kvartira.miel.ru

Там можно видеть и одновременно весь спектр, так и не видеть его вообще. И считаю, что подобные штуки нужно делать чаще (особенно обратите внимание на карту районов на сайте, но это к слову). Экономия места — раз, секси-шмэкси — два, плюсы в карму — 3. Я прав?

Александр Пронин
27 марта 2010

Дотачиваю:

Михаил Танский
30 марта 2010

Артём, спасибо вам и всем участникам дискуссии, высказавшим свои предложения.

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

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

Сейчас поясню. Базовый адрес результатов поиска выглядит так: /search?text=:текст:

Эти результаты состоят из найденных сущностей первого, второго и третьего типа. Пользователь может выбрать, какие из них он хочет видеть. Если пользователь явно не указал иного, то, как правило, ему выдаются все найденные результаты. Если мы по умолчанию проставляем чекбоксы во всех блоках параметров на расширенной форме поиска (а их может быть и десяток), то вариант запроса «покажите мне всё» будет таким: /search?text=:текст:&first=true&second=true&third=true

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

И тут появляются нюансы. Во-первых, рекламные ссылки на баннерах и тем более на сайтах партнёра хочется давать в базовом варианте — короткие и красивые (но, положим, это не критично). Во-вторых, ссылка с короткой формы поиска с сайта партнёра, подчёркиваю, не с одной, а со многих, и про некоторые мы даже не знаем (на которых лишь текстовое поле), со всеми не отмеченными чекбоксами (их там просто нет) выглядит так: /search?text=:текст: Но браузер при отмеченном чекбоксе передаёт параметр «third=true», а при неотмеченном не передаёт ничего. В результате ссылка с расширенных форм поиска на сайте, на которых пользователь снял все чекбоксы будет выглядеть абсолютно так же: /search?text=:текст: и нет технической возможности в 100% случаях отличить по этим двум ссылкам, в какой все чекбоксы осознанно сняты, а в какой пользователь их даже не видел и нужно считать, что они все выбраны. То есть проблема в том, что для того, чтобы в адрес не передавались параметры «third=true» нужно в каждой форме поиска добавлять программный код, обрабатывающий ситуацию «когда всё выбрано — в адресную строку не передаём ничего, но знаем, что всё выбрано».

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

Это была главная техническая проблема. А есть ещё чисто логическая проблема — на расширенной форме поиска с множеством параметров, в общем случае все снятые чекбоксы в одном из подобных блоков будут значить «Нуль результатов» (всё же снято), и отловить взглядом проблему будет довольно сложно пользователю, форма-то большая. А значит нужно обрабатывать дополнительный случай — показывать сообщение, что не будет найдено ничего, а этот интерфейсный «костыль» ещё более плохой, на мой взгляд, нежели виртуальный чекбокс «Любой». То есть, насколько я понимаю, в решении Артёма при снятых всех чекбоксах не должно быть найдено ничего, потому что все чекбоксы покрывают весь спектр результатов :-)

В моём же практическом случае я волевым решением решил внедрять вариант № 1 из моего примера, потому что у меня есть гипотеза, что пользователи воспринимают эти формы не в вакууме, как мы сейчас, а в психологическом юзкейсе «найти места, где мне надо что-то настроить», а блоки, где их всё устраивает, они будут просто скроллить не задерживаясь. Мы будем внимательно следить за статистикой использования (все-таки 350 000 пользователей в день), и если окажется, что даже совсем небольшая часть выделяет все галочки, значит проблема существует и всё-таки нужно будет разъяснять.

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

Александр Цебро
31 марта 2010

Здравствуйте.


31 марта 2010

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


Цель рубрики — обсуждение вопросов дизайна всех видов, текста в дизайне и взаимоотношений дизайнеров с клиентами.

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

Решение о публикации принимается один раз; мы не имеем возможности комментировать или пересматривать свое решение, хотя оно может быть ошибочно. Уже опубликованные комментарии могут быть удалены через некоторое время, если без них обсуждение не становится менее ценным или интересным.

Вот такой веб 2.0.

1




Недавно всплыло

Иногда я спрашиваю о скидке для тренировки и потому что не против шанса сэкономить 1 10 Как вы верифицируете оценку сроков от сотрудника? 1 3