Смекни!
smekni.com

Windows 95 98. Пользовательский интерфейс, настройки пользовательского интерфейса (стр. 4 из 5)

4. Пользовательский интерфейс

Пользовательский интерфейс. Интерфейс (interase - средства взаимодействия, средства связи, согласования) - совокупность средств сопряжения и связи устройств компьютера, обеспечивающих их эффективное взаимодействие. Windows

Одной из главных частей ОС является интерфейс -- универсальный механизм управления любым приложением ОС, независимо от его назначения и предметной области. Интерфейс является удобная оболочкой, с которой общается пользователь. Существуют аппаратный, программный и пользовательский интерфейсы. Пользовательский интерфейс - методы и средства взаимодействия человека с аппаратными программными средствами.

Основные элементы пользовательского интерфейса Windows - рабочий стол, окна объектов, меню и диалоговые окна; вспомогательные - панели инструментов, пиктограммы, строки состояния, полосы прокрутки, линейки и т.п. Операционная система должна предоставлять пользовательский интерфейс. Как минимум она должна предоставлять командную оболочку (shell), которая дает пользователю возможность тем или иным способом запустить его прикладную программу. Однако в некоторых случаях, например, во встраиваемых контроллерах и других специализированных приложениях, такая оболочка может отсутствовать. При этом либо система вообще функционирует без вмешательства человека, либо пользователь работает только с одной прикладной программой.

Кроме того, ОС часто предоставляют средства - разделяемые библиотеки, серверы и т.д. для реализации графического пользовательского интерфейса прикладными программами. Часто, оказывается, сложно провести границу между ядром ОС и этими средствами, особенно если стандартная оболочка ОС реализована с их использованием. В некоторых системах, например в MS Windows 3.x и MacOS, практически все ядро состоит из средств реализации графического интерфейса.

В настоящее время оформилось два принципиально различных подхода к организации пользовательского интерфейса. Первый, исторически более ранний подход состоит в предоставлении пользователю командного языка, в котором запуск программ оформлен в виде отдельных команд. Этот подход известен как интерфейс командной строки (Command Line Interface - CLI).

Альтернативный подход состоит в символическом изображении доступных действий в виде картинок - икон (icons) на экране и предоставлении пользователю возможности выбирать действия при помощи мыши или другого координатного устройства ввода. Этот подход известен как графический пользовательский интерфейс (Graphical User Interface - GUI). Мы в дальнейшем будем использовать английские аббревиатуры, потому что писать полное название долго, русскоязычные аббревиатуры - кальки очень уж неблагозвучны, а выдумать короткий, корректный и благозвучный русскоязычный термин мы - скажем честно - слабы.

Разработчики современных ОС обычно предоставляют средства для реализации обоих подходов и, зачастую, оболочки, использующие оба типа интерфейсов. Однако среди пользователей предпочтение разных подходов вызывает горячие споры.

Разные категории пользовательских интерфейсов предпочтительны для людей с разным складом мышления. Например, можно предположить, что командные интерфейсы удобнее для людей с логическим складом мышления, а графические - с образным. Отчасти это подтверждается тем, что ориентированные на GUI компьютеры Macintosh в основном используются художниками, дизайнерами и другими представителями ``образных'' творческих профессий.

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

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

Во всех центрах, известных разработкой новых интерфейсов (XEROX PARC, MIT Media Lab, Apple Computer, Carnegie Mellon University), идут разработки разных концепций дизайна интерфейсов, опирающихся на возможности анимации.

Основной проблемой в интерфейсе с пользователем является синхронизация точки внимания пользователя и точки активности системы. Эта проблема должна решаться в обе стороны. С одной стороны, пользователь должен уметь сказать системе, где и что он хочет изменить (обычно это делается щелчком мыши в нужном месте). С другой стороны, система должна уметь привлечь внимание пользователя к месту наиболее актуальных изменений.

При переходе от алфавитно-цифровых дисплеев к графическим поле дисплея казалось непомерно большим и проблема синхронизации точки взаимодействия была самой сложной. Ее решение было выполнено по принципу "разделяй и властвуй". Поле экрана разбивалось на прямоугольники - окна и вся работа велась только в одном из них - так называемом активном окне. Одновременно сменилась форма текстового курсора, и, что очень важно, он начал подмигивать. Это требовалось для облегчения проблемы поиска текстового курсора в окне. Поиск же курсора мыши при его потере из поля внимания пользователь (до сих пор) выполняет подергиванием мыши.

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

Эта возможность не только теоретически осознана, но и уже около пяти лет находится в стадии экспериментального исследования. Две анимированные среды интерфейса разработаны в той самой фирме XEROX PARC, которой мы обязаны появлением идеи оконного интерфейса (и даже в группе того самого Стюарда Карда, которому принадлежит авторство этой идеи).

Одна - "Конические деревья" - является визуализацией файловой системы компьютера и похожа на систему детских пирамидок, каждый уровень которой соответствует уровню файлового каталога. Сами файлы из каталога отображаются в виде 3-мерной карусели под своим каталогом. Соль модели в том, что нужный файл можно "приблизить" поворотом карусели (может быть, не одной), идущим в режиме анимации.

Вторая модель - "Стена в перспективе" - также отображает файловую систему, но вне её иерархии, согласно двум каким-то параметрам, например частоте обращения к файлу и его размеру. Это нормальная стена, только очень длинная, разбитая на три отрезка. Средний из них отображается на экране плоско, а два крайних уходят в перспективу. Пользователь может сделать средним любой отрезок стены, причем это тоже происходит в режиме анимации. Для Карда анимация - принципиальный момент, так как "анимация сохраняет в восприятии пользователя идентичность объекта", то есть пользователь легко соотносит объекты в конечной точке движения с объектами в начальной.

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

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

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

Уже в стандартном оконном интерфейсе мы можем видеть примеры таких сигналов. При выполнении программой длительных действий курсор мыши приобретает форму песочных часов. Это - сигнал о том, что на действия пользователя система временно реагировать не будет. Второй пример - изменение изображения кнопки при нажатии на нее мышью. Это - сигнал о том, что система считает, что пользователь взаимодействует именно с этой кнопкой.

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

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

Кроме того, информационная емкость (т. е. количество разных различимых вариаций) динамических сигналов огромна. Современные дисплеи отображают миллионы цветов, но это - вещь в себе, поскольку, даже если человеческий глаз и в состоянии отличить столько оттенков, человеческий мозг не в состоянии придавать им смысл. С другой стороны, и такой простой сигнал, как мигание, имеет действительно миллионы хорошо осознаваемых оттенков, связанных с изменением яркости объекта во времени. Здесь уместна аналогия с музыкой, где из небольшого количества нот составляется неисчислимое множество мелодий.