Графический интерфейс

 

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

Впервые Графический интерфейс был предложен учёными из исследовательской лаборатории Xerox PARC в 1970-х. В 1973 году в лаборатории Xerox PARC собирают молодых людей, недовольных политикой США (война во Вьетнаме) и дают свободу исследований. В результате на свет появляется концепция графического интерфейса WIMP (Windows, Icons, Menus, Point-n-Click). В рамках этой концепции создаётся компьютер Alto.

Графический интерфейс со своей многозадачностью был использован в 1985 году в операционной системе AmigaOS.

К этому виду интерфейсов относятся такие системы как, Mac OS, Solaris, GNU/Linux, Microsoft Windows, NeXTSTEP,

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

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

Первый - это десктоп. Десктоп - это окно, которое имеет максимальные размеры и занимает весь экран. Как пример можно рассмотреть 2 скриншота системы Microsoft Windows.

 

Рис.3. Оконная система ОС Microsoft Windows 98. Окно занимает максимальную область десктопа.


На рисунке 3 видно, что внизу, на панели задач, в данный момент открыто множество других окон.

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

 

Рис.4. ОС Windows 98. Открыто и отображается сразу несколько окон.

 

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

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

Вообще графический интерфейс представляет собой рабочий стол - экран - поверхность стола, бумаги и документы - окна. Значит проблемы “традиционных столов” остаются, ведь обычно рабочий стол всегда завален кучей разных бумаг, и отыскать в этом всем нужный документ недельной давности ох как нелегко. То же твориться и на столе виртуальном (Рис 4). Пока на столе (экране) один документ (рис.3) то можно спокойно работать, но когда их количество переваливает за десяток... Перекрытие как метод отображения сразу нескольких документов не только не решает проблему, а наоборот, еще и усугубляет ее, так как нужно следить за тем, какой из документов/окон сейчас активен, а поиск в “мешанине" окон тоже не очень приятен. Вот это и есть еще один существенный недостаток оконных систем с перекрытием окон - трудность с расположением и навигацией между отдельными окнами.

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

Следует упомянуть ещё об одном скрытом минусе графических оконных систем. При их использовании возникает так званый эффект "когнитивной перегрузки" - когда на экран выводиться столько различной информации, за которой нужно следить, да еще и в разных частях дисплея, что пользователь просто теряется, "глаза разбегаются". Нужно следить за курсором, держать во внимании панель инструментов, где и какая кнопка нажата, следить за индикатором раскладки клавиатуры, за самой клавиатурой (Caps Lock), одновременно нужно знать, какое окно активно, и что делает система в данный момент. Это большой поток информации, за которым сложно следить. Кроме того, чтобы выполнить любую элементарную операцию, нужно найти курсором (значит, перевести внимание на него, но другие элементы, описанные выше тоже нужно держать в поле зрения) пункт меню или нужную кнопку, попасть на неё, удостовериться, что курсор находиться именно над той кнопкой, которую нужно нажать, а если это ползунок перемещения, то не останавливая нажатия, одновременно следить за тем, как исполняется команда. Часто бывает, что пользователь попадает по ненужной кнопке или пункту меню, вследствие чего приложение совершает не ту команду или вообще закрывается. Стандартизация элементов пользовательского интерфейса Windows по идее ее создателей должна было навести лад среди приложений и избавить пользователей от изучения нового интерфейса при переходе на новую программу. В какой то мере Windows сделал своё дело, и по крайней мере закрыть, минимизировать, раскрыть окно сможет каждый пользователь и с любой программой. Но все другие кнопки имеют стандартный цвет и размер. Примерно одинаковое размещение и функциональное предназначение приводит к тому, что пользователи очень часто даже не смотрят на кнопку, прежде чем ее нажать, срабатывает подсознательный рефлекс. И получается так, что разработчики некоторых программ определяют совсем другую функциональность для кнопок, с которыми пользователь знаком и не думает о том, что у неё совсем другая функциональность. Получается, что стандартизация элементов пользовательского интерфейса имеет и отрицательные стороны - пользователь зачастую даже не взглянет на надпись, которая находиться на той или иной кнопке. Получается что программа, в которой разработчики определи другие функциональность для кнопок, знакомых пользователю, переходит с категории утилит в разряд вредоносных программ. Если пользователь запустит описываемую программу в своей операционной системе и нажмёт не ту кнопку, то последствия могут быть не самыми лучшими, например, пользователь нажмёт кнопку с функцией форматирования жёсткого диска. Вот основные минусы графических интерфейсов:

Затруднена работа с несколькими окнами;

когнитивная перегрузка - на экране находится не только много не нужных элементов, но и главным образом тех, которые нужны, и на которых нужно в идеале одновременно концентрировать внимание;

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

большие трудности при смене общего стиля оформления системы;

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

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