Pull to refresh

Юзабилити на практике: «Введите дату»

Reading time2 min
Views15K
Всем снова привет.
Сегодня буду рассказывать о моем любимом — о Юзабилити.

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

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

Сначала окунемся в историю.

Все самые первые сайты и программы предлагали пользователю вот такое поле:

1.gif

Естественно, сразу возникли проблемы. Люди заполняли данное поле кто как мог и привык:
12 июля 1980
12-07-1980
07/12/80

и так далее…

Поэтому было придумано следующее:

2.gif

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

3.gif

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

Разработчики призадумались и поняли что лучший способ избежать ошибок от тупых пользователей это не дать им возможности допустить их. И изобрели они вот это:
4.gif

В таком виде, данная форма встречается, на большинстве сайтов, и по сей день. И вроде бы все нормально, но есть много НО.

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

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

mail.ru
6.gif

Яндекс
71.gif
Всякие форумы
8.gif

ebay
9.gif 

К сожалению, все эти формы на защищены от дурака и не исключают ввода, допустим, такой даты: 31 ноября 3450 года.

Что же мы можем сделать? А сделать можно многое. Мы можем учитывать особенности каждого месяца, а также високосный год или нет.

— Да ты ахренел! — скажут программисты.

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

Но в связи с этим порядок заполнения придется поменять: сначала мы будем вводить год и месяц, а потом на основе полученных данных в список День ставить нужное количество деньков. Причем список День будет не доступен для пользователя, пока он не выберет Год и Месяц.
10.gif

11.gif

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

Но проблемы еще есть. Списки Год и День все еще не юзабельны.
Что мы можем предпринять?

Я придумал вот, что:

121.gif

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

Список Месяц, вроде бы, не требует ни каких модернизаций.

А вот День, можно представить в классическом календарном блоке

13.gif

Естественно дни следует выводить на основе, первых двух полей.

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

Буду рад любым комментариям.
Tags:
Hubs:
+46
Comments200

Articles