{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Как мы за 5 месяцев сделали сервис комментариев и что из этого получилось

Привет, меня зовут Александр, я один из основателей сервиса комментариев AnyComment. Я хочу поделиться своей историей о том, как разработка плагина комментариев для WordPress трансформировалась в SaaS продукт. С какими проблемами мы столкнулись, какие были решения и что в итоге из этого вышло.

WordPress плагин

В мае 2018 у меня зародилась идея сделать WordPress плагин комментариев для своего блога. В тот момент существовало уже около пяти крупных сервисов комментариев, и множество разных плагинов, каждый из которых имел свои функциональные особенности. Для себя я не нашел идеального варианта, и это стало началом разработки своего решения.

Через неделю уже был разработан сырой вариант, и я начал тестировать. Тесты прошли успешно, и я был готов начать им пользоваться. И однажды меня осенило: а почему бы не сделать его доступным для всех? Посидев еще недельку, я доработал настройки, сделал дизайн виджета более универсальным, придумал название — «AnyComment», попросил знакомого дизайнера нарисовать логотип, обложку и выложил плагин в репозиторий.

В течение года в свободное от основной работы время я постоянно занимался доработкой функционала плагина. За этот период достаточно сильно расширились его возможности, а также выросло количество установок (5 тыс. на момент написания этого текста). Теперь это уже был плагин не просто с базовыми настройками, а с возможностью кастомизации дизайна, системой оценок, загрузки файлов, подписки на комментарии и авторизации через социальные сети.

А затем мне пришла в голову идея сделать сервис комментариев без ограничений в окружении WordPress. Сделать что-то универсальное для всех платформ. Это стало началом разработки сервиса.

Сервис комментариев

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

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

Выбор технологий

Прежде чем начинать, нужно было выбрать стек технологий. Какую выбрать базу данных? Язык? Фреймворк? Где будем хоститься? Проанализировав разные варианты, решили использовать PostgreSQL, PHP на серверной стороне и React для виджета. Расположиться решили в OVH, выбрали Францию как основную локацию.

Разработка сервиса оказалась сложнее, чем предполагалось. К сожалению, не удалось повторно использовать код из плагина для WordPress и поэтому пришлось писать с нуля. Это было и плюсом, и минусом.

Плюсом в том плане, что какие-то части функционала получилось реализовать более грамотно. Минус в том, что пришлось писать одно и тоже. Это долгий и достаточно нудный процесс, если его делаешь второй раз.

Тем не менее, через 3 месяца у нас был первый MVP, и мы были готовы стартовать. Но…

Онлайн-касса

Куда же без онлайн-кассы? Еще на этапе бизнес-плана, мы предусмотрели три тарифа: «Бесплатный», «Базовый» и «Про». Последние два были, конечно же, платными, и нам нужно было как-то принимать платежи. И тут я «нырнул» в мир онлайн-касс.

Еще около двух недель у меня ушло на всю бюрократию. В итоге подписали тысячу договоров, арендовали кассу в Атол, купили фискальный накопитель, подключили ее к платежному агрегатору — выбрали Unitpay (из-за низкой комиссии и простой документации к подключению) и подключили агрегатор к сервису.

Вроде бы как все готово к запуску. Стартуем? Не совсем, сначала нужно сделать так, чтобы плагин мог работать с сервисом.

А как же плагин?

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

Одна из основных задумок была — сделать автоматическую синхронизацию комментариев между сайтом и сервисом, а также в обратном порядке. К примеру, у вас есть сайт с 1000 комментариев. При подключении сервиса все комментарии синхронизируются с сервисом и сразу же отображаются в виджете.

Мы сделали еще кое-что интересное. Большинство сервисов комментариев работают по следующей схеме:

  • вы добавляете сайт на сервисе
  • выдается API ключ
  • вы копируете его, устанавливается плагин вашем сайте, вставляете туда ключ
  • плагин начинает делать свою магию (синхронизация комментариев и прочее)

Сложно, не правда ли?

Мы решили не усложнять этот процесс и сделать синхронизацию с сайтом одной кнопкой — после добавления сайта клиенту нужно лишь нажать кнопку «Запустить», и все ключи перенесутся автоматически:

Синхронизация API ключей с сайтом

Сразу после успешной синхронизации API ключей WordPress плагин начинает синхронизировать комментарии с сервисом. Выглядит это следующим образом:

Синхронизация комментариев с сайта на сервис

Момент запуска

В августе 2019 мы запустились! На разработку ушло около четырех месяцев.

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

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

До ошибки у нас было 300 тыс. комментариев, и за 2 дня накопилось 700+ тыс. — более 400 тыс. дублей.

Посидев еще часика два удалось понять, что все дубли были отмечены определенным образом в базе сервиса, поэтому я быстро их удалил, выпустил хотфикс для WordPress плагина и мы были готовы принять первых клиентов.

Первые клиенты, маркетинг

Маркетинга почти не было.

Единственное, что мы сделали — это отправили анонс всем пользователям плагина о запуске сервиса. Отдача была скудная, так как сервис сильно отставал по функционалу от плагина и некоторых аналогов.

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

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

Что из этого получилось?

Сейчас то самое время, когда я могу смело сказать, что сервис полноценно доработан. Это, конечно же, еще не финал и у нас еще много задумок.

А что по клиентам? На текущий момент, AnyComment установлен у таких проектов как Яндекс Практикум, UniSender, PROFI.RU и другие. Мы гордимся тем, что нам доверяют как крупные ресурсы, так и небольшие сайты.

С момента старта проекта мы реализовали много интересных возможностей, вот некоторые из них:

  • Визуальный редактор дизайна — гибкий Drag&drop редактор дизайна комментариев, возможность менять цветовую гамму, полностью кастомизировать виджет под сайт.
  • Умные действия — очень похожи на фильтры, которые можно поставить в Gmail или на правила в настройках других почтовых клиентах. Например, можно настроить правило на отправку уведомлений в Телеграм/почту или автоматическую модерацию комментария при совпадении установленного правила.
  • Возможность отвечать на комментарий прямо из почты — если вам пришло уведомление на почту, можно ответить на это письмо и наша система создаст комментарий-ответ от вашего лица.

Из других возможностей вы найдете: аналитику, SSO (Single Sing-On), смайлики, загрузка изображений, рейтинг (лайки/дизлайки), живые события, система жалоб, панель модерации прямо внутри комментариев или на сервисе, и конечно же, автоматический инструмент по переезду с аналогов.

Мысли вслух

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

Слушайте своих клиентов

Не стоит 100% самому придумывать новый функционал, дайте волю своим клиентам. Очень важно остановиться и прислушаться к ним. Зачастую они сами скажут вам о том, чего они хотят. Какие есть проблемы, за что они готовы платить, а за что нет. Для этого мы даже создали небольшой раздел, где каждый из клиентов может предложить свою идею или поддержать существующую.

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

База знаний

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

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

Мы до сих пор активно занимаемся составлением базы знаний. Каждый раз находим что-то новое для объяснения или улучшения старого.

Не ждите, когда все будет готово

Проект стоит запускать, как только у вас есть MVP. Не стоит ждать момента, когда появится все, что вы запланировали. Клиенты относятся с пониманием к возможным факапам, когда начинают пользоваться новым сервисом. Главное, чтобы сервис имел пользу и оперативную поддержку.

Что было дальше?

На этой статье история не останавливается, я бы хотел написать серию статей о том:

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

Если вы хотите, чтобы я раскрыл какие-то другие детали — пишите в комментариях уточняющие вопросы, и я их также раскрою в следующей публикации.

И, конечно же, если у вас есть пожелания или замечания — пишите комментарии, я постараюсь ответить всем.

0
25 комментариев
Написать комментарий...
Алексей Карпов

Хороший плаг. Использую его в том числе из соображениц патриотизма. Как и Яндекс

Ответить
Развернуть ветку
Вячеслав Гавриленков Сердоболин

Искал аналоги VK виджета который глючит на маках и мобилах в 2021 году и уже успел пожалеть, что нашел вас. Сначало обрадовался, что сервис визуально милый, есть куча авторизаций через российкие соцсети и месенджеры. Сразу заплатил тыщю за PRO на месяц. Встал на сайт битрикса виджет без проблем.

Сайт для которого важным условиям был именно чат, комментарии зрителей которые смотрели онлайн стендап конкурс котоырй устроил крупный лондонский бренд отвечали на задания ведущег ои так далее. В прошлом году за эфир было 3500 комменатриев в VK виджете, а в этом на странице с виджетом anycomment гордо красавалось 25 комментариев. Кнопки "Роказать еще комментарии" небыло... а из 25 коменетов 20 были повторениями, так как комменты зависали и не отправлялись сразу и люди жали оптравить коммент по 5 раз и они тупо доублировали своими комменатрии которые приходили через 1, 5 и 10 минут и из за этого было кучу дублей и коментарии были непопорядку не по времени оптравления и рядом мог стоять коммент оптравленый 10 минут назад и 10 секнуд назад, а потом дубль отправленый 20 минут назад.
Ровно сутки мне никто из поддержки неотвечал, ни на письма ни в чат хотя усердно делали вид что они онлайн.

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

Сегодня прийдется перейти на "cackle" каким бы не позозрительным было название, главное что они какле, а не г***о как ваш сервис. =)) 
Спасибо за внимание.

