Usability или китайская грамота для разработчика
Когда же наконец придумают компьютеры, которые по голосовой команде "Блииииин!" отменяют последнее действие???
Честно говоря это и просто и в то же время сложно. И в основном связано с человеческой природой. Человек не хочет искать то что должно быть на поверхности. Человек хочет добиваться своих целей за наименьшее количество шагов.
Википедия нам говорит, что
Юзабилити — понятие в микроэргономике, обозначающее итоговый уровень удобности предмета для использования в заявленных целях. Термин имеет связь с понятием «эргономи́чность», но в отличие от последнего меньше ассоциируется с технической эстетикой, с внешним видом и более привязан к утилитарности «юзабельного» объекта.
Мы используем множество различных утилит и программ и хотим использовать их эффективно. Зачастую мы не задумываемся, как производятся основные операции во множестве приложений, иногда же наоборот - сильно материмся и возмущаемся если что-то простое и понятное спрятано далеко и глубоко.
Я за свою жизнь никогда не смотрел в мануал к офисным продуктам. Не, все таки смотрел пару раз – когда задачи были нетривиальные. Тогда вспомним мультимедиа – неужели кто-либо видел как выглядит хелп для винампа? Или медиа плеера? Для среднестатистического пользователя это очень частая ситуация, когда человек вообще может не знать о существовании какой-либо документации.
Юзабилити пользвательского интерфейса
Здесь приведу пару советов по usability из собственного опыта, в основном касающихся пользовательского интерфейса.
Совет №1. Следите за доступностью функциональности приложения
Как бы дублирование – оно плохо. Ну, всех разработчиков с младенчества учат, что если код начинает дублироваться – его нужно рефакторить. И если в программировании есть слишком много путей чтобы разработчик добился конечного результата – это тоже плохо. Так как выбор во многих случаях не только делает жизнь разнообразной, но и зачастую сильно запутывает. Но как ни странно, это относиться к Usability только частично. Чем больше вариантов у пользователя сделать одну и ту же операцию – тем лучше. Если вы создаете новое действие в меню – возможно есть смысл также его сделать добавляемым в часто используемый тулбар. А как же мы разочаровываемся, если апликация не дает нам вызвать контекстного меню! Поэтому контекстное – тоже важное. И хоткеи! Особенно для часто используемых операций. Ведь некоторые гики наверное до сих пор не научились пользоваться мышкой.
Помниться во время демо презентаций своих приложений мне часто приходилось оправдываться, отвечая на вопросы типа “а почему я не могу здесь сделать так?”, “а кому сказать спасибо, что мне приходиться кликнуть трижды, а не раз?”, “где здесь контекстное меню?”. Вспоминая эти вопросы хочется только поблагодарить тех, кто их задавал. Ведь процесс движения к лучшему юзабилити експириенсу – это постоянный процесс, для которого применима фраза “нет предела совершенству”.
Совет №2. Чем меньше опций – тем лучше
Казалось бы это утверждение противоположно предыдущему. Но это совсем не так. Сейчас попробуем это подтвердить.
Вся эволюция пользовательского интерфейса и средств работы с ним строет вектор, указывающий на упрощение интерфейса. Простой пример – визуально VS 2010 теперь написана с помощью технологии WPF. Стал ли такой дизайн намного цпрощать работу в данной версии? Как по мне – не сильно. главные преимущества видны при работе с несколькими мониторами и на маленьких экранах – скролинг текста и выносимые за границы приложения окна выручают. Я не удивлюсь, увидев в следующей версии студии рибон панели вверху. Сначала будет непривычно, появиться волна возмущений, но молодые разработчики. которые только первый раз ту студию увидят – решат что так и надо. На экране, который видно пользователю, нужно показывать только те действия, которые он может выполнить на этом экране. Ну, утверждение довольно простое. Стремление к простоте во всех ее начинаниях. Объясняется опять таки стремлением не запутать себя, их, всех.
Например, зачем мне блок который позволяет настроить FTP доступ на скрине, где я сохраняю настройки проекта?
Совет №3. Дефолтные значения на страницах приложения должны быть рабочими
Как бы вроде просто. Но не всегда ведь можно увидеть что совету следуют. Например вы вызываете какой-то супер мего скрин настроек. Даже при инсталяции приложения. Смиритесь, даже если дизайнеры рисовали визард инсталяции 400 человекочасов – все равно конечный пользователь в 90% случаев захочет проскакать их за 2 секунды. И многие даже не ожидают, что в них что-то нужно будет выбрать, вписать, отметить! И желательно чтобы эти ваше настройки не ставили за основную цель ломать что-то в системе :).
Совет №4. Стройте визуальную иерархию приложения
Самое главное должно быть наиболее видимым. Да еще и желательно под фокусом.
Выделите основной элемент управления, который будет выполнять основное действие. Подсветите его.
Например это будет кнопка:
Обратите внимание, кнопка самая яркая и сразу привлекает внимание. Что в принципе здесь имеет смысл.
А вот еще один интересный пример:
Как видите, кроме основной кнопки “далее” есть список, который выполняет важную роль – его айтемы подсвечиваються не так ярко. Также кнопка “добавить еще” имеет фон – для дополнительного привлечения внимания. Зачем? Ответ: совет юзабилити консультанта. Иначе пользователи во многих случаях не замечали бы вообще этой кнопки, которая приносила полезный в контексте скрина функционал.
Совет №5. Создавайте документацию даже при высоком Usability
Я участвовал в нескольких успешных проектах. Первым человеком, который обратил мое внимание на юзабилити был менеджер из израильской компании. Как бы смешно, но этот же человек заставил меня написать наибольшее количество документации к приложениям.
В первом релизе невозможно предусмотреть все. Год за годом компания выпускает новые релизы, которые все больше ориентируються на конечного пользователя. Очень велика вероятность, что после релиза 3-ей версии в документацию уже никто смотреть не будет. Но в начале – это обязательно. Ведь тогда ваш саппорт сможет невинно потупить глазки и сказать – это указано в пункте 148 документации в разделе ЧАВО :).
Совет №6. Ориентируйтесь на целевую аудиторию приложения
С одной стороны, целевая аудитория не имеет в этом вопросе никакого значения. Будь вашим пользователем домохозяйка или специалист информационных технологий – все захотят простоты. Даже домохозяйки наверное меньше будут возмущаться, если им укажут на какую-то статью в knowledge base.
С другой стороны, мозги у всех повернуты по разному. Соответственно, то что будет абсолютно понятно для девушки называющей компьютер “большой гудящий монстр” и для гика, который называет его “моя прелесть”. Здесь конечно проще обратиться за помощью к Usability /UI дизайнерам, и уже у них получить конкретные рекомендации о страшных квадратных кнопках и выпадающих списках в форме облачков.
Совет №7. Дайте кому то попробовать свое приложение
Этот процесс в массах называется Юзабилити-тестированием.
Юзабилити-тестирование — метод оценки удобства продукта в использовании, основанный на привлечении пользователей в качестве тестировщиков, испытателей и суммировании полученных от них выводов.
Скажем, в век скрама и тесно связанных команд легко на пол дня даже в дев environment-е привлеч к себе человека который вообще не варился в общем котле с дизайнерами и разработчиками приложения. Надо просто сесть рядом, обьяснить жертве цель работы приложения. Если человек понял суть и по 30 мин тратит на то чтобы освоить доступный функционал каждого скрина – все плохо. Если только 15 – вы на верном пути, товарищи!
Выводим выводы
Меня добивают некоторые “удобные” сайты. Меня добивает, когда в моем любимом месенджере трилиан я не могу просто скопировать контактный номер аськи или электронный адрес. Многие вещи радовали бы нас намного больше, если бы они были доступнее с точки зрения юзабилити.
С помощью дружественного по отношению к пользователям сайта вы завоевываете их доверие, а плохой сайт может его только подорвать. Многочисленные исследования показали, что те сайты, которые созданы в соответствии с правилами юзабилити, наиболее популярны и имеют более высокую статистику посещений, а в случае интернет-магазинов юзабилити еще и непосредственно влияет на объемы продаж.
Очень хорошая аналогия с паралельным соеденением проводников – наибольше количество тока пройдет через тот из проводников где сопротивление будет минимальным. Как говорил професор схемотехники – ток выбирает путь человека – простейший.
И помните! Когда вы разрабатываете ПО, в первую очередь оно должно быть удобным для Вас. Если вы разрабатываете например графический редактор – вы должны получать наслаждение от использования онного, а не втихаря юзать МС Пейнт!
Полезные ссылки:
Хабрахабр, профильные блоги:
http://habrahabr.ru/blogs/ui/
http://habrahabr.ru/blogs/design/
User Centered Design, сообщество
http://ru-ucdesign.livejournal.com/
Родная Википедия:
http://en.wikipedia.org/wiki/Usability
Что такое юзабилити сайта и почему это так важно?
http://webstudio2u.net/ru/design-web/93-useability.html
http://reminnyi.blogspot.com/2011/04/usability.html