Как создать удобный пользовательский интерфейс для классических приложений

Примечание

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

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

Мощный:

Снимок экрана: диалоговое окно

Мощный и простой:

Снимок экрана: список возможных исправлений орфографии

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

Что делает приложение мощным?

Что на самом деле означает "власть" с точки зрения программного обеспечения? Приложение может считаться мощным, если оно содержит множество функций, обладая огромным набором функциональных возможностей в попытке быть всем для всех пользователей. Такая разработка вряд ли будет успешной, так как нецелевой набор функций вряд ли удовлетворит потребности кого-либо. Это не тот тип власти, за которыми мы работаем.

Приложение обладает мощными возможностями, если оно имеет правильное сочетание следующих характеристик:

  • Включение. Приложение удовлетворяет потребностям своих целевых пользователей, позволяя им выполнять задачи, которые они не могли бы выполнить иначе, и эффективно достигать своих целей.
  • Эффективная. Приложение позволяет пользователям выполнять задачи с таким уровнем производительности и масштабом, который был невозможен ранее.
  • Универсальный. Приложение позволяет пользователям эффективно выполнять широкий спектр задач в различных обстоятельствах.
  • Прямой. Приложение чувствует, что оно напрямую помогает пользователям достичь своих целей, а не путается или требует ненужных действий. Такие функции, как сочетания клавиш, доступ к клавиатуре и макросы, улучшают чувство прямоты.
  • Гибкость. Приложение обеспечивает пользователям полный, детальный контроль над своей работой.
  • Интегрируемость. Приложение хорошо интегрировано с Microsoft Windows, что позволяет ему обмениваться данными с другими приложениями.
  • Расширенный Приложение обладает необычными, инновационными, новейшими функциями, которые не встречаются в конкурирующих решениях.

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

Все эти характеристики можно объединить в наше определение власти:

Приложение является мощным, когда оно позволяет целевым пользователям эффективно реализовать свой потенциал.

Таким образом, конечной мерой мощности является производительность, а не количество признаков.

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

Если вы делаете только одно...

Изучите цели целевых пользователей и создайте набор функций, который позволит им эффективно достичь этих целей.

Что упрощает взаимодействие с пользователем?

Мы определяем простоту следующим образом:

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

На практике простота достигается путем выбора правильного набора функций и правильного представления функций. Это уменьшает несущие, как реальные, так и воспринимаемые.

Простота зависит от восприятия пользователей. Рассмотрим, как эффект автоматической передачи зависит от точки зрения пользователя:

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

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

Простота и простота использования

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

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

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

Например, рассмотрим поддержку беспроводных сетей в Microsoft Windows XP. Корпорация Майкрософт могла бы добавить мастер для прохождения процесса настройки пользователями. Такой подход привел бы к простоте использования, но не к простоте, так как была бы добавлена неясная функция (мастер). Вместо этого корпорация Майкрософт разработала беспроводную сеть для автоматической настройки. Пользователи в конечном счете не заботятся о конфигурации, пока она "просто работает" надежно и безопасно. Такое сочетание мощности и простоты технологии беспроводных сетей привело к ее популярности и быстрому внедрению.

Если вы делаете только одно...

Начните процесс проектирования с самых простых проектов, которые хорошо подходит к работе.

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

Обеспечение простоты при сохранении мощности

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

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

Возможные

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

Вероятный

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

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

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

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

Методы проектирования

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

Выбор правильного набора функций

"Совершенство достигается, а не когда больше нечего добавить,

но когда нечего отнять. — Антуан де Saint-Exupery

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

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

Оптимизация презентации

"Способность упростить означает, чтобы исключить ненужное

