Отладочные платы, бесплатно и удалённо: как за 2 года сделать международный веб-сервис для программистов и не заработать

Привет, меня зовут Павел Бойко, основатель All-Hardware, компании с ужасным названием, предлагающей программистам «каршеринг для железа». В статье – 2 года истории проекта, с нуля до международного веб-сервиса. А также наблюдения и выводы, сделанные по пути. Осторожно: лонгрид!

Отладочные платы, бесплатно и удалённо: как за 2 года сделать международный веб-сервис для программистов и не заработать

Введение

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

Есть сфера embedded, это всё, где есть вычислители, но не персональные компьютеры. То есть телевизоры, стиральные машины, самолёты и разные нишевые «глазковыколупывательницы». Сейчас уже почти везде есть какой-нибудь микропроцессор. На самом деле, говорить «микропроцессор» не совсем верно, ведь обычно это или микроконтроллер, или... Да много ещё чего, что можно довольно точно описать последовательностью аббревиатур CPU/MPU/MCU/DSP/CPLD/FPGA, но суть одна: все эти штуки – по сути вычислители, и, для простоты, назовём это всё микропроцессорами (или просто процессорами).

Есть чипмейкеры, ребята, которые делают эти самые микропроцессоры. Из тех, что на слуху в embedded: ST Microelectronics (ST), NXP, Texas Instruments (TI), Microchip и многие другие. Хотя, «многие» – это всего несколько десятков компаний. Из крупных.

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

Чипмейкеры создают новые процессоры и стараются донести их до разработчиков: публикуют материалы, устраивают выставки и семинары. Но главное – создают так называемые отладочные платы, ведь просто процессор «попробовать» сложно, его нужно как-то «воткнуть» в компьютер разработчика. Отладочные платы как раз для этого и предназначены. Это тот же самый микропроцессор, «посаженный» на специальную плату. Плата же снабжена всем необходимым, чтобы подключить её к обычному компьютеру, запрограммировать и испытать в работе. А потом уже, «наигравшись», разработчик либо создаёт свою собственную плату с данным процессором, которую ставит в свой серийно выпускаемый продукт («холодильник»), либо не заморачивается и использует отладочную плату «как есть» (это, если тиражи небольшие и некоторой избыточностью функционала и повышенной стоимостью отладочной платы по сравнению с «голым» процессором можно пренебречь).

Как вы уже догадались, чипмейкерам выгодно как можно шире распространять свои отладочные платы, ведь эти платы, сами по себе, не бизнес, а способ продвижения основного продукта, в частности, микропроцессора. Да, отладочные платы продают. Но нет, не стремятся заработать на этом. Нужно заинтересовать разработчика, и заработать не на продаже ему отладочных плат («копейки»), а на его серийном заказе микропроцессоров для своего серийного устройства («миллионы»). Чипмейкеры и рады бы распространять свои «отладки» бесплатно, но их, чипмейкеров, мало, а разработчиков много: всех бесплатно отладочными платами не снабдишь. Вот и получается, что самые перспективные разработчики (читай: крупные компании) получают отладочные платы по первому запросу (или даже без), а те, что помельче, кому как раз хотелось бы подешевле, вынуждены платы покупать. Это потому, что чипмейкеру интересны только те, кто потом сделает большой заказ, а про небольшие компании непонятно, будет заказ или нет, и с какой вероятностью. Что уж говорить про энтузиастов... Им остается либо покупать отладочные платы, либо надеяться на удачу и бродить по выставкам (например, компания ST регулярно бесплатно раздает приличное количество своих плат на ежегодной выставке Embedded World в Германии, и каждый раз за ними выстраивается огромная очередь (хотя в 2020-м, в честь «короны», стенд ST был наспех замотан скотчем и раздачи не случилось, что, неожиданно, еще более актуализировало наш проект).

Суть проекта

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

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

История

2018: С чего всё начиналось

Всё началось с компании АстроСофт, в которой я отработал примерно 18 лет, из них 14 проведя на разработческих позициях от программиста-джуна до архитектора. Потом – руководитель проектов, зам. директора по производству, а в 2018-м возглавил процесс выделения направления разработки системного ПО сначала в обособленное подразделение, а чуть позже и вовсе в отдельную компанию, генеральным директором и совладельцем которой и стал. Чуть позже, по техническим причинам, мы ещё разок сменили юрлицо, и на данный момент в нём и работаем. Компания МИР (https://mir.dev) – питерский разработчик системного и инструментального ПО. На российском рынке мы специализируемся на создании инструментария для разработчиков (различные SDK, RTOS, компиляторы), а на зарубежном – на разработке системного «окружения» для различных embedded плат, так называемые BSP (board support packages), а то и просто firmware.

Наш типичный клиент – разработчик некоторого «железа» (hardware), от процессора до конечного устройства. Клиент специализируется на создании железа, а мы помогаем ему с софтом, без которого данное железо продать невозможно. Зачастую клиент имеет огромный опыт hardware разработки, но разработку software, поскольку это не основная его специализация, нередко оказывается выгодно поручить нам, так как мы делаем это постоянно и съели двух собак: и в России, и за рубежом.

За прошедшие годы мы очень часто сталкивались с ситуацией, когда железо было «там», а мы – «здесь». Каждый раз мы каким-то образом решали эту задачу, но это всегда отнимало время и силы. И вдруг, в 2018-м (лучше поздно, чем никогда), осенило: раз мы умеем и в системное ПО, и в сетевые технологии, так давайте уже сделаем устройство, которое позволит нам работать с оборудованием заказчика удалённо? Сказано – сделано. И где-то за год такое устройство мы собрали (можно поискать статьи на Хабре по слову Redd, или просто вот). В начале 2019-го оно уже нормально работало, а мы еле-еле стали выползать из глубокого кризиса, в который угодили в процессе выделения в отдельную компанию, и стали думать, что же делать с разработкой дальше.

Март 2019: Идея

В начале 2019-го, мой крутейший коллега, Павел Локтев, наш коммерческий директор, вытащил меня на «рабочие выходные», которые вдруг устроила в СПб неизвестная мне на тот момент компания ФРИИ. Отработав там субботу и воскресенье, я вдруг отчётливо осознал две вещи, которые раньше почему-то совершенно не приходили в голову: 1) прежде чем делать продукт, нужно посчитать его экономику, прикинуть, кому и как ты будешь его продавать, и разведать этот рынок; 2) если это история не на миллиард, зачем её вообще начинать? После тех выходных в голове сидело: «а что, так можно было?!», и я стал прикидывать, какое же будущее у нашего проекта Redd.

