СсылкиКолонка автораСтатьиОбзоры программ и сайтовПримеры удачных решенийПримеры неудачных решенийЦентр Практичных Программ

Альтернатива MDI

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

Но какие же могут быть альтернативы MDI? Начнем с того, что для некоторых типов приложений такой проблемы вообще не существует (небольшие утилиты, служебные программы, в которых небольшого окошка достаточно для отображения всего, что может программа), а для других приемлемое решение уже существует (документно-ориентированные приложения, такие как Word, Excel,  решение состоит в переходе назад к SDI (один документ - одно окно)).

Для остальных типов программ хорошее практическое решение предлагается в следующей работе шведских ученых [1]. В этом документе теоретически и практически показывается эффективность использования метафоры "рабочих мест" (workspaces) для создания интерфейсов программ.

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

- Категории пользователей
- Набора рабочих ситуаций для каждой категории пользователей
- Информация и средства, необходимые в каждой ситуации

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

  • Полная не-модальность, то есть в любой момент времени пользователь может оставить работу на одном экране незаконченной и переключиться на другой
  • После даже непродолжительной работы с такой системой начинает срабатывать механизм человеческого мозга "распознавание образцов" (pattern recognition). Это означает, что если экраны программы достаточно отличны друг от друга по расположению элементов управления, цветам и др. параметрам, то пользователь начинает быстро понимать, какой именно экран сейчас активен.

wpe4.jpg (1593 bytes)Важной частью интерфейса такой системы является средство переключения между экранами. В упомянутой выше работе в качестве примера приведено решение в виде вертикальной полоски меню у правого края экрана, пункты которого сделаны в виде кнопок с картинками на них (см рис). Но этот вариант переключателя имеет свои недостатки:

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

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

sibtek1.gif (4372 bytes)  

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

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

В остальном предложенный подход является в подходящих случаях достойной альтернативой многодокументной модели интерфейса.

Источники

1. "Workspaces enhance efficiency - Theories, concepts and a case study"
MAGNUS LIF, EVA OLSSON, JAN GULLIKSEN, BENGT SANDBLAD
Center for Human-Computer Studies (CMD), Uppsala University, Sweden.

16.08.2000