Как разработать телеграм бота правильно, быстро и недорого?

Начало

<i>No, Bot, I am your father. Интересно, что один телеграмовский бот @botfather повелевает всеми ботами.</i>
No, Bot, I am your father. Интересно, что один телеграмовский бот @botfather повелевает всеми ботами.

Помню я плевался во время использования #тг #ботов . И даже надменно унижал их в своём тг-бложике.

И тут вдруг (!) Бог ниспослал нам самим разработать #telegram #бота .

Сначала я, недолго думая, просто дал задание программисту в виде общего описания функционала, который я ожидаю увидеть. И в принципе он хорошо справился для версии v0.0.1 alpha. Основной функционал был реализован. Оно работало. Но! С десятками, сотнями и тысячами UX проблем!

Правки, правки

Тут я стал, разумеется, давать правки. Но с каждым раундом правок проблем не убавлялось. Программист фиксил один момент, но при этом всплывало ещё два. Что-нибудь да делалось криво с точки зрения UX.

После пары безуспешных раундов правок, я сел и расписал весь продукт, флоу и интеракции так подробно, что был уверен: тут уж никак не накосячить. А мой друг #ChatGPT помог мне с концовкой и парой важных моментов по функционалу.

<i>Составил подробнейшее ТЗ со всеми шагами, всеми интеракциями, всеми событиями, и чёткими грамотными текстовками.</i>
Составил подробнейшее ТЗ со всеми шагами, всеми интеракциями, всеми событиями, и чёткими грамотными текстовками.

Программисты — любим, уважаем, ценим — но с UX часто у них очень туго (надо подтягивать, в команде в UX в определенной мере должны уметь все). И снова я получал кривой продукт…

Осознание роковой ошибки

И тут я, наконец, осознал свою роковую ошибку! Что должно делаться перед передачей продукта в разработку? Правильно: должны быть задизайнены все-все-всевозможные макеты, с максимальной детализацией; должны быть учтены и отображены все интеракции, все пути — все флоу, анфлоу, и рефлоу (это я про процедуры отмены действий пользователем и возврата к оным действиям).

Начали дизайн

<i>Без макетов жизни нет!</i>
Без макетов жизни нет!

Что я вообще думал раньше? Конечно же, как обычно, нужно было начать с дизайна макетов!

Поэтому, после момента просветления, я воззвал к Джуниор-дизайнеру: «Альби, прошу, срочненько, возьми какой-нибудь фигмовский tg ui kit и накидай быстренько все скрины бота вот по этому супер подробному доку. За пару часов, думаю, справишься!»

Как бы не так! Китов нормальных не было… Также, по пути мы проясняли всё новые и новые ограничения бота: то можно показывать inline-клавиатуру (это когда кнопки в боте под сообщениями в чатфлоу), то нельзя. То же самое с reply-клавиатурой — это кнопки, которые внизу, которые отображаются вместо буквенных клавишей. А помимо этого, ещё с десяток других нюансов.

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

Джуниор цокала и воздыхала, когда я требовал отрисовать все-все-все экраны и интеракции, вплоть до каждой мелочи, отобразить даже однотипные операции разных ролей пользователей. Она заявляла, что «это же очевидно, зачем это отрисовывать». Но, в итоге, уяснила, что это как раз и задача ваерфрейм и дизайн этапа — отобразить ВСЁ ПО максимуму В макетах, чтобы у всех участвующих сторон была общая чёткая картина того, что они разрабатывают, как точно это должно работать и выглядеть.

На «это же очевидно» нельзя полагаться при дизайне и разработке продуктов, работая с большинством программистов. Да и даже не программистов. Все должны понимать, что у нас за продукт и как зайти отредактировать своё имя и как будет происходить отмена этого процесса. А как сохранение? Да, а теперь повторить это с редактированием описания профиля и отправки геолокации. Да, отдельными макетами отобразить всё. Да, для роли мастера тоже отобразить отдельно.

