Новости‎ > ‎

ProstoDiary: мысли про UX

Отправлено 1 нояб. 2019 г., 14:54 пользователем Deni Baskovsky

Начальный экран

На начальном экране должно быть минимум возможностей. Текст строгий и однозначный.

$ /start
> Лицензионное соглашение
  ...
$ [Принимаю][Отмена]

> Введите ваш адрес сайта с JSON-LD:
www.my.site

> Подтвердите вход
, введя сгенерированный пятизначный код высланный на вашу почту:
$ 12345

Приветствую %username! Я твой бот. Узнай все возможности командой /help.

Границы записи/выборки команд

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

Пример команды записи, после которой всплывает force_reply:
$ /
$ поел гречи 200 грамм
> Завтрак записан.

Пример простой записи:
$ посмотрел фильм Оно
> Запись добавлена.

Отображение историй

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

$ /story 
> [Покупки] [Фильмы] [...]

$ /story Фильмы
> 2020-10-10
  ---
  [%user] Начал смотреть фильм Оно
  ---
  2020-10-01
  [%bot] Фильм Нечто
  ...

Управление ассистентами

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

Для поиска историй используется встроенный ассистент /search, который разбирает контекст и формирует вывод в виде текста или графика.
$ /search
$ покажи сколько я спал за два месяца
> GRAPH

Уведомления

Это не требующий ввода асинхронный способ донести пользователю важную ему информацию от ассистента. 

Пример работы Health Assistant:
> Вы недостаточно занимались спортом последние три дня. Рекомендую отправиться на прогулку в %place.

Пример работы Finance Assistant:
$ покупка 10500 акций %name 
...
...
Тут пишут что акции %name нужно срочно продавать.

Сквозная интеграция ассистентов

Интеграция ассистентов позволит боту давать более персонализированные предложения.

Пример интеграции Food Assistant с Todo Assistant:
> Уже вечер, вам осталось 300 ккал до выполнения вашего %todo. Рекомендую заказать тортилью в ближайшем ресторане
> MAP
> Зарезервировать столик на 19:00?
> [Да] [Нет]
Comments