Всем снова привет. Сегодня буду рассказывать о моем любимом — о Юзабилити.
В русском языке есть этому модному слову замена — Удобство. Но когда речь идет об удобстве взаимодействия человека с компьютером, то мы сразу говорим юзабилити.
В этой статье будет рассмотрена всего лишь форма ввода даты, которая нам так часто встречается при регистрации на любом сайте. Чаще всего просят вводить свою дату рождения. Зачем всем на свете админам знать день моего рождения — неизвестно, но будем считать, что для статистики.
Сначала окунемся в историю.
Все самые первые сайты и программы предлагали пользователю вот такое поле:
Естественно, сразу возникли проблемы. Люди заполняли данное поле кто как мог и привык:
12 июля 1980 12-07-1980 07/12/80
и так далее...
Поэтому было придумано следующее:
Но некоторым было по барабану на это, другие просто не читали, то, что было написано в скобках. Тогда программисты и придумали разделить поле на три:
Вроде бы можно было облегченно вздохнуть. Но пользователи народ тупой и плевать они хотели на эти поля. По этим причинам в поле день вбивался месяц и наоборот. Кто вводил месяц числом, а кто и словом.
Разработчики призадумались и поняли что лучший способ избежать ошибок от тупых пользователей это не дать им возможности допустить их. И изобрели они вот это:
В таком виде, данная форма встречается, на большинстве сайтов, и по сей день. И вроде бы все нормально, но есть много НО.
Во-первых, она не исключает всяких там 31 февраля. во-вторых, само легко выбрать месяц, но вот день, а в особенности год выбирать очень сложная задача. Посудите сами:
Нужно долго скролировать, чтобы добраться до нужного года. А мы, ведь, стремимся к идеальности и должны адаптировать интерфейс, как для стариков, так и для младенцев. В связи с этим на многих нынешних сайтах мы видим следующее:
mail.ru
Яндекс
Всякие форумы
ebay
К сожалению, все эти формы на защищены от дурака и не исключают ввода, допустим, такой даты: 31 ноября 3450 года.
Что же мы можем сделать? А сделать можно многое. Мы можем учитывать особенности каждого месяца, а также високосный год или нет.
— Да ты ахренел! — скажут программисты.
Но я скажу, что данный модуль придется сделать один раз и потом в будущем его без проблем прикручивать к любому вашему продукту.
Но в связи с этим порядок заполнения придется поменять: сначала мы будем вводить год и месяц, а потом на основе полученных данных в список День ставить нужное количество деньков. Причем список День будет не доступен для пользователя, пока он не выберет Год и Месяц.
Ну, вроде проблем возникать не должно, пользовать по обычаю двигается слева направо.
Но проблемы еще есть. Списки Год и День все еще не юзабельны. Что мы можем предпринять?
Я придумал вот, что:
На мой взгляд, в таком списке отыскать требуемый год будет полегче — глаз легко цепляется за десятки, ну и вниз провести на несколько строчек тоже нетрудно. Нудного скроллинга нет.
Список Месяц, вроде бы, не требует ни каких модернизаций.
А вот День, можно представить в классическом календарном блоке
Естественно дни следует выводить на основе, первых двух полей.
На мой взгляд, такая форма ввода даты рождения, позволит избежать заведомо неверных дат и даст пользователю удобный ввод. habrahabr.ru/blog/ui_design_and_usability/36974.html#habracut