Будущее у Redd вырисовывалось не особо радужное: да, определённо не нужно делать это «для себя», не окупится. Нужно продавать его всем желающим. Это было ясно и раньше. Но прикидки по затратам на доведение продукта от штучного до тиражируемого, затратам на сопровождение, количеству клиентов, которое позволило бы нам выйти на безубыточность, нарисовали такие фантастические цифры, что стало ясно – с этой моделью нужно повременить. Тем более что теперь я держал в голове вопрос «а где миллиард?». Redd четкого ответа не давал. «Но мы же сделали так много! Как это можно бросить?» – на удивление, этот вопрос оказался конструктивным, и в голову пришла модель, которая на тех же самых технологиях даёт совершенно иной продукт, иной рынок и гораздо более привлекательную бизнес-модель. Так появился All-Hardware.

Май 2019: MVP (прототип)

«Рабочие выходные» с ФРИИ не прошли даром – я «уверовал». Вскоре открылся набор в акселератор ФРИИ, и я не придумал ничего лучше, как первый заработанный в процессе тяжелого выползания из кризиса миллион отдать этим ребятам. Прекрасно понимая всю авантюрность этого шага, я всё же видел признаки того, что это, в некотором смысле, наш шанс. Тот самый Павел Локтев однажды меня спросил: «А с чего ты решил, что с этим нашим новым продуктом всё получится? Люди те же, делаем так же, с чего бы результату оказаться другим?» И он был совершенно прав. До того мы поработали не над одним продуктом, и коммерческие результаты были не очень. Каждый раз схема была похожей: «А-а-а! мы придумали суперштуку! Конечно, это будет надо всем! Давайте делать». Ну и после того, как сделали: «Странно, наверное, они просто не понимают, надо еще докрутить фич», и дальше в таком же духе. У ФРИИ я узнал о другом подходе. Странном, неожиданном, но логичном, гениальном и очевидном. «А что, так можно было?!» – этот вопрос я задавал потом себе ещё не один раз. И это лучший показатель того, что мы действительно стали чему-то учиться.

