Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4 Разработка пользовательского интерфейс...doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
243 Кб
Скачать
☆

Прямая манипуляция

Прямая манипуляция означает, что интерфейс позволяет пользователю хватать, нажимать, перетаскивать, отпускать, менять форму, накладывать друг поверх друга, рисовать, открывать, закрывать объекты интерфейса или каким-либо другим способом оперировать ими. Ключевым моментом здесь является ощущение «материальности» — несмотря на то, что в действительности объекты являются виртуальными, а управление ими осуществляется при помощи мыши или других устройств. У пользователя создается иллюзия прямого физического контакта с объектами.

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

Режимы

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

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

Однако режимы могут оказаться плохим решением, если:

  • пользователю неочевидно, что интерфейс находится в определенном режиме;

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

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

Два связанных с режимами шаблона пытаются решить вторую проблему: One-off Mode (Одноразовый режим) и Spring-Loaded Mode (Подпру­жиненный режим). Оба упрощают задачу выключения режима; второй шаблон также упрощает включение режима. Сравните эти шаблоны с ситуацией, когда пользователю приходится перемещать указатель мыши с палитры через весь эк­ран в самый угол интерфейса, находить крохотную кнопку на палитре, щелкать на ней, чтобы включить режим. Затем следует снова переводить указатель на холст, рисовать что-то, возвращаться к палитре, чтобы включить другой режим, опять переходить к холсту... и так до бесконечности. Слишком много движений мышью.