Трибуна Sergey Moskalev
510

«Принцип занозы». Истории Caramba Switcher

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

В закладки

Человек – это не цифры и не график на доске. Любое биологическое существо живет по особенным законам. Простой пример: заноза по отношению к телу человека имеет ничтожные размер и вес. Но если такая крошечная заноза оказалась в пятке, то она выключит человека из нормального состояния — он не сможет ходить!

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

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

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

У одной большой компании была потребность серьезно продвинуть свой продукт. При этом было легко определить людей, которые этим продуктом уже пользуются, и не тревожить их лишний раз. Но один сотрудник компании, достаточно далекий от принятия серьезных решений, но тем не менее обладавший определенной свободой действий, считал, что такая проверка не нужна – "слишком сложно", или "сейчас не время этим заниматься", или "да что там, пользователь еще разок увидит, не беда". Стоит ли говорить, что подобные мелочи привели к тому, что за несколько лет репутация компании в этой области была испорчена. Что самое удивительное – эти решения принимались не теми людьми в компании, которые реально могли бы увидеть их несуразность. То, что злило пользователей годами, появилось сугубо из-за фантазий одного сотрудника, который с молчаливым упорством, и ссылаясь на придуманные проценты, отстаивал свое желание ничего не делать и ничего не менять. Именно такое решение для многих пользователей стало "занозой", убрать которую в принципе можно было пятью строчками кода.

Конечно, случаются большие принципиальные ошибки в планировании, заблуждения системных архитекторов и разработчиков, ссоры основателей, "героические подвиги" типа разделения приложения Foursquare на 2 недо-приложения – но множество проектов получили смертельную занозу и погибли из-за мелочей, которые были легко устранимы.

Недавний собственный пример. При разработке Caramba Switcher мы приняли решение слова-исключения собирать автоматически без прямого вмешательства пользователя. Это удобно для тех, кто не хочет тратить время разбираясь с настройками программы – таких большинство. Обычно в такие исключения люди руками добавляли аббревиатуры, что логично и понятно – никакая языковая модель их нормально не опишет. Мы сделали так, что Caramba Switcher запоминает их самостоятельно, составляя локально на каждом компьютере уникальный пользовательский словарь. В исключения мы решили закидывать слова, которые пользователь исправил после автопереключения – либо стерев и перепечатав, либо исправив через Double Shift. Самообучение происходит по особой, непростой логике, исключающей возможность испортить логику основного блока автопереключения. Но вдруг выяснилось, что особой категорией являются логины, которые вводятся при регистрации или при входе на сайт. Емейл определяется сравнительно легко — по наличию @ и по наличию top-level домена .com, .ru, а вот логин набирается строчными буквами и может содержать в себе аномалию для английского или немецкого языка, и поэтому будет переключаться в русский. Вроде бы мелочь (казалось бы, кто сейчас пользуется логинами, когда есть кнопка "войти через Facebook"?) – но у некоторых пользователей это приводило Caramba Switcher в состояние непригодное для работы. Человек не будет менять свой логин, которому много лет, а скорее откажется от новой программы. Часто логин нужен при работе в корпоративном окружении – для входа на рабочие платформы или порталы – и его приходится вводить по много раз в день… В общем, мы эту проблему идентифицировали благодаря нашим верным пользователям.

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

#стартапы, #стартап

Публикуя истории на vc.ru, мы хотим предоставить возможность людям следить, как развивается наш стартап по созданию автоматического переключателя Caramba Switcher. Как на развитие продукта влияют различные объекты и ситуации, с которыми наша команда встречается в повседневной жизни.

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

Написать
{ "author_name": "Sergey Moskalev", "author_type": "self", "tags": ["\u0441\u0442\u0430\u0440\u0442\u0430\u043f\u044b","\u0441\u0442\u0430\u0440\u0442\u0430\u043f"], "comments": 19, "likes": 4, "favorites": 5, "is_advertisement": false, "subsite_label": "tribuna", "id": 44893, "is_wide": false, "is_ugc": true, "date": "Tue, 04 Sep 2018 08:58:18 +0300" }
{ "id": 44893, "author_id": 162778, "diff_limit": 1000, "urls": {"diff":"\/comments\/44893\/get","add":"\/comments\/44893\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/44893"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199116 }

19 комментариев 19 комм.

Популярные

По порядку

Написать комментарий...
3

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

Ответить
0

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

Ответить
2

Скорее всего налоги платить не нужно: https://journal.tinkoff.ru/ask/donate-tax/

Ответить
0

Спасибо Александр! Это очень толковая статья!

Ответить
1

Если сделаете крауд-проект, со стороны нашей команды обещаю привлечь 1000 посетителей (уники, ЦА) на эту страницу за свой счёт.

Ответить
0

Арсений, пока в целом справляемся, сроки поплыли немного... Спасибо за доброе отношение.

Ответить
1

Вам спасибо за Punto! Я когда первый раз заюзал - думал, что волшебство, не иначе.

Ответить
3

Занозы в заднице, ибо сколько можно статей?

Ответить
0

Спасибо, что читаете!:)

Ответить
1

После первой статьи я подумал - надо поставить, попробовать эту программку.

После восемнадцатой мне хочется выжечь напалмом любое место, где упоминается эта программа

Ответить
0

Написанное называется колонка, ребята из vc попросили меня ее вести.
Человек с милым никнеймом, вы живете в мире "я подумал - надо поставить"? Может все-таки не только "подумаете", а поставите и отпишитесь по делу?:)

Ответить
2

Всё хорошо в меру. Можно ведь не только про одну и ту же программу писать.

Вон например на хабре какой-то украинский хостинг регулярно постит... Да там многие компании регулярно постят. Но не про себя, а про что-то другое. И ведь интересно получается. А в конце аккуратно пару строчек про свой продукт пишут.

Ответить
1

Нет, спасибо.
Эти статьи про одну и ту же программу вымораживают уже не только меня. Минусы и комменты об этом прямо свидетельствуют

Ответить
0

Это статьи не про одну какую-то программу, а про то как с нуля создается новый продукт. Но это может быть интересно и полезно тем, кто делом занимается:)

Ответить
1

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

Ответить
0

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

Ответить
1

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

Ответить
0

Отчетность отличается от репутации тем, что она внутри, а репутация снаружи. И вот - внутри все хорошо, а снаружи плохо:)

Ответить
1

Снимаем премию и уходим в закат. А дальше - гори и хата.

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

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "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" ], "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" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "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-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления
{ "page_type": "default" }