Короче, мы подали заявку на программу «Go Global». Выглядит как нативочка? Эй, ФРИИ, не забудьте отстегнуть :) Подали ещё с проектом Redd (больше было не с чем). Потом доформировалась идея All-Hardware. И, уже заскакивая в программу, мы сообщили организаторам, что идея проекта полностью поменялась. Они не были против, ведь мы оплачивали программу сами, без привлечения инвестиций от ФРИИ. Вообще программа предназначена для тех, у кого уже есть продукт (вывод его на зарубеж). А мы передумали, и продукта у нас вдруг не стало. Но мы шли ва-банк, какая уже разница. Кстати, поэтому и название проекта оказалось довольно не маркетинговым. Ну, кто так называет: оно не гуглится, ничего не объясняет, сложно выговаривается... Но было не до того. Я быстро придумал название, купил подходящий домен (https://all-hw.com) и заказал логотип. А что? Разве это не полдела?

Идея проекта появилась за месяц до начала программы акселерации. Понимая, что с одним логотипом ловить совсем нечего, мы бросились пилить MVP. В итоге мы поступили не так, как привыкли (сначала долго делать продукт, а потом удивляться, почему низкий спрос), а сделали реально минимально жизнеспособный продукт, который был кривым, косым, но идею всё же демонстрировал. Вот так вот, практически случайно, мы и пошли по рельсам, отличным от тех, которые раньше казались единственно возможными. А вот так оно выглядело в железе:

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

Программная часть была в похожем состоянии, но её фото (возможно, к лучшему) показать невозможно.

Июнь-август 2019: Исследование рынка

Всё у нас шло кувырком, но в критических ситуациях всегда везло. Например, чтобы получить реальную пользу от акселератора, там нужно присутствовать физически. Поэтому встал вопрос аренды квартиры. В целом, вопрос несложный. Но давайте добавим «отягчающих»: 1) удалённо, 2) в Москве, 3) за пару недель, 4) на два с половиной месяца, 5) на трёх человек, 6) трёх человек мужского пола? Mission impossible! Всего я нашёл около 10 подходящих вариантов, и в первом же сообщении арендодателям вывалил всю правду-матку (чтобы не тратить время на тех, кто в итоге всё равно откажет). Приличная часть просто не ответила, несколько быстро отвалились, один вариант показался разводом, и в итоге остался всего один. Конечно, я рванул в Москву, чтобы посмотреть и квартиру, и хозяев. Квартира оказалась отличной, хозяева тоже, только вот почему-то договор нужно было заключать не с ними, а с каким-то родственником по доверенности. При всей подозрительности ситуации, это почему-то не показалось разводом. Когда я рассказывал эту, к тому моменту ещё не завершившуюся историю в рамках какого-то тренинга со сцены того же ФРИИ (куда будущих участников программы пригласили бесплатно), аудитория явно посочувствовала моим умственным способностям, а ведущий (Дмитрий Соколов) от души пожелал удачи и попросил потом рассказать, чем же всё закончилось. Рассказываю: всё получилось хорошо!

И вот, начался акселератор. К тому моменту мы отлично сработались с Константином Кобышевым, исполнительным директором МИР, и, хотя всего полгода назад мне казалось совершенно невозможным оставить компанию на 2,5 месяца, сейчас я уезжал если не со спокойным сердцем, то с сильной верой в то, что всё будет хорошо. И всё тоже получилось хорошо. Костя, спасибо!

Два с половиной месяца мы впахивали. Не то, что бы это было новое состояние. Нет, состояние было привычным. Но это необычное чувство, когда ты сконцентрирован на одном проекте и твоя производительность начинает быть гораздо выше, чем произведение типичной производительности на количество часов. Когда и в редкие моменты отдыха ты не перескакиваешь в голове с проекта на проект, с проблемы на проблему, а думаешь об одном. Всё это даёт суперэффект, и начинаешь понимать, почему это венчурные инвесторы не любят стартапы, в которых основатели занимаются каким-то ещё дополнительным бизнесом. Хотел написать, что же было в акселераторе, но это явно потянет на отдельную статью не меньшего размера. Хотя и не верю, что когда-нибудь соберусь её написать, но всё же сейчас опишу акселератор очень кратко, как будто большая статья когда-нибудь появится. Первые недели было много лекций. Иногда – теоретиков. Но в основном – практиков. Кто уже прошёл этот путь и добился каких-то результатов. Иногда очень значительных. Какие-то мысли повторялись от выступающего к выступающему. Где-то они друг другу противоречили. Но противоречия показывали, что это не срежиссировано, ты по-настоящему слушаешь человека, который, например, сколотил миллиардную компанию. ФРИИ, блин, КАК вы вытаскиваете таких спикеров? Постепенно лекции становились всё реже, и это очень хорошо, потому что в это же время мы всё больше и больше ощущали, что «сами с усами» и нам уже совсем некогда было кого-то слушать, надо было бежать вперёд, а счёт шел на минуты. За каждой командой закреплялся так называемый трекер, который ежедневно помогал команде не отвлекаться и действовать максимально осознанно (Коля Серкутан, спасибо!). А ещё – ведущий трекер, с которым встречи были раз в неделю. И если с трекером мы сработались всерьёз и надолго, то с ведущим трекером получилось не сразу. Надо отдать должное ФРИИ, заметив сложности, они передали нас другому ведущему трекеру, Алексею Костареву, который дал нам то, чего нам не хватало: каким-то образом взбодрил и «пересобрал». Каждую неделю мы уточняли наш проект, ставили вопросы, на которые важно получить ответ, и за последующую неделю этот ответ находили. Не всегда всё было белым и пушистым: мы научились делать спам-рассылки, выдавать себя за журналистов, за жителей США, предлагать того, чего у нас нет, и много чему ещё. Нет, этому не учили в акселераторе. Но это был опыт, которым делились и уже успешные компании, и окружающие нас команды. И этот «бульон» – отличное место для получения новых знаний, нового опыта и роста.

