Блог по Ruby in Rails

блог по Ruby on Rails


среда, 20 мая 2009 г.

Юзабилити: формы: выбор страны и города

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

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

Итак, начнем!

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

Как правило, в большинстве селектов, страны и города находятся в алфавитном порядке, что крайне не допустимо! К примеру, если наш сайт ориентирован сугубо на русскоязычного пользователя (Россия, Украина, Белоруссия, Казахстан, Молдова и т.д.), то имеет смысл расположить названия стран не в алфавитном порядке, а в порядке популярности сайта в этих странах. Для примера, возьмем статистику с сайта соц. сети Habrahabr, где на первом месте находится Россия. На втором – Украина, на 3м-Белоруссия и т.д. Хочу заметить, что не все страны необходимо размещать в порядке популярности сайта среди их населения. Различие в 1, 2, 5% - не принципиальны, мы выбираем лишь те страны, которые основной приток посетителей, их то мы и помещаем в начало списка, их то и сортируем по популярности, все остальные, размещаем в алфавитном порядке. Это значительно облегчает поиск страны проживания, а следовательно делает заполнение формы более удобным.

Теперь давайте займемся городами!Города также как правило, размещаются в алфавитном порядке. Сортировка городов в может проходить двумя способами:

1)Сортировка городов по популярности сайта среди их жителей. Для Habrahabra и человека выбравшего в качестве страны проживания – Россию, список городов будет выглядеть следующим образом: 1=>Москва, 2=>Санкт-Петербург, 3=>Екатеринбург, 4=>Челябинск, 5=>Казань, все остальные города находятся в алфавитном порядке. Для Украины это выглядит при мерно так: 1=>Киев, 2=>Одесса, 3=>Харьков, 4=>Днепропетровск, 5=>Донецк.



2) Второй способ сортировки городов в заключается в добавлении в форму дополнительного поля select, которое берет на себя функцию выбора области, в этом случае поле выбора города содержит лишь города принадлежащие данной области с областным центром на первом месте, а остальные города можно разместить как в порядке популярности сайта среди их населения, так и в алфавитном порядке. Для своей родной Днепропетровской области, я бы сделал следующий порядок городов: 1=>Днепропетровск (население 1 039 000), 2=>Кривой Рог (население 682 000), 3=>Никополь (население 127 000), далее по алфавиту.

Предупреждение: подобная сортировка годится лишь для сайтов, которые не привязаны к определенному городу ! Если сайт посвящен г. Кривому Рогу, то на первом месте должен быть именно Кривой Рог т.к. основной трафик будет идти именно с этого города.

Внимание! Города, которые находятся вне алфавитного порядка рекомендуется каким-либо образом выделить, либо другим фоном, либо разделителем.

Внимание! Сортировка областей и городов может происходить не только по популярности среди их населения с айта, но и по численности населения, либо численности пользователей интернета, либо по их активности. Так, не смотря на то, что Харьковская область является 2й по численности населения в Украине, в нашем списке на 2м месте может оказаться Одесская область т.к. там больше пользователей интернета. Такая сортировка также допустима!

Ну вот, вроде с этим разобрались, остались лишь некоторые вопросы.

1. Стоит ли писать на звание стран, областей\штатов, городов на языке это й страны?

Ответ: может, стоит, а может, нет! Все зависит от того, что это за сайт. Если сайт не имеет перевода интерфейса на другие языки, то нет смысла псать названия городов и стран на их собственном языке. Та кже такой перевод названий не имеет смысла, если сайт одноязычный, к примеру, Хабрахабр – одноязычный сайт, на нем 100% материала публикуется на русском языке, а значит и посетители сайта в 99,99% - люди, знающие русский язык. Для таких сайтов, как Google, Yahoo, FaceBook, YouTube, MySpace, Twitter и т.д. имеет смысл писать названия стран, городов и т.д. на языке родной страны. Все это из-за того, что эти сайты не имеют привязки к определенной стране, и имеют перевод интерфейса на другие языки. Эти сайты стремятся захватить мир, а значит, их интересуют все люди, даже те, которые не знают английский язык.

2. В Индии население равно примерно 1 млрд. человек, в Индии английский язык – второй национальный, в Индии очень много людей имеют доступ к интернету, почему тогда индия не находится в начале списка англоязычных стран?

Ответ: Дело в том, что такие страны, как Индия и Китай имеют свои аналоги практически всего, что существует в западном мире, эти-то аналоги и являются наиболее популярными! Из-за этого, Индия и не попала в начало списка, а могла бы и попасть, если бы число посетителей было бы пр иблизительно таким, как в США, Англии и т.д. Например, на бирже фриланса – elance.co m, очень много посетителей – индусов, для таких сайтов, Индия обязательно будет находится на 2, 3,… 5 месте.

