{ "author_name": "Олег Илларионов", "author_type": "self", "tags": [], "comments": 44, "likes": 31, "favorites": 9, "is_advertisement": false, "section_name": "blog", "id": "26897", "is_wide": "" }
Олег Илларионов
9 018
Блоги

«Не бойтесь убить проект»: разбор ошибок фотоприложения Snapster от «ВКонтакте»

Заметка разработчика проекта Олега Илларионова.

Поделиться

В избранное

В избранном

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

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

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

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

У Snapster было две версии

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

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

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

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

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

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

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

Сама идея делать проект, который должен расти органически, во многом была слишком смелой. Сейчас мы видим, что внимание пользователей не так доступно, как было раньше. Если в 2010 году было достаточно сделать качественное приложение, чтобы получить большое количество внимания, то в 2015 (когда была выпущена первая версия Snapster) за каждого пользователя уже нужно сражаться, взлетают только очень виральные темы.

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

Не берите ваш legacy с собой. Начиная новый проект — начинайте его с нуля

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

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

Не доверяйте важные задачи людям, для которых ваша задача будет не full time

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

Сражайтесь с равнодушием

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

Берегите честь смолоду

Даже если проект совсем молодой, думайте о «карме» вашего проекта, принимая важные решения. Иногда даже мелочь может испортить восприятие продукта. Так получилось, что не сильно позже запуска продукта было принято решение отключить подсветку ссылок на Instagram, что пользователи сразу же связали с появлением нового приложения.

Избегайте демократии

Часто кажется, что демократия — это отличный способ управления проектом, когда вы прислушиваетесь ко всем и принимаете «усреднённое» решение, ищете компромисс, чтобы он понравился всем в команде.

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

Не бойтесь убить проект

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

{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } } ]