Шрифт:
Экранное пространство — ценная вещь
Чем меньше экран устройства, тем больше внимания необходимо уделять его эффективному использованию. Рациональное управление экранным пространством не имеет ничего общего с попытками разместить как можно больше элементов управления в пределах экрана; на самом деле почти всегда следует стремиться к обратному.
Физические возможности мобильных устройств ограничены, и поэтому вы не сможете разместить большинство элементов управления приложений для настольных компьютеров на экране мобильного устройства даже в том случае, если уменьшите шрифты наполовину, сведете размеры элементов управления до тех минимальных пределов, при которых ими еще можно пользоваться, и расположите их как можно ближе друг к другу так, как если бы они являлись элементами игры "Tetris". Ясно, что требуется совершенно иной подход. Наилучшие интерфейсы для мобильных устройств не страдают загруженностью экрана деталями, они разрежены и элегантны; как это ни парадоксально, создается впечатление, что имеющимся свободным пространством они могли бы еще и с кем-то поделиться. Вместо того чтобы пытаться разместить на экране мобильного устройства все элементы управления сразу, целесообразнее подойти к проблеме с другой стороны и задаться вопросом: "Каков тот абсолютный минимум информации и элементов управления, которые должны присутствовать на экране, чтобы пользователь имел возможность сделать следующий шаг?" Приступая к проектированию компоновки пользовательского интерфейса мобильного приложения, попытайтесь найти ответы на следующие вопросы:
■ Каков тот минимальный набор информации, которая должна отображаться на экране, и тот минимальный набор элементов управления, которые требуются для навигации? Можно ли дополнительно уменьшить этот набор путем разделения доступного экрана между несколькими менее насыщенными состояниями пользовательского интерфейса, которые могут отображаться по отдельности?
■ Должны ли размеры элементов управления изменяться при переходе от одного состояния пользовательского интерфейса к другому? Часто оказывается желательным сократить или увеличить размеры элемента пользовательского интерфейса, чтобы скрыть или показать более подробную информацию, если это позволяют размеры экрана.
■ Не будет ли эффективнее привлечь пользовательский элемент управления для отображения той информации, которая в настоящее время представляется несколькими элементами управления? Такое решение должно быть тщательно взвешено. Создание специализированного элемента управления может оказаться неплохим способом повышения эффективности использования пространства пользовательского интерфейса, но при этом следует проанализировать, насколько такое решение будет удовлетворительным с учетом следующих факторов: 1) разработка пользовательского элемента управления требует намного больших усилий, чем использование уже существующих и протестированных элементов управления, и 2) создание новой метафоры пользовательского интерфейса может затруднить его использование. Конечные пользователи уже знают, как использовать существующие элементы управления, тогда как к любым вновь введенным вами концепциям им придется привыкать. Тем не менее, в некоторых случаях такая работа является оправданной и может давать впечатляющие результаты.
Не все участки экрана равнозначны. Элемент управления, размещенный вверху, внизу, слева, справа или посередине экрана будет обладать различными свойствами применимости. Эти свойства часто меняются при переходе от одного класса устройств к другому. Так, элементы управления Pocket PC, принимающие текстовый ввод, следует размещать в верхней части экрана, поскольку в этих устройствах предусмотрена всплывающая программная клавиатура (SIP), которая, если вам необходимо ввести текст, отображается в нижней части экрана. Расположением элементов управления, которые вы размещаете на экране, должны управлять следующие два фактора:
1. Стиль и практика применения, существующие для вашего целевого мобильного устройства. Для большинства программируемых мобильных устройств существуют рекомендации, относящиеся к стилю компоновки пользовательского интерфейса. Эти рекомендации важно учитывать как для того, чтобы ваше приложение хорошо сочеталось с методами ввода, предусмотренными в устройстве (например, кнопки, сенсорный экран, всплывающая клавиатура), так и для того, чтобы все используемые на устройстве приложения имели унифицированный внешний вид и вели себя одинаковым образом с точки зрения пользователя. Если вы еще не успели прочитать эти рекомендации, обязательно сделайте это. Подобные рекомендации будут иметь для вас гораздо более высокую ценность, чем любой другой совет, касающийся общих вопросов компоновки интерфейсов.Примечание. Тот факт, что для каждого из различных классов устройств существуют свои рекомендации относительно стиля компоновки пользовательского интерфейса, является дополнительной причиной того, что модели, основанные на принципе "пишется однажды — выполняется везде", обычно не срабатывают. Все дело в том, что очень трудно создать единую унифицированную среду пользовательского интерфейса, которая бы автоматически и одинаково хорошо соответствовала стилевым рекомендациям для различных устройств.
2. Тестирование применимости модели на реальных устройствах. Окончательным арбитром применимости вашего пользовательского интерфейса является реальный пользователь, который использует его на реальном устройстве (не на эмуляторе). Поскольку мобильными устройствами пользуются, удерживая их в руках, например, на улице, в поезде, самолете или в битком набитом людьми лифте, ничто не способно заменить тестирование приложения на том реальном оборудовании, для которого оно предназначено, и в реальных условиях его использования.
Наряду с необходимостью следовать соответствующему стилю и рекомендациям относительно компоновки интерфейса для данного мобильного устройства очень важно правильно выбрать набор элементов управления, который хорошо подходит для вашего целевого устройства. Мобильная среда выполнения может поддерживать самые разнообразные элементы управления пользовательского интерфейса, однако лишь некоторые из них будут пригодны для использования на интересующем вас устройстве. Например, поскольку в смартфонах отсутствуют сенсорные экраны или указатели мыши, которыми вы могли бы воспользоваться для произвольного доступа к таким навигационным элементам управления, как вкладки, обычные кнопки и переключатели, то перечисленные элементы не могут служить полезной метафорой пользовательского интерфейса для этих устройств. Вместо этого для смартфонов хорошо подойдут списки и меню. Вообще говоря, чем меньше размеры устройства, тем специфичнее требования к элементам управления, которые могут применяться на этом устройстве.
Для облегчения навигации в пределах пользовательского интерфейса можно использовать два способа: 1) вызывать новые формы в ответ на действия пользователя, и 2) показывать или скрывать элементы управления на единственной форме. Оба эти способа могут служить механизмами показа пользователю нового экрана, заполненного информацией.
Вы не сделаете ничего плохого, если для манипулирования информацией, требующей нескольких экранов, используете одну-единственную форму, и будете показывать на ней и скрывать элементы управления в соответствии с необходимостью. Вы должны хранить такие многоэкранные элементы пользовательского интерфейса в одной форме в том случае, если они представляют родственные понятия и вам может потребоваться настройка связей между ними. Переместить информацию с одного "экрана" на другой легче, если управление ими реализовано в пределах одного и того же класса.