Ответить
Развернуть ветку
Дмитрий Алмазов

Интересно, как раз подыскивал модуль комментариев для сайта, надо и ваш попробовать. И что радует так это то что ценник поставили не конский. Вообще оч нравится "толстой коментс", но слишком дорого.

Ответить
Развернуть ветку
Василий Пупкин

Тоже присматривался к толстому, но из-за цены выбрал AnyComment.

Ответить
Развернуть ветку
Дмитрий Алмазов

К слову, зарегался по почте, но письмо с сервиса так и не приходит. Уж 10 минут прошло, печалька, значит посмотрю позже.

Ответить
Развернуть ветку
Anna Petrova

Ссылка в конце статьи где?
Из Яндекс.Организаций отзывы берёт?

Ответить
Развернуть ветку
Михаил Кобзарёв

О какой ссылке идет речь?

Ответить
Развернуть ветку
Dmitry Verzjikovsky

А есть где-то сравнение по производительности Disqus vs Вы?
Вы не думали сделать "прозрачную" аутентификацию как в дискусе? И может внешний вид сделать хотя бы на уровне с конкурентами?

Ответить
Развернуть ветку
Alexander Teshabaev
Автор

Сравнения с Disqus у нас нет, но есть пару статей от сторонних сайтов, которые рассказали о нас. Приложил к комментарию. 

