Представляем Авраама

Недавно мы начали создавать продуктовые туры в ACT.md, и хотя это было не так сложно с технической точки зрения (благодаря Shepherd и Tether от HubSpot), было много мелких препятствий для появления маленьких коробочек на сайте. экран (а потом не появится):

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

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

В этом духе мы создали Abraham: гем Rails, который после установки выполняет все вышеперечисленные шаги и превращает их в это:

  • Составьте контент для каждого шага тура.
  • Предоставляйте пользователям обзоры продукта.

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

Кроме того, его легко интернационализировать.

Что дальше?

В то время как версия 1.0 действительно помогает нам в ACT.md, есть несколько очевидных направлений, которым следует следовать Абрахаму:

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

https://github.com/actmd/abraham