Лекция № 8. Элементы графического пользовательского интерфейса
К основным элементам графического интерфейса относят: окна, меню, линейки инструментов, или инструментальные линейки, планки инструментов (tool bar), представляющие собой наборы пиктограмм, выбор которых инициирует какое-либо действие, линейки прокрутки (scroll bar), и элементы управления (controls): кнопки (buttons), в том числе кнопки команд (command buttons), кнопки настройки (options buttons), переключатели (radio buttons), наборы значений (value sets), выключатели (check box), списки (list box), текстовые зоны (text box), спиннеры (spinners) и др.
Кнопкой называется элемент управления, позволяющий выбрать опцию или вызвать событие (например, запуск подпрограммы). Все взаимодействие пользователя с кнопкой ограничивается нажатием.
Командные кнопки(Push Buttons) – нажатие на такую кнопку запускает какое-либо явное действие (кнопки прямого действия). Изображаются в виде прямоугольника, в центре размещается короткое текстовое сообщение (слово), поясняющее, какое именно событие инициирует нажатие кнопки. Командная кнопка имеет три состояния: нормальное (кнопка доступна, но еще не активирована пользователем), нажатое (активированное) и недоступное (неактивное) (если недоступна функция, закрепленная за кнопкой, или если кнопка расположена в фоновом окне).
Чекбоксы(Checkboxes) и радиокнопки (Radio buttons) – кнопки отложенного действия, т.е. их нажатие не инициирует какое-либо немедленное действие, с их помощью пользователя вводят некоторые параметры, которые скажутся после, когда действие будет запущено другими элементами управления. Главное отличие состоит в том, что радиокнопки являются кнопками единственного выбора, а чекбоксы – множественного. В группе радиокнопок как минимум одна кнопка должна быть проставлена по умолчанию. Радиокнопки отображают наборы состояний, они никогда не инициируют действия. Причем эти наборы должны быть статичны (т.е. не зависеть от контекста). Всегда объединяются в группы (предпочтительно от двух до семи кнопок).
Вариантом реализации радиокнопок и чекбоксов являются списки (list boxes) – специализированные средства управления, которые отображают раскрывающиеся перечни значений (часто с присоединенными слайдерами, чтобы перемещаться вверх или вниз по списку) и позволяют пользователю выбирать значение из списка, или вводить другое значение в присоединенное текстовое поле. Списки – удобный и компактный элемент интерфейса, который занимает минимум места на экране и в то же время несет большую информационную нагрузку.
Списки бывают пролистываемыми и раскрывающимися, причем пролистываемые могут обеспечивать как единственный (аналогично группе радиокнопок), так и множественный выбор (чекбокс); раскрывающиеся же работают исключительно как радиокнопки. Скорость доступа к отдельным элементам и наглядность в списках принесены в жертву компактности (они экономят экранное пространство, что актуально, если количество элементов велико) и расширяемости (простота загрузки в списки динамически изменяемых элементов делает их очень удобными при разработке интерфейса, поскольку позволяет не показывать пользователю заведомо неработающие элементы).
Самым простым вариантом списка является раскрывающийся список. Раскрывающиеся списки обладают одним существенным достоинством, кроме общих достоинств списков: малая высота списка позволяет с большой легкостью визуально отображать команды, собираемые из составляющих.
Другим, более сложным вариантом списка, является пролистываемый список. Пролистываемые списки могут позволять пользователям совершать как единственный, так и множественный выбор.
Списки единственного выбора.Список единственного выбора является промежуточным вариантом между группой радиокнопок и раскрывающимся списком. Он меньше группы радиокнопок с аналогичным числом элементов, но больше раскрывающегося списка. Соответственно, использовать его стоит только в условиях «ленивой экономии» пространства экрана.
Списки множественного выбора.Реализованы в интерфейсах многих программ, достаточно удобны, позволяют выбрать несколько вариантов из набора предложенных.
Комбобоксы. Комбобоксами (combo box), называются гибриды списка c полем ввода: пользователь может выбрать существующий элемент, либо ввести свой. Комбобоксы бывают двух видов: раскрывающиеся и расширенные.
Поля ввода(edit text fields). Вместе с командными кнопками, чекбоксами и радиокнопками, поля ввода являются основой любого интерфейса.
Слайдеры (Sliders) или ползунки - элемент управления, состоящий из полосы прокрутки (slider bar), показывающей допустимо возможное значение изменяемого параметра (например, яркость или контрастность изображения), и индикатора (ползунка), показывающего текущее состояние. Слайдеры могут быть горизонтальными или вертикальными, перемещение индикатора может быть квантованным или нет. Ползунки незаменимы, если пользователям надо дать возможность выбрать значение, стоящее в хорошо ранжирующемся ряду, если значений в ряду много или нужно передать пользователям ранжируемость значений.
Крутилка (spinner, little arrow) – элемент управления, который позволяет пользователю уменьшать или увеличивать значение некоторой величины. Крутилки также могут содержать поле ввода, не такое универсальное, как обычное, не позволяющее вводить текстовые данные, но зато обладающее двумя полезными возможностями.
Во-первых, чтобы ввести значение в крутилку, пользователю не обязательно бросать мышь и переносить руку на клавиатуру (в отличие от обычного поля ввода). Поскольку перенос руки с место на место занимает сравнительно большое время (в среднем почти половину секунды, к тому же ещё и сбивает фокус внимания, отсутствие нужды в клавиатуре оказывается большим благом. Во всяком случае, ввод значения в крутилку с клавиатуры достаточно редок, т.е. пользователи воспринимают крутилки целиком и полностью положительно. Во-вторых, при вводе значения мышью система может позволить пользователям вводить только корректные данные, причем, что особенно ценно, в корректном формате. Это резко уменьшает вероятность человеческой ошибки. Таким образом, использование крутилок для ввода любых численных значений более чем оправдано.
Меню – это метод взаимодействия пользователя с системой, при котором пользователь выбирает из предложенных вариантов, а не предоставляет системе свою команду. Соответственно, диалоговое окно с несколькими кнопками (и без единого поля ввода) также является меню.
Существую несколько различных классификаций меню, но основной интерес представляю только две из них. Первая классификация делит меню на два типа:
ü Статические меню, т.е. меню, постоянно присутствующие на экране. Характерным примером такого типа меню является панель инструментов.
ü Динамические меню, в которых пользователь должен вызвать меню, чтобы выбрать какой либо элемент. Примером является обычное контекстное меню.
В некоторых ситуациях эти два типа меню могу сливаться в один: например, меню, состоящее из кнопок доступа к меню, могут работать и как статические (пользователи нажимают на кнопки), и как динамические (пользователи вызывают меню).
Вторая классификация также делит меню на два типа:
ü Меню, разворачивающиеся в пространстве (например, обычное выпадающее меню). Всякий раз, когда пользователь выбирает элемент нижнего уровня, верхние элементы остаются видимыми.
ü Меню, разворачивающееся во времени. При использовании таких меню элементы верхнего уровня (или, понимая шире, уже пройденные элементы) по тем или иным причинам исчезают с экрана. Например, диалоговое окно с меню может перекрывать элемент управления, которым это меню было вызвано.
Статические меню из первой классификации, как правило, обеспечивают высокую скорость работы, лучше обучают пользователей, но зато занимают место на экране. Напротив, с динамическими меню ситуация обратная. Во второй классификации первый тип (меню, разворачивающиеся в пространстве) обеспечивает большую поддержку контекста действий пользователей, но эта поддержка обходится в потерю экранного пространства. Второй тип более бережно использует пространство, но зато хуже поддерживает контекст.
Окно – выделенная область экрана, визуально разграничивающая одновременно выполняемые процессы.
В настоящее время различают следующие типы окон:
ü главные окна программы
ü окна документа
ü режимные диалоговые окна
ü безрежимные диалоговые окна
ü палитры
ü окна браузера (поскольку используемая в интернете технология существенно отличается от технологии ПО, этот тип окон стоит несколько особняком).
Элементы окна
Окна, помимо областей с элементами управления, имеют некоторые общие элементы, главными из которых являются строки заголовка окна, строки статуса, панели инструментов и полосы прокрутки.
Строка заголовка. Текст и, в меньшей степени, пиктограмма заголовка играют важную роль в ПО (они заведуют переключением задач) и очень важную в интернете (заведуют навигацией). С переключением задач всё просто и сложно одновременно. Просто, поскольку правило тут простое «Релевантное выводится в первую очередь». Поскольку пользователю нужен именно конкретный документ конкретной программы, а вовсе не программа просто (окна документов, не попадающие в переключатель задач, нехороши), названия документов, как более релевантные, нужно выводить в первую очередь. Наоборот, сложность состоит в том, что из-за жесткости интерфейса Windows много не сделаешь. Тем не менее, сокращать название программы нужно безусловно.
Строку заголовка можно использовать для вызова функций, которые нужны только наиболее опытной аудитории: нажатие на пиктограмму в строке заголовка вызывает раскрывающееся меню. При этом меню для опытных пользователей будет отделено от меню общего назначения, что снижает вероятность вызова новичками (они могут даже не догадываться о существовании такого меню).
Также важно понимать, что тот факт, что пользователи редко читают заголовки окна, вовсе не означает, что заголовки пользователям не нужны. Напротив, хороший заголовок может здорово облегчить понимание работы диалога. Поэтому наличие на экране заметного и адекватного заголовка окна часто оказывается очень полезным. Жалко только, что в обычном Windows интерфейсе места под него нет.
Строка статуса является, пожалуй, самым недооцененным элементом интерфейса (во всяком случае, способы её использования в интернете существенно портят статистику). В действительности строка статуса предназначена для двух вещей: она может быть либо собственно строкой статуса, т.е. отображать текущее состояние системы, либо быть панелью инструментов для опытных пользователей (или же делать и то, и другое). Разберем это подробнее.
Отображение текущего состояния системы. Практически каждая система имеет свойства, либо зависящие от документа, либо изменяющиеся со временем. Например, в иллюстративных программах объекты имеют какие-либо свойства, причем не все эти свойства показываются. Другой пример: когда система долгое время занята, она должна показывать пользователю индикатор степени выполнения. И, наконец, самый простой пример: пользователь текстового процессора имеет право знать, на какой странице документа он сейчас находится. Эффективнее всего выводить всё это в строке статуса.
Строка статуса особенно интересна как место вывода индикатора степени выполнения. Существует занятная закономерность: по месту вывода индикатора выполнения можно определить качество интерфейса системы: если индикатор выводится в строке статуса, то система обладает в целом хорошим интерфейсом, если же индикатор выводится в другом месте – плохим.
Панель инструментов для опытных пользователей.Зачастую система обладает функциональностью, которая с одной стороны важна, а с другой – способна свести с ума неподготовленного пользователя. Обычно это касается не столько собственно функций, сколько режимов работы системы. В таких случаях строка состояния является отличным решением проблемы. С одной стороны, делая переключатели режимов непохожими на поля вывода (знаете ли вы, например, что метки ЗАП0, ИСПР, ВДЛ и ЗАМ в статусной строке MS Word не только индикаторы?) можно снизить вероятность ошибочного переключения. С другой стороны, если уж пользователь нечаянно щелкнет на переключателе, он сразу же увидит изменение его вида и впоследствии, вероятно, сможет переключиться назад. С еще одной стороны, опытный пользователь сможет переключаться между режимами так же легко, как если бы он переключался через панель инструментов.
Полоса прокрутки – элемент окна, осуществляющий перелистывание его содержимого. Не очень удачный, с точки зрения удобства работы, элемент интерфейса. С появлением мыши со скрольным колесиком необходимость в полосе прокрутки значительно снизилась.
При создании полосы прокрутки необходимо учитывать следующие требования.
· Размер ползунка должен показывать общий объем пролистываемого документа.
· Стрелки на полосах должны быть спаренными, т.е. обе стрелки должны находиться рядом, а не на разных сторонах полоски. Это один из случаев, когда логичность интерфейса вступает в противоречие с эффективностью. Если при перелистывании была допущена ошибка, спаренные кнопки позволяю минимизировать перемещение курсора к стрелке, ведущей в обратную сторону.
· Если невозможно сделать динамическое изменение области просмотра при пролистывании, необходимо показывать текущее место положение пользователя во всплывающей подсказке. Обратите внимание, что местоположение подсказки при перемещении курсора должно оставаться неизменным.
· Необходимо обеспечить обработку погрешности перемещения курсора. Когда пользователь курсором перемещает ползунок, а смотрит в это время на документ, курсор может сойти с полосы. До определённого момента (смещение на 30-70 пикселей) система должна такое смещение игнорировать.
Панели инструментовпредставляют собой наборы пиктограмм, выбор которых инициирует какое-либо действие.
Все панели имеют следующие достоинства:
ü они позволяют пользователям быстро вызывать нужные функции мышью
ü они позволяют пользователям меньше задействовать память
ü они повышают визуальное богатство интерфейса
ü они ускоряют обучение работе с системой (по сравнению с раскрывающимся меню) благодаря своей большей наглядности.
Зато они имеют и недостаток: занимают много места на экране, так что поместить в них всё, что хочется, невозможно. Решить эту проблему можно двояко. Во-первых, можно (и нужно) помещать в панель только наиболее часто используемые команды (возможность индивидуальной настройки панели пользователем). Во-вторых, панель можно сделать зависимой от контекста действий пользователя. Можно использовать оба способа, т.к. они не противоречат друг другу.
Панель инструментов нежелательно делать единственным способом вызова функции.
В настоящее время нет технической проблемы с помещением в панели произвольных элементов управления (остался только один ограничитель – размер помещаемых элементов), так что последние преграды, мешавшие делать сложные панели, исчезли. Этим стоит пользоваться, поскольку это позволяет экономить время, уходящее на открытие и закрытие диалоговых окон, и повышать интегральное качество взаимодействия с системой (пользователям нравится пользоваться сложными панелями).
Дата добавления: 2021-11-16; просмотров: 467;