И конечно же, когда мы начали, всё-таки, визуализировать «очевидные, ненужные части» — всплыло ещё с десяток вопросов и задачек, которые — о внезапно — нужно было решать. Если бы мы не занялись проработкой этих «мелочей», которые прятались за ширмой очевидности, мы бы опять получили неудовлетворительный продукт и барахтались в правках ещё месяц.

Сначала ваерфрейм, потом танцы

<i>«Задизайнь за пару часов!» В итоге потратили несколько дней.</i>
«Задизайнь за пару часов!» В итоге потратили несколько дней.

А Джуниор, в свою очередь, помогла мне — отвадила меня от скрупулёзной визуальной и компонентной проработки макетов на данном этапе. Здесь нам действительно надо было просто быстро накидать ваерфреймы. И -- поздравьте меня -- я смог, я справился, я выжил: несмотря на то, что в макетах всё было как-попало, кривые отступы, типовые элементы дикообразные, а не единообразные, и так далее… лучше не рассказывать!

Дизайна не было

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

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

Вот тут, кстати, сработал плюс апишной бот разработки: UI элементы, с помощью которых разработчик собирает бота — стандартизированные, прямо из ✈📦 тeлеграм-коробки, сразу нормально стилизованные и тут просто нет возможности накосячить (я имею ввиду с отступами, размерностями и так далее).

Тексты. Тексты. Точки. Точки?

Пришлось мне только ещё помучаться с исправлением текстов. Я не знаю, как у прогера они получались неграмотными (бот на Английском языке), хотя я их все чётко и конкретно прописал в доке. А затем и в фигме. Помучался еще раз с просьбой проставить всё-таки точки в конце предложений (это был уже 5-ый раз, когда я просил это сделать). Тут прилетел ещё сюрпрайз — прогер нахерачил точек теперь ещё и в тексты кнопок [добавить пруф-иллюстрацию] 🤦‍♂😆

Но я должен отдать Андрею должное — он с титаническим спокойствием выслушивал и выполнял правки. Мы по идее должны были прийти к нему сразу с максимально подробным ТЗ и детализированными макетами. Хотя, можно заявить, что мы херачили классический lean (или как правильно назвать ва данном случае?), а не косячили. 😆 То есть все процессы были запущены одновременно.

MVP — минимальный, но юзабельный продукт

<i>Минимальный, но максимально юзабельный</i>
Минимальный, но максимально юзабельный

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

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

Обратную связь в том числе от вас, дорогие мои читатели! Мы же ж lean, а не идиоты. А вы умная аудитория, мнения которой мы будем очень рады услышать.; )

Фуф, 😅, вот-так расписал!

Результат

Лендос https://sensuelle.club/ запилили, представляете, на #Canva

Итак, друзья, прошу, встречайте бота для заказа массажа: @SensuElleBot

Этот бот является этаким маркетплейсом услуг. Массажисты регистрируются и предоставляют услуги. Клиенты регистрируются и заказывают услуги.

Текущий концепт сервиса — получить услугу здесь и сейчас, максимально быстро. Некоторые люди уже окрестили наш сервис как #instant serviceplace. Зашел, выбрал, заказал, обговорил детали с мастером, получил услугу.

Сервис пока бесплатный. И да, разумеется, пока нет достаточного количества участников на платформе. Будем точечно таргетироваться на конкретные города.

Хотите увидеть, что же у нас получилось?

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

Не стесняйтесь и предоставлять услугу массажа. Человеку может и обычный домашний «непрофессиональный» массаж будет в огромную радость. Человеку же просто нужен человек и приятный массаж. Или что-то ещё?

Тоже хотите себе бота? Или другой сервис?

Пишите нам в tazh. studio, постараемся сможем вам помочь.

P. S.

Андрей и Альбина, я писал намеренно красноречиво и громко, для накала страстей нашей UX-драмы.

Good work! 🙂🚀❤

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