3. Что лучше, размещение городов в порядке популярности сайта на их территории, или по количеству проживающих в том, или ином городе жителей?

Ответ: Безусловн о, лучше сортировать по популярности сайта среди жителей того, или иного города, но в случае, когда разница в популярности не так велика, а численность города X больше численности города Y, причем, достаточно значительно, то допускается их обмен местами, не смотря на то, что в городе Y больше посетителей сайта. Это связано с тем, что город X имеет больший потенциал.


Совет: Отслеживайте IP с которых обращаются к вашему сайту и на основе IP-адреса, подставляйте для форм значения по умолчанию. Если IP-адрес принадлежит российской зоне, то имеет смысл автоматически выбрать в select'е выбора страны Россию, если IP – украинский, то Украину и т.д. Это ускорит заполнение формы пользователем.

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


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

UPDATE: Второй способ сортировки городов с использованием <select'a> выбора области\края и т.д. применим не во всех случаях, т.к. существуют города не принадлежащие какой-либо области. В таком случае необходимо либо отказаться от использования <select'a> выбора области, либо еще более усложнить форму, либо добавить "ненормальные" города вверх списка областей при этом выделив их.

Интересное в блогах:
Блог allgn.ru: интересная статья о том, как заработать в интернете.
egoholic.ru: Я рассказываю про Мобильный маркетинг.


Внимание! Самый активный комментатор по итогам месяца получает от меня место под баннер (125х125) на месяц, допускаются только баннеры блогов или собственных веб-проектов. Учитываются только качественные комментарии «по теме». Второй и третий по активности комментаторы получают соответственно 3 и 2 постовых.




10 комментариев:

  1. На мой взгляд, добавление выбора области - излишнее нагромождение.
    Хорошим вариантом будет сделать что-то типа combobox'а с помощью ajax. При наборе названия города или страны предлагать возможные варианты.
    При этом есть спорный вопрос: разрешать ли пользователям добавлять свои наименования, которых не оказалось в списке.

    ОтветитьУдалить
  2. Полезная статья. Спасибо. Иногда еще полезно оставлять посетителю возможность ввести свое название населенного пункта, если алгоритм обработки допускает; страшно обидно, когда хочешь выбрать город, а авторы его не знают, не предусмотрели и т.д.

    Петрович.

    ОтветитьУдалить
  3. >> Как правило, в большинстве селектов страны и города находятся в алфавитном порядке, что крайне недопустимо!
    К сожалению, так как это действительно делают в большинстве селектов, пользователи к этому привыкли. Поэтому, когда ты сразу прокручиваешь список вниз, чтобы выбрать Россию и не можешь ее найти - несколько обескураживает. Как минимум, нужно хотя бы отделять первые элемент списка от остальных (которые в алфавитном порядке) разделителем.

    ОтветитьУдалить
  4. Felix, полностью с вами согласен, безусловно, необходимо каким-либо образом выделить элементы списка находящие вне алфавитного порядка следования. Спасибо за замечания и предложения. Жду новых=) Когда еще соберется немножко - сделаю апдейт статьи на основе всех замечаний и предложений.

    ОтветитьУдалить
  5. "полезно оставлять посетителю возможность ввести свое название населенного пункта, если алгоритм обработки допускает" - но тогда нужно создать какую-то запоминалку, чтобы например если один пользователь ввел название населенного пункта он добавлялся в базу, другому регистрирующемуся уже не придется мучатся и вводить заново он просто выберет из списка.

    ОтветитьУдалить
  6. Делать города и страны в виде справочников с возможностью слияния - и никаких проблем)

    ОтветитьУдалить
  7. "Делать города и страны в виде справочников с возможностью слияния - и никаких проблем)"
    - Не понял вашу идею

    ОтветитьУдалить
  8. Прошу прощения.
    Это касается предыдущего комментария и не конкретно юзабилити форм, а реализации хранения и модерации списков городов или стран.
    При добавлении какого-то нового города, мы выводим его в общий список, но при этом возможны дубли (если человек не заметил нужного города в списке) или неправильное написание. Для таких случаев и нужна модерация с возможностью исправить такие моменты.

    ОтветитьУдалить
  9. Насчёт перавых 5-ти пунктов - я бы поспорил. Если поле не заполненно - чисто на автомате прокручиваю вниз до буквы р/r. Даже если Россия первым пунктом идёт. Не думаю, что я один.
    Так что имеет либо выбрать страну на основе IP (хотя тут спорно. не у всех ip совпадает с местонахождением) Либо выбрать по IP и поставить на её место, второй - самый популярный, остальные по алфавиту. Имхо, много вариантов не по порядку вызывают ощущение бардака.

    ОтветитьУдалить
  10. А можно вопрос? Как сделать, чтобы длина полей (в Вашем случае "Страна" и "Город" была одинаковой вне зависимости от контента? Спасибо заранее.

    ОтветитьУдалить