Сара Бейкер Миллз, которая руководит командой разработчиков в IBM (большинство из них работают в Исследовательском треугольнике в Северной Каролине), в опубликованной на Medium статье описала «принципы блокчейн-команды IBM» — подход своих сотрудников к разработке разнообразных блокчейн-решений. Приведённый материал выражает личное мнение автора, а не официальную позицию или стратегию корпорации.
Блокчейн-команда компании IBM сейчас занимается разработкой чего угодно: от логистических цепей до документации, от инструментов разработчика открытого исходного кода до сервисов, действующих по принципу «блокчейн как услуга» (BaaS). Такова природа современной индустрии: бешеная гонка по исследованию всех возможных вариантов применения технологии, которая потенциально способна снизить затраты и повысить эффективность в таких сферах, как финансы, медицина и государственное управление. Несмотря на разнообразие деятельности, определённые запросы наших пользователей задают основные принципы разработки блокчейна, которых придерживается наша команда. Представляем вашему вниманию первую итерацию принципов блокчейн-команды IBM — это то, что на чём мы фокусируемся, выстраивая свою деятельность и расставляя приоритеты.
Разработка во имя доверия
Тот факт, что технология блокчейн создана с целью отказаться от необходимости доверять третьим лицам, не означает, что пользователи станут доверять машине или сети.
— Джонни Хоул, дизайнер пользовательского интерфейса
Среди наших пользователей много представителей отраслей, имеющих дело с конфиденциальной информацией, и возможность поддерживать доверие критично в работе с ними. Почти все клиенты из этой категории — новички в блокчейне, и глубина понимания, как и степень доверия, у них различаются. Пользователи должны воспринимать наши продукты как надёжные, заслуживающие доверия и стабильные (так же должны восприниматься и стоящие за ними люди). Мы пытаемся достичь этого благодаря раскрытию данных, последовательности, обратной связи, предупреждению ошибок и активному наставничеству для пользователей.
Раскрытие данных
Есть пользователи, которые нуждаются в более полном раскрытии данных по сравнению с остальными. Например, им важно увидеть, как технология блокчейн замещает их текущую организацию процессов, чтобы почувствовать, что она заслуживает доверия. Знакомство с данными влияет на понимание пользователем того, как работает приложение. Скажем, данные указывают на то, что произошёл вызов функции, или служат доказательством того, что нечто защищено криптографически.
Люди хотят «видеть блокчейн» даже тогда, когда в этом нет прямой необходимости
Принимая решение о том, стоит ли включать какой-либо элемент данных, мы исходим из следующей иерархии:
- данные должны иметь практическую ценность;
- если это качество отсутствует, то данные должны способствовать развитию доверия или носить образовательный характер.
Инструменты блокчейна «старой школы» показывают множество длинных криптографических хешей. Люди не могут их читать. Эти хеши бесполезны… однако людям они нравятся! Почему? Здесь дело в чувстве комфорта: «Я вижу непонятный человеку ID и верю, что эта штука надёжно защищена».
— Эд Моффат, глава команды разработчиков, создатель платформы Fabric
Последовательность
Чтобы завоевать доверие пользователей, крайне важна визуальная последовательность различных продуктов и потребительского опыта. Мы используем гибкий макет на основе сетки (с осознанным и пропорциональным использованием пространства), чёткую шрифтовую иерархию и осмысленно выбираем цвета.
Единообразный интерфейс позволяет нашим пользователям чувствовать себя комфортно, что особенно важно для новой технологии блокчейн, ведь это помогает людям принимать технологию и учиться новому.
— Тобиас Хантер, дизайнер пользовательских интерфейсов
Поскольку визуальный язык блокчейна всё ещё кодифицируется, мы с осторожностью используем графику, поясняя те или иные концепты. Создавая ассоциации со знакомыми элементами, помогающие пользователям запоминать информацию, мы осторожны в отношении визуальных метафор: упрощение определённых концептов может привести к неверным представлениям или дезориентировать потребителя.
Мы прилагаем все усилия к тому, чтобы использовать последовательную терминологию, избегая жаргонизмов. Язык должен быть лаконичным, ясным и соответствовать естественным шаблонам коммуникации наших пользователей. Мы придерживаемся разговорного стиля, не впадая в чрезмерную «неофициальность».
Наша команда уделяет повышенное внимание таким многозначным словам, как «идентичность», «обновление» и «сеть»: хотя многие концепты блокчейна близки к общепринятому пониманию этих терминов, есть и различия, которые могут привести к заблуждениям.
Мы занимаемся разработкой блокчейна для наших пользователей, где бы они ни жили. Поскольку блокчейн — распределённый по своей сути, мы должны осуществлять свой труд в разных странах, по умолчанию учитывая глобализацию: такие факторы, как распространённость пользовательских интерфейсов, значение пиктограмм и перевод всегда принимаются в расчёт. Кроме того, многие варианты использования блокчейна мобильны по своей природе: мы поддерживаем единообразный интерфейс независимо от устройства.
Постоянная обратная связь
Благодаря постоянной обратной связи мы помогаем нашим пользователям понимать, что происходит, и снижаем их тревожность. Интерактивный дизайн и анимация, используемые в разумных пределах, способствуют пониманию происходящего.
Когда вы учите иностранный язык, помогают практика и игра, а не чтение словаря. Мы создаём инструменты и документацию, позволяющие нашим пользователям играть и экспериментировать, чтобы овладеть этой новой технологией.
— Сэм Уинслет, графический дизайнер
Пользователь всегда должен знать, что происходит в настоящий момент, что только что произошло и что произойдёт дальше. Время — важный элемент в приложениях блокчейна, и зачастую простого индикатора загрузки недостаточно.
Распределённая система с высокой пропускной способностью по природе своей асинхронна, и её многочисленные компоненты зависят от тайм-аутов или интервалов запроса. Транзакция в соответствии с настройками может задержаться (обычно на несколько секунд), чтобы блок достиг оптимального размера. После чего SDK разработчика проведёт запрос, подождёт и приступит к созданию нового канала.
— Джейсон Йеллик, разработчик ПО
Мы всегда перепроверяем после релиза, сколько времени нужно для осуществления той или иной операции или функции, и оповещаем об этом пользователей. Такой подход распространяется и на другие параметры интерфейса: сколько категорий пользователь видит, сколько категорий не отображаются и т.д.
Нашим пользователям нравится практическое интерактивное обучение — так, чтобы они могли учиться, создавая нечто вещественное, осязаемое.
— Раисса Се, исследователь пользовательского интерфейса
Предупреждение ошибок
Поскольку в блокчейн нельзя внести произвольные изменения, мы уделяем особое внимание необратимым действиям пользователей. Мы вводим дополнительные предупреждения и подтверждения, чтобы снизить вероятность ошибки, и подсказываем пользователям следующие шаги, если ошибка всё-таки произошла.
[…] IBM Вирджиния Рометти, принимающая участие в […]