Алан Дэй (Allan Day)
aday@gnome.org
Основные рекомендации и советы по проектированию.

# Принципы проектирования

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

# Сосредоточьтесь на главном

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

Запомните: лучшие приложения — это приложения, которые предлагают качественное решение для определённой области задач.

# Интерфейс должен быть простым

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

При добавлении нового элемента управления или текста подумайте, действительно ли нужно включать его в приложение.

# Скрывайте неиспользуемые элементы управления

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

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

# Избавьте пользователя от излишней работы

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

Постарайтесь свести к минимуму необходимость в использовании экранов настройки. Сделайте так, чтобы пользователь мог легко вернуться к своей работе.

# Элементы интерфейса должны быть последовательными

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

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

# Главное — это содержимое

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

Содержимое должно занимать максимально возможную область в пользовательском интерфейсе. Сократите количество управляющих элементов, не захламляйте интерфейс второстепенной информацией.

# Прогнозируйте ошибки

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

Автоматически исправляйте потенциально некорректные введённые данные. Всегда оставляйте возможность отменить деструктивные действия.

# Не отвлекайте пользователя

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

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

# Используйте быстрый поиск

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

GNOME 3 предоставляет свои собственные средства поиска. Интегрировав поиск в приложении с GNOME 3, пользователи смогут быстро получать доступ к содержимому вашего приложения.

# Не перестарайтесь с параметрами настройки

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

# Название приложения должно быть осмысленным

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

# Можно немного пошутить

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

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