Опишу одну из демонстраций нашего проекта на Zoom-созвоне с потенциальным клиентом. Мы заходим в разговор, попутно выясняя, что наш сервер «развалился» и ничего не работает. Пока один из нас рассказывает, как космические корабли бороздят просторы Большого театра, удалённая команда лихорадочно чинит сервер, а напарник ведущего разговор, по каким-то, уже невспоминающимся сейчас причинам, колдует над ноутбуком, у которого тоже что-то вдруг сломалось. В итоге основной участник разговора говорит одновременно в микрофон одного ноутбука, в гарнитуру второго, кто-то рядом держит телефон, приложив к его микрофону наушник от гарнитуры одного из ноутбуков... Перечитал – выглядит довольно странно. Тем более я так и не смог вспомнить, почему вообще такая странная конфигурация вдруг понадобилась. Но тогда всё это было не важно, мы просто делали всё, что было надо, тут же выбрасывали из головы и бежали дальше. Ах да, сервер был восстановлен за несколько секунд до демонстрации, а на демонстрации мы просто не нажимали в интерфейсе туда, куда нажимать было нельзя, чтобы всё опять не сломалось.

За время акселератора мы проверили несколько клиентских сегментов, провели 40+ интервью с сотрудниками различных чипмейкеров (до этого мы даже понятия не имели, как это вообще возможно, чтобы какой-то американец, работающий в какой-то крутой компании, вдруг взял и поговорил с тобой по телефону), 20+ интервью с embedded инженерами, провели 10+ демонстраций.

Позже этот опыт пригодился и для основной деятельности МИР. На его основе за год мы построили лидогенерационную машинку на рынке США. Но это уже совсем другая история.

Что же до истории текущей: мы вышли из акселератора с двойственным впечатлением. Первое – теперь мы свернём горы! Мы знаем как и даже одну уже раскачали! Второе – мы ничего не продали, а ведь это самый объективный показатель, его не заменишь внутренней уверенностью. Тем временем пришла пора возвращаться домой.

Стенд к тому моменту выглядел уже вот так (лишь платы на «подстилке» лежали другие).
Стенд к тому моменту выглядел уже вот так (лишь платы на «подстилке» лежали другие).

Сен. 2019 – Фев. 2020: Разработка

Дома всё было неплохо, но кризис не миновал, и нужно было вновь глубоко погружаться в происходящее по основному бизнесу. Месяцы пролетали незаметно, и хотя All-Hardware не был заброшен, основная работа в проекте продолжалась в сфере разработки, а на коммерциализацию совсем не хватало времени. Возможно, оно и неплохо, так как по реализации накопился огромный «технический долг» и нужно было многое доделать, а то и переделать, чтобы дальнейшие показы не были каждый раз на грани фола. К тому же, проведя эту кучу интервью и демонстраций, мы гораздо лучше поняли, как должно выглядеть наше решение. Удивительно, но первая версия веб-интерфейса «влезала» на один экран. Это был экран, перегруженный разными кнопочками. И хотя для меня назначение каждой из них было очевидным, вдруг оказалось, что новый пользователь не очень-то и понимает, что к чему. Уже во время акселератора Паша Локтев предложил разбить интерфейс на несколько экранов, и хотя мне очень не хотелось это делать (ну как же, я же изначально придумал идеальный интерфейс, как его можно улучшить?), скрепя сердце все-таки согласился. И сейчас старый вариант вспоминается только с содроганием.

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

Программная часть тоже развивалась с приключениями. Уже сложно восстановить хронологию, но на проекте трижды сменился РП (руководитель проекта), были изменения и в команде. Но каждый участник проекта ещё немного продвигал его вперёд. Ни разу не было такого, что кто-то покидал проект, потому что не справился. Жизнь шла своим чередом, у кого-то появлялись новые возможности, у кого-то менялось что-то в личном плане, но проект развивался. Всего в проекте поучаствовало около 20-ти человек. Каждый вложил в него что-то хорошее, и мне было приятно поработать с каждым участником. Так. Что-то становится похоже на завершение статьи. Нет, это только середина. Продолжим.

Фев. 2020: Конференция

Пару разделов назад забыл описать одно важное событие. Среди огромного количества разговоров (в основном с иностранцами), а то и встреч (в основном с местными), был забавный эпизод. Не успев на тот момент ещё обзавестись американским номером телефона, мы позвонили в главный офис компании-чипмейкера ST Microelectronics, нас тут же раскусили и, даже не став слушать, соединили с российским офисом продаж. Мы было приуныли, но попали на директора по продажам ST в России Анатолия Дудникова, который оказался очень энергичным, моментально понял идею проекта и вывел нас на крупнейшего российского дистрибьютора микроэлектронных компонентов КОМПЭЛ. С одной стороны, это было совсем не Global, к которому мы стремились, но с другой – мощная организация, у которой, похоже, мог быть интерес к нашему решению. Вскоре удалось встретиться с руководителем департамента закупок и маркетинга Александром Григорьевым, после встречи с которым стало ясно: проект попадает «в струю» – намерением КОМПЭЛа автоматизировать работу с масс-маркетом. Пожалуй, тут уместно небольшое пояснение.

