| Альтернатива MDI В последнее время уже никто не сомневается в том, что так называемый многодокументный интерфейс (MDI) не является удачным решением. Он появился в те времена, когда ресурcов компьютера и операционной системы всегда не хватало, и несколько "дочерних" окон внутри главного окна программы требовали меньше ресурсов, чем несколько окон программы. Позже стали видны его значительные недостатки с точки зрения удобства использования - пользователю приходилось постоянно открывать, закрывать, двигать, менять размеры окон, тратя на это время и отвлекаясь от своей работы. Но какие же могут быть альтернативы MDI? Начнем с того, что для некоторых типов приложений такой проблемы вообще не существует (небольшие утилиты, служебные программы, в которых небольшого окошка достаточно для отображения всего, что может программа), а для других приемлемое решение уже существует (документно-ориентированные приложения, такие как Word, Excel, решение состоит в переходе назад к SDI (один документ - одно окно)). Для остальных типов программ хорошее практическое решение предлагается в следующей работе шведских ученых [1]. В этом документе теоретически и практически показывается эффективность использования метафоры "рабочих мест" (workspaces) для создания интерфейсов программ. | 
| Смысл
    основной идеи заключается в том, что до начала
    создания интерфейса производится
    подготовительная работа, в результате которой
    выясняются: - Категории
    пользователей Затем строится интерфейс в соответствии с принципом "одна рабочая ситуация - один экран программы", на котором должна быть представлена вся необходимая в данной ситуации информация. Помимо простоты и понятности такого решения для пользователя, существуют и другие положительные стороны: 
 
 - Панель переключателя закрывает
    полосы прокрутки и кнопки управления окном | 
| Поэтому я
    предлагаю другое решение, предварительно
    названное мною "плоское меню" (см .рис). В
    верхней части окна располагается панель с
    плоскими кнопками, названия которых
    соответствуют рабочим экранам программы. Кнопка
    в нажатом состоянии означает что данный экран
    сейчас активен в рабочей части окна программы. 
 Этот подход был испробован на практике в трех реальных программах и показал хорошие результаты. Даже неопытные пользователи быстро уясняли для себя механизм экранов и переключения между ними. Разрабатывая интерфейс программы описанным в этой статье способом, нужно также стремиться к тому, чтобы вся информация находилась в рабочих экранах (1-й уровень), или в крайнем случае на 2-м уровне (окна диалогов для детальной информации или настроек). При большем числе уровней теряется простота программной модели и практически все преимущества использования рабочих экранов. В остальном предложенный подход является в подходящих случаях достойной альтернативой многодокументной модели интерфейса. Источники 1. "Workspaces enhance efficiency -
    Theories, concepts and a case study" 16.08.2000 |