Считается хорошим тоном иметь кнопки одного размера и аккуратно расположенные, чтобы вынудить пользователя каждый раз прочитывать текст. Исключением, подтверждающим правило, является кнопка OK, которая смотрится не как текст, а как изображение (иероглиф). Не случайно ни в одной из известных мне локализаций надпись на этой кнопке не переводится на другой язык.
Чтобы понять, что разнообразие не означает эстетического нарушения, посмотрим на пульты дистанционного управления телевизора или видеомагнитофона. В них кнопки разбросаны в кажущемся беспорядке, имеют разный размер, большинство обозначено пиктограммами, а текст остальных очень короток (например, Play) и тоже скорее играет роль пиктограммы. Пульты дистанционного управления тем не менее приятно смотрятся и вполне легки в пользовании. При этом пользователи этого интерфейса как раз те самые, для кого мы задумываем наш новый интерфейс с компьютером.
Понятия среды и понятие метафоры близко связаны. Если среда по виду и некоторым опорным элементам будет напоминать пользователю что-то уже знакомое, он сможет быстрее приспособиться к ней. Вместе с тем выбранная метафора может продиктовать все изобразительные решения дизайна интерфейса. Однако следует остерегаться фотографической похожести среды в компьютере с выбранной метафорой. (Тут есть аналогия с живописью.) Все-таки компьютерная среда – искусственна и полностью повторить все элементы взаимодействия из физического мира не удастся. А фотографическая похожесть может спровоцировать пользователя на то, чтобы пользоваться этой искусственной средой в точности как той, которую она напоминает. В первый же раз, когда пользователь натолкнется на различие, он испытает тяжелый психологический шок, который может привести к полному отторжению системы.
В этом секрет непопулярности многих компьютерных игр с прекрасным изобразительным рядом. А вот другие игры, скажем Тетрис и столь же популярные сегодня Color Lines (шарики), имеют очень простую и условную среду, обеспечивающую психологический комфорт пользователя.
Тут мы подходим к еще одному важному принципу построения дизайна интерфейса – балансу между интерактивными возможностями программы и сложностью ее изобразительного ряда. Так же как при создании игр главным является баланс между сложностью игры и ее увлекательностью, выработка которого занимает основное время, так и в интерфейсе должен обеспечиваться баланс между функциональными возможностями программы, возможностями манипуляции ею и ее изобразительным рядом.
Простая программа не имеет права сложно управляться, это очевидно, но она и не имеет права на слишком изощренную графику – грех, типичный для сегодняшних продуктов.
Сложная картинка психологически готовит к сложной жизни с программой.
Из этого, кстати, не следует, что у сложной программы должна быть изощренная графика и сложные пути взаимодействия. (Важное напоминание – мы разговариваем не о программах, предназначенных для профессиональной деятельности!) Лучше эту сложность "вытаскивать" постепенно, подобно кролику из шляпы или подобно наращиванию уровней в компьютерных играх.
Пользователь простит вам обман, заключающийся в том, что простая на первый взгляд программа постепенно приоткрывает свои новые (в том числе и интерфейсные) возможности. Это может получиться случайно, когда пользователь по привычке попробует прием, освоенный в общении с другой программой, и с радостным удивлением обнаружит, что ваша программа правильно разобралась в том, чего он хотел. Похожий эффект может стать и естественным развитием среды, когда из освоенных простых действий пользователь сделает заключение, что должно существовать и некое сложное, и программа снова обрадует его взаимопониманием. Важно, чтобы эти сложности не лезли в глаза при первом знакомстве с программой, отпугивая новичка. Таким образом, картинка на экране остается прежней, а возможности пользователя расширяются.
На самом деле, с этой позиции хорошо видна основная проблема оконного интерфейса. Все интерфейсные элементы заявляются с самого начала, они всегда присутствуют на экране. Чтобы пользователю легко было с ними взаимодействовать, они должны занимать на экране заметное место (а то трудно будет попасть в них мышью). В итоге места для содержательной информации о среде и функциональности остается совсем мало, а экран производит впечатление рабочего стола, который давно не разбирали.
Правда, и в стандартном оконном интерфейсе есть пара спрятанных интерфейсных элементов, например элементы изменения размеров окон. Но дизайнеры этого интерфейса сочли эти элементы исключением из правил, хотя на их базе можно строить очень неплохие среды, конечно оставляя главные элементы "видимыми".
Если у читателя создалось впечатление, что я ругаю оконный интерфейс, то это не так. Я использую его как всем известный источник аналогий и примеров. Оконный интерфейс был в начале 80-х столь же революционным и сыграл столь же положительную роль, что и текстовый интерфейс 70-х.
Просто всему свое время. сегодня вычислительные возможности машин позволяют разработчику интерфейсов пользоваться средствами, о которых полтора десятка лет назад страшно было подумать.
Во всех центрах, известных разработкой новых интерфейсов (XEROX PARC, MIT Media Lab, Apple Computer, Carnegie Mellon University), идут разработки разных концепций дизайна интерфейсов, опирающихся на возможности анимации. Прежде чем описывать их, я хочу изложить свою точку зрения на "физику интерфейса", однажды уже опубликованную, но которую уместно здесь повторить.
Основной проблемой в интерфейсе с пользователем является синхронизация точки внимания пользователя и точки активности системы. Эта проблема должна решаться в обе стороны. С одной стороны, пользователь должен уметь сказать системе, где и что он хочет изменить (обычно это делается щелчком мыши в нужном месте). С другой стороны, система должна уметь привлечь внимание пользователя к месту наиболее актуальных изменений.
При переходе от алфавитно-цифровых дисплеев к графическим поле дисплея казалось непомерно большим и проблема синхронизации точки взаимодействия была самой сложной. Ее решение было выполнено по принципу "разделяй и властвуй". Поле экрана разбивалось на прямоугольники-окна и вся работа велась только в одном из них – так называемом активном окне. Одновременно сменилась форма текстового курсора, и, что очень важно, он начал подмигивать. Это требовалось для облегчения проблемы поиска текстового курсора в окне. Поиск же курсора мыши при его потере из поля внимания пользователь (до сих пор) выполняет подергиванием мыши.
На самом деле, и тот, и другой способ используют тот очевидный факт, что движущийся предмет легче привлекает внимание. Но главным способом локализации внимания пользователя было геометрическое разбиение экрана, в частности потому, что более активное использование анимации в то время казалось фантастикой. Сегодня же не видно никакой причины не привлекать внимание пользователя движением в нужной точке экрана. В конце концов, во многих приложениях используются разные формы динамики изображения, которые называются модным словом мультимедиа.
Эта возможность не только теоретически осознана, но и уже около пяти лет находится в стадии экспериментального исследования. Две анимированные среды интерфейса разработаны в той самой фирме XEROX PARC, которой мы обязаны появлением идеи оконного интерфейса (и даже в группе того самого Стюарда Карда, которому принадлежит авторство этой идеи). Одна – "Конические деревья" – является визуализацией файловой системы компьютера и похожа на систему детских пирамидок, каждый уровень которой соответствует уровню файлового каталога. Сами файлы из каталога отображаются в виде 3-мерной карусели под своим каталогом. Соль модели в том, что нужный файл можно "приблизить" поворотом карусели (может быть, не одной), идущим в режиме анимации.
Вторая модель – "Стена в перспективе" – также отображает файловую систему, но вне ее иерархии, согласно двум каким-то параметрам, например частоте обращения к файлу и его размеру. Это нормальная стена, только очень длинная, разбитая на три отрезка. Средний из них отображается на экране плоско, а два крайних уходят в перспективу. Пользователь может сделать средним любой отрезок стены, причем это тоже происходит в режиме анимации. Для Карда анимация – принципиальный момент, так как "анимация сохраняет в восприятии пользователя идентичность объекта", то есть пользователь легко соотносит объекты в конечной точке движения с объектами в начальной.
На это свойство анимационного интерфейса следует обратить особое внимание. В графическом интерфейсе пользователь имеет дело с последовательностью картинок. Программисты, хвастаясь скоростью своих программ, замеряют время, "теряемое" между картинками. Однако психологи, занимающиеся интерфейсом, говорят о совсем другом времени, – времени, когда пользователь может начать взаимодействие с новой картинкой на экране. В этот интервал входит не только время вывода новой картинки на экран, но и время осознания ее пользователем, ведь определенное время и усилия тратятся пользователем на то, чтобы понять, как каждая следующая картинка соотносится с предыдущей.
Анимация за счет увеличения времени перехода от одной картинки к другой (а именно времени анимированного преобразования картинок) существенно сокращает время осознания новой картинки. В психологическом смысле новой картинки и не существует, существует преобразованная старая, а так как все преобразования шли "на глазах у изумленных зрителей", то пользователь практически немедленно готов к взаимодействию.
Существует еще одно свойство анимационного пользовательского интерфейса, которое существенно улучшает его полезность по сравнению с графическим интерфейсом, а именно динамически визуальные сигналы.