The Jerusalem PostFBI arrests California woman under suspicion of spying on Taiwan's president's son for ChinaESPN DeportesPanthers detienen el intento de remontada de Lions y alcanzan su segundo triunfoESPNChargers' Harbaugh standing by OC McDaniel: 'Job is not in jeopardy'InquirerClass behind bars: 3 teachers find second calling in jailDaily MaverickUS removes B-1 bombers from UK base amid security concerns한겨레의대 후보 탈락 목포대…법원 집행정지 신청 각하에 즉시 항고 검토CNN TürkHavalar nasıl olacak? Isınacak mı soğuyacak mı? 5 Ekim hava durumu tahminleri! Şanlıurfa, Adıyaman, İstanbul'da hava durumu tahminleriLenta.ruВ США назвали условие для обвала цен на бензин и энергиюZDF heuteAktuelle Pressemitteilungen des ZDFSözcüEski bürokrat 20 milyar TL çekip yurt dışına kaçtıEuronewsBrazil heads to a runoff presidential vote after Bolsonaro and Lula fail to acquire outright majority neededNew Straits TimesFadhlina rejects claims previous school cases were 'swept under the carpet'
The Daily Newsstand · Free, Always
Monday, October 5, 2026

20 лет спустя, или как я все-таки выпустил свое странное социальное приложение

Translate

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

Vibes'n'Feels

Vibes'n'Feels

Краткое содержание предыдущих серий

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

Я, как вы уже могли догадаться, к ним не отношусь.

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

В конце той статьи я отдельно извинился за то, что после всего этого многолетнего путешествия у меня так и не нашлось ссылки на App Store или Google Play.

Во второй статье я вернулся с новой итерацией обострения. Эмоциональный рейтинг встретился с картами, старыми фотографиями и комментариями в Яндекс.Навигаторе. В результате появился концепт Vibes'n'Feels - карты фотографий, мест и эмоций.

Приложения все еще не было.

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

Если вы пропустили первые два тома и испытываете странную потребность узнать, как один человек двадцать лет ходил кругами вокруг шести эмоций, вот они:

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

Теперь главное.

На этот раз приложение существует.

Его можно установить из App Store и Google Play, открыть на настоящем телефоне и обнаружить, что после двадцати лет размышлений я действительно добрался до места, где идея перестала быть папкой с разрозненными макетами, документом на сотню страниц или очередным монологом у меня в голове.

Идея стала работающим продуктом.

(Я сам пока с некоторым недоверием перечитываю эту фразу...)

Что именно произошло

Сразу внесу ясность. Я не построил новую глобальную социальную сеть. Vibes'n'Feels не захватил мир, не поднял раунд, не победил Instagram и не заставил Марка Цукерберга нервно курить в стиле Мэттью Макконахи и смотреть на карту эмоциональных пинов.

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

Произошло другое, менее громкое, но лично для меня гораздо более важное событие.

Идея, которая жила в голове с 2006 года, обрела законченную форму. Ее теперь можно потрогать. Можно сделать фото или видео (на 20 секунда), выбрать место и эмоцию, сохранить Вайб для себя или ненадолго поделиться им. Можно увидеть его на Карте, открыть в Потоке, оставить Отклик, написать в чате Discuss - упрощенном real-time аналоге Telegram-чатика, который существует только вокруг конкретного Вайба и исчезает вместе с ним.

Интерфейс работает на английском и русском. В Настройках можно оставить язык системы или выбрать нужный вручную. Push-уведомления тоже приходят на языке конкретного устройства.

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

Можно наконец столкнуть мою двадцатилетнюю теорию с реальными людьми.

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

Теперь эта удобная лазейка закрылась.

У приложения есть конкретные экраны, ограничения, ошибки и компромиссы. Есть вещи, которые оно делает, и вещи, которых в нем принципиально нет. Теперь его можно не только представить, но и попробовать, не понять, раскритиковать, удалить через пять минут или (при особенно удачном расположении планет) полюбить.

И именно это я называю закрытием гештальта.

Не успех. Не доказательство моей правоты. Не победные титры.

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

Почему получилось именно сейчас

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

К сожалению, это была бы неправдой.

Я много раз сдавался. На годы убирал идею в тот самый секретный ящик в голове. Терял к ней интерес, возвращался, снова терял. Занимался работой, семьей, жизнью, другими проектами и обычными проблемами, которые почему-то никогда не интересуются твоим личным product roadmap.

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

Но у этой истории есть и менее медицинское объяснение.

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

Еще пятнадцать лет назад для такого приложения мне понадобилась бы полноценная команда. Нативные разработчики под две платформы, backend, DevOps, специалист по геоданным, дизайнер, QA и, судя по некоторым частям проекта, как минимум один человек, отвечающий за своевременную доставку то ли пуэра, то ли мятного чая.