И у чипмейкеров, и у дистрибьюторов, в среднем две трети выручки обеспечивают крупные клиенты. Как я уже писал сильно выше, крупным клиентам можно всё: им отправляются платы, им предоставляется помощь инженеров, с ними организуются личные встречи. А что же масс-маркет? С ним сложнее. Некоторые дистрибьюторы и вовсе отказываются от работы с этим рынком. А некоторые, как КОМПЭЛ, делают выручку и там. Но на масс-маркете очень важно снижать стоимость привлечения клиента, ведь объёмы заказов небольшие, а то и нулевые. И тут на выручку приходят разнообразные способы автоматизации. И мы со своим решением «попробуй бесплатно и без долгих запросов-согласований» оказываемся весьма кстати.

Александр познакомил нас с директором (Андреем Агеноровым), директор – с основателем (Борисом Рудяком), и вот мы уже приглашены на закрытую (доступ только по приглашениям) международную конференцию «Компэлфест 2020», которая прошла в феврале. Конференция длилась три дня, на неё приехали представители многих российских компаний, а также многих хорошо известных зарубежных чипмейкеров.

А вот и наш «скромный» стенд, под который нам выделили прекрасное место – прямо возле входа в основной зал. То есть пройти мимо нас и не заметить было просто невозможно.
А вот и наш «скромный» стенд, под который нам выделили прекрасное место – прямо возле входа в основной зал. То есть пройти мимо нас и не заметить было просто невозможно.

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

На конференции мы пообщались с разработчиками, представителями множества российских компаний. Со многими из них мы связывались и позже, и многие из них нас чему-то научили. А ещё мы познакомились с представителями нескольких зарубежных чипмейкеров, иногда прям с топ-менеджерами. Огромное спасибо Александру Григорьеву, который приводил их к нам и очень классно рассказывал им про нас, когда я, со своим «школьно-немецким» английским, пытался сказать, что я всех их «глад ту мит».

На этом мероприятии было два ключевых момента. Первое – знакомство с ST. Второе – знакомство с Microchip. Вторые, когда узнали, что я собираюсь в США, пригласили меня на встречу в их штаб-квартире в Техасе. А первые – ну, мы просто познакомились. В США я побывал в марте. Встреча с Microchip не состоялась, так как в итоге их решение было «мы сосредоточены на удешевлении отладочных плат, и не работаем над двумя разными решениями одной проблемы». А вот с ST всё продвинулось несколько дальше, о чем будет ниже.

Наш «взрослеющий» стенд по состоянию на момент выставки.
Наш «взрослеющий» стенд по состоянию на момент выставки.

Март – Май 2020: Работа с пользователями

Выставка дала нам две крайне полезных вещи: 1) контакты с чипмейкерами; 2) контакты с пользователями. И те, и другие – бесценный источник обратной связи. Много полезной информации мы получили прямо на выставке, а ещё больше собрали позже, связавшись со всеми, кто согласился оставить нам свой контакт.

В тот момент мы осознали, что получить обратную связь – крайне непростая задача. Вроде бы человеку нравится твоя идея, вроде бы он зашёл и попробовал (зачастую даже неоднократно), но это вовсе не значит, что он готов поделиться своим впечатлением. Знаю по себе: регистрируешься где-то, пользуешься, а потом получаешь на почту письмо в духе «здравствуйте, я основатель этого сервиса, можно узнать у вас пару вещей?» – письмо отправляется прямиком в корзину. Мало ли у кого какие вопросы, у меня нет на это времени, мне и свою-то работу делать некогда. И тем не менее первая реакция была: «да как же так? как это мы не можем получить обратную связь?!» Задача всё же оказалась выполнимой, хотя и потребовала много усилий и времени. Мы собрали более десяти детальных отзывов, и они нам здорово помогли взглянуть на нашу работу со стороны.

Всё это время мы находились в контакте с ST. И вот, представитель ST предложил нам закинуть приглашение на тестирование сервиса сначала в сообщество на сайте ST (без заметного результата), а чуть позже – в одну из embedded групп в фейсбуке. Пост в FB можно найти здесь (к сожалению, группа закрытая и, вероятно, даже обладая прямой ссылкой, пост можно и не увидеть). На тот момент доступ к нашему сервису был возможен только по индивидуальным логинам-паролям, которые мы выдавали вручную. В фейсбуке около десяти человек запросили и получили такой доступ. А потом вновь повторилась борьба за обратную связь. В итоге три человека согласились ответить на наши многочисленные вопросы, а наша коллекция пополнилась первыми откликами от зарубежных пользователей, которые тоже оказались весьма ценными. Но, самое главное – наконец-то эта коллекция стала хоть немного репрезентативной. И в ней стали прослеживаться некоторые закономерности.

