Решил пописать на тему, в которой не являюсь никаким гуру (в остальных, то есть, как бы являюсь :-) ), но которая меня сильно интересует, и в которой я успел нахвататься там и здесь всяких полезных вещей. Это я о юзабилити. Хочу делиться своими соображениями и очень расчитываю на комментарии настоящих юзабилистов!
Сегодня -- мои мысли про ценность стандартных контролов в формах на веб-страницах.
Стилизовать стандартные контролы очень любят многие дизайнеры, потому что считается, что стандартные контролы выглядят уродливо. Однако при этом забывают о том, что любая их стилизация автоматически уменьшает удобство пользования. Намного ли -- отдельный вопрос, но то, что уменьшает -- это практически обязательно. Сами дизайнеры любят с этим спорить, говоря, что их новый контрол на самом деле даже более удобен, потому что вот он теперь умеет так и эдак, а стандартный не умел. Или выглядит теперь более заметно и привлекательно.
Но проблема в том, что изменение того, как контрол выглядит, а иногда и того, как работает, означает, что пользователь не может без оглядки использоваться навыки работы, которые он выработал для стандартных контролов. Вместо этого он сталкивается с каким-то новым поведением, которое требует от него прерывать то, что он хотел делать и напрячься, чтобы выучить новый контрол, который может вести себя в разной степени непредсказуемо. Вот это несоответствие поведения системы ожиданиям пользователя и есть один из главных факторов, влияющих на ее юзабельность (в минус влияющих).
Все это, видимо, выглядит крайне теоретично и, возможно, не очень убедительно :-). Поэтому я приведу пару примеров, которые, собствено, и натолкнули меня на написание этой статейки.
Текстовый контрол на toodoo.ru
Вчера я зарегистрировался на toodoo.ru. Не помню уже, зачем именно, тем более, что откровенно считаю, что для создания блогерского сообщества не надо ничего, кроме блогроллов, пинг-беков и комментариев. Но сервис этот, в целом хороший, я просто хочу использоваться как иллюстрацию, не более того.
Есть там страничка, где добавляются в блогролл блоги, которые я читаю. Адрес блога вписывается в стандартный текстовый контрол, нажимается Enter -- все. Удобно. Если бы не одно "но". Этот контрол изменен: в нем сделано значение, вписанное по умолчанию -- "http://".
Видимо, это сделано для удобства: если кликнуть туда мышкой, то не надо вводить "http://" вручную. Но по сути ввод адреса вручную -- это чуть ли не самый редкий вариант использования этой функции. Чаще адрес будет переноситься из clipboard'а, и там "http://" уже будет. В этом случае, правда, можно обойтись таким мудреным движением: не просто кликать в поле, а кликать и, не отпуская кнопки, уводить курсор влево. Тогда предзаполненный текст будет выделяться и полностью заменяться новым вставленным.
Но мне это не помогло, потому что я пытался использовать этот контрол совсем по-другому. Поскольку весь блогролл, который я хотел перетащить в toodoo.ru, находится у меня на странице блога, я решил сделать так:
- расположить два окна браузера рядом, в одном -- toodoo.ru, в другом -- мой блог
- хватать ссылки из своего блогролла мышкой и перетаскивать их прямо в текстовый контрол
- второй рукой нажимать Enter
Естественно, так не вышло, потому что текст ссылки со своим "http://" добавлялся справа от предзаполненного.
А теперь, пока вы еще не успели придумать всех синонимов к слову "извращение" для описания моего способа, я перейду к сути этого примера :-).
Что я хочу показать, так это то, что эти самые простые и уродливые стандартные контролы на самом деле не такие простые, какими кажутся. Они вылизывались во всех графических средах не самыми глупыми инженерами многие годы и умеют уйму всяких мелочей для того, чтобы удовлетворять запросы самых разных пользователей. Я согласен, что перетаскивание ссылок из окна в окно -- не самый естественный способ для очень большого числа людей, но он очень естественнен для меня. Не потому, что мозги набекрень, а потому что я никогда, работая в оконных средах, не раскрываю окна на весь экран. Поэтому я привык к очень частому использованию drag-n-drop'а и мне не надо задумываться и полусекунды, чтобы подвинуть окошки. Только и всего :-). Хотя надо отметить, что люди с мозгами набекрень имеют то же право пользоваться компьютерами, что и остальные.
К авторам toodoo.ru. Не возьмусь судить, как там все внутри устроено, но если есть возможность, почему бы не разрешить юзерам вводить URL'ы и с "http://" и без, а добавлять его уже на сервере.
Некрасивый скроллер
На главной странице моего блога в текущем дизайне в шапке есть блок последних комментариев, у которого есть скроллер.
Чаще всего этот скроллер вызывают реакцию в духе, что это, мол, некрасиво. Особенно в самом верху. Но отказываться от него я пока не собираюсь. Потому что именно его стандартный вид однозначно опознается людьми, как скролл-бар. А это значит, что:
- юзер тут же знает, что внизу в блоке есть еще текст, и до него можно доскроллиться
- что важнее, юзер, которого не интересуют комментарии, точно знает, что в этом блоке никакого другого смысла нет, и на него можно не обращать дальше внимание
Можно было бы сделать скроллер в стиле дизайна шапки, но тогда он отнимал бы слишком большое внимание на выяснение того, что это такое, означает ли для пользователя что-то нужное, и если да, то как им пользоваться. Мне кажется, что это излишне.
Резюме
Стандартные контролы удобны. Во-первых, потому что привычны. Но также и потому, что воплощают в своей реализации достаточно сложные инженерные компромиссы между разными способами их использования. Попытки любого отдельно взятого дизайнера улучшить их, опираясь только на свой собственный опыт и привычки, почти всегда обречены на то, что это удобство вылезет чем-то неприятным для людей, которые привыкли к чему-то другому. Поэтому на сайтах, которые я делаю, я с большой неохотой заменяю стандартные контролы на что-то другое. Обязательно нужна какая-то веская причина, чтобы компенсировать неудобство от изучения нового интерфейса его большей эффективностью.
softwaremaniacs.org/blog/2006/08/03/standard-controls/