Как мы сделали эмулятор Слэка для демонстрации возможностей Кармабота

Здесь в Окленде обозначилась проблема. Чаты пришли на замену электронной почте. Рынок чат-приложений, чатботов (Telegram, Slack, MS Teams) новый и неизведанный. Крупные компании переезжают одна за другой в чудный мир хаотического общений чатиков. Два года назад мы создали Кармабот. Это бот для учёта плюсов, посланных коллеге «в карму». Из этих маленьких актов взаимной благодарности строятся профили участников команды. В долгосрочной перспективе из шума коммуникаций Кармабот распознаёт важные сигналы и определяет успеваемость каждого сотрудника.

Кто-то пользуется ботом для системы бонусов, кто-то для повышения в конце года использует информацию, кто-то для веселья и ежемесячных призов «Лучший коммуникатор». Мы старались построить гибкую систему.

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

Проблема одного стартапа

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

Планирование

Посмотрели как работают Slack и Teams, проанализировали основные действия, выделили необходимые фичи приложений, которые нам потребуется имитировать, для демонстрации нашего бота, а именно – имитация каналов / групп / команд, окно чата и разные типы сообщений (текст, картинка, экшен-баттоны, karmabot cards), ввод сообщений и обработка вводимых команд.

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

Для среды разработки был выбран Nuxt.js, генератор статических сайтов, работающий на реактивной связке Vue + Vue router + Vuex.

Начало разработки

Наличие одного глобального хранилища (Vuex) очень упростило всю разработку тем, что в любой момент из любого компонента доступны ссылки на единственное истинное хранилище, любые изменения в котором логируются и вызывают реактивные изменения во множестве связанных компонентов

Также присутствует интернационализация, русский и английский язык (обусловлено тем, что лендинг мультиязычный), реализовано с помощью модуля nuxt-i18n и файлов локализации

Для создания антуража и атмосферы команды и движухи внутри нее, при инициализации приложения слачайным образом генерируются пользователи и записываются в глобальное хранилище, а также для них генерируются базовые значения, необходимые для нашего чат-бота: количество кармы (на базе этих данных строится таблица лидеров среди команды) и karmafeed, имитирующий выдачу кармы в прошлом нашими сгенерированными юзерами демо-команды. Также каждому юзеру генерируется его текущий статус (работает, брейк, оффлайн), для демонстрации фичи karmabot status.

Рендеринг

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

Было полностью сымитировано поведение чата — наличие списка сообщений (на старте мы также генерируем несколько сообщений от пользователей, для антуража и большей вовлеченности), и поле ввода, которое при “отправке” сообщения анализируется на предмет команд нашего бота.

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

Для удобства пользователя мы сделали панель с шорткатами, по клику на которые в поле ввода записывается команда и отправляется, запуская процесс ее обработки.

Результат

Тур Кармабота

Мы добавили события Google Analytics и изучаем связь конверсии с наличием интерактивного теста. Эмуляторы вызвали интерес у комьюнити Hacker News, больше 5000 человек проиграли тест, кто-то зарегистрировался и попробовал сам Кармабот. Очень надеемся, что созданный “интереса ради” модуль, поможет улучшить показатели.

Комментарии

 

Всё течёт, всё прокисает

Здесь в Окленде сдохла лицекнига, истёк срок годности, стало скучно и не интересно. Относительно живая интернет-активность моя нынче лишь в тви на @stas_kulesh проявляется. Инстаграм превратился в какие-то истории, инфлюенс-промо-аккаунты кругом. Живых людей и нет совсем. Скатываться в односторонний телевизор Telegram-групп тоже не хочется. Телеграм — прекрасный продукт, но по сути та же свалка друзей, работы, подписок.

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

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

Подписываешься на интересные темы, читаешь их через понятный всякому, кто в теме, формат RSS на одной странице (вау! лента!) ATOM для продвинутых. Но и там начались промо-аккаунты, перекрёстные посты, обмен баннерами и контентом. Мертвечина поглотила живое человеческое общение.

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

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

Чаты пока держатся, они как бы для людей и про людей. Что совершенно точно иллюзия, ибо хозяева те же. Вот уже LinkedIn начинает присылать ‘Sponsored’ сообщения в чат. Расстройство и тьма.

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

Комментарии

 

У нас была любовь, а теперь — ремонт

Здесь в Окленде покупкой дома и ремонтом мне довелось заниматься 2 раза. И оба раза мысли о возне с инструментами, мучительном выборе материалов и многочисленных вызывали ухогорлоносные кровотечения: противнее занятия, чем ремонтная суета придумать сложно. Гнездование, конечно, приятно, не спорю, однако, бессилие, которое охватывает при виде стеллажа с вариантами краски, клея, досок, раковин кухонных, вот этого всего хламья – душу леденящий ужас, а не бессилие.

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