чтобы необходимое говорилось». — Ганс Хофманн

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

  • Объедините то, что следует объединить. Объедините основные функции, поддерживающие задачу, чтобы ее можно было выполнять в одном месте. Шаги задачи должны иметь единый, упрощенный поток. Разбейте сложные задачи на набор простых и понятных шагов, чтобы "одно" место могло состоять из нескольких поверхностей пользовательского интерфейса, таких как мастер.
  • Разделяйте то, что должно быть разделено. Не все может быть представлено в одном месте, поэтому всегда имеют четкие, хорошо выбранные границы. Сделайте функции, поддерживающие основные сценарии, центральными и очевидными, а также скрывайте необязательные функции или делайте их периферийными. Разделяйте отдельные задачи и предоставляйте ссылки на связанные задачи. Например, задачи, связанные с управлением фотографиями, должны быть четко отделены от задач, связанных с управлением коллекциями фотографий, но они должны быть легко доступны друг от друга.
  • Устраните то, что можно исключить. Сделайте распечатку макета и выделите элементы, используемые для выполнения наиболее важных задач. Даже выделите отдельные слова в тексте пользовательского интерфейса, которые передают полезную информацию. Теперь проверьте, что не выделено, и рассмотрите возможность удаления их из проекта. Если удалить элемент, произойдет ли что-нибудь плохое? Если нет, удалите его!
  • Согласованность, возможность настройки и обобщение часто являются желательными качествами, но они могут привести к ненужным усложнениям. Проверьте свою структуру на наличие ошибочных действий в области согласованности (например, избыточности текста), обобщение (например, наличие любого количества часовых поясов, если двух достаточно) и возможность настройки (например, параметры, которые пользователи вряд ли изменят) и исключите то, что можно исключить.
  • Поместите элементы в нужное место. В окне расположение элемента должно соответствовать его служебной программе. Основные элементы управления, инструкции и объяснения должны находиться в контексте в логическом порядке. Если требуются дополнительные параметры, предоставьте их в контексте, щелкнув шеврон или аналогичный механизм; Если требуется дополнительная информация, отобразите подсказку при наведении указателя мыши. Размещайте менее важные задачи, параметры и сведения справки за пределами потока main в отдельном окне или на отдельной странице. Метод отображения дополнительных сведений по мере необходимости называется прогрессивным раскрытием.
  • Используйте значимые высокоуровневые сочетания. Часто проще и масштабируемо выбирать группы связанных элементов и управлять ими, чем отдельными элементами. Примерами высокоуровневых сочетаний являются папки, темы, стили и группы пользователей. Такие сочетания часто сопоставляется с целью или намерением пользователя, которые не очевидны из отдельных элементов. Например, намерение, лежащее в основе цветовой схемы high contrast Black, гораздо более очевидно, чем намерение черного фона окна.
  • Выберите нужные элементы управления. Элементы проектирования воплощаются в элементах управления, которые вы используете для их представления, поэтому выбор правильного элемента управления имеет решающее значение для эффективного представления. Например, в поле выбора шрифта, используемом Microsoft Word отображается как предварительный просмотр шрифта, так и последние использованные шрифты. Аналогичным образом, способ отображения орфографических и грамматических ошибок в Word гораздо проще, чем альтернативное диалоговое окно, как показано в начале этой статьи.

Сокращение усилий

"Простые вещи должны быть простыми.

Сложные вещи должны быть возможны". — Алан Кей

Следующие методы проектирования приводят к сокращению усилий для пользователей:

  • Сделайте задачи доступными для обнаружения и видимыми. Все задачи, но особенно частые, должны быть легко обнаруживаемыми в пользовательском интерфейсе. Шаги, необходимые для выполнения задач, должны быть видимыми и не должны полагаться на запоминание.
  • Представление задач в домене пользователя. Сложное программное обеспечение требует, чтобы пользователи сопоставляли свои проблемы с технологией. Простое программное обеспечение делает это сопоставление для них, представляя то, что естественно. Например, функция сокращения красных глаз напрямую сопоставляется с проблемным пространством и не требует от пользователей мыслить с точки зрения таких деталей, как оттенки и градиенты.
  • Вложите знания предметной области в программу. Для успешного использования приложения пользователям не нужно получать доступ к внешней информации. Знания предметной области могут варьироваться от сложных данных и алгоритмов до простого определения типа входных данных.
  • Используйте понятный пользователям текст. Хорошо созданный текст имеет решающее значение для эффективного общения с пользователями. Используйте понятия и термины, знакомые пользователям. Полностью объяснить, что запрашивается на простом языке, чтобы пользователи могли принимать интеллектуальные и обоснованные решения.
  • Используйте безопасные, безопасные, вероятные значения по умолчанию. Если параметр имеет значение, которое применяется к большинству пользователей в большинстве случаев, и этот параметр является безопасным и безопасным, используйте его в качестве значения по умолчанию. Пользователи могут указывать значения только при необходимости.
  • Использование ограничений. Если существует много способов выполнения задачи, но только некоторые из них верны, ограничьте задачу правильными способами. Пользователям не следует разрешать легко предотвращать ошибки.

Простота не означает упрощение

"Все должно быть сделано как можно проще,

но не проще". — Альберт Эйнштейн

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

Простота означает больше усилий для вас

"Я только сделал это письмо длиннее, потому что у меня есть

не время, чтобы сделать его короче". — Блез Паскаль

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

Мощный и простой

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