Можете уточнить по поводу "прозрачной"  аутентификации, что имеете в виду? И чуть подробнее про внешний вид, если не сложно. 

Ответить
Развернуть ветку
Модный цилинд

Что думаете про Remark42? 
 https://remark42.com/

Ответить
Развернуть ветку
Антон Шигаев

Какая интересная штучка. Хорошая?

Ответить
Развернуть ветку
Dmitry Verzjikovsky

"Прозрачность" - это я залогинился в дискус на одном сайте и теперь на всех сайтах я сразу залогинен.
У трейвелпейаут в таблице где загрузка явно какой-то бред. Или автор забыл про сноску вроде "загрузка дискус = 8сек на моём сайте, возможно у меня что-то с хостингом или сегодня неудачный день". Никогда не видел ещё полной загрузки дискуса у себя за 8 секунд.
А внешний вид - ну гляньте хотя бы на дискус. Ведь можно сделать хотя бы так же? Я понимаю, что это вкусовщина и т.п. Но даже тут на vc.ru сделано и "красивее", и удобнее.
Если что - я не хейтер и не адепт дискуса. Я искал замену дискусу и у вас вроде даже регистрировался.

Ответить
Развернуть ветку
Alexander Teshabaev
Автор

У нас была единая авторизация на всех сайтах, но от этого пришлось уйти, так как мы отказались от iframe. Сейчас это технически невозможно, так как виджет загружается прямо на странице. Для некоторых это является плюсом.

Скоро в загрузке Disqus зависит от скорости интернета, браузере, на каком железе это все стоит. И множество других факторов. 

Дизайн можно настроить как вам нужно, с помощью нашего визуального редактора - https://anycomment.io/ru/docs/anybuilder. Мы специально разработали его, чтобы пользователям не пришлось писать CSS стили или даже разбираться в этом.
 
Про VC комментарии. У VC действительно хорошие комментарии, но вы должны понимать, что они разработаны для определенного сайта, аудитории и прочему.

Ответить
Развернуть ветку
Вячеслав Выштаев

А как на счет выполнения СОРМ?

Ответить
Развернуть ветку
Михаил Кобзарёв

А с какой целью интересуетесь?

Ответить
Развернуть ветку
Володимир Шевченко

DeComments делает практически все что тут описано без непонятных синхронизаций 

Ответить
Развернуть ветку
Mikhail Grishin

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

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

Ответить
Развернуть ветку
Alexander Teshabaev
Автор

Синхронизация у нас была в приоритете с самого старта :) Еще когда появился плагин, многие выбирали его именно из-за того, что комментарии хранятся локально. Поэтому мы не хотели пугать пользователей, что при переходе на сервис они потеряют свои комментарии. 

Ответить
Развернуть ветку
Alexander Teshabaev
Автор

Здравствуйте,
Возможно письмо попало в папку "Спам"? Проверьте, пожалуйста.
Если письма нет, попробуйте отправить письмо снова - https://anycomment.io/site/resend-verification-email.

Обычно есть задержка в минуту на получение письма. Возможно из-за какого-то технического сбоя не отправилось.

Ответить
Развернуть ветку
Vladislav

Наверное, один из первых кто установил и воспользовался Вашим, Александр, плагином. Около года функционирует без нареканий. Спасибо, отличная работа!

П.С. Даже специально зарегистрировался здесь, чтобы оставить комментарий благодарности)

Ответить
Развернуть ветку
David Pivnev

Привет. Для себя нашел этот плагин комментов, когда уже был в полном отчаянии что-то найти толковое. Нашел не без помощи WPlovers)))

Ответить
Развернуть ветку
David Pivnev

И да, Disqus по сравнению с AnyComment - перегруженное, тормозное Г, которое создано для того, чтобы ты мучился (ИМХО)

Ответить
Развернуть ветку
Андрен Норов

ух ты! вы изобрели wpDiscuz, только ещё и денег хотите за своё "ноухао"

Ответить
Развернуть ветку
dr. Newbas

Возможен перенос комментариев с Disqus на вашу платформу?

Ответить
Развернуть ветку
dr. Newbas

Подсказали в чате - https://anycomment.io/ru/docs/migrate-disqus

Ответить
Развернуть ветку
22 комментария
Раскрывать всегда