Последние новости

Изменил ссылку на свою курилку

Отправлено 20 нояб. 2019 г., 21:12 пользователем Deni Baskovsky

Паблик в телеге доступен по адресу https://t.me/baskovsky. Выкладываю там мысли и наблюдения.

Генерация JSON-RPC OpenAPI документации

Отправлено 13 нояб. 2019 г., 04:26 пользователем Deni Baskovsky

Для всех тех, кто использует JSON-RPC сервер, и хочет иметь автогенерируемую OpenAPI документацию, создал пакет https://www.npmjs.com/package/openapi-jsonrpc-jsdoc.

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?
> [Да] [Нет]

ProstoDiary: авторизованный доступ к истории

Отправлено 16 окт. 2019 г., 22:48 пользователем Deni Baskovsky   [ обновлено 16 окт. 2019 г., 22:57 ]

Использование технологии StoryJSON позволит обеспечить следующий кейс.

Пользователь N идет устраиваться на работу к пользователю M. При подписании контракта M запрашивает от N доступ к определенному классу истории, всему что относится к работе, которая доступна в определенное время, допустим с 12:00 до 18:00 с перерывом c 14:00 до 14:30. N авторизовывает такой доступ. 
Благодаря демону, высчитывающему все открытые приложения и входы на определенные сайты и выгруженные с им абстракты в StoryJSON, M понимает что N в рабочее время проводит работой в IDE 3 часа, 2 часа в Jira и оставшиеся 30 минут за мемами. 
Такая прозрачность работы N становится основой, которую курирует другой бот-ассистент-менеджер. Он будет оценивать продуктивность сотрудников, а сотрудники будут вправе оценивать эффективность менеджеров и точно знать какие данные они отправили им.

Электронная почта это ядро твоей истории

Отправлено 21 сент. 2019 г., 08:27 пользователем Deni Baskovsky   [ обновлено 21 сент. 2019 г., 11:09 ]

Зачем придумывать колесо, когда уже придуман велосипед?

Задача: использовать доступное для других сервисов хранилище для текстовых и бинарных файлов с их последующей обработкой на другом сервере.

Выбрать протокол Jabber или новый matrix? Как сделать так, чтобы пользователи не забыли еще один урл, а как быть с настройкой и поддержкой?

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

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

Итак, почта становится тем самым местом, куда разные приложения и сайты будут отправлять свои данные. Но отныне пользователю не понадобится разбирать их. Этим займется его личный виртуальный помощник, который будет разбирать контекст и собирать все присланные данные в одну историю - StoryJSON. Этот StoryJSON станет отправной точкой для получения сторонних сервисов, которые будут его обрабатывать и находить связи и также отправлять полученное через ту самую почту сгенерированную и отслеживаемую ботом. Ну а что будет затем - расскажу как закончу с этим :)

Кому интересна тема автоматизации своей жизни - пишите мне, будем делать вместе. Кто хочет ускорить процесс создания ProstoDiary - спонсируйте здесь. Набросок архитектуры.

Стартап №317 (В2В)

Отправлено 16 сент. 2019 г., 21:47 пользователем Deni Baskovsky

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

ProstoDiary: /start по взрослому

Отправлено 16 сент. 2019 г., 00:09 пользователем Deni Baskovsky

  • Теперь пользователь перед использованием обязан принять договор
  • Соль теперь вынесена из энвайронмента и устанавливается каждым пользователем при новом логине
  • Внедрена двухфакторная аутентификация от Google
  • Наконец, проверка через почту

Визуал Qweeto 2018

Отправлено 5 сент. 2019 г., 14:18 пользователем Deni Baskovsky

Идеи Qweeto ушли в тревел-ассистента ProstoDiary, поэтому отдельная прога вроде как уже не нужна 🤷🏻‍♂️.

Мой JSON-LD

Отправлено 21 июл. 2019 г., 04:44 пользователем Deni Baskovsky   [ обновлено 21 июл. 2019 г., 04:47 ]

Продолжаю формировать новый формат Историй для ProstoDiary. Понял, что необходимо будет формировать для каждого сообщения ссылку на отправителя. Вначале решил полностью скопировать такой функционал из FHIR R4, но потом вспомнил что существует такая классная спецификация JSON-LD. Заполнил свою страницу https://me.baskovsky.ru/

Интеграция в личность

Отправлено 14 июл. 2019 г., 23:25 пользователем Deni Baskovsky

Выстраивая виртуального помощника ProstoDiary, мне очень часто приходится обращаться к психоанализу. Нужно понимать, что разум человека не является монолитом. Это Я, Оно, Сверх я, - частички, по которым слагается то, что мы называем собой. Виртуальный помощник должен легко интегрироваться в личность, сливаясь с ней, добавляя новую глубину, такую, какую могут позволить лишь натренированные йоги и те, кто способен понимать самостоятельно свою самость. Кроме этого, помощник должен интегрироваться с общественными институтами, а так же техносферой. Наконец, интегрировать с правовым полем, учитывая все ограничения введенные законом.

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

1-10 of 188