Во второй раз, этой весной, уже в проапгрейженной (гуманитариев здесь почти стошнило, я полагаю) версии гнезда, мы улетели в Токио на неделю, и вернулись в дом без лишней стены и с новой кухней. Пришлось, конечно, побегать за пару недель до отъезда: мне снились сраные дизайны всевозможных кухонь. Гранитные плиты, раковины, краны с хромовым финишом, люстры, LED-светильники, полы, поэтические наименования цветов краски для стен, пола и плинтусов — всё это, как в магическом трёхмерном концерте Микки-Мауса или плохом сне Алисы, начинало кружиться в голове, стоило лишь закрыть глаза.

Один из самых частых вопросов, который задают рукастые мужики, желающие перебраться в Новую Зеландию: «Можно ли построить своими руками дом?» Можно, если вы лицензированный строитель, лицензированный электрик и лицензированный же водопроводчик (слесарь? я их путаю). Иначе — нет, нельзя.

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

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

C Василием из по-сербски звучащей компании Anatolich Builders мы были знакомы с мятежных времён коктейльных вечеринок в съёмном доме на Waterview Downs. В далёком 2009 году въехали туда дружной пост-советской ячейкой. Слухи ходят, там по сей день проживает группа русских товарищей.

Он очень помог спланировать и, что называется «срастить», проект. Меняли полы, красили стены, потолки и плинтусы, сносили стену, ставили кухню, обновляли светильники, шпатлевали, наклеивали стекло (сплэшбэк блядский). Девять разных специалистов должны были поучаствовать в конвейерной сборке нашего домашнего проекта. Срок — неделя. Получилось не идеально, но очень хорошо.

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

В основном люди лучше, чем кажутся, и каждый должен заниматься своим делом. Два раза в моей взрослой жизни мне приходилось покупать дом, два раза я вынужден был гнездоваться. Оба раза мне жутко повезло, как многие скажут, что после нажатия кнопки «Поехали!» ремонт случился не за год, не за два, а за неделю. Качество жизни оба раза переходило на новый уровень. Рекомендую, короче. Васю в частности и методу в целом.

Было

Примитивная кухня двадцатилетней давности. Стена, блокирующая свет из кухонного окна и гигантские шкафы на всю стену. Блевотный серый ковёр.

Стало

Убрали стену, положили полы, поменяли кухню полностью. Ламинат на полу. Найдите 10 отличий, короче. Неделя времени, цена вопроса (вместе с техникой), заменой ламп на светодиодные (LED) по всему дому и ламинированной лестницей 32000 NZD.

Комментарии

 

Site Palette PRO для программистов

Здесь в Окленде мы дорисовали, докодили и запустили ещё один мини-проектик, который натуральным образом вырос из мартовского Site Palette. Если помните, это набор плагинов для популярных браузеров. Плагины умеют вытаскивает цвета из любого сайта и генерировать не только гармоничные комбинации цветов, но и ссылки, которые можно расшарить, послать, к примеру, клиенту.

Бесплатные плагины Site Palette для…
Google Chrome
Firefox
Safari

Продукт для дизайнеров и менеджеров в основном. Он помогает привнести больше конкретики в ситуацию, когда клиент говорит «сделайте цвета, как на этом сайте». Теперь не надо ползать по сайту с пипеткой, сразу вот несколько комбинаций цветов, сразу в формате Sketch или Adobe Swatch. Всё для людей, короче.

Плагины хорошо, что называется, зашли, о Site Palette написали в популярных твиттерах, и за три месяца больше 10000 человек установили себе наши поделки. В браузере вся магия происходит локально, без серверной части, всё считается скриптами прямо тут.

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

Плюсуем неистово Site Palette PRO на Product Hunt »

Site Palette — это наш пятничный проект, сделанный в Sliday по-приколу. Очень приятно, что продуктом пользуются живые люди. Если получится на нём заработать — супер!

Комментарии

 

Реклама услуг из Новой Зеландии

Здесь в Окленде многие ведут каналы на YouTube. Кто знает, тот понимает, как много с видео возни, и как долго она занимает. Мне подвернулся случай воспользоваться услугами одного не очень опытного, но в определённой мере талантливого оператора. У парня глаза горят, только начинает. Я так понял, что готов браться за любую работу: снимает всё подряд, тут же режет, озвучивает и выкладывает.

Списались в Телеграме, организовались, вовремя подъехал, отснял, смонтировал, обработал, музычку и титры наложил. Рекомендую, короче, кому надо. Бесплатный оператор-монтажёр для влогов. Без проблем.

Тут можно связаться с товарищем »

P.S.: Заметил косяки в работе: слово «блядь» вырезал, а «хуйню» и «говно» оставил.

Комментарии