Интуитивно непонятный интерфейс
Дата публикации: 05/12/2008Люди используют для выполнения своей работы множество различных устройств и систем. После появления компьютеров, большую часть времени мы посвящаем взаимодействию с интерфейсами программ. И однажды был придумал термин "интуитивно понятный интерфейс"...
Но что называть словом "интуитивный"? Большинство интерфейсов строятся на метафорах, т.е. на использовании уже знакомых объектов и приемов. Именно по этой причине иконки рисуются похожими на реальные предметы. Но метафоры далеко не всегда и далеко не для всех понятий можно использовать. Скажем, изображение лупы может означать как функцию поиска, так и функцию предварительного просмотра перед печатью. И, в случае, когда подходящей метафоры нет или она неоднозначна приходится, либо использовать костыли в виде всплывающих подсказок, либо придумывать новые образы, отсутствующие в реальном мире.
Как только появляется что-то новое и незнакомое, то вся интуитивность пропадает - требуется обучение и далее появляется такое понятие как кривая обучения напрямую связанная с качеством интерфейса. Чем более сложен интерфейс, тем дольше его осваивать и тем меньше людей доберется до финишной прямой, а значит многие будут обречены неэффективно пользоваться программой.
Но каким должен быть интерфейс сложным или простым? Ответ далеко не такой простой и зависит от сложности решаемой задачи. Интерфейс, в первую очередь, должен быть адекватен решаемой задаче! Проблемы возникают в тот момент, когда мы либо чересчур усложняем задачу, либо чересчур упрощаем. Усложнение обычно встречается гораздо чаще.
Каким бы умным вы ни были, но если вы не обладаете знаниями в определенной области, скажем в органической химии, то программа для рисования химических формул вряд ли Вам покажется интуитивной. И здесь мы подходим к очень важному следствию - интерфейс должен помогать использовать знания, но не заменять их.
Любая программа предназначена для решения конкретной задачи и предполагает, что пользователь обладает определенными навыками. По этому признаку можно выделить профессиональные и обычные программы. Интерфейс первых, обычно, достаточно сложен и предполагает специальное предварительное обучение. К таким программам относятся: Adobe PhotoShop, Autodesk AutoCAD, различные языки и среды программирования. Решаемые ими задачи сложные и поэтому интерфейс таких программ тоже сложный, но будучи единожды освоенным он начинает приносить профессионалам свои дивиденды за счет ускорения работы.
С другой стороны, есть гораздо больший класc программ общего назначения, который не предъявляет к пользователю каких-то особых требований. Такие программы чаще всего используют выражение "интуитивно-понятный интерфейс" в своем описании. А на самом деле, здесь все гораздо хуже и удобному интерфейсу уделяется существенно меньше времени, чем в профессиональных программах. Выражение "к пользователю не предъявляется особых требований" следует воспринимать как тот факт, что каждый производитель программного обеспечения по своему трактует базовые навыки пользователя.
Очень часто происходит подмена понятия удобства интерфейса, фактом использования кнопок, ниспадающих списков, чекбоксов и прочих элементов графического интерфейса операционной системы. Любая программа предназначена для выполнения вполне конкретной задачи, поэтому прежде чем проектировать интерфейс, требуется эту задачу определить и осознать. Но ведь одна и та же задача решается разными людьми совершенно по-разному - в зависимости от их уровня знаний.
Скажем, можно сделать почти совершенное кодирование в формат MP3, используя множество различных технических настроек, представленных в кодеке, но в 95% случаев пользователям нужно просто закодировать этот аудиодиск в нормальном качестве. И все что им нужно для этого - просто программа с одной большой кнопкой "Создать MP3-файл". Но значит ли это, что такая программа не подойдет для профессионального использования? Вовсе нет, просто интерфейс должен быть таким, чтобы скрывать ненужную сложность. Если взять вышеописанный пример с кодированием в MP3, то решение данной задачи замечательно реализуется при помощи механизма профилей, который включает в себя оптимальные настройки для того или иного качества кодирования. А чтобы данная программа стала более профессиональной, достаточно предусмотреть механизм редактирования этих профилей.
Проблема создания интерфейса программистами заключается в том, что они ориентируются в первую очередь на свой уровень знаний и умений. Но ведь программист это далеко не средний пользователь программы и уровень его знаний на порядок больше. Более того, некоторые, кажущиеся ему тривиальными действия вовсе не являются таковыми для всех остальных. По этой причине, при разработке программ необходимо привлекать к их тестированию "обычных пользователей" и внимательно смотреть за тем как и что они делают. На решение проблемы создания удобного интерфейса большие корпорации выделяют многие миллионы долларов и любое, действительно удачное, найденное решение затем достаточно быстро копируется всеми.
Кроме программных изысканий, большое влияние оказывают и новые способы получения информации от пользователя. Сейчас наблюдается взрывной рост новых технологий подобного типа:
- Сенсорные мультитач-дисплеи
- Анализ изображений, получаемых с web-камеры
- Распознавание жестов как с мультитач-устройств, так и с web-камер
- Использование GPS-информации о положении объекта
- Использование гироскопических датчиков
Что важно, данные технологии привносят совершенно иной способ взаимодействия с виртуальной средой. В некоторых случаях они действительно упрощают выполнение нужной работы. Недаром, устройства с использованием подобных технологий превращаются в хиты продаж. В качестве примеров можно привести "iPnone" или игровую приставку "Nintendo WII", а также мультитач-стол от Microsoft. В общем, мы живем в интересное время появления совершенно новых и необычных интерфейсов.