Freigeben über


Пользовательский интерфейс: управляя окнами Windows

Вот мы загружаем компьютер, запускаем различные приложения и плавно подходим к одной сложной теме, которая играет жизненноважную роль в графическом интерфейсе — управлению окнами. Дейв Мэттьюс ( DaveMatthews ), программный менеджер команды CoreUserExperience , поведает вам о некоторых аспектах этой сложной проблемы и о том, как мы намерены ее решать в Windows 7.

Само название Windows происходит от слова «window» (окно) – концепции UI, при которой связанные фрагменты информации и органы управления организованы на экране в виде окон. И в этой статье мы расскажем, что руководило нами при планировании обновления к этой части UI.

Сама идея использования окон для организации UI далеко не нова – первые эксперименты, насколько я знаю, проходили в Стэнфорде около 40 лет назад. И после стольких лет эта концепция до сих пор используется лишь потому, что это крайне эффективный способ для визуализации информации, а также потому, что пользователям нравится контролировать использование рабочего пространства. Функция «двигающихся окон» вообще-то не является необходимой для ОС – большинство сотовых телефонов и медиа-центров отображают одну страницу UI за раз – но наличие этой функции значительно упрощает работу в многозадачном режиме при работе с несколькими приложениями одновременно. Windows 2.0 стала первой версией Windows, позволяющей перемещать накладывающиеся (overlapping) окна (в Window 1.0 окна могли располагаться лишь рядом (режим «tiled»), а не накладываться. Оба подхода имели известнейших защитников —с одной стороны был Билл Гейтс (Bill Gates), с другой Чарльз Шимоньи (Charles Simonyi). В Windows, кроме того, существует уникальное понятие «составной интерфейс документов» (multiple document interface или MDI), который позволяет организовывать несколько окон в одном фрейме. Это в некотором смысле предшественник интерфейса с закладками, который в наши дни получил широкое распространение в веб-браузерах.

Следует отметить, что спор «tiled vs. overlapping» на ранних этапах проекта Windows сопровождался дебатами по поводу расположения панели меню: где ее расположить, вверху экрана для всех окон или каждого окна (или документа, или приложения)? В те далекие времена шли большие споры по этому поводу, поскольку разрешение мониторов было небольшим (VGA, 640x480), поэтому размер панели меню был вопросом свободного пространства. Сегодня в эру мониторов высокой четкости проблема размера панели является проблемой эргономичности – скомпоновать элементы UI таким образом, чтобы количество движений мышью сократилось до минимума.

clip_image001clip_image002
От Windows 2.0 к Vista

Итак, сегодня мы поговорим об «управлении окнами», и особенно о тех его аспектах, которые подразумевают перемещение и выравнивание окон на экране (не путать с вопросом переключения окон, в частности панели задач и функциональности Alt-Tab, хотя они тесно связаны). Пользователи вправе ожидать, что окна можно перемещать, менять их размеры, сворачивать, разворачивать, закрывать, выравнивать друг относительно друга, перекрывать одно окно другим. Эти операции вкупе с соответствующими органами управления составляют базу, позволяющую организовывать информацию на рабочем столе так, как нравится.

С целью дальнейшего улучшения подобных функций нам следует пристально посмотреть на существующую систему – что мы имеем и что из этого действительно работает? Для этого нужно понять, каким образом это используют независимые разработчики ПО и как это используется и понимается пользователями.

clip_image003

Традиционные кнопки вверху каждого окна позволяют сворачивать, разворачивать и закрывать окна. Размеры окон можно изменять с любой из четырех граней окна.

Статистика

Как уже говорилось в статье про панель управления, пользователи в ходе работы, как правило, работают с 6 – 9 одновременно открытыми окнами. Но если внимательнее присмотреться к статистике, то можно увидеть, что в любой момент времени у большинства на экране видимы лишь два окна. В ходе работы вполне нормально переключаться между окнами, но большую часть времени на экране размещено всего несколько окон.

clip_image004
Данные обратной связи

В ходе планирования продукта мы уделили много времени тому, чтобы оценить, сколько времени и энергии в среднем тратят пользователи на перемещение и изменение размеров окон. Это позволило понять, что в наших системах действительно работает и что требует доработки.

Так, к примеру, мы узнали, что функция «развернуть» пользуется популярностью, поскольку она оптимизирует рабочее пространство для одного окна, при этом переключиться на другое не составляет труда. Пользователи принимают эту концепцию и понимают ее. И поскольку большинство времени пользователи проводят в одном окне, эта функция оказалось очень востребованной. Мы понимаем, что в некоторых приложениях пользователи борются за каждый свободный пиксель рабочего пространства (например, в таблицах), поэтому функция получила такую популярность, даже в ежедневной работе.

Одной из проблем с функцией развертывания окон в Vista, на которую указывают пользователи, является непрозрачность верхней рамки окна. Такого рода ход был использован с целью показать пользователям, что в данный момент окно развернуто. Это важно, потому что если пользователь не будет знать об этом и попытается переместить окно, то он не сможет этого сделать, что, в свою очередь, станет причиной недовольства. В Windows 7 мы постараемся реализовать другой подход к расцветке верхней рамки окна с заголовком, чтобы пользователь в любой момент мог увидеть, что находится под ним.

clip_image005

Интересно, что пользователи не всегда разворачивают окна, даже когда используют только одно окно. Вполне возможно, что некоторым комфортно просматривать документы, когда окно документа не слишком широкое. Идея развертывания окна не столь полезна на широкоформатных мониторах, потому что на них одна строка в браузере или электронном сообщении может протянуться на 50 см. Строка в 10-15 см более удобна для чтения. Это важно, поскольку широкоформатные мониторы с большими диагоналями становятся все более популярными, даже в мобильных компьютерах. Так как в Windows нет специального режима развертывания, созданного для подобных целей, пользователям приходится самостоятельно менять размеры окон. Это одна из тех областей, где такая примитивная задача, как чтение текста, требует затрат времени на изменение размеров окна, потому что система изначально не была оптимизирована для этого сценария.

clip_image006clip_image007
Статистика по разрешению мониторов показывает, что широкоформатные мониторы становятся нормой

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

Пользователям с несколькими мониторами в некотором смысле проще, потому что в такой конфигурации гораздо удобнее работать с несколькими окнами одновременно – например, развернуть окно на каждом из мониторов. Недавнее исследование Microsoft Research, посвященное многозадачности, показало, что участники опроса с несколькими мониторами чаще переключаются между окнами путем непосредственного выбора окна, а не с помощью панели задач. Происходит это потому, что окно, которое они хотят сделать активным, практически всегда находится в зоне видимости. Также интересно, что общее число переключений между окнами оказалось ниже. С точки зрения эргономичности и эффективности лучшим является тот щелчок, которого удалось избежать.

clip_image008
РезультатыисследованияMicrosoft Research

Системы с одним монитором пока встречаются гораздо чаще, чем многомониторные конфигурации, но функции управления окнами не оптимизированы для просмотра нескольких окон на одном мониторе. В контекстном меню панели управления есть пункты «Cascade Windows», «Show Windows Stacked» и «Show Windows Side by Side», но пользователи не до конца понимают их предназначение и поэтому нечасто их используют. В итоге пользователи самостоятельно меняют размеры окон и проводят выравнивание окон друг относительно друга.

Интересные многооконные события начинают разворачиваться, когда одно из окон является рабочим столом. Рабочий стол до сих пор используется в качестве хранилища для важных файлов, поэтому пользователи часто прибегают к возможности перетаскивания файлов между ним и папками Windows Explorer или почтовым клиентом. Функция «Show Desktop» призвана обеспечить быстрый доступ к рабочему столу, но при этом все окна сворачиваются. Поэтому в данном случае снова придется отыскивать нужное окно или сворачивать все окна вручную. При получении данных с наших телеметрических систем мы видим, насколько сложные комбинации приходится повторять пользователям для выполнения столь простых задач.

Эволюция дизайна

Для того чтобы спроектировать успешный дизайн для системы управления окнами, мы пробуем различные варианты. Мы ищем масштабируемые решения, которые будут оптимизированы для основной массы пользователей. Мы оцениваем существующие решения, такие как виртуальные рабочие столы, которые удобны при использовании большого числа окон (особенно в тех случаях, когда они объединены связанными задачами), или закрепляемые панели, позволяющие эффективно использовать рабочее пространство (такие как в Visual Studio).

Нам также приходится думать о множестве приложений, которые должна поддерживать система. SDI-приложения (single document interface) возлагают задачу управления окнами на ОС, а MDI-приложения самостоятельно выполняют эти функции. Некоторые из приложений по определенным причинам имеют собственные органы управления размерами окон. Каждый из этих подходов хорош по-своему, поэтому перед тем, как вносить в систему какие-либо изменения, нужно учитывать, какие приложения в ней используются.

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

  • Одновременно просматривать содержимое двух окон.
  • Просматривать документы в полную высоту при комфортной для чтения ширине.
  • Быстро и легко находить окна на рабочем столе.
  • Часто используемые действия должны выполняться с наименьшими усилиями ‑ быстрее сворачивать и разворачивать окна с минимальными перемещениями мыши.
  • Заменить движения мышью на горячие клавиши там, где это возможно (для опытных пользователей).
  • Полезные, предсказуемые и эффективные настройки окон под различные мониторы: от маленьких ноутбуков до громадных панелей; с одним или несколькими мониторами.
  • Возможность использования различных способов ввода информации: мыши, клавиатуры, трэкпада, пера или сенсорной панели.
  • Настраиваемые цвета фрейма окна, видимые даже при полном развертывании окна.
  • В целом пользователи должны иметь максимальный контроль над окнами, причем с минимальными усилиями.

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

Вот вкратце и все, что мы хотели поведать о том, что думаем об управлении окнами и создании эволюционного дизайна. Не можем дождаться ваших идей и отзывов, особенно после того, как в ваши руки попадут сборки Windows 7.

Дейв Мэттьюс

Comments

  • Anonymous
    October 09, 2008
    Этот пост и предыдущий заставили меня задуматься о том, как я работаю с окнами. Оказалось, что мне было бы удобнее, если бы мышка была более функциональной при работе с графическим интерфейсом! Сейчас стандартом является трех кнопочная мышка у которой средняя кнопка в виде колесика. Т.е. мышка прошла эволюцию от двухкнопочной до трехкнопочной с колесиком. Не пора ли сделать еще шаг вперед?  Следующим стандартом могла бы быть пятикнопочная мышка, где добавлены две боковые кнопки (или даже колесика). Тогда большим пальцем и слевой боковой кнопкой можно вызывать ленту открытых окон (аналог Alt-Tab), безымянным пальцем  и правой боковой кнопкой можно вызывать ленту открытых табов, например в текущем окне Internet Explorer и вращая колесико выбирать нужное окно или таб, или использовать боковые кнопки для переключения между группами окон и между окнами в группе.

  • Anonymous
    October 09, 2008
    Современный компьютер позволяет открыть десятки окон приложений, но реально редко кто так делает, потому что трудно найти нужное окно (и если уж открыл так много окон, то хочется сохранить их между сеансами). Я попробовал представить как мне будет удобно работать с большим количеством открытых окон. Лучше всего доработать ленту выбора окна (Alt-Tab) Можно сделать режим, когда лента будет занимать весь экран окнами предпросмотра (Tile) и можно будет листать экраны, если все не помещается на один - это позволит делать окна предпросмотра более крупными. Можно еще сделать настройку отображаемого числа окон предпросмотра, т.е. например, 20 окон приложений распределятся на один экран мелкими окнами или по 4 крупных окна предпросмотра на 5 эранов. Сделать не только автоматическую группировку окон как сейчас в панели задач по приложениям, но и настраиваемую, например, я хочу сгрупировать открытые окна по проектам и переключаться между этими группами окон и внутри групп, например, с помощью боковых кнопок мышки. Тут же сделать в шапке настройку параметров отображения с мгновенным применением: увеличил-уменьшил окна колесиком мышки, создал новую группу окон. А два других колесика использовать для листания экранов предпросмотра и листания внутри эрана для выбора окна. И как обычно Escape возвращает экран в обычный режим работы с приложением. Кстати колесико мышки можно использовать для изменения размеров окна. Сейчас надо наводить мышку на границу окна, а это требует прицеливания и не всегда это можно легко сделать. Использование меню Size тоже не удобно. Сейчас если навести мышку на заголовок, нажать левую кнопку, то можно только перемещать окно, но можно расширить функционал - покрутить колесико мышки и изменить размер окна.