Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Инструкции по интерфейсу пользователя OS X

iBook
На этой странице

Принципы разработки

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

Умственная модель

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

image: ../Art/mental_model_2x.png

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

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

Метафоры

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

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

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

Явные и подразумеваемые действия

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

  1. Идентифицируйте объект на экране.

  2. Выберите или определяйте объект.

  3. Выполните действие, или путем вызова команды или непосредственным управлением объектом.

Эти шаги приводят к двум парадигмам для управления объектами: явные действия и подразумеваемые действия.

Явное действие ясно утверждает результат применения действия к объекту. Например, меню перечисляют команды, которые могут быть выполнены на в настоящее время выбранном объекте. Имя каждой команды меню ясно указывает, каково действие; текущее состояние команды (той, которые потускнели или включили), указывает, допустимо ли то действие в текущем контексте. Явные действия не требуют, чтобы пользователи запомнили команды, которые могут быть выполнены на данном объекте.

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

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

Непосредственное управление

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

Непосредственное управление часто поддерживает умственную модель пользователя задачи, потому что это может чувствовать себя более естественным, чем явные действия. Например, приложение, управляющее виртуальной библиотекой, могло бы позволить пользователям перетаскивать значок книги на имя покровителя для проверки ее, вместо того, чтобы требовать, чтобы они открыли окно, выбрали заголовок книги, выбрали имя покровителя и выбрали команду меню Check Out. (Для узнавания больше о понятии умственные и явные действия модели посмотрите Умственную Модель и Явные и Подразумеваемые Действия.)

Контроль за работой пользователей

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

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

  • Правильная сумма контроля за работой пользователей зависит от изощренности пользовательской аудитории.

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

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

Обратная связь и коммуникация

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

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

Анимация может также разъяснить отношения между объектами и последствиями пользовательских действий. Например:

  • Когда пользователь минимизирует окно, оно не просто исчезает. Вместо этого это гладко проскальзывает в Прикрепление, ясно говоря пользователю, где найти его снова.

  • Для передачи отношения между листом и окном лист разворачивает от строки заголовка окна.

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

Discoverability тесно связан с обратной связью и коммуникацией. В его разговоре с пользователями приложение призывает пользователей обнаруживать функциональность путем обеспечения сигналов о том, как использовать элементы UI. Например, активные элементы кажутся активируемыми по щелчку, указатель может показать, куда ввод с клавиатуры пойдет, и информативные метки и пункты меню описывают то, что могут сделать пользователи. Стандартные средства управления OS X и представления автоматически передают свою цель и удобство пользования пользователям.

Непротиворечивость

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

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

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

  • Само приложение? Это использует непротиворечивую терминологию для меток и функций? Значки означают ту же вещь каждый раз, когда они используются? Понятия представлены похожими способами через все модули? Подобные средства управления и другие элементы UI расположены в подобных местах в окнах и диалоговых окнах?

  • Более ранние версии приложения? Условия и значения остались тем же между выпусками? Действительно ли фундаментальные понятия чрезвычайно неизменны?

  • Народные ожидания? Это удовлетворяет потребности пользователя без посторонних функций? Это соответствует умственной модели пользователя? Для получения дополнительной информации об этом понятии посмотрите Умственную Модель.

Прощение

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

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

Системы поддержки, такие как команды Undo и Revert To, могут помочь людям чувствовать себя комфортно, учась и с помощью приложений. Задержка обязательств редактирований пользователя может также помочь. Например, iPhoto позволяет пользователям выполнять все виды модификаций к фотографии, фактически не изменяя фото файл, пока они не хотят.

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

Эстетическая целостность

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

image: ../Art/aesthetic_integrity_2x.png

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

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