Постепенно технологический ландшафт изменился.

Кроссплатформенная мобильная разработка стала достаточно зрелой. Появились нормальные open-source карты и движки. Managed-сервисы взяли на себя большие куски аутентификации, базы данных, файлового хранилища, realtime и серверной инфраструктуры. Сборка и доставка мобильных приложений перестали требовать отдельного шамана на каждую платформу. Тулинг научился ловить часть ошибок раньше, чем они успевают попасть на устройство. AI-инструменты стали еще одним усилителем, который может помочь одному человеку быстрее разбираться в незнакомых областях, проверять себя и иногда особенно убедительно и с пристрастием объяснять, почему вся идея обречена.

При этом за те же годы изменился и я. Когда-то я стал frontend-разработчиком частично потому, что хотел хотя бы немного приблизиться к возможности реализовать собственные идеи. К 2026 году накопленного опыта уже хватало, чтобы не только нарисовать продукт, но и долго (не всегда изящно) собирать его по частям.

Ни один из этих факторов сам по себе не сделал бы Vibes'n'Feels возможным.

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

Сразу важная оговорка. "Сделано одним человеком" не означает "сделано в пустоте".

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

За проектом не стоит большой капитал или нанятая продуктовая команда, вокруг не порхают бизнес-ангелы и представители венчурных фондов, но под ним находится огромный слой чужих технологий, документации, open-source работы и сервисов. Были люди, которые поддерживали, тестировали, спорили и помогали увидеть то, что я сам уже переставал замечать.

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

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

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

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

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

Желание помочь может быть настоящим. Свободное время и силы от этого автоматически не появляются.

Помощь приходила эпизодами. Ответственность оставалась.

matt.gamedev попал в точку

matt.gamedev попал в точку

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

Иногда это дает удивительную свободу.

Иногда ты проводишь совещание с самим собой, не можешь прийти к согласию и переносишь его на завтра.

Что осталось от старой идеи

Во второй статье Vibes'n'Feels был заметно более распухшим экспонатом. Вайб мог быть фотографией, видео или просто текстом. Отклик должен был немного продлевать ему жизнь. Друзей предполагалось добавлять через временные коды. Сроки жизни и некоторые правила выглядели иначе.

Когда начинаешь делать настоящее приложение, выясняется неприятная вещь.

Любовь к идее не освобождает тебя от необходимости резать идею.

В финальной версии Вайб стал намного строже.

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

Короткие видео я добавил уже позже (с ограничением в 20 секунд).

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

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

Отклик Feel больше не продлевает жизнь Вайба и не двигает его выше в выдаче. Он остался маленьким жестом поддержки конкретного момента. Каждый Чат по-прежнему привязан к одному живому общему Вайбу и закрывается вместе с ним.

Нет счетчиков подписчиков, публичной истории профиля, прямых сообщений и бесконечного соревнования за место в алгоритмическом раю.

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

В какой-то момент Vibes'n'Feels наконец удалось описать просто: фото или короткое видео, место и чувство. А дальше человек сам решает, что делать с каждым Вайбом: оставить его себе, показать друзьям или ненадолго открыть всем.

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

Пустая публичная карта по-прежнему остается пугающе пустой публичной картой.

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

Честно говоря это не гениальное решение cold start. Скорее попытка сделать так, чтобы пациент хотя бы дожил до возможного появления лекарства.

Пин с emoji и айсберг под ним

Со стороны главный экран Vibes'n'Feels выглядит довольно просто.

Карта. Пины. Emoji.

Почти то же самое я написал во второй статье, после чего попросил читателя не рубить с плеча.

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

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

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

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

Второй айсберг вырос из простой фразы: "оригинал и опубликованная копия живут по разным правилам".

Оригинальная фотография остается на устройстве. Для sharing используется обработанная копия без исходных метаданных. Персональные Вайбы живут локально. Временные для друзей и всего сообщества версии имеют свои правила доступа и сроки. Для подтвержденного аккаунта существует ограниченный приватный архив, из которого автоматически восстанавливаются до 1 Гб последних обработанных фото, видео и данных.

А дальше начинаются вещи, которые редко появляются на красивых концептах: RLS, модерация, квоты, повторные запросы с неоднозначным результатом, удаление файлов, истечение доступа, блокировки, восстановление, logout и полное удаление аккаунта.

В 2009 году я думал о том, как будет выглядеть идеальная иконка эмоционального вкуса.

В 2026 году я думал о том, как гарантированно удалить JPEG из Storage после того, как связанная запись уже исчезла из базы.

Это и есть взросление идеи. Возможно, не самая фотогеничная его часть.

