<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="design-principles" xml:lang="ru">

  <info>
    <credit type="author">
      <name>Allan Day</name>
      <email>aday@gnome.org</email>
    </credit>
    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
    <desc>Основные рекомендации и советы по проектированию.</desc>
  </info>

<title>Принципы проектирования</title>

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

<section id="focus">
<title>Сосредоточьтесь на главном</title>

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

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

</section>

<section id="complexity">
<title>Интерфейс должен быть простым</title>

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

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

</section>

<section id="progressive-disclosure">
<title>Скрывайте лишние элементы управления</title>

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

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

</section>

<section id="work">
<title>Не заставляйте пользователя работать</title>

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

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

</section>

<section id="hierarchy">
<title>Проектируйте понятную иерархию</title>

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

<p>Старайтесь располагать наиболее важные элементы управления в левой верхней части окон. Располагайте главные элементы управления в соответствии с другими зависящими от них элементами управления. Подробнее см. <link xref="visual-layout">руководство по визуальному расположению</link>.</p>

</section>

<section id="content">
<title>Главное — это содержимое</title>

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

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

</section>

<section id="errors">
<title>Прогнозируйте ошибки</title>

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

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

</section>

<section id="interruptions">
<title>Не отвлекайте пользователя</title>

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

<p>Не злоупотребляйте <link xref="notifications">уведомлениями</link>. Избегайте всплывающих диалоговых окон с бесполезной для пользователя информацией, а также отвлекающих механизмов обратной связи, таких как диалоги сообщений.</p>

</section>

<section id="search">
<title>Используйте быстрый поиск</title>

<p><link xref="search">Поиск</link> является мощным средством, позволяющим быстро находить нужную информацию. Если пользователь работает с большим количеством информации (информация может быть представлена в виде списков, таблиц и т. п.), предоставьте ему функцию поиска. Поиск должен работать максимально быстро.</p>

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

</section>

<section id="options">
<title>Не перестарайтесь с параметрами настройки</title>

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

</section>

<section id="name-and-icon">
<title>Название приложения должно быть информативным</title>

<p><link xref="application-basics#application-names">Название</link> приложения и его <link xref="icons-and-artwork#application-icons">значок</link> являются важными выразительными средствами. Выбирая название и значок исходите из того, что они должны быть как-то связаны с функциями приложения. Убедитесь, что по названию приложения пользователи могут понять, что делает ваше приложение. Значок является визитной карточкой приложения, поэтому постарайтесь сделать его привлекательным и запоминающимся.</p>

</section>

<section id="emotion">
<title>Проектируйте с душой</title>

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

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

</section>

</page>
