- •РиСпСиИт Лекция 5 Тема «Разработка пользовательских интерфейсов»
- •Использование поведенческих шаблонов в конструировании интерфейсов
- •Организация экрана: компоновка элементов страницы
- •Основы дизайна форм
- •Меню с двумя элементами, представляющими собой переключатели
- •Дата и время
- •Шаблон 74- Dropdown Chooser (Раскрывающийся селектор)
- •Основы интерфейса и дизайна в редакторах
- •Редактирование wysiwyg
- •Прямая манипуляция
- •Выделение
- •Создание и использование меню и командных клавиш
- •Создание и использование диалоговых панелей
- •Организация просмотра документов
Прямая манипуляция
Прямая манипуляция означает, что интерфейс позволяет пользователю хватать, нажимать, перетаскивать, отпускать, менять форму, накладывать друг поверх друга, рисовать, открывать, закрывать объекты интерфейса или каким-либо другим способом оперировать ими. Ключевым моментом здесь является ощущение «материальности» — несмотря на то, что в действительности объекты являются виртуальными, а управление ими осуществляется при помощи мыши или других устройств. У пользователя создается иллюзия прямого физического контакта с объектами.
Помимо этого, важна точность — пользователю необходимо точное управление местоположением указателя мыши и перетаскиваемых объектов, как если бы он перемещал их с места на место руками в реальном пространстве. Прямая манипуляция должна следовать некоторым общепринятым правилам. Как уже упоминалось ранее, люди предполагают, что они могут переносить какие-то общие навыки из одного приложения в другое: например, умение копировать и вставлять, перетаскивать, изменять размер при помощи манипуляторов и выделять несколько объектов путем рисования вокруг них трансформируемой рамки выделения.
Режимы
Режим интерфейса — это состояние, в котором действия пользователя приводят к результатам, отличным от обычной реакции приложения на те же действия. Например, щелчок и перетаскивание указателя мыши в программе рисования обычно означает вычерчивание рамки выделения вокруг нескольких объектов. Однако в режиме рисования линии щелчок и перетаскивание означает создание линии, идущей из первой точки во вторую.
Есть мнение, что наличие режимов в интерфейсе — это неправильно, так как из-за них пользователи слишком часто попадают в неприятности. Но это не всегда так. Пользователи, часто работающие с графическими редакторами, привыкают к ним. В действительности трудно представить, как разработать сложный графический редактор, не добавляя в него режимы и имея в качестве рабочих инструментов только мышь и клавиатуру — эти устройства ввода будут функционально перегружены, чтобы обеспечить пользователю возможности рисования.
Однако режимы могут оказаться плохим решением, если:
пользователю неочевидно, что интерфейс находится в определенном режиме;
режимы заставляют пользователя делать лишнюю работу, так как их неудобно включать и выключать.
Первую проблему можно с легкостью решить, реализовав подходящую реакцию пользовательского интерфейса. Например, указатель мыши может всегда отображать текущий режим приложения. Внимание пользователя фокусируется там, где находится указатель, так что такую подсказку пропустить сложно. Если для включения и выключения режимов используются кнопки, то «включенное» состояние кнопки должно заметно отличаться от «выключенного», например, она должна выглядеть нажатой, а не выступающей над поверхностью интерфейса.
Два связанных с режимами шаблона пытаются решить вторую проблему: One-off Mode (Одноразовый режим) и Spring-Loaded Mode (Подпружиненный режим). Оба упрощают задачу выключения режима; второй шаблон также упрощает включение режима. Сравните эти шаблоны с ситуацией, когда пользователю приходится перемещать указатель мыши с палитры через весь экран в самый угол интерфейса, находить крохотную кнопку на палитре, щелкать на ней, чтобы включить режим. Затем следует снова переводить указатель на холст, рисовать что-то, возвращаться к палитре, чтобы включить другой режим, опять переходить к холсту... и так до бесконечности. Слишком много движений мышью.
