Как проектировать сложные приложения. Восемь полезных советов

Перевод и адаптация статьи Kate Kaplan для NN Group.

Какое приложение считается сложным?

Согласно определению NN Group, сложное приложение – это то, которое поддерживает большой набор неструктурированных целей. Отличается нелинейными рабочими процессами, требует высокой квалификации пользователей в специализированных областях. Чтобы было понятнее, «Кухня на районе» – это не сложное приложение, а «1С» – сложное.

Как понять, что приложение сложное:

· есть специфические знания (термины, справочники, логика), которые поймут только квалифицированные пользователи;

· есть наборы больших данных, аналитика;

· поддерживается достижение целей с неизвестными или переменными базовыми задачами (например, когда ученый ищет лекарство от новой болезни и не знает заранее, какие пакеты данных придется обработать);

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

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

Совет 1. Обучайте через действие

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

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

<p><i>Панель редактора в Salesforce. Слева множество элементов, которые можно менять, справа – результат. В любой момент можно вернуться назад и переделать, если результат не устраивает.</i></p>

Панель редактора в Salesforce. Слева множество элементов, которые можно менять, справа – результат. В любой момент можно вернуться назад и переделать, если результат не устраивает.

Совет 2. Рассказывайте обо всем, что умеет приложение

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

Как помочь пользователям использовать приложение эффективно (учитывая, что придется ломать их устойчивые поведенческие модели)? Учебные материалы и документация не подойдут (их редко читают). Вместо этого можно использовать подсказки для ускорителей (ускорители – это горячие клавиши, макросы, сенсорные жесты), или дополнительных функций. Подсказки должны быть контекстными, то есть, их надо отображать только тогда, когда пользователь выполняет конкретную задачу, которую можно закрыть быстрее и эффективнее с помощью ускорителей или дополнительных функций. Если просто периодически показывать попапы типа «полезный совет» – это скорее будет бесить, нежели принесет пользу.

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

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

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

Совет 3. Обеспечивайте пользователям гибкий и плавный путь

Одна из основных особенностей сложных приложений – неструктурированные цели в нелинейных рабочих процессах. Это значит, что пользователи могут не знать своей конечной цели, она определится в процессе выполнения задач после анализа данных. Например, дата-иллюстратору надо закрасить на карте мира все страны, где есть недостаток питьевой воды. У него нет конкретной цели, например, закрасить конкретную страну. Чтобы прийти к конечной цели, иллюстратору нужно вначале собрать, а потом проанализировать данные.

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

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

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

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

<p><i>Приложение для аналитики Mastercard Test &amp; Learn подсказывает пользователям, что надо делать дальше, и оставляет возможность выполнять действия в любой последовательности с помощью интерактивной карты.</i></p>

Приложение для аналитики Mastercard Test & Learn подсказывает пользователям, что надо делать дальше, и оставляет возможность выполнять действия в любой последовательности с помощью интерактивной карты.

Совет 4. Помогайте пользователям отслеживать действия и мыслительные процессы

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

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

<p><i>В программе для моделирования решений TreeAge можно оставлять открытые комментарии, пока система анализирует и моделирует данные. Эти комментарии будут видны, когда процесс завершится – так пользователи не упустят ни одной важной мысли.</i></p>

В программе для моделирования решений TreeAge можно оставлять открытые комментарии, пока система анализирует и моделирует данные. Эти комментарии будут видны, когда процесс завершится – так пользователи не упустят ни одной важной мысли.

Совет 5. Делайте так, чтобы все нужные инструменты и среды были доступны

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

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

Совместимость – это очень важно. Чтобы выгрузить прайс-лист на 1000 позиций из Excel в 1С понадобится две секунды. Если забивать данные вручную – несколько дней.

<p><i>Приложение для бизнес-аналитики Microsoft Power BI выгружает визуальные изображения в jpeg, чтобы было проще вставить в презентацию, или отправить в рабочий чат.</i></p>

Приложение для бизнес-аналитики Microsoft Power BI выгружает визуальные изображения в jpeg, чтобы было проще вставить в презентацию, или отправить в рабочий чат.

Совет 6. Упрощайте без потери функциональности

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

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

Отличный пример поэтапного раскрытия информации – доступ в документы Google. Пока не кликнешь «Доступ есть у всех по ссылке» – не увидишь выбор уровня разрешения: «читатель» или «редактор».

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

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

Совет 7. Упрощайте переход между главной и второстепенной информацией

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

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

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

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

Совет 8. Выделяйте важную информацию визуально

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

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

<p><i>Убираем иконки и получаем контент, который легко сканировать.</i></p>

Убираем иконки и получаем контент, который легко сканировать.

Самое важное

Упрощайте без потери функциональности

Создавайте точки входа с полезными инструментами сторонних разработчиков

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

Приложение должно уметь отслеживать действия и мысли пользователей

Путь пользователя должен быть плавным и гибким (и не забывайте сохранять данные на каждом шаге)

Проектируйте с учетом Парадокса активного пользователя

Больше о проектировании сложных приложений расскажут на курсе NN Group

Ссылка на оригинал:

77
Начать дискуссию