Но особо размышлять над результатами было некогда, так как КОМПЭЛ, с которым мы всё это время были в плотном контакте, с энтузиазмом согласился на пилотный проект. Который стал нашим первым «настоящим» внедрением. Со стороны КОМПЭЛ с нами работали Валерий Бабаян и Елена Сивицкая, бренд-менеджеры ST, а также Владислав Барсов, инженер по применению микроконтроллеров ST. Спасибо вам огромное! Ваш энтузиазм не только сделал возможным проведение пилота (а затем и второго проекта), но и здорово обогатил меня в понимании сферы, для которой мы и делаем свой продукт.

Тем временем аппаратная часть обформфакторилась для установки в стандартные серверные стойки:

Отладочные платы, бесплатно и удалённо: как за 2 года сделать международный веб-сервис для программистов и не заработать

Ой, нет, не то фото. Вот правильное:

Отладочные платы, бесплатно и удалённо: как за 2 года сделать международный веб-сервис для программистов и не заработать

Май – Сентябрь 2020: Пилотный проект на платах ST (G4)

Пилотный проект прошёл кувырком. Нужно было обеспечить возможность удалённой работы с 20-ю платами G4 производства ST (в рамках рекламной кампании КОМПЭЛ по данному продукту). Не было готово железо, не был готов софт, отваливалось то одно, то другое. Работа допоздна и «рабочие выходные»... И вот, 15 июля, день икс. Дата и время озвучены заранее, приглашения разосланы, перенести невозможно. И последний апдейт продуктового сервера за несколько минут до начала семинара. Тестирование после апдейта прода? Ну, видимо, в процессе и потестим. Мы следили за счётчиком посетителей и переживали. Никогда ещё у нас не было «диких» пользователей: только накануне мы открыли доступ всем желающим, до этого доступ был строго по приглашениям, можно сказать, в лабораторных условиях. А тут сразу и неизвестные нам посетители, да еще так много, целых 5!

Невысокая активность пользователей сыграла нам на руку. Скоро выяснилось, что наш сервис не работает, когда два пользователя одновременно работают с платами (даже разными). Тестирование каким-то образом не выявило этой проблемы, но до того ли было? Проблему мы быстро исправили, и новые «всплески» активности пользователей встретили уже во всеоружии. А всплески были. Через несколько дней после семинара у КОМПЭЛ была рассылка с материалами (в том числе там можно найти видеозапись этого исторического семинара), позже – внутреннее тестирование сервиса собственными инженерами КОМПЭЛ, а затем – рассылка КОМПЭЛ по своим топ-клиентам. Мы наблюдали всплески в статистике, и радовались: кажется, сервис работал без сбоев. Увы, обратную связь не оставлял никто. Архитектура сервиса такова, что сами мы не можем видеть, чем конкретно занимаются пользователи на наших платах. Единственным признаком того, что всё более-менее в порядке, стала статистика: некоторые пользователи возвращались в другие дни и вновь проводили в сервисе некоторое время.

А в сентябре мы разместили статью на Хабре. Она не строго про наш сервис, а про решение одной из задач, которая возникла в процессе работы над ним. Тем не менее в этой статье впервые (среди наших статей) даётся описание, что это за сервис, и близко к началу статьи приводится ссылка на него. И вот эта публикация дала нам всплеск по новым регистрациям в несколько раз превышающий эффекты от всех предыдущих активностей. Хорошо, что к этому моменту мы уже неплохо натренировались, и хотя 100% уверенности до сих пор нет, отсутствие негативных комментариев к статье позволяет надеяться, что всё у наших новых пользователей прошло хорошо.

Всё это время мы продолжали общаться с редкими пользователями, согласившимися поговорить. Информация из интервью была очень разная. Поначалу казалось, что между ними нет ничего общего. Но постепенно, в этом отсутствии общности, общность как раз и проявилась. Мы поняли, что нашим пользователям: 1) нужен очень разный функционал; 2) нужен очень разный ассортимент. Наши выводы по завершению пилотного проекта: сервис интересен embedded разработчикам, и мы доказали его технологическую работоспособность. Но. Если изначально была идея в том, что мы представим сервис, интересный широкому кругу разработчиков, то теперь стало ясно: у них очень разные потребности. И чтобы продукт стал интересен широкому кругу пользователей, он должен очень существенно вырасти как по функционалу, так и по ассортименту. Очевидный вариант – уйти в глубокое подполье, вложить много денег, допилить много нового функционала, нарастить ассортимент, и заявиться на публику вновь через пару лет. Но мы же уже знаем, что это путь в никуда. После долгих раздумий родился следующий вывод:

Надо сосредоточиться на одном узком сегменте – тренингах/воркшопах/семинарах. Чем хорош семинар? Он проводится на конкретной плате, у него есть конкретный сценарий. То есть участник семинара будет на 100% удовлетворён нашим сервисом, так как он идёт в него для того, чтобы поработать на конкретной плате и реализовать конкретный сценарий (соответствующий сценарию семинара). А проведя несколько (десятков) семинаров, можно будет вернуться к изначальной модели, ведь каждый семинар даст нам инкремент и по функционалу, и по ассортименту. То есть, не уходя в подполье, постоянно находясь в контакте с пользователями, да к тому же получая выручку от клиентов, мы, шаг за шагом, будем приближаться к тому состоянию, в которое изначально и задумали прийти.

