Лекция № 1

Тема: "Правила проектирования визуального интерфейса приложения"

 

План

1. Требования к элементам интерфейса

2. Требования к проектированию окон

3. Использование в интерфейсах цвета

4. Подсказки и контекстно-зависимы справки

 

 

1. Требования к элементам интерфейса

Кнопки

Взаимодействие с кнопкой ограничивается нажатием на нее.

Чем больше кнопка, тем выше скорость работы и ниже - вероятность ошибок. Имеет значение и зазор между кнопками. Хуже, если пользователь не только нажал не на ту кнопку, но и «зацепил» при этом соседнюю. Кнопка может иметь несколько состояний:

 

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

Названия кнопок (за исключением стандартов наподобие "ОК") должны быть глаголами или отглагольными существительными. Стандарты бывают путаными: при наличия "ОК", "Применить" и "Отмена"» кнопка "Применить", фактически, превращает кнопку "ОК" в "Закрыть", потому что все действия уже сделанны. "Отмена" после "Применить" также почти никогда не работает.

 

Флажки и переключатели

Флажки и переключатели являются кнопками отложенного действия. Есть несколько простых правил использования:

На панелях инструментов применяются флажки в виде кнопок.

 

Списки

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

 

Комбобокс (выпадающий список)

Гибрид списка с полем ввода: пользователь может выбрать существующий элемент или ввести свой.

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

 

Поля ввода

Поля ввода является основой любого интерфейса. В результате, требований к ним довольно много:

 

Меню

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

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

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

Пиктограммы в меню помогают обучать пользователям, если они повторяются с помощью кнопок на панели инструментов. Однако, они лучше работают, когда ими оснащенны только важные элементы меню.

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

Вид элемента должен подсказывать - произойдет действие или раскроется подменю («Выбрать...»).

Группировка элементов должна помогать найти элемент. Правильная группировка отвечает на вопрос:

 

 

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

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

 

2. Требования к проектированию окон

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

Существуют следующие типы окон:

Модальные окна раздражают пользователя: в случае, если такое окно открыли по ошибке, его приходится закрывать. Безрежимные окна приходится делать «плавающими» поверх других, чтобы пользователь не забывал о них (не заслонял окнами документов). Палитра, в сущности, является безрежимным окном, из которого убрано все лишнее. Перемещая по экрану палитры, пользователь индивидуализирует интерфейс, который создает иллюзию управляемости и успокаивает пользователя. Однако если палитра закрывает важные элементы, ее приходится двигать с места на место постоянно, даже если она закрывает не весь элемент, а только малую его часть. Прикрепив палитру к краю экрана, можно получить панель инструментов.

Заголовок окна имеет важное значение для переключения между открытыми окнами средствами операционной системы: пользователь должен иметь возможность узнавать окно по начальному тексту заголовка.

Панели инструментов имеют следующие достоинству:

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

Рекомендуется самые важные кнопки кнопки делать в виде пиктограммы и текста ( к тому же в них проще попасть мышью), а другие в виде только пиктограмм (для опытных пользователей) или только текста (для неопытных).

Строка статуса может как отображать состояние системы, так и быть эффективной панелью инструментов.

 

 

 

Структура окна

Существует ряд устоявшихся традиций расположения элементов в окнах:

Увеличение площади окна за счет применения закладолк имеет некоторые особенности.

Многооконные приложения

Сложное приложение не может ограничиваться одним окном. Поэтому, прежде всего, вам нужно разрешить проблему управления окнами.

Есть две разные модели приложений: с интерфейсом одного документа (SDI) и с интерфейсом множества документов (MDI).

 В большинстве случаев нужно отдавать преимущество интерфейсу SDI. Этот интерфейс не обязательно предполагает наличие действительно только одного окна, как в приложениях Windows, типа «Калькулятор». Такое приложение, как «Проводник» Windows, также есть SDI приложением, но в нужные моменты оно создает вторичные окна для поиска файлов или папок, задания параметров, просмотра свойств файлов и других целей.

 С другой стороны, у приложений MDI тоже есть свои преимущества. Хороший пример такого приложения – Microsoft Word. В приложении MDI есть родительское (первичное) окно и ряд дочерних окон (окон документов). Бывают ситуации, когда выгодно отображать информацию в нескольких окнах, которые совместно используют элементы интерфейса (например, меню или инструментальные линейки). Окна документов управляются и ограничиваются родительским окном. Если вы уменьшаете размер родительского окна, то дочерние окна могут исчезать из поля зрения.

Случаи, когда нужно использовать модель MDI, довольно редки. Прежде всего, это следует делать только тогда, когда все дочерние окна будут содержать идентичные объекты – например, текстовые документы или электронные таблицы. Не применяйте MDI, если вы собираетесь работать в приложении с дочерними окнами разного типа (например, текстовыми документами и электронными таблицами одновременно). Интерфейс MDI предназначен для очень узкого диапазона приложений, в которых все дочерние окна однородные (как в Word или Excel). Адаптироватьь его к чему-то другому не выйдет. В конце концов, нужно отметить, что Microsoft не поощряет разработку новых приложений MDI ( в основном потому, что было написано слишком много плохих программ этого типа).

 

Последовательность фокусирования элементов

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

 

3. Использование в интерфейсах цвета

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

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

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

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

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

 

4. Подсказки и контекстно-зависимы справки

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

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

 

Вопрос для самоконтроля

 

1. Какие  требования при создании кнопок вы знаете?

2. Какие  требования при создании флажков, переключателей и списков вы знаете?

3. Какие  требования при создании меню вы знаете?

4. Какие типы окон вы знаете? Дайте их характеристику.

5. Какие рекомендации относительно организации структуры окон вы знаете?

6. Приведите рекомендации относительно создания закладок.

7. Какие  типы приложений с точки зрения многооконного интерфейса вы знаете?

8. Что такое последовательность фокусирования элементов.

9. Приведите основные правила использования цветов при создании интерфейса.

10. Дайте характеристику такому элементу интерфейса как система помощи.