Как стать автором
Обновить
0

Хороший пользовательский интерфейс, ясность и параллельное отображение информации

Время на прочтение 5 мин
Количество просмотров 18K
Автор оригинала: Mark Miller
Перевод статьи Марка Миллера: Great User Interfaces, Clarity, and Information in Parallel

Предыдущие переводы:

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

Эта концепция была впервые изложена в удивительной книге Эдварда Тафти:



Title: Visual Explanations: Images and Quantities, Evidence and Narrative
ISBN: 0961392126
Несмотря на то, что и книга и её заголовок выглядят ужасно сухо, внутри содержатся подлинно гениальные идеи.

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

Рассмотрим для примера модальные диалоговые окна — наших верных спутников с момента появления оконного интерфейса. Ответьте на несколько простых вопросов:
  1. Вы когда-нибудь перетаскивали диалоговое окно для того, чтобы увидеть то, что было им скрыто?
  2. Вы когда-нибудь нажимали кнопку «Отмена» только для того, чтобы получить доступ к скрытой диалогом информации, например для того, чтобы скопировать что-нибудь в буфер обмена?
  3. Вы когда-нибудь нажимали кнопку «Назад» в браузере для того, чтобы мельком взглянуть на предыдущую страницу и тут же нажать «Вперёд»?
  4. Вы когда-нибудь скроллировали документ вверх только для того, чтобы увидеть информацию, необходимую для понимания того, что отображалось в данный момент?

Если хотя бы на один из вопросов вы ответили положительно — вы жертва последовательного представления информации.
Вот несколько примеров такого представления:
  • подкасты
  • презентации PowerPoint
  • расположенные друг над другом модальные диалоговые окна
  • программы-мастеры настроек
  • длинные абзацы текста

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

Неэффективность проектирования
(в статье «Почему так сложно сделать хороший пользовательский интерфейс?»):



Неверное соотношение визуального веса и важности информации
(в статье «Хороший пользовательский интерфейс, ясность и релевантность информации»):



Как использование слишком большого количества методов контроля выразительности может привести к излишнему визуальному шуму
(в статье «Хороший пользовательский интерфейс, ясность и выразительность»):



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

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

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

Возможности наблюдателя Последовательный Параллельный
Управление скоростью подачи информации Нет Да
Управление порядком информации Нет Да
Одновременный просмотр информации Нет Да


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

Давайте попробуем взять последовательный интерфейс и превратить его в параллельный. Например, возьмём модальные диалоговые окна и «разгладим» их так, чтобы все необходимые данные и элементы управления были доступны одновременно. Это очень нелегко сделать, всегда требуется очень тщательно подходить к созданию макета интерфейса и выбору действительно необходимой информации. Иногда требуется создавать новые, нестандартные элементы пользовательского интерфейса. Рассмотрим реальный пример из мира программного обеспечения.

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



Рассмотрим диалог более внимательно, у него есть положительные и отрицательные стороны. Достоинства:
  1. Диалог расположен под телом метода, сигнатуру которого необходимо изменить, одновременно видим и код метода и сам диалог. Это параллельное отображение.
  2. Вы можете произвести предварительный просмотр изменений перед тем, как применить их. Это также параллельное отображение.


Но есть и недостатки:
  1. Диалог всё равно закрывает значительную часть кода в документе. Когда вы можете видеть только часть доступной информации — это последовательное отображение.
  2. Изменяется способ взаимодействия пользователя и приложения. Пользователь работал с исходным кодом при помощи клавиатуры — менял его напрямую, а здесь ему приходится комбинировать использование нескольких элементов управления (грид, кнопки, чекбокс) и щелчки мышью для того, чтобы изменить код. Это замедляет скорость и снижает эффективность.


Есть ли способ сохранить все достоинства такого интерфейса и сгладить недостатки? Можно ли полностью избавиться от диалогового окна и сохранить возможность для предварительного просмотра изменений? Конечно — да. Вот что мы сделаем:
  1. Перенесём элементы управления на тот же уровень интерфейса, с которым происходит взаимодействие — на уровень исходного кода.
  2. Добавим возможность интерактивного изменения очередности параметров, которым возможно будет управлять при помощи клавиатуры, без использования лишних элементов управления.

Этот интерфейс может выглядеть так:



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

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

Таким образом, «разглаживание» пользовательского интерфейса может потребовать усилий, в том числе и на создание новых концепций взаимодействия, но затраты с лихвой окупаются за счёт возросшей эффективности и ясности.
Теги:
Хабы:
+58
Комментарии 24
Комментарии Комментарии 24

Публикации

Информация

Сайт
www.developersoft.ru
Дата регистрации
Дата основания
1998
Численность
201–500 человек
Местоположение
Россия

Истории