Последние десять процентов, которые занимают девяносто процентов времени

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

Потом в комнату входят настоящие телефоны.

На одном устройстве первая координата камеры оказывается старой, хотя API честно вернул ее как "текущую". На другом сетевой запрос иногда зависает ниже уровня твоего аккуратного TypeScript-кода.

Фотографии отлично кешируются, но именно поэтому после долгой блокировки экрана поток может продолжать верить в URL, срок жизни которого уже закончился. Клавиатура закрывает поле, pinch конфликтует со скроллом, карта живет своей жизнью, а билд, который ты только что успешно загрузил, еще совершенно не обязан быть доступен кому-либо в сторе.

Каждый такой баг словно вежливо сообщает:

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

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

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

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

Рабочий код не равен развернутому backend.

Развернутый backend не равен подписанному билду. Загруженный билд не равен принятому магазином.

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

Я подозревал, что сделать приложение будет сложно.

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

Ночной совет директоров

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

С личными сомнениями такой роскоши нет.

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

Один участник совета спрашивает, зачем миру еще одна социальная сеть.

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

Третий требует показать utility.

Четвертый смотрит на Instagram и TikTok и интересуется, почему люди, уже удобно сидящие на проверенной дофаминовой игле, должны перейти к приложению без подписчиков, публичных профилей, рейтинга и бесконечной алгоритмической ленты.

Пятый просто открывает пустую карту и молчит.

Его аргумент обычно самый убедительный.

В особенно темные моменты я вижу и совсем простой возможный финал всей истории: спустя двадцать лет я сделал приложение ровно для одного человека - для себя. Я одновременно его автор, целевая аудитория, самый лояльный пользователь и администратор пустого пространства.

Бог создал группу "Vibes'n'Feels", добавил туда меня, вышел и оставил админом.

Достаточно точное резюме двадцати лет работы. И главное - помещается в один мем.

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

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

Иногда - что ценность проекта очевидна, просто я еще недостаточно хорошо ее объяснил.

Иногда обе мысли приходили в течение одного часа.

Самое неприятное здесь не возможность провала. К ней я морально готовился очень давно и с некоторым извращенным профессионализмом.

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

В первой статье я писал, что безразличие напоминает смерть любого контента.

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

Странная радость создателя

И все-таки рядом с этими мыслями существует другая сторона.

Есть тихая, почти детская радость от того, что вещь, которая столько лет жила только в голове, начинает отвечать тебе с экрана.

Ты делаешь фото. Выбираешь место и чувство. Затем решаешь, оставить Вайб себе или поделиться. В другом аккаунте опубликованный Вайб можно увидеть, оставить Отклик, открыть чат и написать что-нибудь.

Потом опубликованная копия исчезает, а сохраненный Вайб остается у тебя.

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

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

Поэтому обычный пин с emoji на настоящем телефоне иногда выглядит для меня совсем не обычно.

В нем скрыто слишком много времени.

Возможно, именно поэтому закрытие гештальта оказалось не громким событием. Не было титров, салюта, Dom Pérignon и ощущения, что теперь я обязательно стану той самой интернет рок-звездой из 2006 года.

Скорее появилось спокойствие.

Я наконец сделал все, что мог, чтобы идея получила шанс жить отдельно от меня.

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

У долгостроя появился адрес

Я не хочу превращать финал этой истории в длинный рекламный блок. За все эти годы вы и так проявили достаточно терпения.

Скажу только, что у проекта теперь есть свой небольшой дом

Там можно посмотреть, как устроена идея, прежде чем решать, нужна ли она вам вообще.

Приложение уже можно установить из App Store и Google Play.

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

Если идея вам откликается, попробуйте приложение.

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

Создайте один настоящий Вайб. Посмотрите, возникает ли у фото (или видео), места и чувства какое-то новое значение, когда они оказываются вместе.

Если не возникает - мне тоже важно это знать.

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

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

Наконец-то точка?

В первой статье я пытался отпустить идею.

Во второй признался, что не получилось.

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

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

Теперь Vibes'n'Feels может найти своих людей. Может остаться маленьким нишевым продуктом. Может подтвердить самые мрачные прогнозы моего ночного совета директоров. Может неожиданно оказаться нужным нескольким людям, которые тоже хотят помнить не только сам момент, но и где они были и что тогда чувствовали.

Я правда не знаю, какой из вариантов случится.

Но впервые за двадцать лет ответ на этот вопрос зависит не только от моей фантазии.

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

Спасибо всем, кто осилил мой трехтомник.

Четвертая часть не планируется.

Но вы уже знаете, как у меня обстоят дела с точками, упрямством и своевременным приемом таблеток...

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.