Проблемы, возникающие на этапе разработки прототипа GUI и варианты их решения
Учет особенностей устройств ввода/вывода информации, используемых пользователем, например:
размер экрана монитора
разрешение экрана
цветовая палитра
характеристики звуковой (качество воспроизведения речи) и видеокарты (скорость вывода при анимации)
вид мыши (с роликом или без)
тип клавиатуры (“прямая”, “косая”)
необходимость дополнительного оборудования (штрих-декодера, светового пера сенсорного экрана и др.).
Специфика интерактивных элементов, связанная с выбором платформы, стандартных библиотек:
программная организация ввода/вывода информации
изменение и создание новых элементов форм (контролов)
приобретение нестандартных библиотек у других фирм.
Выбор технологии и методов ведения диалога программы с пользователем:
степень активности пользователя при взаимодействии (автоматический режим или перехват управления программой на себя, визарды, обеспечение доступа ко всем средствам интерфейса независимо от действий пользователя)
степень учета ситуации (контекстные подсказки, меню дальнейших событий или объектов, запоминание типичных путей диалога)
устойчивость, терпимость к ошибкам пользователя путем исправления типичных ошибок
дублирование вручную отдельных функций системы и дополнительные контрольные процедуры работы отдельных режимов
настройка ПИ на различный уровень подготовки пользователя (образность или метафоричность предметной области в противовес сокращениям и горячим клавишам)
степень адаптивности ПИ под предпочтения пользователя (изменение способа и порядка отображения, перекомпоновка экрана, выбор отдельных характеристик (стиля) и пр.)
настройка ПИ на специфику задачи (новый формат данных, изменение набора объектов, дополнение атрибутов объектов)
Размещение информации и управляющих элементов в поле экрана, в окне. При композиции экрана необходимо учитывать ограниченные размеры пространства экрана, в связи с чем возникает задача оптимального расположения максимально возможного объема информации путем:
логической увязкой данных в зависимости от алгоритма работы пользователя, а не ориентацией на структуру и последовательность физических таблиц данных
определения уровня “детальности – обобщенности” вывода информации (нахождение компромисса между желанием вывести много записей одновременно и/или сразу увидеть детальную информацию по каждой из них)
выделения важной информации на экране
четкого определения основных и вспомогательных блоков информации
определения статических полей на экране, а также полей, где информация периодически изменяется
избегания перекрывающихся окон на экране
применения принципов гармонии при компоновке экрана (симметрия, баланса масс, соблюдение пропорций, сочетание цветов)
Формирование обратной связи между пользователем и приложением:
показ актуального состояния системы, режима работы системы (автономного, штатного, защищенного и пр.) и режима взаимодействия (например, отображение, редактирование или поиск данных).
вывод отдельных, важных для рабочей операции данных и показателей
отражение действий пользователя (нажатия клавиш, запуск процесса, динамика выполнения процесса, получение ожидаемого и иного результата)
ясность и информативность сообщений системы.
Проектирование панелей меню и инструментов (toolbars) и выбор пунктов в них:
логическая и смысловая группировка пунктов
фиксированная позиция панелей на экране
ограничение на ширину списка выборов и шагов (глубины) меню
использование привычных названий, широко распространенных икон-пиктограмм, традиционных икон-символов и аккуратное введение сокращений
размещение наиболее часто используемых пунктов (обычно в начале списка).
Разработка средств ориентации и навигации:
легкость определения своего местонахождения и указание направления следования
удобный переход от обобщенного взгляда до конкретных деталей (варьирование степени детализации рассматриваемых объектов)
быстрый поиск в списке или таблице
указание на дополнительно существующую информацию и способ ее получения
использование средств листания и прокрутки.
Создание форм для ввода данных:
использования одного или нескольких механизмов ввода в рамках режима (клавиатура, мышь, штрих-декодер, световое перо, др.)
определение способов ввода данных (таблицы, списки, простая форма, меню и пр.)
минимизация объема ввода
выделение редактируемых обязательных и необязательных, а также нередактируемых полей
использование механизмов быстрого ввода (по умолчанию, сокращения, с продолжением и пр.)
Выделение введенной или отредактированной информации.