Начальный этап подготовки стенда с платами G4. Технологии прежние, платы новые.
Начальный этап подготовки стенда с платами G4. Технологии прежние, платы новые.
На 15 июля 2020 плат в сервисе уже довольно много, большинство размещается в этих трёх «ящиках».
На 15 июля 2020 плат в сервисе уже довольно много, большинство размещается в этих трёх «ящиках».

Октябрь 2020 – Январь 2021: Второй проект на платах ST (L5)

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

Вот одна из них
Вот одна из них

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

Ещё летом мы познакомились с Сергеем, который спроектировал для нас отличный корпус для этой будущей версии (и помог с изготовлением нескольких экземпляров). Ранее мы использовали готовые корпуса, которые хотя и выглядели солидно, но не вполне соответствовали нашим потребностям. Новая версия обещала избавить нас от множества проблем (и, вероятно, добавить новых).

Как мы ни спешили, на новую аппаратную платформу перейти не успели, а с КОМПЭЛом начинался уже следующий проект. На этот раз на платах L5, вновь производства ST.

И к этой дате мы решили приурочить редизайн веб-части. Ну, чтоб было веселее. Ранее мы целенаправленно не занимались дизайном, чтобы не отвлекаться. Теперь же начались публичные мероприятия, и нам повезло, что как раз в этот момент к нам пришла Аня, которая среди прочего, оказалась классным дизайнером. Как всегда, было больно отказываться от прежних идей, но дизайнер без карт-бланша – это полдизайнера, поэтому я согласился практически на всё. Особенно трудно было не дать слабину, глядя на преобладающий лиловый в новом дизайне. Но всё же я твёрдо верил, что дизайнеру виднее. И сервис действительно преобразился. А еще – мы достали из запасников подробнейший отзыв одного американца, который по полочкам разложил, что у нас сейчас не так. Кроме очевидного, что текст не вычитан нейтивом и поэтому сразу отталкивает, были и более тонкие вещи, например, чтобы у пользователя было доверие к сервису, нужно описать, кто его делает, а ещё – почему это он бесплатен для разработчиков, как это вообще возможно. Стало ясно, что без лендинг-странички нам уже нельзя, и это стало главным нововведением новой версии. На ней мы описали и суть сервиса, и что он умеет, почему бесплатен, и какая компания за ним стоит. А американский номер телефона (сервис OpenPhone) придавал еще большей солидности (по крайней мере, в наших собственных глазах). Тексты вычитали с помощью двух знакомых нейтивов, один преподает английский (ему пошли тексты с лендинга), а другой работает в сфере embedded (а ему – тексты, которые видят в основном разработчики).

В то же время пришло понимание, что если мы когда-нибудь хотим привлекать инвестиции, то надо бы фиксировать выручку по проекту на отдельном юрлице, чтобы было что предъявить потенциальным инвесторам. Конечно, об инвестициях были мысли и раньше, но было и понимание, что на ранних этапах найти хорошего инвестора сложно, а плохой не даст новых возможностей, только денег (если повезёт), да и за те придётся отдать большую долю. К счастью, на раннем этапе денег нам не то что бы хватало, но они хотя бы были. Но проект уже грозился перейти на следующий этап, где всё «по-серьёзному», и сегодняшняя нехватка финансирования могла обернуться катастрофическим замедлением в развитии.

И я создал американскую компанию (ведь мы же строим международный сервис). Огромное спасибо Vitaly Davydov и Oleksandr Golovatyi за вот эти две статьи на VC: раз, два. Они очень помогли. Эти и другие материалы я уже изучал до этого некоторое время, поэтому, когда пришла пора, всё удалось провернуть меньше чем за две календарных недели и около $1K. Было много сложных моментов, но, так или иначе, всё удалось преодолеть. Ускорения придавала необходимость получения сертификата для подписи кода, ведь наш сервис к тому моменту обзавелся не только web-частью, но и локально устанавливаемым приложением, которое добавляло драйвер в систему пользователя (а кто станет ставить себе неподписанный драйвер?). Сертификат нужен был на юрлицо, которое для этого должно было пройти специальную проверку. Сертификат я получал через GlobalSign, и эти ребята показали себя очень достойно. Я общался параллельно с иностранным и русским офисом, и русский офис здорово помог, не ссылаясь на протоколы, а действительно вникая в конкретную ситуацию и ускоряя всё, что можно. Сертификат я получил лично, приехав в Москву (не хотелось уповать на оперативность курьеров), за день до семинара, а наш технический директор успешно подписал утилиту прямо с фуд-корта в Зеленограде, где мы оказались перед посещением одного из наших клиентов по основному бизнесу. На следующий день, 5 ноября, прошёл семинар (вот, кстати, его запись), на котором всё же проявилась пара багов, к счастью, не критичных, а количество пользователей сервиса на этот раз почти в два раза превысило прежний уверенный рекорд, достигнутый публикацией статьи на Habr в далеком сентябре. Правда, заключить договор на американское юрлицо всё же не удалось, работали от российского. Но усилия не были вложены впустую, ведь и сертификат нам всё равно был нужен, да и тратить время на создание юрлица – это не то, чем приятно заниматься, так что хорошо, что из-за срочности мы хотя бы провернули это максимально оперативно и, до поры, выкинули из головы.

