Астрал переезжает на Rust 🦀
Помните новость о том, что Астрал закрывается? Так вот, иногда, чтобы что-то сохранить, нужно сначала позволить ему закончиться.
Есть старый парадокс о корабле Тесея: если заменить в нём каждую доску, останется ли это тем же кораблём? Мы решили не менять доски по одной, а построить корабль заново. Астрал будет полностью переписан с нуля на Rust. Новый код, новая логика, новое устройство изнутри. И всё же это будет тот же Астрал, потому что проект определяется не строчками кода, а тем, ради чего он существует, и людьми, которые им пользуются.
Почему так? Астрал вырос из форка, а начинать на чужом фундаменте значит вечно жить по чужим чертежам. Со временем легаси перестаёт быть наследством и становится грузом: каждое новое решение приходится согласовывать с ошибками прошлого. Переписывание с нуля даёт редкую возможность отпустить этот груз и построить то, что действительно наше. Rust заметно снизит нагрузку на серверы, логика станет проще и надёжнее, а параллельно мы прорабатываем дизайн, чтобы форма наконец соответствовала содержанию.
Что касается браузерной версии, я знаю, что сейчас есть проблемы с работой через Антизапрет и с тарифами. Я в курсе и уже работаю над этим. Цель остаётся неизменной, какой бы ни была кодовая база: чтобы доступ получили все без исключения.
Конец одной версии оказался началом другой. Спасибо, что остаётесь с нами в этот момент между. Впереди много интересного, следите за обновлениями!
Помните новость о том, что Астрал закрывается? Так вот, иногда, чтобы что-то сохранить, нужно сначала позволить ему закончиться.
Есть старый парадокс о корабле Тесея: если заменить в нём каждую доску, останется ли это тем же кораблём? Мы решили не менять доски по одной, а построить корабль заново. Астрал будет полностью переписан с нуля на Rust. Новый код, новая логика, новое устройство изнутри. И всё же это будет тот же Астрал, потому что проект определяется не строчками кода, а тем, ради чего он существует, и людьми, которые им пользуются.
Почему так? Астрал вырос из форка, а начинать на чужом фундаменте значит вечно жить по чужим чертежам. Со временем легаси перестаёт быть наследством и становится грузом: каждое новое решение приходится согласовывать с ошибками прошлого. Переписывание с нуля даёт редкую возможность отпустить этот груз и построить то, что действительно наше. Rust заметно снизит нагрузку на серверы, логика станет проще и надёжнее, а параллельно мы прорабатываем дизайн, чтобы форма наконец соответствовала содержанию.
Что касается браузерной версии, я знаю, что сейчас есть проблемы с работой через Антизапрет и с тарифами. Я в курсе и уже работаю над этим. Цель остаётся неизменной, какой бы ни была кодовая база: чтобы доступ получили все без исключения.
Конец одной версии оказался началом другой. Спасибо, что остаётесь с нами в этот момент между. Впереди много интересного, следите за обновлениями!
❤🔥2🐳1
IDEV
Астрал переезжает на Rust 🦀 Помните новость о том, что Астрал закрывается? Так вот, иногда, чтобы что-то сохранить, нужно сначала позволить ему закончиться. Есть старый парадокс о корабле Тесея: если заменить в нём каждую доску, останется ли это тем же кораблём?…
Открытка или письмо в конверте? ✉️
Большинство сообщений в интернете похожи на открытки. Пока они идут к адресату, их может прочитать почтальон, сортировщик и, вероятно, ещё пара скучающих серверов по дороге. Мы просто привыкли делать вид, что почтальону неинтересно, что вы написали маме про соседа.
Философы веками спорили о том, что делает человека человеком. Мне кажется, не последнюю роль играет право иметь мысли, которые принадлежат только тебе и тому, кому ты решил их доверить. Тайна переписки не каприз параноиков, а одна из самых старых форм свободы. Даже в эпоху сургучных печатей люди понимали: письмо, которое прочитал кто-то третий, уже немного не твоё.
Поэтому в новом Астрале открыток не будет. Только запечатанные конверты.
Всё, что вы отправляете, будет защищено сквозным шифрованием E2EE, по умолчанию и везде. Не нужно искать секретный режим, как пасхалку в старой игре, и не нужно помнить, какой чат «тот самый защищённый». Ключ есть только у вас и у собеседника. У сервера его нет. У нас тоже нет. Редкий случай, когда разработчик с гордостью сообщает, что ничего не может.
Обычно безопасность добавляют потом, как замок на дверь, которую лет пять оставляли распахнутой, а потом удивлялись, куда делся телевизор. Нам повезло: раз уж мы всё равно переписываем Астрал с нуля на Rust, замок можно встроить прямо в стены. Rust вообще славится тем, что не даёт программисту совершать глупости. Почти как хорошая жена, только компилятор 🦀
И ещё. Астрал сразу пишется как нативное приложение для Android, Windows и iOS. Никаких сайтов, наряженных в костюм приложения и делающих вид, что они тут свои. Настоящий клиент под каждую платформу: быстрый, лёгкий и не выпивающий батарею быстрее, чем вы допиваете утренний кофе.
Да, так дольше. Но, как говорил кто-то мудрый (возможно, я сам, только что), лучше медленно строить дом, чем быстро ремонтировать руины.
Большинство сообщений в интернете похожи на открытки. Пока они идут к адресату, их может прочитать почтальон, сортировщик и, вероятно, ещё пара скучающих серверов по дороге. Мы просто привыкли делать вид, что почтальону неинтересно, что вы написали маме про соседа.
Философы веками спорили о том, что делает человека человеком. Мне кажется, не последнюю роль играет право иметь мысли, которые принадлежат только тебе и тому, кому ты решил их доверить. Тайна переписки не каприз параноиков, а одна из самых старых форм свободы. Даже в эпоху сургучных печатей люди понимали: письмо, которое прочитал кто-то третий, уже немного не твоё.
Поэтому в новом Астрале открыток не будет. Только запечатанные конверты.
Всё, что вы отправляете, будет защищено сквозным шифрованием E2EE, по умолчанию и везде. Не нужно искать секретный режим, как пасхалку в старой игре, и не нужно помнить, какой чат «тот самый защищённый». Ключ есть только у вас и у собеседника. У сервера его нет. У нас тоже нет. Редкий случай, когда разработчик с гордостью сообщает, что ничего не может.
Обычно безопасность добавляют потом, как замок на дверь, которую лет пять оставляли распахнутой, а потом удивлялись, куда делся телевизор. Нам повезло: раз уж мы всё равно переписываем Астрал с нуля на Rust, замок можно встроить прямо в стены. Rust вообще славится тем, что не даёт программисту совершать глупости. Почти как хорошая жена, только компилятор 🦀
И ещё. Астрал сразу пишется как нативное приложение для Android, Windows и iOS. Никаких сайтов, наряженных в костюм приложения и делающих вид, что они тут свои. Настоящий клиент под каждую платформу: быстрый, лёгкий и не выпивающий батарею быстрее, чем вы допиваете утренний кофе.
Да, так дольше. Но, как говорил кто-то мудрый (возможно, я сам, только что), лучше медленно строить дом, чем быстро ремонтировать руины.
❤🔥3🔥1🐳1
Astral. Тсс… пока только для своих
Некоторые вещи лучше видеть первыми, а не узнавать из чужих сторис. Скоро стартует закрытый бета-тест Astral, и мы ищем тех, кто готов зайти раньше всех.
Есть одно правило: то, что происходит в бете, остаётся в бете. Скриншоты и запись экрана будут ограничены, а каждый кадр отмечен невидимым водяным знаком. Не потому что мы вам не доверяем, а потому что хотим, чтобы в день релиза удивились все, а не только вы.
Ваши данные мы бережём так же тщательно, как свои секреты. Под капотом Astral работают лучшие решения рынка, а всё, что вы отправляете, защищено сквозным шифрованием. Даже мы не можем подсмотреть.
Двери открываются совсем скоро. Будьте рядом. ✦
Некоторые вещи лучше видеть первыми, а не узнавать из чужих сторис. Скоро стартует закрытый бета-тест Astral, и мы ищем тех, кто готов зайти раньше всех.
Есть одно правило: то, что происходит в бете, остаётся в бете. Скриншоты и запись экрана будут ограничены, а каждый кадр отмечен невидимым водяным знаком. Не потому что мы вам не доверяем, а потому что хотим, чтобы в день релиза удивились все, а не только вы.
Ваши данные мы бережём так же тщательно, как свои секреты. Под капотом Astral работают лучшие решения рынка, а всё, что вы отправляете, защищено сквозным шифрованием. Даже мы не можем подсмотреть.
Двери открываются совсем скоро. Будьте рядом. ✦
🔥4❤1❤🔥1🥰1🐳1
Программист выбирает воду так же, как библиотеку: смотрит на звёзды, дату последнего коммита и количество зависимостей. У байкальской воды последний коммит был где-то в ледниковый период, а зависимостей ноль. Беру.
Взял за 200 рублей. Для понимания: за эти деньги можно купить литров восемь обычной воды или одну бутылку воды, которая повидала больше, чем я.
Её подняли со дна Байкала, то есть с глубины, куда не доходят даже мои дедлайны. Она старше моего ноутбука, моей ипотеки и, подозреваю, пары моих коллег. Пить такую из горла было как-то неловко, поэтому налил в стакан. Мыть его потом тоже было неловко.
Пил медленно. Не из уважения к природе, а потому что каждый глоток по ощущениям стоил рублей двадцать.
И вот обидно: она правда вкусная. Мягкая, лёгкая, будто вода вообще не в курсе, что существуют города, трубы и хлорка.
Но главное — почти нет послевкусия. Обычная вода оставляет после себя привкус, как стажёр оставляет TODO в коде: мелочь, а осадочек есть. Эта же отработала и ушла по-английски. Как идеальный фрилансер: без созвонов и без «а можно ещё одну правочку».
Бутылку я не выбросил. Теперь наливаю в неё воду из-под крана и ставлю на стол при гостях. Интерфейс обновил, бэкенд оставил старый. Пока никто не заметил.
Вердикт: десять из десяти. Куплю ещё раз сразу после ревью бюджета. Ревью назначено на никогда.
Взял за 200 рублей. Для понимания: за эти деньги можно купить литров восемь обычной воды или одну бутылку воды, которая повидала больше, чем я.
Её подняли со дна Байкала, то есть с глубины, куда не доходят даже мои дедлайны. Она старше моего ноутбука, моей ипотеки и, подозреваю, пары моих коллег. Пить такую из горла было как-то неловко, поэтому налил в стакан. Мыть его потом тоже было неловко.
Пил медленно. Не из уважения к природе, а потому что каждый глоток по ощущениям стоил рублей двадцать.
И вот обидно: она правда вкусная. Мягкая, лёгкая, будто вода вообще не в курсе, что существуют города, трубы и хлорка.
Но главное — почти нет послевкусия. Обычная вода оставляет после себя привкус, как стажёр оставляет TODO в коде: мелочь, а осадочек есть. Эта же отработала и ушла по-английски. Как идеальный фрилансер: без созвонов и без «а можно ещё одну правочку».
Бутылку я не выбросил. Теперь наливаю в неё воду из-под крана и ставлю на стол при гостях. Интерфейс обновил, бэкенд оставил старый. Пока никто не заметил.
Вердикт: десять из десяти. Куплю ещё раз сразу после ревью бюджета. Ревью назначено на никогда.
❤🔥2🐳1🌚1
Мы почти готовы к закрытой бетке, на данный момент мы налаживаем систему звонков, и мы так же работаем над стабильностью работы серверной части, для наилучшего опыта
❤🔥3🐳1👀1
Я намутил модель без ограничений по Кибер безопасности, работаю над усилением безопасности
🎉4❤🔥1🐳1
https://github.com/Ivantech123/Prosvet_antizapret_app/releases/tag/v0.3.1
Пацаны короче завез релиз, добавил Линукс, паузу, обновление ну и всяких мелочей пользуйтесь, а я спатки ❤️
Пацаны короче завез релиз, добавил Линукс, паузу, обновление ну и всяких мелочей пользуйтесь, а я спатки ❤️
GitHub
Release Prosvet 0.3.1 — Linux и самообновление · Ivantech123/Prosvet_antizapret_app
Что нового
Версия для Linux (x86_64): .deb, .rpm и AppImage. Движки nfqws2 / nfqws, пакеты отдаёт nftables.
При включении система один раз спросит пароль, сам движок работает от вашего пользовател...
Версия для Linux (x86_64): .deb, .rpm и AppImage. Движки nfqws2 / nfqws, пакеты отдаёт nftables.
При включении система один раз спросит пароль, сам движок работает от вашего пользовател...
🐳1
IDEV
https://github.com/Ivantech123/Prosvet_antizapret_app/releases/tag/v0.3.1 Пацаны короче завез релиз, добавил Линукс, паузу, обновление ну и всяких мелочей пользуйтесь, а я спатки ❤️
Версия для Linux (x86_64):
При включении система один раз спросит пароль, сам движок работает от вашего пользователя.
Самообновление. Prosvet сам находит новые версии, скачивает их, сверяет SHA-256 и перезапускается
(установщик в Windows, AppImage в Linux). Начиная с этой версии обновляться вручную не нужно.
Проверка любого сайта на вкладке «Списки» — и одной кнопкой в список обхода.
Пауза обхода на 15 минут, час или три — на главной и в трее.
Уведомления, когда окно свёрнуто: смена стратегии, ошибки, новая версия, конец паузы.
Отчёт для баг-репорта: кнопка «Отчёт» в журнале собирает zip с журналом и настройками.
Горячие клавиши:
Исправлено: «Выключить» во время подбора стратегии больше не включает обход обратно.
Движки: Flowseal 1.10.4, zapret2 v1.0.6, zapret v72.13 (Linux).
.deb, .rpm и AppImage. Движки nfqws2 / nfqws, пакеты отдаёт nftables.При включении система один раз спросит пароль, сам движок работает от вашего пользователя.
Самообновление. Prosvet сам находит новые версии, скачивает их, сверяет SHA-256 и перезапускается
(установщик в Windows, AppImage в Linux). Начиная с этой версии обновляться вручную не нужно.
Проверка любого сайта на вкладке «Списки» — и одной кнопкой в список обхода.
Пауза обхода на 15 минут, час или три — на главной и в трее.
Уведомления, когда окно свёрнуто: смена стратегии, ошибки, новая версия, конец паузы.
Отчёт для баг-репорта: кнопка «Отчёт» в журнале собирает zip с журналом и настройками.
Горячие клавиши:
Ctrl+Enter — вкл/выкл, F5 — проверить доступ, Ctrl+1…5 — вкладки.Исправлено: «Выключить» во время подбора стратегии больше не включает обход обратно.
Движки: Flowseal 1.10.4, zapret2 v1.0.6, zapret v72.13 (Linux).
🐳1
Астрал: путь от прототипа к продукту для миллионов
Пока Астрал в разработке, мы на гаражной стадии. Мессенджер работает: сообщения доходят, интерфейс радует, друзья хвалят. Самое время понять, что нас ждёт дальше, потому что на переходе от «работает у нас» к «работает у миллиона» погибает подавляющее большинство мессенджеров. Причина почти никогда не в плохой идее. Она в том, что масштаб меняет саму природу продукта.
Наша нынешняя себестоимость — иллюзия
Сейчас Астрал почти ничего не стоит в эксплуатации. Но это потому, что его оплачивают скрытые субсидии. Мы работаем сверх нормы и не считаем свои часы. Облако, скорее всего, на стартовых кредитах или минимальном тарифе. Тестировщики — друзья и знакомые, которые прощают баги и сами подсказывают, как их обойти. Модерации нет, потому что в кругу своих никто не спамит. Юристов, поддержки и дежурств по ночам тоже нет.
При выходе в массы каждая из этих субсидий превращается в строку расходов. Расходы не появятся из ниоткуда — они уже есть, просто сейчас их оплачиваем мы сами или их не замечаем.
Хитрая мысль №1: расходы растут с историей, а не с пользователями
Большинство считает затраты мессенджера на одного пользователя. Это ошибка. Фото, видео, голосовые и файлы почти никто не удаляет. Хранилище копится каждый месяц, даже если число пользователей не растёт. Пользователь, который с нами три года, стоит в разы дороже новичка, хотя платит столько же — то есть, скорее всего, ничего.
К этому добавляются расходы, о которых на старте не думают. SMS для подтверждения номера стоят денег, а мошенники умеют массово запускать регистрации на дорогие номера, чтобы зарабатывать на этих SMS. Звонки и видео требуют серверов-ретрансляторов, которые прокачивают огромный трафик. Пуш-уведомления, резервные копии, мониторинг, дежурства. И всё это приходит ступенями: нельзя нанять полтора инженера по надёжности или пол-юриста.
Отсюда простой вывод: модель монетизации нужно продумать до масштаба, а не после. Бесплатный продукт с растущей аудиторией — это растущий убыток, и чем успешнее мы будем, тем быстрее он будет расти.
Первое обещание пользователю становится вечным
На любом рынке первая названная цена становится якорем. У мессенджера якорь — обещание: «бесплатно навсегда», «без рекламы», «ваши данные никто не читает». Его практически невозможно отозвать.
Лучший пример — WhatsApp в начале 2021 года. Компания обновила политику конфиденциальности, и пользователи восприняли это как нарушение исходного обещания. Миллионы людей ушли в Signal и Telegram за считанные дни. Поэтому формулировать публичные обещания надо так, чтобы мы точно могли выполнять их и через пять лет, с любыми инвесторами и при любом законодательстве.
Мы делаем не приложение, а круглосуточный сервис
Приложение — верхушка айсберга. Под водой: доступность 24/7, синхронизация между устройствами, восстановление доступа для тех, кто потерял телефон, резервные копии, борьба со спамом, поддержка, юридические запросы, требования магазинов приложений.
Пример того, как это выглядит правильно, — WhatsApp образца 2014 года. Когда его покупал Facebook, в компании было около 55 сотрудников на сотни миллионов пользователей. Это было возможно потому, что архитектуру с самого начала строили под масштаб, а продукт работал даже на очень дешёвых телефонах. Простота и надёжность выигрывают у функциональности.
Сейчас у нас идеальный пользователь, потом будет реальный
Сейчас Астралом пользуются люди с новыми телефонами, хорошим интернетом и пониманием, что продукт в разработке. Массовый пользователь — это старый Android с двумя гигабайтами памяти, нестабильный мобильный интернет в метро или за городом, пожилые родители, которые случайно удалят чат и потребуют вернуть его.
Классическая боль мессенджеров: на телефонах ряда китайских производителей агрессивная экономия батареи убивает фоновые процессы, и уведомления просто не приходят. Пользователь не будет разбираться в настройках энергосбережения. Он скажет: «Астрал не работает» — и вернётся туда, где работает.
Хитрая мысль №2: мессенджер судят по сообщению, которое не дошло
Когда пользователей сто, ошибка в 0,1% случаев незаметна. Когда их миллион и каждый отправляет десятки сообщений в день, та же ошибка означает десятки тысяч потерянных сообщений ежедневно. История о том, что «важное сообщение не дошло», разлетается быстрее, чем сотня историй об успехе.
Репутацию мессенджера определяют не средние показатели, а редкие сбои. Доставка сообщений — это базовое доверие: если в ней сомневаются, никакие стикеры и функции не спасут. А одна утечка данных может похоронить защищённый мессенджер навсегда.
Вася, который знает, как всё работает
В каждой команде на ранней стадии есть человек, который знает, почему синхронизация работает именно так, как перезапустить сервер и в каком порядке накатывать обновления. Часто деплой делается вручную с его ноутбука. Если он заболел, уволился или просто в отпуске без связи, проект встаёт.
Перевод знания из головы Васи в автоматизацию, документацию и инструкции на случай аварий — это отдельный большой этап работы, который никто не планирует. Чем раньше его начать, тем дешевле.
Протокол — это навсегда
Сейчас мы меняем формат данных и логику сервера хоть каждую неделю. После запуска у нас появятся пользователи, которые не обновляют приложение годами. Сервер будет вынужден понимать все старые версии клиентов. Изменение схемы базы придётся делать на живых данных без остановки сервиса. Исправление критичного бага на iOS пройдёт через проверку App Store, а не выйдет мгновенно.
Это парадокс: гаражная скорость — наше главное преимущество, но масштаб требует стабильности. Выход в том, чтобы с самого начала заложить версионирование протокола, постепенную раскатку обновлений и возможность включать и выключать функции на сервере без выпуска новой версии.
Отдельно про шифрование: никогда не изобретайте собственную криптографию. Используйте проверенные открытые протоколы и закажите независимый аудит. Ошибки в самописном шифровании находят не сразу, но когда находят, это конец доверию.
Зависимости, которые мы не контролируем
Наш продукт стоит на чужих сервисах: облачный провайдер, SMS-шлюз, пуш-сервисы Apple и Google, магазины приложений, десятки открытых библиотек. Любой из них может поднять цены, поменять правила или отключить доступ. Для каждой критичной зависимости стоит заранее понимать, чем её заменить. И проверять лицензии библиотек: некоторые открытые лицензии накладывают обязательства, о которых узнают слишком поздно.
Хитрая мысль №3: каждая публичная функция — это обязательство по модерации
Личные чаты один на один почти не требуют модерации. Но как только появляются публичные каналы, открытые группы, поиск по пользователям — появляются спамеры, мошенники, фишинг и незаконный контент. Стоимость модерации растёт быстрее аудитории. Бесплатный мессенджер — магнит для спама, и чем мы популярнее, тем больше мы мишень для мошенников, хакеров и регуляторов. Требования к мессенджерам по хранению данных, верификации и модерации ужесточаются во многих странах, так что юриста лучше подключить до запуска.
Опасность внезапного успеха
Самый опасный момент — не отсутствие пользователей, а их внезапный наплыв. Когда в январе 2021 года люди массово уходили из WhatsApp, Signal не выдержал нагрузки и лёг примерно на сутки. Когда в октябре того же года упали сервисы Facebook, Telegram, по словам Дурова, получил около 70 миллионов новых пользователей за день и тоже испытывал перебои.
Если Астрал внезапно выстрелит, мы получим один шанс произвести впечатление. Нужно заранее продумать, как система деградирует под нагрузкой: лист ожидания, очередь регистрации, отключение тяжёлых функций. Лучше «приходите через час», чем «ничего не работает».
Хитрая мысль №4: пользователь не выбирает мессенджер, за него выбирают друзья
Мессенджер бесполезен в одиночку. Ценность — в контактах, которые уже там. Мы конкурируем не с другими стартапами, а с привычкой: уйти из основного мессенджера — значит потерять доступ ко всем своим людям.
Пока Астрал в разработке, мы на гаражной стадии. Мессенджер работает: сообщения доходят, интерфейс радует, друзья хвалят. Самое время понять, что нас ждёт дальше, потому что на переходе от «работает у нас» к «работает у миллиона» погибает подавляющее большинство мессенджеров. Причина почти никогда не в плохой идее. Она в том, что масштаб меняет саму природу продукта.
Наша нынешняя себестоимость — иллюзия
Сейчас Астрал почти ничего не стоит в эксплуатации. Но это потому, что его оплачивают скрытые субсидии. Мы работаем сверх нормы и не считаем свои часы. Облако, скорее всего, на стартовых кредитах или минимальном тарифе. Тестировщики — друзья и знакомые, которые прощают баги и сами подсказывают, как их обойти. Модерации нет, потому что в кругу своих никто не спамит. Юристов, поддержки и дежурств по ночам тоже нет.
При выходе в массы каждая из этих субсидий превращается в строку расходов. Расходы не появятся из ниоткуда — они уже есть, просто сейчас их оплачиваем мы сами или их не замечаем.
Хитрая мысль №1: расходы растут с историей, а не с пользователями
Большинство считает затраты мессенджера на одного пользователя. Это ошибка. Фото, видео, голосовые и файлы почти никто не удаляет. Хранилище копится каждый месяц, даже если число пользователей не растёт. Пользователь, который с нами три года, стоит в разы дороже новичка, хотя платит столько же — то есть, скорее всего, ничего.
К этому добавляются расходы, о которых на старте не думают. SMS для подтверждения номера стоят денег, а мошенники умеют массово запускать регистрации на дорогие номера, чтобы зарабатывать на этих SMS. Звонки и видео требуют серверов-ретрансляторов, которые прокачивают огромный трафик. Пуш-уведомления, резервные копии, мониторинг, дежурства. И всё это приходит ступенями: нельзя нанять полтора инженера по надёжности или пол-юриста.
Отсюда простой вывод: модель монетизации нужно продумать до масштаба, а не после. Бесплатный продукт с растущей аудиторией — это растущий убыток, и чем успешнее мы будем, тем быстрее он будет расти.
Первое обещание пользователю становится вечным
На любом рынке первая названная цена становится якорем. У мессенджера якорь — обещание: «бесплатно навсегда», «без рекламы», «ваши данные никто не читает». Его практически невозможно отозвать.
Лучший пример — WhatsApp в начале 2021 года. Компания обновила политику конфиденциальности, и пользователи восприняли это как нарушение исходного обещания. Миллионы людей ушли в Signal и Telegram за считанные дни. Поэтому формулировать публичные обещания надо так, чтобы мы точно могли выполнять их и через пять лет, с любыми инвесторами и при любом законодательстве.
Мы делаем не приложение, а круглосуточный сервис
Приложение — верхушка айсберга. Под водой: доступность 24/7, синхронизация между устройствами, восстановление доступа для тех, кто потерял телефон, резервные копии, борьба со спамом, поддержка, юридические запросы, требования магазинов приложений.
Пример того, как это выглядит правильно, — WhatsApp образца 2014 года. Когда его покупал Facebook, в компании было около 55 сотрудников на сотни миллионов пользователей. Это было возможно потому, что архитектуру с самого начала строили под масштаб, а продукт работал даже на очень дешёвых телефонах. Простота и надёжность выигрывают у функциональности.
Сейчас у нас идеальный пользователь, потом будет реальный
Сейчас Астралом пользуются люди с новыми телефонами, хорошим интернетом и пониманием, что продукт в разработке. Массовый пользователь — это старый Android с двумя гигабайтами памяти, нестабильный мобильный интернет в метро или за городом, пожилые родители, которые случайно удалят чат и потребуют вернуть его.
Классическая боль мессенджеров: на телефонах ряда китайских производителей агрессивная экономия батареи убивает фоновые процессы, и уведомления просто не приходят. Пользователь не будет разбираться в настройках энергосбережения. Он скажет: «Астрал не работает» — и вернётся туда, где работает.
Хитрая мысль №2: мессенджер судят по сообщению, которое не дошло
Когда пользователей сто, ошибка в 0,1% случаев незаметна. Когда их миллион и каждый отправляет десятки сообщений в день, та же ошибка означает десятки тысяч потерянных сообщений ежедневно. История о том, что «важное сообщение не дошло», разлетается быстрее, чем сотня историй об успехе.
Репутацию мессенджера определяют не средние показатели, а редкие сбои. Доставка сообщений — это базовое доверие: если в ней сомневаются, никакие стикеры и функции не спасут. А одна утечка данных может похоронить защищённый мессенджер навсегда.
Вася, который знает, как всё работает
В каждой команде на ранней стадии есть человек, который знает, почему синхронизация работает именно так, как перезапустить сервер и в каком порядке накатывать обновления. Часто деплой делается вручную с его ноутбука. Если он заболел, уволился или просто в отпуске без связи, проект встаёт.
Перевод знания из головы Васи в автоматизацию, документацию и инструкции на случай аварий — это отдельный большой этап работы, который никто не планирует. Чем раньше его начать, тем дешевле.
Протокол — это навсегда
Сейчас мы меняем формат данных и логику сервера хоть каждую неделю. После запуска у нас появятся пользователи, которые не обновляют приложение годами. Сервер будет вынужден понимать все старые версии клиентов. Изменение схемы базы придётся делать на живых данных без остановки сервиса. Исправление критичного бага на iOS пройдёт через проверку App Store, а не выйдет мгновенно.
Это парадокс: гаражная скорость — наше главное преимущество, но масштаб требует стабильности. Выход в том, чтобы с самого начала заложить версионирование протокола, постепенную раскатку обновлений и возможность включать и выключать функции на сервере без выпуска новой версии.
Отдельно про шифрование: никогда не изобретайте собственную криптографию. Используйте проверенные открытые протоколы и закажите независимый аудит. Ошибки в самописном шифровании находят не сразу, но когда находят, это конец доверию.
Зависимости, которые мы не контролируем
Наш продукт стоит на чужих сервисах: облачный провайдер, SMS-шлюз, пуш-сервисы Apple и Google, магазины приложений, десятки открытых библиотек. Любой из них может поднять цены, поменять правила или отключить доступ. Для каждой критичной зависимости стоит заранее понимать, чем её заменить. И проверять лицензии библиотек: некоторые открытые лицензии накладывают обязательства, о которых узнают слишком поздно.
Хитрая мысль №3: каждая публичная функция — это обязательство по модерации
Личные чаты один на один почти не требуют модерации. Но как только появляются публичные каналы, открытые группы, поиск по пользователям — появляются спамеры, мошенники, фишинг и незаконный контент. Стоимость модерации растёт быстрее аудитории. Бесплатный мессенджер — магнит для спама, и чем мы популярнее, тем больше мы мишень для мошенников, хакеров и регуляторов. Требования к мессенджерам по хранению данных, верификации и модерации ужесточаются во многих странах, так что юриста лучше подключить до запуска.
Опасность внезапного успеха
Самый опасный момент — не отсутствие пользователей, а их внезапный наплыв. Когда в январе 2021 года люди массово уходили из WhatsApp, Signal не выдержал нагрузки и лёг примерно на сутки. Когда в октябре того же года упали сервисы Facebook, Telegram, по словам Дурова, получил около 70 миллионов новых пользователей за день и тоже испытывал перебои.
Если Астрал внезапно выстрелит, мы получим один шанс произвести впечатление. Нужно заранее продумать, как система деградирует под нагрузкой: лист ожидания, очередь регистрации, отключение тяжёлых функций. Лучше «приходите через час», чем «ничего не работает».
Хитрая мысль №4: пользователь не выбирает мессенджер, за него выбирают друзья
Мессенджер бесполезен в одиночку. Ценность — в контактах, которые уже там. Мы конкурируем не с другими стартапами, а с привычкой: уйти из основного мессенджера — значит потерять доступ ко всем своим людям.
🐳2❤1
Поэтому почти все успешные мессенджеры начинали не с «мессенджера для всех», а с плотной ниши, где все друг друга знают. Discord — с геймеров, Slack — с рабочих команд, Telegram — с технической аудитории и каналов. Первая задача Астрала — найти сообщество, где он нужен всем сразу, а не каждому по отдельности.
Основатели становятся узким местом
Сейчас основатели пишут код. При росте их время съедят инвесторы, партнёры, юристы, магазины приложений, журналисты. Тот, кто построил продукт, должен научиться не строить его самому. Это самый болезненный переход, и к нему лучше готовиться заранее: делегировать, нанимать людей сильнее себя в своих областях, выстраивать процессы, которые работают без ручного управления.
Итог
Прототип доказывает, что сообщение может дойти. Продукт должен доказать, что оно дойдёт всегда, у любого человека, на любом телефоне, при любой нагрузке, и что мы знаем, сколько это стоит. Хорошая новость: всё перечисленное гораздо дешевле заложить сейчас, пока Астрал в разработке, чем исправлять потом на живых пользователях.
Именно поэтому так долго он делается
Основатели становятся узким местом
Сейчас основатели пишут код. При росте их время съедят инвесторы, партнёры, юристы, магазины приложений, журналисты. Тот, кто построил продукт, должен научиться не строить его самому. Это самый болезненный переход, и к нему лучше готовиться заранее: делегировать, нанимать людей сильнее себя в своих областях, выстраивать процессы, которые работают без ручного управления.
Итог
Прототип доказывает, что сообщение может дойти. Продукт должен доказать, что оно дойдёт всегда, у любого человека, на любом телефоне, при любой нагрузке, и что мы знаем, сколько это стоит. Хорошая новость: всё перечисленное гораздо дешевле заложить сейчас, пока Астрал в разработке, чем исправлять потом на живых пользователях.
Именно поэтому так долго он делается
🐳2❤1