Успешно проведенный семинар – это только часть дела, а дальше мы собирали и анализировали статистику. Проект завершился лишь 4 января 2021. Основные результаты: несмотря на все рекорды, активность пользователей была не очень-то и высокая. Хотя... А с чем сравнивать? И вновь мы на перепутье: трактовать текущие цифры можно очень по-разному, и объективности здесь добиться невозможно. Вроде бы мы создали новый маркетинговый канал, который существенно дешевле бесплатного предоставления плат. Но насколько он эффективен в абсолютных величинах? Пока непонятно.

Ещё пара фрагментов новой версии аппаратной части сервиса, находящейся на последнем этапе разработки:

Отладочные платы, бесплатно и удалённо: как за 2 года сделать международный веб-сервис для программистов и не заработать
Отладочные платы, бесплатно и удалённо: как за 2 года сделать международный веб-сервис для программистов и не заработать

Что дальше?

За последние месяцы мы вновь поднакопили «долгов»: технический долг по программной части (многое делалось впопыхах и плохо масштабируется), по аппаратной (развитие притормозилось в пользу клепания дополнительных «ящиков» по старой технологии), по коммерческой (поиск новых клиентов и привлечение пользователей). С января начали наверстывать. Но, как и ремонт, подобные вещи нельзя закончить, можно либо продолжать, либо остановить. Причёсывание и стабилизацию программной части приостановим в апреле и вновь вернёмся к развитию функционала. Аппаратная часть: завершим находящуюся сейчас в разработке версию (тоже апрель) и переключимся на новую, которая уже в этом году разместится где-то за рубежом (увы, в РФ есть некоторые таможенные сложности с любым ввозом-вывозом, особенно если речь о чипах с криптографией и т.п.) А по коммерческой части – уже в конце прошлого года мы начали искать и других лиц, заинтересованных в наших результатах. Почти случайно познакомились еще с одним дистрибьютором, и хотя он не работает с массовым рынком, некоторый интерес мы всё-таки нашли и сейчас работаем с ним над пилотным проектом. Проработали ведущих практических семинаров с Embedded World 2020 (ежегодная выставка в Нюрнберге/Германия), и с одним из них договорились на использование нашего сервиса в его выступлении на выставке 5 марта 2021 (это было очень удачно, ведь в 2021-м выставка впервые проходила полностью онлайн). Позже оказалось, что нужные для доклада платы добыть невозможно: производитель Arm с декабря просто перестал отвечать на запросы (мы пробовали от трёх различных компаний из разных стран). В итоге договорились об упоминании нас и размещении одного «нашего» слайда в презентации (все прошло хорошо). Преподавательница одного из известных калифорнийских университетов предложила встроить нас в свой учебный курс (спонсировать, предположительно, будет поставщик оборудования для этого курса). Один зарубежный бизнесмен предложил финансировать организацию бесплатного доступа к платам для студентов своего бывшего сообщества. А другой – предложил разместить у нас его оборудование с целью демонстрации клиентам перед приобретением. Все эти истории мы сейчас развиваем, и к чему они приведут, узнаем где-нибудь в марте-июне. В целом, можно сказать, что в изначально намеченный сегмент чипмейкеров мы пока не вышли. А что будет дальше: успех, провал или пивот – узнаем уже совсем скоро. Ну, а если вы как-то связаны с embedded, заглядывайте :)

P.S. Кстати, буквально на днях мы запустили конкурс. Если вы любите разработку под микроконтроллеры – попробуйте, и, если прошивка получится классной, с удовольствием поставим её вместо текущей, подарим вам соответствующую плату, а вас укажем на сайте как автора.

1010
30 комментариев

Комментарий недоступен

4
Ответить

Возможно к этому и придем :) Правда ведь если не будет пользователей, не будет и пожертвований. А уж если пользователи будут - это может стать хорошим аргументом в общении с чипмейкерами.

Ответить

Очень круто, успехов!

2
Ответить

Спасибо!

Ответить

Павел, спасибо! Статья крутая, история про квартиру - веселая. Я тогда, как услышал ещё, в голове начал прокручивать варианты со знакомыми, где мог бы жить )))

1
Ответить

По канонам жанра положено жить в гараже)

Ответить

Я рада, что вы продолжаете! успеха!!!

1
Ответить