Ad-social Bot

Smmok Bot

Vkserfing Bot

Vkstorm Bot

Vktarget Bot

Все программы

Запись опубликована: 21.09.2018

Каково делать Kotlin: интервью с Андреем Бреславом

Каково делать Kotlin: интервью с Андреем Бреславом



Дефицита технических материалов о Kotlin нет, узнать о корутинах или nullability можно много где. Но остаётся куда менее освещённой другая сторона: а как вообще выглядит процесс разработки языка? Как принимаются решения? Каковы задачи у «самого главного человека»? Остаётся ли у него в жизни время на что-либо ещё?

И сейчас, когда вот-вот выйдет Kotlin 1.3, мы расспросили «самого главного» Андрея Бреслава не про корутины, а про совсем другое: от того, чем он занимался до Kotlin, до того, чем полезна психотерапия.

— Ты разработчик языка программирования. До этого ты чем-то таким занимался?

— До этого я много преподавал программирование и занимался академической работой. Это была исследовательская деятельность про предметно-ориентированные языки (DSL), по сути чисто умозрительная, без пользователей. Сейчас все по-другому: язык общего назначения, куча пользователей и задач, связанных с реальной разработкой.

— А зачем тебе это всё вообще?

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

— Это всё мотивация для технаря. А вообще по жизни — почему ты этим занимаешься? Ты мог бы стать, например, политиком или еще кем угодно.

— Вопрос сложный. Профессию я выбирал достаточно рано. Что у меня тогда получалось, что мне тогда нравилось — этому я и посвящал много времени. В школе мне понравилось программировать, я программировал много, пошел учиться этому в университет. Затем довольно быстро переключился на преподавание, занимался этим сначала full time, лет восемь, наверное, потом — параллельно с программистской работой и дальше окончательно переключился на разработку Котлина. Еще я попробовал позаниматься наукой, computer science, но в академическом мире мне не понравилось.

— В общественном сознании разработка языка программирования — это и есть тот самый computer science.

— Ну, в общественном сознании часто смешиваются понятия. Разработка языка программирования — это инженерная работа, computer science — это исследование чего-нибудь нового, тут нужна какая-то научная новизна. Чтобы получить научный результат, нужно, чтобы результаты были хотя бы как-то измеримы или доказаны. В случае с языком программирования что-нибудь общеупотребительное померить крайне сложно. Есть люди, которые занимаются разработкой академических языков — по языку Haskell написано невероятное количество научных работ, и он специально так построен, чтобы по нему можно было доказывать теоремы. По языку вроде Котлина теоремы доказывать крайне сложно, потому что он просто не для этого. С точки зрения математики мейнстримные языки очень грязные, там очень сложно что-то до конца формализовать. Люди пытаются, для этого делаются маленькие версии этих языков. И оказывается, что те доказательства, которые были написаны для этих маленьких версий, для больших могут уже не работать. Не так давно была распиаренная статья Ross Tate и Nada Amin про то, что системы типов Scala и Java — unsound. Это как раз связано с тем, что маленькие модели, которые рассматривались до этого, не учитывали одно важное свойство настоящего языка.

— А что ты по этому поводу думаешь?

— Это неважно. Мейнстримовые языки потому и грязные, что просто это неважно. Очень мало кто страдает от того, что нет чистых мейнстримовых языков. Это не имеет заметного эффекта, люди как пользовались Джавой, так и будут ею пользоваться, несмотря на эту статью. Аналогично со Скалой. Довольно долго не было известно, например, разрешима ли система типов Джавы, можно ли написать корректный компилятор — потом выяснилось, что нельзя. Ну и что? Реальные программы всё равно можно компилировать. С системой типов Скалы изначально было известно, что она неразрешима. Но это не важно, потому что мы всё равно пишем программы руками, и таких странных программ, которые не может скомпилировать ни один современный компилятор, мы всё равно не пишем.

— А что важно?

— Это очень интересный психолого-философский вопрос. Очевидно, что людям важно, чтобы их не раздражало. Например, из опыта с Джавой: мы знаем, что если очень много слов надо повторять, то это бесит. Видно, что современная Джава отлично идет в сторону того, чтобы бесить поменьше. Котлин во многом был придуман на волне того, что некоторые вещи очень бесили, а Джава не развивалась. Нужно чувствовать, что система не очень сопротивляется тому, как ты хочешь выражать свои мысли. Вот у меня есть что-то в голове, я что-то хочу написать, и если мне для этого надо прорваться через язык программирования, это мучительно. То есть, если это надо делать постоянно, это тяжело, если редко, то нормально. Мне кажется, это одна из важных эмоциональных вещей.

Мы сейчас видим какие-то опросы, по которым Котлин — «один из самых любимых языков на планете, люди, которые пользуются Котлином, очень его любят». Это очень приятно. Почему так получилось, сложно сказать. Во-первых, конечно же есть эффект хайпа, потому что язык новый, когда появляется «новая игрушка», это само по себе нравится. Но похоже, что, действительно, Котлин не очень бесит, то есть меньше сопротивляется по сравнению с другими языками, когда реализуешь на нем то, что родилось у тебя в голове. Людям явно важно, насколько коротко или длинно они выражают свои мысли. Им важно не повторять одно и то же по много раз. Важно, насколько удобно читать программы после того, как они написаны.

Мысль о читаемости кода довольно долго прорастала в умах. Было несколько поколений языков программирования, которые было трудновато читать. Наверное, самый яркий из поздних примеров — это Perl. А в былые времена, например, какой-нибудь APL — очень яркий представитель. Сейчас уже более-менее все сошлись на том, что читать программу гораздо важнее, чем писать. Кстати, и программы стали гораздо больше и сложнее, чем раньше, что тоже подталкивает к этой мысли. Хочется как-то бороться с этой сложностью, как-то ее сдерживать. Поэтому, например, многие ненавидят boilerplate — «очевидный» код, в котором нет ничего содержательного, хочется его пропустить при чтении, но там по-прежнему могут прятаться баги.

Людям важно уметь повторно использовать какие-то структуры в своих программах. Я не хочу писать тысячу раз одно и то же. Очень хочется какие-то общую структуры  вынести в библиотеку. И средств абстракции в языках программирования всегда недостаточно для того, чтобы переиспользовать всё на свете. Это закон бытия. Всё на свете никогда нельзя будет переиспользовать. Но можно выбрать класс вещей, которые встречаются часто, и научиться переиспользовать эти вещи. Поэтому в Котлине, например, появились какие-то абстракции, которых в других мейнстримовых языках раньше не было, например, delegated property или inline-функции как структура в языке. Другие языки экспериментируют с другими абстракциями. Например, в Scala невероятное количество абстракций, в Haskell много всяких абстракций, которых нигде больше нет, и т.д. Это всё попытки сделать так, чтобы какие-то вещи можно было повторно использовать, чтобы то, что я один раз сделал, мне потом пригодилось много раз.

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

— Вы как-то занимаетесь тем, что поддерживаете культуру?

— Мы очень стараемся работать с комьюнити, оно у нас довольно дружелюбное, люди любят отвечать на вопросы, подсказывать что-то новичкам, обсуждать какие-то сложные вещи. Комьюнити живое, мы пользуемся слэком, там у нас какое-то невероятное количество людей — десятки тысяч, кажется. Естественно, не все активные, но тем не менее. Там есть много активных пользователей, которые общаются друг с другом. Мы с ними работаем — сами отвечаем на вопросы, ну и стараемся следить за тем, чтобы все было цивилизованно. Еще мы помогаем организовываться юзер-группам, их уже, кажется, под две сотни, если я не ошибаюсь. Это тоже очень приятная история, классно смотреть на карту юзер-групп, они есть много где — от самых больших технических центров до вообще неизвестных мне стран в Африке. Мы стараемся поддерживать активных людей в комьюнити. Если кто-то пишет много постов, делает какие-то туториалы, пишет библиотеки, мы стараемся этих людей как-то подсвечивать, поддерживать, давать им возможность высказаться. Мы проводим свою конференцию KotlinConf, люди присылают туда свои доклады, мы отбираем самые интересные. Так что с комьюнити мы работаем довольно активно.

— Я правильно понимаю, что ты сам тоже отвечаешь?

— Я отвечаю не очень часто, у меня не всегда хватает времени за этим следить, но бывает, что отвечаю. Иногда мы устраиваем какие-то целенаправленные мероприятия. Один раз была видеодвижуха, когда мы собирали вопросы в Твиттере и стримили ответы, я сидел и отвечал на вопросы. Еще был довольно успешный «Ask me anything» на Reddit.

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

— К счастью, таких людей нужно ограниченное число. Понятно, что каждый разработчик должен в какой-то мере думать о пользователях. В этом смысле если человек очень хорошо программирует, но программирует что-то отвлеченное от пользователей, то мы с ним вряд ли найдем общий язык. В какой-то мере все должны о пользователе заботиться. Есть какое-то небольшое множество людей, которые совсем много работают с пользователями, то есть люди, у которых есть такие склонности. Это не очень связано с умением зажигательно рассказывать длинный доклад, это уже немного другая деятельность. Вообще говорить и писать — это очень разные умения, и есть люди, которые с огромным удовольствием пишут подробные хорошие понятные тексты и при этом не любят выступать, потому что это другой формат взаимодействия. Есть люди, которые любят и то, и другое. Это как раз мой случай, но мне гораздо меньше нравится выступать со слайдами, чем участвовать в каком-то живом диалоге. На TechTrain вот у меня, к счастью, был формат Q&A: люди задавали мне вопросы, а я отвечал. Потому что каждый раз, выступая с докладом, у меня есть ощущение, что та структура слайдов, которую я придумал заранее, она какая-то неправильная, вот тут бы по этой логике рассказ стоило бы чуть по-другому повернуть, но слайды ведь по дороге не поменяешь, и это мешает.

— Обычный вопрос: что тебя толкнуло сделать первый доклад?

— Сейчас попробую вспомнить, как это было. Очень просто сказать, когда был первый доклад про Котлин — мы анонсировали Котлин на JVM Language Summit в 2011 году, и там была задача заявить о проекте как можно громче. И нам хотелось собрать фидбэк от специалистов. И как раз в том году я поехал делать несколько первых больших публичных докладов, это были мои первые выступления на английском языке. То есть меня толкнула исключительно маркетинговая необходимость.

— А есть какие-нибудь удивительные наблюдения с докладов? Что-то, что ты не знал о людях?

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

— А был такой человек, который тебя всё-таки чему-то научил?

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

У нас на раннем этапе, еще когда Котлин не зарелизился, были всякие смешные разговоры. Как-то мы говорили со Стивеном Колборном, и он с нами очень много спорил о том, что писать типы справа после двоеточия — это ужасно, нужно обязательно писать типы слева. И всем, кто хоть немного погрузился в языки, было понятно, что это спор остроконечников с тупоконечниками — ни о чем, это не принципиально. Уже были популярны Pascal, Scala — какая разница, с какой стороны тип писать. Где удобнее с точки зрения структуры остального языка, там и надо писать. Но есть люди, которые верят, что это действительно очень важно, и готовы потратить очень много энергии, чтобы это обсудить. Это бывает странно, но всё равно приходится какие-то аргументы формулировать, потому что такой человек не один, это не просто так взялось. Стив же не просто так вцепился в это, а остальным было всё равно — нет, была достаточно большая группа людей, которым казалось, что это важно. Про синтаксис такое часто бывает. Языки программирования — штука достаточно сложная, и не так много чего из этой области легко понять. А про синтаксис понятно, синтаксис — это просто. Во-первых, очень многих учили тому, как это всё формируется, в университете часто есть курс про формальные грамматики. Да даже если не учился, это всё не очень сложно понять, и поэтому про синтаксис очень много мнений. А там чем дальше (семантика времени выполнения, система типов и так далее), тем меньше мнений, потому что понять сложно. И это жалко, потому что вообще-то тут очень много чего интересного можно обсудить, но в основном вся энергия обсуждений рассеивается где-то в районе синтаксиса, как это ни жалко.

— Все обсуждают то, что понимают. Ладно, идем дальше. Ты работаешь не один, а в команде. Команда тоже формирует какую-то свою репрезентативную группу?

— Конечно. У нас, безусловно, мнения людей внутри команды играют большую роль в развитии языка. И команда подбирается так, чтобы мнения были релевантны. Вообще JetBrains — это такая компания, которая очень сильно зависит от догфудинга. Мы все наши продукты активно догфудим (это от английского выражения «to eat your own dog’s food» — если мы что-то делаем, мы сами этим пользуемся). И Котлином мы тоже сами пользуемся, и в котлиновской команде, и за ее пределами. Фидбэк изнутри доходит быстрее всего. Надо понимать, что у нас юзкейс специфический. Например, нам бы в компиляторе очень пригодились некоторые языковые фичи, которые больше никому не нужны.

— Можешь привести пример?

— Есть такой глобальный спор про паттернмэтчинг. В функциональных языках программирования принято иметь паттернмэтчинг, а в Котлине его нет. Есть только довольно ограниченный вариант. И мы в какой-то момент сознательно не стали делать полный. Он был когда-то запроектирован, но мы не стали реализовывать. Фича достаточно большая, сложная, для объектно-ориентированного языка программирования достаточно грязная. Мы посмотрели по сложности, сколько стоит реализация этой фичи, и решили попробовать не делать её и посмотреть, что будет. Попробовали. Выяснилось, конечно, что компилятор можно было бы писать и поудобнее. А всё остальное — похоже, что большинству пользователей всё равно. Конечно, всегда есть часть людей, которая знает, что есть паттернмэтчинг, и им очень хочется в тех редких случаях, когда он релевантен, его использовать. Но похоже, что, как всегда, 80+ процентов юзкейсов не требуют этой фичи. Это всё довольно забавно, потому что сейчас Java пытается смотреть в сторону паттернмэтчинга, и мы с Брайаном Гётцем об этом говорили не раз. Я пытался его агитировать, что не надо так сильно усложнять Джаву, и так всё непросто во многих местах. Но Брайан говорит, что паттернмэтчинг людям нужен, у него есть какие-то свои аргументы. Я пока не очень понимаю, насколько его аргументы веские. Зато у нас теперь есть шанс, что они эту фичу добавят, мы посмотрим, что у них получится, и там решим.

— Если добавят.

— Ну, это очень вероятно. Судя по тому, насколько Брайан оптимистичен, я думаю, рано или поздно добавят. Сколько времени это займет, правда, непонятно. Надо заметить, что в Котлине не то чтобы вообще нет следов паттернмэтчинга, есть что-то достаточно похожее. За счет того, что у нас есть смарткасты, есть when expression, есть destructuring assignment. Вообще очень большая часть юзкейсов паттернмэтчинга покрывается в языке. Мы с ним не умеем делать только сложные вещи. И вот похоже, что их можно и не уметь. Но если окажется, что всё-таки очень нужно, значит, нам станет легче писать компилятор.

— Можешь немного рассказать о команде — как вы живете?

— Мы живем очень весело. Нас уже очень много. Когда мы начинали, я был единственным full time-разработчиком, но это было давно, 8 лет назад. С тех пор мы сильно выросли. Нас уже около 50 человек, мы сидим в разных офисах. В Питере больше всего, но есть люди в Мюнхене, в Новосибирске, возможно, появятся в Москве. Есть еще какие-то изолированные удаленные люди. Внутри проекта несколько команд. У нас есть команда, которая занимается фронтендом компилятора и, как исторически получилось, JVM-ным бэкендом. Есть команда джаваскриптового бэкенда, Kotlin/Native, библиотечная команда, которая занимается всеми библиотеками, есть команда IDE и другого тулинга, build-тулы в первую очередь, инкрементальная компиляция и так далее. У нас довольно разнообразный профиль, мы много всего делаем, поэтому есть очень много задач по координации: надо, чтобы все команды, делающие разные вещи, к каждому релизу сошлись в одной точке и выдали что-то полезное.

— Как вообще это выглядит? Сидишь ты сверху, бог на Олимпе, и мечешь молнии — «Ты делай то, ты делай это, всё, разошлись»?

— Нет, так это, конечно же, не работает. Во-первых, за всем следить невозможно. В основном я занимаюсь дизайном языка и какими-то общестратегическими вопросами. Это значит, что ко мне в какой-то форме попадают разные соображения о том, что у кого болит, у меня есть какие-то свои мысли по поводу нашей стратегической линии развития. Мы пытаемся это как-то совместить с текущими возможностями, с технической ситуацией: что у нас случилось (или не случилось) в компиляторе, и что у нас болит по инфраструктуре, где у нас накопился технический долг или еще что-то. Это всё надо составить и решить, что мы делаем в следующем большом релизе. Это коллегиальная работа, совершенно не в одну голову. Мы на всё это смотрим такой группой лиц: дизайном языка занимается одна подгруппа лиц, технической частью — пересекающаяся, но не совпадающая подгруппа лиц, есть еще Q/A, который достаточно сильно помогает с тем, чтобы понять, на что надо обращать внимание, где у нас проблемы, где пользователю непонятно — этим занимаются support и Q/A. И вот из всей этой разнообразной информации у нас получается картина того, где у нас приоритеты и на что надо обращать внимание. Я в этом смысле тот человек, к которому приходят, если оказывается, что непонятно, что делать. Например, надо выбрать между двумя несовместимыми разумными стратегиями, это уже решается с моим участием. И дизайн языка на мне замыкается в том смысле, что язык должен быть внутри логически согласованным, все решения должны пройти через какую-то одну голову. Сегодня это моя голова.

— Хочу кое-что уточнить. Многие компании, особенно энтерпрайзная и банковская разработка, которые, вполне возможно, читают нас сейчас как пользователи языка, организованы по принципу армии. У вас как? Это армия, это спецназ, это набор ресерчеров — что происходит? Потому что когда смотришь на YouTrack снаружи, тебе дается очень странный вью на компанию — там даже есть отдельные люди.

— Компания и проект — это немного разные разговоры. В компании JetBrains есть проекты с абсолютно разной внутренней организацией. Традиционно, когда-то на заре, JetBrains был командой автономных разработчиков, у каждого была какая-то зона ответственности, и каждый в ней более-менее сам решал всё, что случится: что делать, как делать, сам общался с пользователями и так далее. И в некоторых проектах эта модель до сих пор доминирует. В IDE это вполне жизнеспособная штука, по крайней мере, пока IDE еще не огромная. Есть проекты, которые работают по Скраму, кто-то работает в режиме вертикальной организации, где кто-то наверху решает, как что делается. Понятно, что какая-то самостоятельная деятельность там всё же есть, но есть какая-то более вертикальная конструкция. Что касается нас, сложно сказать, где мы в этом спектре находимся. У нас точно не Скрам, у нас достаточно легковесный процесс, который мы со временем больше формализуем, потому что нам приходится координировать всё больше людей — всё-таки 50 человек совсем ad hoc трудно координировать. Сейчас мы как раз пытаемся чуть больше формализовать наше планирование, чтобы мы точнее понимали, когда мы что собираемся успеть, потому что команды иногда не могут понять, какие у кого приоритеты, и происходят какие-то сбои, к счастью, пока не очень заметные снаружи.

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

— Работа влияет на расклад жизни?

— Очень влияет. Работа занимает огромное количество времени.

— Не оказывается ли так, что ты работаешь 24 часа и спишь в офисе?

— Я не могу работать 24 часа. Когда-то очень давно в юности у меня был год, когда я работал где-то 80 часов в неделю. На следующий год я решил, что больше никогда не буду так работать, потому что это физически очень тяжело. Мне приходится достаточно сильно следить за распределением рабочего и личного времени, потому что иначе я просто очень устаю, перестаю соображать и впадаю в грустное состояние. Я работаю фиксированное количество часов в день и сознательно стараюсь не работать на выходных, по вечерам. Вообще стараюсь время вне офиса уделять другим вопросам. У меня параллельно есть еще один проект, стартап про поиск психологов и психотерапевтов. Это тоже работа, но другая, и есть некое выделенное количество времени, которое я этим занимаюсь.

— Работаешь ли ты после работы?

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

— По поводу твоего второго проекта: ты же разработчик, при чем тут психологи?

— Хоть я и разработчик, но я же не перестаю быть человеком? У меня есть ощущение, что полезность психотерапии очень сильно недооценена в современном обществе. Люди уже выучили, что ходить в спортивный зал или в бассейн — полезно, многие люди выучили, что полезно развиваться как-то еще — кто-то книжки читает, кто-то тренирует прикладную рациональность, еще что-то. Это развитие разных «органов», функций организма. А можно развивать то, что связано с осознанностью.

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

Дисклеймер: все решения принимать осознанно физически невозможно. Это очень хорошо, что у нас есть какие-то автоматические механизмы, потому что иначе можно просто сойти с ума. Каждый раз думать головой о каждой вещи, которую ты делаешь — это слишком много времени и сил. Но при этом уметь те решения, которые важны, принимать сознательно, очень важно, потому что это дает свободу. Свобода, с моей точки зрения, — это как раз возможность сделать собственный осознанный выбор, а не ехать по каким-то рельсам, которые предписывает культура, родители, традиции или еще что-то такое. Это одна из вещей, которые, мне кажется, немного недооценены в современном продвинутом обществе, хотя сама ценность такой свободы принятия собственных решений есть. А инструмент, который очень полезен для того, чтобы туда попасть, недооценен. И мне кажется, что стоит как-то продвигать эту мысль в массы.

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

Сейчас есть какие-то другие проекты, которые пытаются делать что-то подобное. Так что у нас все по-настоящему: конкуренция, азарт. Я в наш проект очень верю. Мы, мне кажется, выделяемся тем, что мы обращаем внимание на некоторые вещи, на которые обращать внимание неудобно с точки зрения бизнеса, но очень важно с точки зрения результата. Мы занимаемся тем, что на входе отбираем самих психотерапевтов, очень строго, по профессиональным характеристикам. Если вы получили рекомендацию у нас, то это будет очень хорошо проверенный специалист, профессионал. Мы потратили кучу времени, чтобы сформировать методику, как отличать хороших специалистов от не очень хороших, работаем с учеными из московского научно-исследовательского института ПИ РАО. Методика эта достаточно разносторонняя, и мы уверены, что те специалисты, которых мы предлагаем, действительно хорошие. Кроме этого мы собираем обратную связь и следим за тем, чтобы больше не рекомендовать тех, кто сделает что-то не то. Это как раз та часть, на которую наши коллеги из других проектов обращают маловато внимания, нужно обращать побольше. Мы еще стараемся научиться подбирать автоматически, что достаточно интересно.

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

— Какой спусковой крючок? Когда надо идти на психотерапию?

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

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

— Это как когда с компилятором говоришь.

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

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

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

— Это очень интересно с точки зрения терминологии. Словом «осознанность» обозначаются разные вещи. Есть история про медитацию или mindfulness, другие практики телесной осознанности — очень полезная штука с точки зрения управления вниманием, умения концентрироваться. Она еще немного помогает психологическому комфорту — помогает лучше расслабляться, со стрессом полегче и т.д. Это ближе к физическому упражнению, речь идет о довольно низкоуровневых механизмах в мозге, которые позволяют натренировать некоторое управление вниманием. Люди, которые много напрягают мозг, безусловно выигрывают оттого, что тренируют это место и могут иметь больше контроля над тем, куда направлено внимание и какие пропорции энергии уделяются какой сфере деятельности сознания. Это одна история. Другая история — осознанный выбор, это не то же самое. Осознанный выбор — штука тоже довольно полезная не только в работе инженера, но и везде, где нужно принимать решения.

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

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

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

— По определению большинство вещей, которые мы делаем, мы делаем неосознанно. Дел много, и, если всё осознавать, можно сойти с ума. В разных книгах это по-разному называется, но, грубо говоря, у нас есть «быстрый мозг» и «медленный мозг», «Система 1» и «Система 2». Суть в том, что есть механизмы автоматического принятия решений, которые я не осознаю. Они быстрые, но зато они сформировались без моей воли. Я не знаю, как они получились, я как-то рос, учился чему-то и неосознанно, имплицитно усвоил это всё. Есть такой механизм, имплицитное научение, который, собственно, это всё и формирует. И есть мой медленный мозг, где я осознанно, вербально могу что-то подумать. Это гораздо более свободная система. Они, естественно, связаны, поэтому то, что я усвоил автоматически, влияет на моё мышление, но у меня гораздо больше свободы в области мышления. Но это гораздо более затратно. У меня нет возможности применять это везде, но там, где мне важно, я бы хотел это применять. Если посмотреть вокруг — всё, что люди делают, вообще всё, оно на большую долю неосознанно, и это не всегда плохо, но это часто признак какой-то несвободы: как мы выбираем, чем нам заниматься, с кем нам жить и общаться, как мы решаем, что для нас важно или не важно, очень сильно всё от этого зависит. Очень многие приоритеты, которые мы расставляем в жизни, продиктованы культурой. То есть какие-то люди, как правило, очень давно, сформировали какое-то представление, которое может быть абсолютно неактуально сегодня, и поэтому я сегодня делаю какой-то выбор, который влияет на всю мою жизнь. Мы этого всего не осознаем и думаем, что делать такой  выбор — это же «естественно».

— Ты сейчас о религии?

— Я обо всём в принципе, почему обязательно только о религии? Например, есть люди, которые считают, что к какому-то возрасту надо обязательно создать семью. Этот возраст у разных людей разный, но я знаю немало людей, которые считают, что сделать это нужно достаточно рано и на всю жизнь. Почему «надо»? Почему важнее создать семью сейчас, чем разобраться в том, как вообще работают отношения между людьми? Это же распространенная тема, когда ты встретил какого-то человека, вы влюбились друг в друга, всё здорово, давайте создадим семью прямо сейчас, потому что в сказках написано, что это самое главное, чего ты можешь достигнуть в жизни. Чтобы состояться как человек, я «должен» завести семью, и отсюда ощущение, что чем скорее я это сделаю, тем лучше. Но чем скорее я это сделаю, тем, как правило, хуже получится.

Когда-то было общество, в котором всё было не так, в котором никого абсолютно не интересовало, насколько вы были счастливы в браке, брак — это были имущественные отношения, достаточно осмысленные по тем временам. Были совершенно другие представления о счастье, о функции семьи, и тогда это было актуально. С тех пор всё поменялось. То, как мы сегодня оцениваем после создания семьи, хорошая она получилась или плохая, никак не связано с тем, как это оценивали люди, которые нам в некотором смысле диктуют, что нам это нужно сделать как можно скорее. Эти люди давно вымерли, а мы до сих пор думаем, что нужно поскорее создавать семью и что человек, который этого не сделал, не реализовался. И дело не в том, что надо обязательно заводить семью поздно. Надо просто обязательно подумать, зачем я это делаю сейчас, что я умею/не умею, какие у меня риски, и осознанно принять решение. Не потому, что на меня давит моё воспитание, книжки, которые я прочел, или мнение других людей, бабушка на мозг капает, что тебе 25 лет, а у тебя всё еще нет детей, какой ужас. Можно иметь детей и в 21 год, и в 18 лет — вопрос в том, почему я это сделал, как я принимал решение.

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

— Да, связаны. Юридические вопросы, которые реально связаны с семьей, влияют не на всех. Например, пока нет детей — стоит подумать, нужен ли брак. Кому-то нужен, кому-то нет, зависит от того, как вы хотите управлять имуществом. Если кто-то заключает брак, чтобы иметь какие-то юридические возможности, то всегда пожалуйста, только объясни себе, что ты заключаешь брак ради этих юридических возможностей, а не для того, чтобы партнера к себе привязать веревкой. Это совершенно нормальное объяснение. Любое объяснение, которое правдиво, — нормальное. Главное, себя не обманывать.

Про семью очень много стереотипов. Например, очень сложный вопрос: хорошо или плохо жить с родителями? Важно, что очень многие люди думают об этом в категории «хорошо или плохо», а на самом деле это «полезно или не полезно», об этом надо думать. Или, например, про меня известно, что со мной можно поговорить на тему того, моногамными должны быть наши отношения или немоногамными. Нет никакого универсального ответа для любого человека, а в культуре — есть, и это противоречие. В культуре считается, что обязательно должны быть отношения, и они должны быть моногамными. Еще считается, что они должны быть гетеросексуальными, и это вообще странно. Но нигде не показано и не доказано, что так реально должно быть. Отношений может не быть, они могут быть не гетеросексуальными, не моногамными, они могут быть устроены вообще как угодно, если люди это выбрали осознанно и действуют не во вред друг другу. Другое дело, что что-то из этого удобно, что-то нет, что-то полезно или нет. Вопрос в том, как выбрано. Не ЧТО выбрано, а КАК.

— Кстати, вы же в Котлине тоже культуру строите. У вас есть один универсальный ответ на всё?

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

— Забавно было бы иметь такую культуру, в которой осознанные решения являются важной частью этой культуры.

— Я, честно говоря, думаю, что общение со мной немного подчеркивает такую необходимость, потому что я начинаю довольно сильно нервничать, когда вижу, что человек на чем-то настаивает и не может мне объяснить, почему. Я начинаю волноваться, что человек, исходя из этих непонятных соображений, будет дальше принимать решения, и вдруг его ветром вынесет в странное место — и что мы потом будем делать? Поэтому, когда я с кем-то спорю, я часто задаю вопросы «Почему ты так думаешь? Объясни!».

— Мозг же очень умный, он даже по текущему состоянию может достроить картинку «почему ты так думаешь».

— Да, есть такая штука, как рационализация. Есть у меня какое-то интуитивное ощущение, что вот так надо сделать, и я дальше могу с очень умным видом объяснять, почему, подгоняя аргументы под ответ.

— Например, что надо писать типы слева.

— Да-да. И это как раз тот случай, когда хорошо бы разделять «мне просто так нравится» и «есть объективные причины так считать».

Еще важно уметь признавать свои ошибки. Говорить: да, это мне просто так показалось, я не прав. Логика в этом помогает. Если я говорю: «Нам нужно А, потому что В», а кто-то мне на это сказал: «Слушай, нет, что-то А из Б не следует», то я могу посмотреть и убедиться, что да, действительно, не следует. Может случиться такой момент прозрения. Я что-то сказал, мне казалось, что это железно так, а потом оказалось, что нет, не железно, и возможно, что даже не так.

Естественно, тут есть социальные эффекты. Тот, кто должен признать свою ошибку, должен быть достаточно уверен в том, что его социальный статус от этого не понизится. Вообще, нередко он может даже повыситься, но интуитивно кажется, что это же ужасно, если я оказался не прав — меня будут меньше уважать. Это действует не только в котлиновской команде, не только среди инженеров, это действует среди всех людей в принципе. Люди очень иррационально беспокоятся за свой социальный статус, поэтому признавать ошибки трудно. Но если люди вокруг работают с тобой в одной связке, и это думающие люди, то тот факт, что ты умеешь признавать ошибки, повышает твою договороспособность, к тебе повышается доверие, и вообще, это вызывает уважение — человек явно довольно сильно в себе уверен, если он может признать: «Я только что сказал фигню, нет, всё не так». Всякий раз, когда я понимаю, что я сказал что-то не то и кто-то другой меня опроверг или переубедил, я стараюсь говорить вслух, что он прав, а я нет.

— Но это нужна какая-то процедура самотестирования. Списки когнитивных искажений.

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

— Особенно если это какой-то скрам-митинг и на тебя 15 человек показывают.

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

— Можешь что-нибудь пожелать/посоветовать нашим читателям на Хабре?

— Очень желаю всем людям принимать решения свободно, как на работе, так и в жизни. И я считаю, что «свободно» значит, как правило, осознанно.

— Спасибо тебе большое!

Ещё больше о том, как выглядит «один день из жизни дизайнера языка программирования», Андрей расскажет 19 октября на нашей конференции Joker. А после выступления в дискуссионной зоне можно будет как следует уточнить всё интересующее, так что близкий Андрею формат «люди задают вопросы» тоже будет.

Source: habr1

Метки:





Запись опубликована: 21.09.2018

Гид по лидогенерации от А до Я

Термин «лидогенерация» описывает маркетинговый процесс стимулирования и привлечения интереса к продукту или услуге с целью содействия продажам.

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

Содержание статьи

1. Почему лидогенерация столь важна?

Информационное изобилие и экономика внимания
Новый формат процесса покупки
«Арендованное внимание» против «собственного внимания»
Проводка лидов по воронке конверсии
Исследования лидогенерации

Тенденции финансирования лидогенерации
Крупнейшие проблемы лидогенерации
Наиболее эффективные тактики лидогенерации

2. Механизмы лидогенерации

Входящий маркетинг

Посадочная страница
Контент-маркетинг и SEO
Веб-сайт
Блог
Социальные сети

Исходящий маркетинг

Email-маркетинг
Рекламные объявления
PPC-реклама
Синдикация контента
Адресная почтовая рассылка
Ивенты

Роль представителей отдела продаж в лидогенерации
Лидогенерация на середине воронки продаж (MOFU)
Скоринг лидов
Общие показатели лидогенерации

3. Лендинг как основной инструмент лидогенерации

1. Почему лидогенерация столь важна?

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

Информационное изобилие и экономика внимания

С развитием Интернета мир радикально изменился, перейдя от дефицита информации к ее изобилию. Как сказал в 2010 году Эрик Шмидт (Eric Schmidt), в то время главный исполнительный директор корпорации Google: «В промежутке между зарождением цивилизации и 2003 годом было произведено 5 эксабайт информации, столько же теперь создается каждые два дня, и темп все увеличивается» (эксабайт — единица измерения количества информации, равная 1018 байтам).

Проблема заключается в том, что избыточность информации равна дефициту внимания. Это явление известно под названием экономики внимания. Американский ученый в области социальных и экономических наук Герберт Саймон (Herbert Simon) был первым, кто обсудил эту концепцию, когда написал, что «в богатом информацией мире обилие данных означает недостаток чего-то другого: нехватку того, что потребляет эта информация. Что именно поглощает сама информация, является довольно очевидным: она потребляет внимание своих получателей».

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

Новый формат процесса покупки

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

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

Ясно, что в традиционном процессе покупки произошли огромные изменения. Фактически, согласно заключению исследовательской компании Forrester Research, в наше время лиды на пути к покупке могут находиться где угодно — на «расстоянии» от двух третей до 90% процесса совершения сделки, прежде чем они обратятся к продавцу. Причина, по которой подобное происходит все чаще, заключается в том, что покупатели теперь имеют так много доступа к информации, что могут откладывать консультации с отделами продаж до тех пор, пока они сами не станут в какой-то мере «экспертами».

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

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

«Арендованное внимание» против «собственного внимания»

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

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

Проводка лидов по воронке конверсии

В процессе привлечения нового покупателя важно отметить, что ваши маркетинговые усилия не заканчиваются, когда в вашу систему входит свежеполученный лид — это только та часть общего процесса, которую мы называем маркетингом в верхней части воронки конверсии (Top of the Funnel/TOFU marketing). Многие компании делают хорошую работу по лидогенерации как таковой, но проблема в том, что большинство новых потенциальных клиентов еще не готовы покупать. Но если торговые представители приступают к закрытию сделки, а лиды не готовы к общению с ними, это подкрепляет представление о том, что что потенциальные клиенты из данных маркетинговых источников не слишком качественные. По этой причине происходит потеря или игнорирование лидов, либо их захват вашими конкурентами.
Чтобы этого не произошло, хорошие маркетологи по лидогенерации будут вкладывать средства в выращивание лидов (Lead Nurturing) — и другие методики, применяемые для середины воронки (Middle of the Funnel —MOFU), — для налаживания взаимодействия и укрепления доверия к бизнесу со стороны лида, пока он или она, наконец, не будут готовы покупать. Привлеките этих лидов через релевантный контент и убедитесь, что вы правильно определили время для завершения сделки.
Лидогенерация вышла за рамки простого обсуждения TOFU. Чтобы иметь целостную стратегию, MOFU-маркетинг должен быть включен во все ваши стратегические дискуссии для обеспечения вас работающим процессом конвертации потенциальных клиентов в продажи.

Исследования лидогенерации

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

Тенденции финансирования лидогенерации

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

Крупнейшие проблемы лидогенерации

Несмотря на то что маркетинговые руководители сообщают, что качество лидов является одним из главных приоритетов лидогенерации, это также одна из самых больших проблем, стоящих сегодня перед маркетологами. Согласно исследованию международной консалтинговой компании International Data Group (IDG), 61% маркетологов сообщили, что генерация высококачественных потенциальных клиентов являлась для их компаний проблемой.

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

Наиболее эффективные тактики лидогенерации

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

2. Механизмы лидогенерации

Начнем с определения лида (Lead). Что означает «лид» в применении к вашей компании? Множество компаний — в зависимости от их цикла продаж — дают этому термину различные толкования, но стандартное определение — это квалифицированный потенциальный покупатель, который проявляет определенный интерес к приобретению вашего продукта или решения. Чаще всего потенциальные клиенты, заполняющие лид-форму, совершают это первичное конверсионное действие в обмен на некоторый релевантный контент или убедительное предложение.
Вы можете лидогенерацию на две основные категории: входящая (Inbound) и исходящая (Outbound). Как упоминалось выше, вам необходимо убедиться, что вы не забываете о своих маркетинговых стратегиях по выращиванию лидов и удержанию клиентов (Customer retention), параллельно с лидогенерацией осуществляемых в рамках целостной стратегии.

Входящий маркетинг

Воспользуемся определением входящего маркетинга (Inbound Marketing) от поставщика автоматизированных решений для электронной коммерции Marketo, Inc: «Это процесс оказания помощи потенциальным клиентам в поиске вашей компании — часто даже раньше, чем они захотят сделать покупку, — и последующее превращение этого раннего осознания в предпочтение бренда и, в конечном счете, в лидов и доходы».

Прошли те времена, когда маркетолог для привлечения потенциальных клиентов полагался только на исходящие методы, такие как выставки, «холодные звонки» и рекламные объявления. Сегодняшний покупатель сам контролирует положение дел.

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

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

Посадочная страница

Посадочная страница (Landing Page, лендинг пейдж) — это автономная веб-страница, предназначенная для приема посетителей, переходящих на нее после клика по результатам поисковой выдачи или рекламным объявлениям. Характерная особенность посадочной страницы: она предлагает посетителю совершить ровно одно запланированное маркетологом — целевое — действие. Совершив это действие, посетитель перемещается на следующий этап конверсионной воронки (конвертируется). Для совершения конверсионного действия посетителю предлагается воспользоваться такими элементами лендинга как форма захвата (Lead Form — лид-форма) и кнопка призыва к действию (Calls-to-Action — CTA). Высокую конверсионную эффективность посадочной страницы обеспечивает соблюдение релевантности между ключевыми словами/фразами поисковых запросов и заголовками лендингов. Одно из главных преимуществ посадочных страниц — сравнительная простота их оптимизации при помощи A/B-тестов. В зависимости от поставленной конверсионной задачи лендинги подразделяются на Click-through Page; страницы захвата лидов, или лидогенерирующие страница (Lead-capture Page); Squeeze Page и продающие страницы. В связи с характером поста ниже мы подробнее рассмотрим лидогенерирующие лендинги.

Контент-маркетинг и SEO

Контент является основой для осуществления ваших маркетинговых стратегий. Согласно определению такой авторитетной в данной отрасли организации как Content Marketing Institute (CMI), контент-маркетинг является «маркетинговой методикой создания и распространения релевантного и ценного контента для привлечения, приобретения и вовлечения во взаимодействие четко определенной и понятной целевой аудитории с целью стимулирования клиентов к прибыльным [с точки зрения бизнеса] действиям». Думайте о контенте как о топливе для всех ваших маркетинговых кампаний, осуществляемых через любые каналы — от электронной почты до социальных сетей. Подготовьте контент, который будет полезен для вашей аудитории и вызовет желание распространить его. Посредством создания высококачественного контента вы начнете завоевывать доверие своих клиентов и сможете преодолеть информационный шум, скрывающий ваше предложение от рынка.

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

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

На вашем сайте тоже могут происходить маркетинговые чудеса — это место, где с успехом может конвертироваться целевая аудитория. Будь то поощрение потенциальных покупателей к подписке на рассылку или заполнение лид-формы для получения доступа к демонстрационному видео, ключевым моментом является оптимизация вашего сайта под задачу конвертации посетителей в фактические лиды. Обратите внимание на лид-формы, призывы к действию (Calls-to-Action — CTA), макет, дизайн и контент сайта.

Ваш блог — это место, наилучшим образом подходящее для установления атмосферы доверия между вами и потенциальными клиентами. Читатели могут обнаружить ваш блог, находясь где угодно, поэтому вы должны быть уверены, что он оптимизирован для поисковых систем. Помните, что кто-нибудь из читателей вашего блога, может не захотеть немедленно совершить ваше основное конверсионное действие, поэтому не забудьте установить на блоге CTA-элемент, который попросит вашего читателя подписаться на блог или «зафрендить»/«зафолловить» вас в социальных сетях. Хорошо продуманный блог будет поддерживать интерес в читателях, поощрять их к тому, чтобы возвращаться снова и снова, и, следует надеяться, вызовет у них достаточно любопытства для того, чтобы они начали изучать остальную часть вашего сайта или перешли по прямым ссылкам на посадочные страницы. Сохраняйте свою читательскую аудиторию и воспринимайте свой блог в качестве источника высококонверсионного трафика.

Социальные сети

Возрастающая популярность социальных каналов генерации трафика напрямую связана с изобилием информации. Благодаря социальным сетям потенциальные покупатели получили возможность через лидеров мнений и друзей узнавать о продуктах и ​​услугах, а затем исследовать эти торговые предложения. Кроме того, в парадигме использования социальных сетей произошел глубокий сдвиг: несмотря на то что они по-прежнему важны для брендинга и запуска вирусных кампаний, соцсети приобретают все большее значение в качестве канала лидогенерации. За счет задействования всех социальных сетей — от Facebook и Twitter до LinkedIn и Instagram — вы сможете быть там, где находятся ваши клиенты, и завоевать ваше доверие.

Исходящий маркетинг

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

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

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

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

Рекламные объявления

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

В случае использования модели Pay-per-Click (PPC) вы оплачиваете каждый клик по вашему объявлению, размещенному в поисковой системе, такой как Google, Yahoo, Bing, Яндекс, или на рекламных площадках социальных сетей Facebook, Instagram, Вконтакте и т. д. В случае запуска PPC-рекламы в поисковых системах ваши объявления будут отображаться в виде спонсируемых результатов поиска, расположенных выше и в стороне списка органических поисковых выдач. PPC-маркетинг — это потрясающий способ привлечь внимание к вашему новейшему контенту или уникальным товарным предложениям. Также объявления этого типа отличаются узкой направленностью, в силу чего они могут генерировать высококачественные лиды.

Синдикация контента

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

Адресная почтовая рассылка

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

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

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

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

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

Роль представителей отдела продаж в лидогенерации

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

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

Лидогенерация на середине воронки продаж (MOFU)

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

Выращивание лидов также приводит к повышению коэффициента конверсии, увеличению доходов и сокращению длительности цикла продаж. Речь идет о поиске нужных покупателей в надлежащее время. Лидогенерация вовлекает покупателей в воронку продаж, но выращивание и ранжирование лидов направляет в отдел продаж, чтобы вы могли закрыть сделку в нужное время. Фактически, согласно отчету от MarketingSherpa, компании, которые применяют выращивание лидов, отмечают подъем лидогенерации на 45% по сравнению с теми, кто не имплементирует в свою практику концепцию «Lead nurturing». 

Скоринг лидов

Оценка лидов (от англ. Scoring — «подсчет баллов») — это общая методология для отраслей продаж и маркетинга, позволяющая ранжировать потенциальных клиентов, чтобы определить их готовность к покупкам. Вы оцениваете лидов, базируясь на интересе, который они проявляют к вашему бизнесу, их текущем положении в цикле покупки и их соответствии вашему офферу. Скоринг помогает компаниям понять, нужно ли ускоренно передавать потенциального покупателя в распоряжение отдела продаж или он нуждается в участии в программе выращивания лидов. Подсчет баллов имеет важное значение для укрепления вашего цикла доходов, эффективного повышения ROI и согласования усилий отделов продаж и маркетинга.

Общие показатели лидогенерации

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

  1. Что вы будете измерять?
  2. Когда вы будете проводить измерения?
  3. Каким образом вы будете оценивать полученные результаты?

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

  • Процентная доля отдела маркетинга от общего вклада в цикл продаж: % выручки в сбыте продукции, возникший в результате маркетинговых мероприятий.
  • Процентная доля отдела маркетинга от общего вклада в закрытые доходы: % доходов в закрытых выигранных сделках, которые возникли в результате маркетинговых усилий
  • Количество квалифицированных лидов, готовых к покупке (SQL — Sales
  • Qualified Leads) потенциальных клиентов: количество SQL, переданных вашему отделу продаж
  • Качество SQL (Quality of SQLs): % квалифицированных лидов, не отклоненных отделом продаж
  • Стоимость за запрос (Cost per Inquiry; CPI) = общая стоимость приобретения лидов (Total Lead Acquisition Cost) / общее количество запросов (Total Number of Inquiries).
  • Стоимость лида (Cost per Lead) = общая стоимость кампании (Total Campaign Costs) / количество лидов (Total Campaign Costs)
  • Показатель конверсии первоначальных поисковых запросов в лидов, квалифицированных отделом маркетинга (MQL — Marketing Qualified Lead)
  • Показатель преобразования MQL в лидов, принятых отделом продаж (SAL — Sales Accepted Lead) — MQL to SAL
  • Показатель конверсии SAL в лидов, квалифицированных отделом продаж (SQL; Sales Qualified Lead;) — SAL to SQL
  • Показатель преобразования SQL в возможность закрытия сделки — SQL to Opportunity

3. Лендинг как основной инструмент лидогенерации

Посадочная страница, предназначенная для лидогенерации, оснащена интерактивной веб-формой (Lead Form), предназначенной для сбора контактной информации от посетителей. Меньшее число полей формы повышает вероятность ее заполнения (для дальнейшей работы с лидом достаточно адреса его электронной почты или номера телефона), однако лид, заполнивший дополнительные поля, предназначенные для сбора специализированной информации (должность в компании, право финансовой подписи и т. д.) скорее всего будет выше качеством (это утверждение прежде всего справедливо для B2B-маркетинга) — таким на лендинге будет осуществляться своеобразный процесс сегментирования потенциальных клиентов по уровню квалификации.

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

Минимизировать сомнения пользователей в целесообразности предоставления контактных данных вам поможет размещение условий конфиденциальности поблизости от лид-формы. Собранная в форме захвата информация отправляется в базу данных после клика по кнопке призыва к действию (CTA). Многочисленные исследования показали, что посетитель с большей заполнит форму, если на кнопке будет не безликая надпись типа «Отправить» или «Подтвердить», а четкое указание на выполняемое действие, например, «Записаться на онлайн-курсы», «Получить пробную версию» и т. п.

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

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

Высоких вам конверсий! 

По материалам: marketo.com

Иллюстрация к статье: Какие методики лидогенерации работают лучше всего?
Иллюстрация к статье: Как разработать высококонверсионный поток лидогенерации на мобильных
Иллюстрация к статье: Кейс по лидогенерации: как вдумчивый редизайн увеличил конверсию на 75%
Иллюстрация к статье: 26 примеров лендингов, созданных для лидогенерации
Иллюстрация к статье: Онлайн-маркетинг для начинающих: коротко о мобильных стратегиях лидогенерации и продаж
Иллюстрация к статье: Умный маркетинг: 5 идей для эффективной лидогенерации

Source: LpGenerator

Метки:





Запись опубликована: 20.09.2018

[Из песочницы] Как мы создали технологичный продукт и провалились на дно

Хочу поделиться с Вами историей хорошей жизни и долгой, медленной и мучительной смерти одного, некогда крупного, портала недвижимости. Который не был готов меняться и делать резкие движения для того, чтобы подстроится под меняющийся рынок. Продукт, который за 10 лет прошел путь от ТОП-10 до дна. Это история о важном значении той нити, которая соединяет разработчиков, с их пониманием и сладом ума, и руководителей/директоров/менеджеров со своим подходом к управлению проектом.

Начало

Я пришел на эту работу в 2014 году, простым junior .net. ПН(далее портал недвижимости) был агрегатором недвижимости, на котором помимо базы объявлений присутствовал качественный тематический новостной раздел. Новости, статьи, законы и множество различных материалов по недвижимости. Большой отдел классных журналистов писал очень крутые статьи, интерес к которым был очень высок у пользователей.

Сама площадка была бесплатной для размещения объявлений, чем привлекала пользователей (частных продавцов, агентств недвижимости). Весь доход формировался за счёт привычного в этой сфере рекламного размещения текстово-графических блоков (ТГБ) от застройщиков, продвигающих свои новостройки и ЖК.

В годы расцвета (2008 — 2012) сайт имел траффик в свыше 1 000 000 уникальных посетителей в месяц. И он давал хорошую конверсию для рекламодателей. Это были отличные показатели, учитывая, что ПН работал только на Москву и Санкт-Петербург. В штате было 2 программиста и много журналистов и редакторов. По сути все техническое обслуживание, поддержку и доработку ПН осуществляло всего 2 сотрудника (Сколько человек проектировало и разрабатывало изначально ПН история умалчивает).

На этом позитивная часть истории заканчивается.

Падение

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

Помимо этого, поисковики стали все меньше любить наш сайт, который к слову был практически без какого либо СЕО. Да, были какие-то шаблоны для h1, title, description, небольшая перелинковка, да в целом и все (после начала падения и до самого конца руководитель ПН начал СЕО битву, которой мы занимались почти 5 лет).

При второй волне кризиса в 2014 показатели упали ниже 300 000 уникальных посетителей в месяц. Приблизительно в это время я устроился на работу.

Вот тут и начинается моя техническая часть истории.

Погружение

Первые 2 года я работал младшим разработчиком. Делал все, что мне давали. Приходилось многое узнавать с нуля. Однако мне повезло с моим руководителем разработки. Ему было чуть за 40 лет, программист старой школы, много чего знал и умел. Наверно главное его кредо, было — работает и хорошо (я очень благодарен ему, т.к. перенял много знаний и различных подходов к разработке).

Наш стек технологий был таков: MS SQL Server 2012 + ASP.NET MVC 3. База хранила в себе вообще все. Даже фотографии в бинарном виде, для 3 установленных размеров(big, large, small).

Бекэнд включал в себя несколько модулей:

  • Сайт ПН
  • Админка общего назначения
  • Админка SEO
  • Робот парсер КЛАДР
  • Робот импорта XML-фидов

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

На втором году работы, мой руководитель ушел с проекта. И я остался один на один с этой древней махиной, в которой было от силы 3% моего кода.

Это был дикий стресс. Генеральный директор спрашивал все с меня, а я иногда понятия не имел, что и как работает. Естественно жизнь заставила и постепено я вник во все процессы и понял, что тот подход “работает — хорошо” не для меня. В это время я много читал материалы по проектированию, просвещался в сфере популярных технлогий и фреймворков. Я ехал с работы домой и думал о том, что и как буду делать завтра. А когда ехал на работу думал о том, правильно ли то, что я решил вчера. Я хотел понять, как сделать все правильно и удобно. Чтобы не нужно было делать костыли, дублировать код, тестировать все на живую, деплоить все вручную и отказываться от хороших идей из-за каких-то ошибок в проектировании в прошлом.

К этому времени мы очень много сделали по SEO, забросив задачи ориентированные на улучшение UI. Однако трафик падал все ниже и ниже. И в какой-то момент проект был заморожен. Я стал занимался только поддержкой и исправлением багов… Так это звучало официально.

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

Мнимый подъем

Так, засучив рукава, я начал задуманное. Я выбрал классическую трехуровневую архитектуру. Бекэнд .Net Core+SQL+Mongo, фронтэнд — Bootstrap+JQuery+KnockoutJS.

Организовал Data-слой. Интерфейсы, абстракции, репозитории все как положено. Работал слой на хранимых процедурах (благо я довольно неплохо стал разбираться в SQL). Для маппинга выбрал Dapper. Он простой и понятный. Отказался от InMemoryCache в пользу Redis, чтобы вывести кэш на отдельный сервер. Дальше был уровень бизнес-логики. Все те же интерфейсы, сервисы, DI. Так появилась основа в виде Data-Layer (Stored Procedures+Dapper+Redis) и Logic-Layer. На все ушло около 3 месяцев.

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

  1. Первым делом разработали API для фотографий. Это был простой WebApi, который по Get-запросу отдавал картинку нужного качества и размера с диска. Мы перешли на SSD и забыли про базу картинок как страшный сон. Трудно описать насколько быстрее стала грузиться среднестатистическая страница сайта после выделения отдельного пула под это.
  2. Мы отказались от КЛАДРА в пользу ФИАСА. Написали качественный сервис по парсингу данных из ФИАСА к нам в базу, с учетом наших особенностей. Прикрутили к нему сервис для геокодирования домов. Все работало почти как часы. Лишь иногда возникали баги, связанные с дублями локаций или улиц в базе ФИАСА.
  3. Дальше долго писали новый личный кабинет, оделив его от сайта. Долго проектировали и планировали его, чтобы он был user-friendly. А также быстрым и функциональным. Прикрутили к нему оплату, а потом и фискализацию чеков (да, использовать готовые интегрированные решения нам были не по карману). В целом сделали хороший пользовательский сервис. И были им довольны.
  4. Наконец добрались до робота импорта XML-фидов. Сделали удобный валидатор и хорошее логгирование для клиентов. Новый сервис оказался настолько оптимизированным, что если старый (используя EF) работал около 6-8 часов, то новый обрабатывал те же объемы данных за 2-3 часа.
  5. После всего подняли домен с документацией для всего, что только есть. Разложили по полочкам все моменты для пользователей и клиентов портала, а также описали часть документации, которая пригодится и разработчикам. И это действительно важно!
  6. Последним шагом была оптимизация базы. Мы ее полностью переработали. Вычистили все лишнее. Добились ускорения скорости поиска с 4-5 секунд до ~300 мс. Создавали индексы, писали сложные запросы, использовали хинты и даже делали партиции статистических таблиц.

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

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

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

«Это не надо, я вам как эксперт по недвижимости говорю»

или

«Так никто не ищет, это низкочастотный запрос, я уверен»

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

«Я не мог так сказать, это же абсурд»

Мы никак не могли приqти к консенсусу, в результате чего, мы (разработчики) просто уступали. И делали как нас просили. Программистская боль — делать никому не нужные «фичи».

Хочется упомянуть, что и по финансам всегда были проблемы. Никаких вложений, кроме как в SEO не было. Даже держать 2 программистов это оказалось дорого. Конкурировать с новыми порталами из ТОП-10 с таким уровнем финансирования и управления, очевидно, оказалось нереально.

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

Однако никакого положительного результата это не дало. На момент моего последнего рабочего дня, несмотря на наличие 4 млн уникальных страниц в поисковиках, трафик поратла колебался около 1400 уников в день. А это, как мне кажется, констатирует смерть.

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

Метки:

Source: habr1

Метки:





Запись опубликована: 20.09.2018

Человек-функция или перестаньте нанимать технологии

Не думал что соберусь писать об этом статью и тем более на Хабр, но, как говорится, «с этим надо что-то делать». Наболело.

За 10 лет своей карьеры сначала Системным Администратором, потом Системным Инженером и DevOps-ом, успев побыть простым исполнителем, тех- и тим-лидом, я посетил и провел десятки собеседований в компаниях разного размера в разных странах, учувствовал в формировании требований при поиске сотрудников и… ребята, найм — это мрак.

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

Попробую объяснить почему.

Кого ищет работодатель?

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

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

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

Вот об этом всём стоит поговорить.

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

И все это работает отвратительно.

В зависимости от структуры компании и компетенции руководителей список требований формируется в стилях от «нам нужен frontend-программист, требования обычные», до «нам нужен frontend-программист со знанием <список из 30 пунктов>, стажем работы не менее 23 месяцев и обязательным опытом в FMCG компаниях не менее 2 лет».

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

Какой бы подход к формированию требований из этого диапазона не использовался – он плохо работает.

Почему это плохо работает?

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

Желание формализации понятно. Оно психологически безопасно и снимает нагрузку с головы.

Но это мешает найму и дальнейшей работе.

Специалисты по найму пропускают огромное количество талантливых людей просто потому, что не совпали ключевые слова.
Посмотрите на LinkedIn с его «у вас совпадает 27% навыков с этой вакансией». Или на первую страницу выдачи HH/Indeed/Glassdoor, на вакансии с портянками требований и знания технологий.

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

Не следуя правилам, интервьюеры начинают опираться на свои, возможно очень специфичные знания и задают вопросы которые опять же, никак не помогают определить, как человек будет выполнять задачи, которые будут перед ним стоять.
Он может быть с другого проекта по разработке специфичной системы, может очень (не)любить ML, может (не)любить Go/Python/Perl/C#/C++/C/Java/Scala, презирать или обожать Puppet/Salt/CFEngint/Chef и т.д.
Просто потому, что он человек и у него не на что опереться, кроме как на собственный опыт и вкус.

Такие собеседования — стресс для всех причастных.

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

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

Списки, ключевые слова, теги, списки вопросов для собеседований в стиле «сколько аргументов принимает функция substring» — они все портят.

Подобная система отбора с одной стороны порождает профессиональных «проходителей собеседований», попадающих на позиции, которые объективно не тянут, с другой – мешают нормальным специалистам прийти работать в компанию и принести ей много пользы, потому что они использовали Puppet вместо Salt, писали на Python 2.7 вместо 3.5, использовали Symphony вместо Laravel, Docker, а не RKT, Docker Swarm, а не Kubernetes или etcd, а не Consul.

Все инструменты меняются и заменяются.
Через 1-2 года текущие знания об инструментах будут неактуальны, через 5 лет о большинстве никто не вспомнит. Все придется менять, функция работника тоже может изменится вместе с окружением и проектами.
В подавляющем большинстве компаний нет задач, где нужно знать 8 алгоритмов сортировки и помнить все функции Spring Boot Core или какие библиотеки npm он знает.
Нет никакой разницы, какую систему configuration management знает человек на старте или сколько аргументов к java он помнит.
Если человек знает, как выполнять определенную функцию в заданных рамках, то это совершенно не значит, что он хороший специалист.
Это значит только то, что он, по стечению обстоятельств, умеет выполнять определенную функцию здесь и сейчас.

На самом деле, исходя из моего опыта, для кандидата (и будущего успешного сотрудника) гораздо важнее другие критерии:

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

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

Вот, что пишет в своих вакансиях Яндекс в позиции Системного Администратора в требованиях:

  • опыт администрирования Unix/Linux — более трех лет;
  • опыт администрирования open source приложений (веб-серверы, базы данных, почтовые серверы и т.д.);
  • знания сетевых технологий TCP/IP;
  • опыт программирования на скриптовых языках (shell, python, perl);
  • умение перенимать опыт коллег и делиться с ними собственным;
  • последний год вы работали в аналогичной должности.

И вот, что в пожеланиях:

  • опыт проектирования систем, работающих непрерывно и бесперебойно (24х7х365);
  • аналитические навыки предотвращения и быстрого устранения неисправностей.

А вот требования к позиции SRE в Google:

  • BS degree in Computer Science or related technical field involving coding (e.g., physics or mathematics), or equivalent practical experience.
  • Experience with algorithms, data structures, complexity analysis and software design.
  • Experience in one or more of the following: C, C++, Java, Python, Go, Perl or Ruby.

И вот пожелания:

  • Interest in designing, analyzing and troubleshooting large-scale distributed systems.
  • Systematic problem-solving approach, coupled with strong communication skills and a sense of ownership and drive.
  • Ability to debug and optimize code and automate routine tasks.

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

Измените и подход к собеседованиям.

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

Большинство людей, которым я задавал этот вопрос (а так же я сам), сходятся во мнении, что на самом деле 15-20 минут общения хватает, чтобы убедиться что человек подходит и определить его уровень и в пределах 10 минут нужно на то, чтобы понять, что человек не подходит совершенно.
При этом, тесты и глубокие технические опросы практически не влияют на результат.

Да, на это время придется напрячь мозг и навыки общения тем, кто проводит собеседования.

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

Придется отказаться от тегов, безумной (и бездумной) фильтрации и излишней, но такой спокойной, стандартизации.

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

Увеличится входящий поток кандидатов, в том числе неподходящих.

Но, подумайте сами – это ведь окупится?

Метки:

Source: habr1

Метки:





Запись опубликована: 20.09.2018

По следам Nintendo: Sony выпускает PlayStation Classic уже в декабре

  • Новость

Два года назад компания Nintendo объявила о начале продаж современной версии NES, причем настолько крупного успеха не ожидал, пожалуй, никто, даже авторы проекта. Еще через год та же компания выпустила модернизированную версию SNES. Собственно, и ту, и другую консоль можно назвать аппаратным эмулятором ретро-приставок, но это никого не смущало — продажи побили все рекорды. Производство и продажу NES Classic даже пришлось прекратить, поскольку компания тратила на этот проект слишком много ресурсов, причем в преддверии выхода Nintendo Switch.

Сейчас по следам успеха Nintendo идет Sony, решившая перевыпустить Sony PlayStation One. Стоит напомнить, что впервые эта консоль увидела света четверть века назад. Об успехе приставки не говорил только ленивый, ведь Sony продала более 100 млн устройств. Обновленная консоль, габариты которой гораздо меньше размеров оригинальной приставки, выходит в декабре. Продаваться она будет по цене в $99,99.

В память консоли разработчики загрузят 20 игр, среди которых — Final Fantasy VII, Tekken 3 и Ridge Racer Type 4. Точная дата выхода в свет — 3-декабря.

В комплект входят сама консоль, два классических контроллера и аксессуары вроде USB- и HDMI-кабеля. Кстати, кроме указанных выше тайтлов компания планирует добавить в игровой комплект еще и Jumping Flash and Wild Arms.

Насколько можно понять, обновленная консоль будет представлять собой аппаратный эмулятор PS One, как и в случае с приставками от Nintendo. Выглядит она как точная, хотя и уменьшенная на 45% копия «предка». Разница в том, что CD приставка читать не будет, да и выходы у нее другие.

Да, и называется радость геймера PlayStation Classic. Вместо физических карт памяти будет использоваться виртуальная, так что докупать аксессуары такого типа нет нужды. Кстати, USB-адаптер компания решила продавать отдельно. В этом она также повторяет действия Nintendo — та тоже продавала консоли с USB-кабелем, но без зарядного устройства.

Метки:

Source: habr1

Метки:





Запись опубликована: 20.09.2018

Верховный суд уточнил процедуру рассмотрения дел с репостами и лайками


Заместитель председателя Верховного суда России Владимир Давыдов

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

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

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

Согласно новым правилам, сразу же после возбуждения уголовного дела по статье 282 (возбуждение ненависти или вражды) фигурант может подать жалобу. В этом случае судьям предлагается тщательно проверять наличие не только повода, но и основания для возбуждения уголовного дела. К нему относится не только факт размещения информации, но и любые другие сведения, которые указывают на общественную опасность деяния и его мотив.

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

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

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

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

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

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

По данным Верховного суда РФ, в прошлом году за преступления экстремистской направленности осудили 783 человека. Из них около 580 — по ст. 282, большинство — за публикации в сети. Троих обвиняемых удалось оправдать, в отношении 86 человек дела были прекращены, к 13 гражданам применили меры медицинского характера. С 2011 года количество осужденных в России по так называемым «экстремистским» статьям Уголовного кодекса выросло в четыре раза. Среди прочих обвинений — призывы к насилию, возбуждение вражды и розни, организация экстремистского сообщества.

Что касается экспертов, то по их мнению, объективных причин для увеличения показателей нет. В МВД признают наличие ошибочных судебных решений по «экстремистским» статьям, однако заявляю, что к ответственности привлекаются в основном те, кто вредит и раскачивает ситуацию в стране.

Метки:

Source: habr1

Метки:





Запись опубликована: 20.09.2018

[Из песочницы] Повышение привилегий в Windows-среде

Практика управления информационной безопасностью: pentest

Повышение привилегий пользователя до уровня администратора домена Windows

Введение

Хорошая система управления информационной безопасностью (СУИБ) требует регулярной оценки своей эффективности. Существуют разные методики подобных оценок, одной из разновидностей которых является т.н. «тест на проникновение» или pentest – санкционированная симуляция хакерской атаки на информационную систему с целью выявления уязвимостей в её защите до того, как их обнаружит реальный злоумышленник. При этом могут использоваться любые доступные в реальной жизни хакерские инструменты, эксплойты, методы и т.д.

Данная статья содержит описание одной из таких антихакерских практик, ставившей своей целью повышение полномочий рядового пользователя домена Microsoft Windows до уровня администратора домена. В основу статьи был положен отчет о результатах теста, реализованного на практике. По соображениям конфиденциальности вся информация, позволяющая идентифицировать место проведения (имена домена и хостов, учетных записей и т.д.) удалена либо изменена. В статье показаны основные методики, для лучшего понимания я привел теоретические основы и используемые уязвимости конкретных версий операционных систем, а также общие рекомендации по защите. И хотя большинство указанных версий ОС Windows на момент публикации будут считаться устаревшими, статья может быть полезна начинающим системным администраторам для лучшего понимания методов защиты учётных данных в среде Windows.

Описание объекта тестирования

Объект тестирования достаточно стандартный – информационная система небольшой (менее 200 сотрудников) компании, специализирующейся на разработке ПО. Внутренняя сеть компании также типична: коммутируемый Gigabit Ethernet, домен Microsoft Windows (будем называть его CORP.LOCAL). Внутренние хосты разделены на IP- подсети на основании своей функциональной принадлежности (как то: группа разработчиков, инженеры по качеству, отдел управления кадрами, бухгалтерия, маркетинг, топ-менеджемент, facilities и т.д.), вся сегментация сделана на L3-коммутаторе. Также имеется выделенный в отдельную IP-подсеть парк внутренних серверов, содержащий: два контроллера домена Windows Server 2008 с интегрированной DNS, внутренний почтовый сервер под управлением Exchange, файл-сервер, терминальный сервер и некоторые другие вспомогательные сервера под управлением Windows и Linux. Отдельно стоит отметить тестовую лабораторию с парком машин под управлением разных версий Microsoft Windows (как десктопных, так и серверных) и предназначенных для тестирования разрабатываемого ПО. Доступ к хостам тестовой лаборатории имеют все сотрудники. Основная версия настольной ОС – Windows 7. На настольных компьютерах и серверах установлено плохо настроенное антивирусное ПО разных производителей (от компаний Symantec, Kaspersky и Trend Micro, почему плохо настроенное – об этом позже).

Модель нарушителя

Нарушитель – внутренний сотрудник, имеющий непривилегированную пользовательскую учетную запись в домене, настольный компьютер, физический доступ к тестовым компьютерам, (возможно, имеет корпоративный ноутбук), но не имеющий ни на одном из них привилегий локального администратора. Также учетная запись нарушителя не имеет возможности менять настройки антивирусного ПО. Цель нарушителя – получить доступ, эквивалентный доступу администратора, к контроллеру домена и/или файловому серверу.

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

Реализация атаки

Шаг 0. Сбор информации о внутренней сети

Итак, мы действуем от лица нарушителя. На данном шаге нам нужно собрать информацию о:

  • внутренней адресации и разбиении на подсети
  • именах и IP-адресах хостов, в первую очередь нас интересует список серверов
  • использовании протокола NetBIOS.

Сначала с помощью утилиты ipconfig мы получаем IP-адреса серверов DNS:192.168.12.1 и 192.168.12.2. Т.к. служба DNS интегрирована с Active Directory, это даёт нам основания считать, что мы знаем IP-адреса контроллеров домена. Далее используя утилиту nslookup в интерактивном режиме мы пытаемся получить список всех хостов в зоне corp.local:

> ls –d corp.local > file

Фактически, эта команда инициирует полный трансфер зоны DNS, с сохранением её в file. Многие администраторы забывают настроить ограничения на трансфер зоны для внутренней сети, чем облегчают потенциальному злоумышленнику сбор сведений об инфраструктуре компании, подробнее см. [12].

Результат. Успех. Незащищенный трансфер зоны дал нам полный список имен внутренних хостов, включая сервера, и их IP-адресов. Используя утилиты nbtstat, telnet а также любой из распространенных сканеров уязвимостей нарушитель может собрать информацию о платформе, работающих службах, версии ОС на интересующих его хостах.

Шаг 1. Получение привилегий локального администратора

Теория. Для получения пароля локального администратора применяется атака на сохраненное в системном реестре значение хэш-функции этого пароля. Несмотря на то, что математически хэш-функция является необратимой, вычисление пароля возможно путем прямого перебора её значений совместно с атакой по словарю. В Windows исторически применяется два алгоритма вычисления парольной хэш-функции: устаревший алгоритм LM и более новый алгоритм NT (иногда также называемый NTLM). Хэш-функция LM является уязвимой в силу своей малой вычислительной сложности, что делает возможным перебор её значений даже на слабом компьютере. Наличие в реестре системы одновременно LM- и NT-хэшей пароля гарантируют злоумышленнику его взлом за приемлемое время. Значение хэша LM при настройках по-умолчанию сохраняется в реестре ОС Windows XP/2003, что делает эти системы особо привлекательными для хакера. Хэш-функция NT является вычислительно более сложной, однако, перебор её значений значительно упрощается тем, что для нее существуют доступные таблицы pre-calculated значений (т.н. Rainbow-таблицы) – они сводят вычисление значения хэш-функции к поиску искомого хэша среди pre-calculated значений.

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

Реализация. С машинами, к которым есть физический доступ, проделываем следующую операцию: загружаемся с внешнего носителя (используя Windows Pre-installation Environment CD или Linux Live CD), монтируем системный раздел NTFS и копируем ветви реестра HKLMSYSTEM и HKLMSAM (файлы %WINDIR%System32ConfigSystem и %WINDIR%System32ConfigSam соответственно). Особое внимание уделяем машинам под управлением Windows XPWindows 2003, на которых вероятно нахождение LM-хэша. Для дампа паролей из скопированных файлов реестра используем используем инструменты [1], [2] (все ссылки в конце статьи). Результат:

image

Последняя строчка содержит искомый NT-хэш локального администратора. На хостах из тестовой лаборатории (назовем эти хосты LAB1 и LAB2) находим ненулевой LM-хэш:

image

image

Итак, нами получены NT- и LM-хэши. Но как восстановить из них пароль? Для этого воспользуемся теми же инструментами [1], [2] а также он-лайн сервисами реверса хэша [8] — [11]:

image

Примечание: реальный пароль состоял из названия компании с небольшим модификатором и быстро сломался под атакой по словарю).

Результат. Успех. Получены пароли (пусть они будут «Pa$$word1» и «Pa$$word2») учетной записи локального администратора с нашего рабочего десктопа и двух тестовых компьютеров. Но помогут ли они получить права администратора домена? Об этом далее.

Шаг 2. Получение учетных данных администратора домена

Теория. В большинстве случаев для этого достаточно получить значение NT-хэша пароля администратора домена. Это связано с тем, что при проверке пользователя по протоколу NTLM аутентифицируемая система предъявляет аутентификатору только NT-хэш, а проверки пароля не происходит. NT-хэш может быть получен из т.н. хранилища LSA путем обращения к т.н. Logon-сессии администратора (Logon-сессия — специальной область данных, создаваемая процессом Winlogon, где хранится имя пользователя, домен входа и значение NT-хэша пароля, все вместе это называется LSA-secret). Этот NT-хэш используется процессом NTLMSSP при аутентификации по протоколу NTLM. Logon-сессия сохраняется все время пока учетная запись залогинена в систему. Также NT-хэш можно перехватить из NTLM-сессии аутентификации администратора. Кроме того, получение пароля администратора возможно из кэша Domain Cached Credentials (DCC). DCC — это локальный кэш, который заполняется при успешном входе пользователя в домен. Назначение кэша DCC — иметь возможность произвести аутентификацию пользователя при недоступности контроллера домена.

Объекты атаки:

  • Хэши DCC (ветка реестра HKLMSecurity).
  • Logon-сессия администратора домена (LSA-secret).
  • Перехват NTLM-сессии (не рассматриваем из-за большей практической сложности).

Практика. Многие Windows-администраторы для выполнения разного рода операций на компьютерах пользователей используют учетную запись администратор домена. При этом её данные попадают в кэш DCC. Поэтому сначала попытаемся получить пароль из кэша DCC. Заходим на нашу рабочую станцию, сохраняем ветвь реестра HKLMSecurity и импортируем её в [1]. Т.к. у нас имеется пароль локального администратора, загружать машину с внешнего носителя для сохранения реестра уже не нужно:

image

В кэше лежат данные паролей трех учетных записей. Последняя учетная запись (***user) нас не интересует, вторая учетная запись искомых привилегий не имеет, а вот пользователь shadmin похож на искомого администратора. К сожалению, алгоритм MS-CACHE2 имеет большую вычислительную сложность и атака прямым перебором на него неэффективна. Функция MS-CACHEv2 содержит «вычислительный секрет» — salt (в качестве “salt” используется имя учетной записи) что делает её защищенной от атаки по Rainbow-таблицам. Однако, в будущем возможно появление таблиц значений хэша для стандартных учетных записей – “Administrator”, «Администратор» и т.д. Ради интереса отправляем найденный «кэш-хэш» в облачный сервис [8] — [11] (о результатах и эффективности таких сервисов в конце статьи). Пока «облако думает» пытаемся найти другие DCC. Анализируем список хостов, полученный на шаге 0, проверяем, на какие сервера мы можем зайти под локальным администратором используя пароли, полученные на шаге 1. Т.к., на контроллере домена локальный администратор заблокирован, а почтовый сервер обычно лучше защищен, экспериментировать надо с второстепенными серверами. В нашем случае в списке серверов был найден сервер с неприметным именем Upd. Вход с найденным на шаге 1 паролем “Pa$$word2” оказывается успешным. Обнаруживаем, что на хосте Upd:

  1. Не установлено антивирусное ПО.
  2. На нём работает Apache, являющийся сервером управления для корпоративного антивируса (это значит, что там же есть пароль учетной записи, используемой для удаленной установки антивирусного ПО и теоретически его можно оттуда вытащить).
  3. На хосте не ведется аудит неудачных попыток входа.
  4. Версия ОС – Windows 2008 R2.

Сделав дамп реестра HKLMSecurity мы получаем DCC-хэш учетной записи СORP.LOCALAdministrator (и ряда других):

image

Теоретически, можно попробовать подобрать пароль к Administrator через облачный сервис. Однако, как я уже упоминал выше, атака перебором на MS-CACHEv2 бесполезна (хотя, возможно, через пару лет ситуация изменится). Оставляем в покое DCC и переходим к поиску Logon-сессий. Проверяем, кто из пользователей вошел в систему на хосте Upd:

image

Видим, что на машине Upd висят две неактивные сессии – администратора и уже знакомого нам пользователя Shadmin, а значит, мы можем получить NT-хэши их паролей путем кражи LSA-secret. Это ключевой момент, определивший успех всей атаки. Для кражи хэша используем эксплойт Lslsass [3]. Для его выполнения необходимы права локального администратора (вернее, права на отладку процессов), которые у нас уже есть. Получаем список секретов LSA (в формате «доменучетная запись:LM-хэш:NT-хэш:::»):

lslsass v1.0 - Copyright (C) 2010 Bjorn Brolin, Truesec (www.truesec.com)
Found Lsass pid: 520
Lsass process open
Found possible primary token
Found real token
UPDAdministrator::00000000000000000000000000000000:<i>8833c58febc977799520e7536bb2011e</i>:::
Found possible primary token
Found possible primary token
Found possible primary token
Found real token
UPDAdministrator::00000000000000000000000000000000:8833c58febc977799520e7536bb2011e:::
Found possible primary token
Found real token
UPDAdministrator::00000000000000000000000000000000:8833c58febc977799520e7536bb2011e:::
Found possible primary token
Found real token
CORP.LOCALUPD$::00000000000000000000000000000000:68987a0fb5529dbf99d5eac3bfce773b:::
Found possible primary token
Found real token
CORP.LOCAL UPD$::00000000000000000000000000000000:68987a0fb5529dbf99d5eac3bfce773b:::
Found possible primary token
Found real token
CORP.LOCAL UPD$::00000000000000000000000000000000:68987a0fb5529dbf99d5eac3bfce773b:::
Found possible primary token
Found real token
CORP.LOCAL Administrator::00000000000000000000000000000000:<b>c690e441dc78bc5da8b389e78daa6392</b>:::
Found possible primary token
Found real token
CORP.LOCAL shadmin::00000000000000000000000000000000:<b>5794cba8b464364eacf366063ff70e78</b>:::

Выделенные болдом строки содержат искомые парольные хэши. Также обратите внимание на выделенный курсивом хэш в шестой строчке. Где-то мы его уже видели, правда?

Результат. Успех. У нас на руках NT-хэш пароля учетной записи администратора домена. Но какая польза от хэша, если восстановление исходного пароля по нему за приемлемое время невозможно? Об этом в следующем шаге.

Шаг 3. Обманываем NTLM-сессию аутентификации

Теория. Windows никогда не использует для аутентификации пароль в чистом виде, аутентифицируемая система всегда предъявляет хэш. Отсюда возникает идея: заменив имя пользователя, домен входа и NT-хэш в Logon-сессии зашедшего в систему пользователя на соответствующие значения доменного администратора мы можем аутентифицироваться по протоколу NTLM перед удаленной системой как администратор домена. Данная атака [7] возможна только при аутентификации по протоколу NTLM. Несмотря на широкое распространение протокола Kerberos, NTLM является единственным возможным способом аутентификации клиента, при доступе к сетевой шаре не по символьному имени, а по IP-адресу [13].

Объект атаки. Logon-сессия локального администратора.

Практика. Существует несколько доступных эксплойтов, позволяющих реализовать атаку на платформе Windows Server 2008 x86 и x64. Основным является эксплойт Windows Credentials Editor [4]. Для осуществления атаки заходим на хост LAB2, используя учетные данные “Administrator””Pa$$word2”. С помощью [4] подменяем имя учетной записи, домен входа и данные NT-хэша в Logon-сессии на соответствующие значения Shadmin, полученные нами на предыдущем шаге:

image

Имя учетной записи администратора домена и её NT- хэш передается команде wce в качестве аргумента из командной строки. Результат — хэш успешно изменен. Замечу, что членство пользователя в группе и токен доступа при атаке не изменяются:

image

Мы по-прежнему локальный Administrator, замазанное зеленым имя хоста на скриншоте выше — LAB2. Однако, при NTLM-аутентификации удаленной системе будет предъявлено имя домена CORP.LOCAL, имя пользователя Shadmin и хэш от пароля Shadmin. Вот дамп одного сетевого пакета, содержащего security blob сессии NTLM:

image

Замазано зеленым имя домена (CORP.LOCAL) и имя хоста (LAB2 ) ), предъявлена учетная запись – Shadmin. Теперь пытаемся подключиться к корневому разделу системного тома на контроллере домена командой net use используя IP-адрес контроллера домена:

image

Успешно. Для проверки доступа я создал в корне текстовый файлик (найдите его на скриншоте). Создав на диске контроллера домена батник с нужной нам последовательностью команд, мы можем, используя [5], выполнить на контроллере домена нужную операцию (например, добавить пользователя в группу администраторов домена). Операция будет выполнена с правами учетной записи Shadmin. Для иллюстрации создаем на удаленном хосте простой командный файл, добавляющий локального пользователя:

net user TstUsr Pa$$word /add

Удаленно запускаем его с хоста LAB2:

image

Он будет выполнен в удаленной системе 192.168.13.125 с привилегиями пользователя нашей текущей сессии – shadmin (т.е., администратора домена). Проверяем:

image

Второй вывод команды net user показывает нового пользователя. Несмотря на невозможность запуска таким образом приложений, требующих интерактивного взаимодействия с пользователем (например, оснасток MMC), можно выполнить широкий спектр действий с помощью скриптов.

Результат. Успех. Получен доступ к файловой системе и shell контроллера домена.

Резюме

Вкратце цепочка атаки выглядела следующим образом: Сбор информации о структуре сети -> Получение пароля локального администратора -> Использование этого пароля для входа на один из второстепенных серверов -> Кража «оставленных без присмотра» учетных данных администратора домена -> Модификация своей Logon-сессии и повышение привилегий до нужного уровня.

Успеху атаки способствовали:

  1. Слабая защита зоны DNS от трансфера на недоверенные хосты.
  2. Слабая парольная политика. На большинстве компьютеров домена для учетной записи локального администратора использовался одинаковый пароль, уязвимый к атаке по словарю.
  3. Отсутствие либо слабая настройка антивирусного ПО на критичных хостах.
  4. Слабая защита парольных хэшей – две неактивные администраторские Logon-сессии на хосте Upd, наличие хэшей LM в базе SAM.
  5. Неудовлетворительная политика аудита.

На основании этого можно вывести общие рекомендации по защите:

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

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

2. Хранение LM-хэша в SAM должно быть запрещено политиками безопасности.

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

4. Не рекомендуется выполнять рутинные операции на компьютерах домена из-под учетной записи администратора домена. Это защитит учетную запись от перехвата данных Logon-сессии и от попадания хэша пароля в DCC-кэш.

5. Взять за правило не оставлять без присмотра Logon-сессию администратора домена. Best practice: закончил работу – разлогинься.

6. Утилиты подмены LSA достаточно малочисленны. Имеет смысл отслеживать их эволюцию и проверять их успешное детектирование корпоративным антивирусным ПО.

7. У пользователя, даже имеющего права локального администратора, не должно быть возможности изменять настройки корпоративного антивируса. Выключение службы антивируса на рабочих станциях домена должно приводить к оповещению администратора домена (в этом смысле в ходе теста неплохо отработал Symantec Endpoint Protection).

Дополнение 1. Поведение антивирусного ПО

На компьютерах компании использовалось антивирусное трех видов: KAV, актуальный на момент проведения теста Symantec Endpoint Protection и устаревший продукт от Trend Micro. В большинстве случаев использованные в ходе атаки инструменты определялись как Hack Tool/Rootkit/Trojan. KAV без предупреждения удалял их, а SEP (даже выключенный) выдавал предупреждение и перемещал в карантин не давая возможности запустить. Однако наличие прав локального администратора позволяет отключить KAV, а защита SEP была обойдена путем ручного прописывания пути-исключения для проверки, опять-таки, с использованием учетной записи локального администратора. Установленный на некоторых хостах антивирус от Trend Micro не запуск эксплойтов реагировал никак.

Дополнение 2. Эффективность использования онлайн-сервисов проверки хэша

Для проверки стойкости хэшей паролей существует множество онлайн-сервисов. Они позволяют работать с наиболее распространенными хэшами – LM, NTLM, MD4, MD5, WPA, с хэшами, использующими salt и т.д. Для проверки хэша используется прямой перебор с использованием вычислительной мощности современных GPU, перебор по словарю, гибридные атаки и т.д. Единожды вскрытый хэш может пополнить базу и использоваться в дальнейшем. Сервис может быть бесплатным для проверки короткого (менее 8 символов) пароля или брать небольшое вознаграждение. В процессе теста я использовал четыре таких сервиса, ссылки приведены в конце статьи. Я отправил несколько найденных на шаге 2 хэшей и через 15 месяцев получил от сервиса On-line Hash Crack [9] уведомление об успешном восстановлении одного из них )

Ссылки

Использованные инструменты

[1] Cain & Abel — a password recovery tool for Microsoft Operating Systems. It allows easy recovery of several kind of passwords by sniffing the network, cracking encrypted passwords using Dictionary, Brute-Force and Cryptanalysis attacks, recording VoIP conversations, decoding scrambled passwords, recovering wireless network keys, revealing password boxes, uncovering cached passwords and analyzing routing protocols.
[2] L0pht Crack.
[3] Lslsass exploit. Dumps active logon session password hashes from the lsass process.
[4] Windows Credentials Editor post-exploit. Инструмент для изменения Logon-credentials.
[5] PsExec из комплекта PS Tools

Подробные описания уязвимостей

[6] Серия статей «Эффективное получение хэша паролей в Windows» на сайте www.securitylab.ru
[7] Pass-the-Hash, описание атаки на удаленную систему путем предоставления ей скомпроментированного хэша.

Облачные сервисы взлома хэшей
[8] Question-defense.com (кажется, уже неработоспособен на момент публикации ( )
[9] www.onlinehashcrack.com
[10] www.cloudcracker.com
[11] On-line hash killer

Дополнительные материалы

[12] Безопасность и тюнинг DNS в Windows Server
[13] Kerberos is not used when you connect to SMB shares by using IP address

Метки:

Source: habr1

Метки:





Запись опубликована: 20.09.2018

Как увеличить продажи при помощи мессенджер-маркетинга

  • 2 000 руб.
    на рекламу
    в Яндекс.Директ
  • 3 000 руб.
    на рекламу
    в Google AdWords
  • Комплект дизайнерского
    лендинга
    за 4 470 бесплатно

Первый в истории автомобиль, увидевший свет в 1886 году, имел максимальную скорость 10 миль в час — в гонке его легко могла опередить лошадь. За период с 1894 по 1914 год автомобили ускорились с 12 до 120 миль в час, и к началу 1920-х годов они начали окончательно вытеснять лошадей и повозки.

Сегодня сайты eCommerce монетизируют 1-3% трафика, причем приблизительно 97% посетителей никогда ничего не покупает. Эти ошеломляющие 97% знаменуют собой напрасные затраты времени, усилий и денег. К счастью, диалоговый маркетинг оперативно приступает к решению одной из самых больших проблем в области маркетинга — напрасных расходов!

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

Почему этот сдвиг происходит именно сейчас?

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

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

Ниже мы рассмотрим:

  • 10 главных достоинств мессенджер-маркетинга: обзор того, как он работает и в чем заключаются его самые большие преимущества.
  • Расширение верхней части вашей маркетинговой воронки: как в массовом порядке увеличить количество посетителей вашего сайта/лендинга.
  • Использование мессенджера для контент-маркетинга: применение ботов для проведения кампаний.
  • Использование ботов для каждого этапа путешествия покупателя: составление карт клиентского взаимодействия
  • Персонализация: как сегментировать пользователей, персонализировать опыт и оптимизировать продажи.
  • Превращение вашего бота в «продающую машину» и инструмент лидогенерации: как использовать бот для получения лидов и продаж.

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

Итак, приступим.

Содержание

Почему этот сдвиг происходит именно сейчас?

10 главных преимуществ мессенджер-маркетинга

Как расширить верхнюю часть воронки продаж

Всплывающие окна
Плагины сообщений

Использование мессенджера для контент-маркетинга и оптимизации воронки

Использование чат-ботов на каждом этапе клиентского путешествия

Этап осознания
Этап рассмотрения/оценки
Этап принятия решения/покупки

Как использовать воронку продаж и персонализацию контента

Создание «машины продаж» за 5 шагов

Продающая последовательность, которая работает

Превратите ваш бот в инструмент лидогенерации

Совет 1: откуда берутся пользователи?
Совет 2: применяйте обобщенную адаптацию
Совет 3: раздавайте подарки и собирайте электронные адреса
Совет 4: используйте геймификацию для лидогенерации
Совет 5: дарите деньги, а не проценты
Совет 7: модели поведения клиентов
Бонус: автоматическое комментирование в Facebook

10 главных преимуществ мессенджер-маркетинга

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

Эти преимущества настолько велики, что применение чат-ботов в электронной коммерции увеличивает продажи на 7-25%.

Воронка веб-сайта

Воронка чат-бота

Посетители веб-сайта — 100% (10 000)

Посетители чат-бота — 100% (10 000)

Количество подписок на email-рассылку — 25% (2500)

Аудитория, которой вы можете послать сообщение — 99% (9900)

Коэффициент открываемости — 25% (625)

Коэффициент открываемости — 75% (7425)

Кликабельность — 5% (32)

Кликабельность — 48% (3564)

Покупки — 3% (1)

Покупки — 1% (35)

Посмотрим, чем обусловлен этот рост.

1. Получение регистраций: легче заставить посетителей подписаться в вашем бот-чате, чем дать вам свой адрес электронной почты. Иными словами, посетитель нажимает всего одну кнопку вместо того, чтобы набрать/скопировать свой адрес электронной почты.

2. Коэффициент открываемости: хороший показатель прочтения (Open Rates) для мессенджеров составляет от 70% до 90%, что на 2-4 раза выше, чем в случае электронной почты.

3. Кликабельность (CTR): хороший показатель кликабельности располагается в диапазоне от 28% до 48%, что заметно превышает однозначные числа, которыми выражается этот коэффициент для электронной рассылки.

4. Стоимость лидов: когда маркетологи HubSpot попытались генерировать лидов при помощи Facebook Messenger, они «увидели ошеломляющее снижение стоимости лидов на 477% при незначительном ухудшении их качества».

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

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

7. Персонализация: чат-боты позволяют применять персонификацию в полном масштабе.

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

9. Автоматизация: по сути, чат-бот — это приложение для чата, что означает, что оно может принимать решения на основе правил. Бот способен автоматически реагировать, когда к нему обращаются, собирать данные и отправлять соответствующие сообщения, основываясь на поведении пользователя. Электронная почта ничего подобного осуществить не в состоянии.

10. Пользовательская база: по масштабам использования и популярности программы для мгновенного обмена сообщениями превосходят приложения социальных сетей. Фактически, количество пользователей Facebook Messenger выросло до 1,3 млрд за небольшую долю времени, потребовавшемуся собственно Facebook, чтобы достичь аналогичных показателей. Проще говоря, ваши клиенты уже пользуются программой мгновенного обмена сообщениями и ожидают в ближайшем времени получить возможность войти в контакт с вашим бизнесом. Если смотреть с перспективой на будущее, то мессенджер — это незаменимый коммуникационный канал для интернет-маркетинга.

Окно мессенджера на сайте eCommerce

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

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

Как расширить верхнюю часть воронки продаж

Цели: мы хотим максимально увеличить трафик для нашего бота, чтобы получить наибольшее количество регистраций/лидов. Чтобы достичь конечной цели, начнем с повышения трафика к боту.

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

Как работает бот на сайте: на десктопе он предлагает получить купон на скидку на следующую покупку, для чего достаточно кликнуть по кнопке «прислать купон в мессенджер»; в смартфоне он обещает помочь с поиском аналогичных купленному товаров, список которых также будет доставлен в мессенджер мобильного пользователя.

Всплывающие окна

Один из самых популярных способов привлечь трафик к вашему чат-боту — использовать поп-апы (Pop Ups). Этот прием работает эффективно, потому что возможность подписки для мессенджеров намного выше, чем для электронной почты: пользователям проще нажать одну кнопку, а не набирать свой адрес электронной почты.

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

Замените поп-апы в электронных письмах всплывающими окнами в мессенджере и начните направлять трафик к вашему боту. Что еще лучше — вы можете скомбинировать обе методики, используя плагин чек-бокса, чтобы также получить адрес электронной почты. Недостатком здесь является то, что вы можете привлечь меньше пользователей, однако вы также соберете их адреса электронной почты, что является ценным маркетинговым активом. Оптимальная практика — протестировать эти 2 варианта. Если у вас не наблюдается значительного снижения трафика к боту, то попросите пользователей присылать вам заявки при помощи email.

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

Плагины сообщений

Этот виджет находится на вашей посадочной странице и позволяет пользователям контактировать с вашим бизнесом. Плагин автоматически распознает пользователя и располагает изменяемым призывом к действию: «Привет! Как я могу вам помочь?». При активации виджет открывается на веб-странице, и бот начинает реагировать. 

Чат-бот на сайте приглашает пользователя к диалогу: «Привет, Эбби! Как мы можем вам помочь сегодня?»

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

Использование мессенджера для контент-маркетинга и оптимизации воронки

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

На стадии осознания (Awareness Stage) обнаруживается «болевая точка»: «У меня болит горло, меня лихорадит, я чувствую слабость во всем теле. Что со мной не так?»; на следующем этапе рассмотрения (Consideration Stage) рассматриваются способы решения проблемы: «Ага! У меня воспалено горло. Какие у меня есть варианты для облегчения или устранения симптомов»; эта последовательность завершается стадией принятия решения (Decision Stage): «Я могу повидаться с врачом для оказания первичной медицинской помощи, вызвав экстренную помощь или сходив в клинику. Экстренная помощь стоит дороже, но у меня есть страховка».

1. Этап осознания: потенциальный клиент понимает, что у него есть проблема.

2. Этап рассмотрения/оценки: покупатель определяет свои проблемы и исследует варианты их решения.

3. Этап принятия решения/покупки: клиент выбирает конкретный вариант.

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

Это — ключ, далее посмотрим, как его можно применить.

Предложения для каждой стадии процесса покупки

Верхняя часть воронки

Стадия осознания

Публикация в блоге, новостная email-рассылка, обучающее видео, сборник советов, инфографика, слайд-шоу, обучающий подкаст, обучающий вебинар и т. д.

Середина воронки

Стадия рассмотрения

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

Нижняя часть воронки

Стадия покупки

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

Использование чат-ботов на каждом этапе клиентского путешествия

Этап осознания

Бот способствует определению проблемы и начинает отправлять соответствующий контент.

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

2. Бот посылает ценный, значимый контент: отправьте руководства, учебные пособия, видео, чтобы подтвердить, что эта проблема существует.

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

Диалоговый контент-маркетинг с применением чат-бота охватывает все 3 стадии клиентского путешествия.

Этап рассмотрения/оценки

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

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

Совет: подключите чат-бот к каждому фрагменту контента, способствующего принятию решений.

Опция «Добавить в корзину», реализованная для мессенджера

Этап принятия решения/покупки

На этой стадии покупатель осуществляет выбранное решение.

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

2. Оставленные корзины: если/когда посетитель покидает страницу оформления заказа, не закрыв сделку, то чат-бот бот напоминает об этом. Эта функция работает настолько мощно, что восстанавливается до 50% оставленных корзин.

3. Квитанции об оплате и доставка: после покупки бот присылает клиенту уведомление о получении средств ​​и обновляет статус товара в момент его отправки. Такой подход существенно уменьшает количество запросов и снижает затраты на обслуживание клиентов.

4. Апселл (допродажи): после покупки бот может рекомендовать другие похожие товары. Около 1/3 клиентов совершат вторую покупку.

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

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

Как использовать воронку продаж и персонализацию контента

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

Создание «машины продаж» за 5 шагов

Шаг 1: определите, кто ваши клиенты?

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

Шаг 2: задайте надлежащие вопросы

Какие 5-10 вопросов вы можете задать, чтобы быстро определить, к какой группе принадлежит клиент?

Шаг 3: создайте план подачи своего контента и клиентского путешествия

Запланируйте мышление клиента на каждом этапе: осознание, оценка и принятие решения.

Подготовьте контент, способствующий продажам.

Шаг 4: окажите содействие клиентам

Автоматическая сегментация: когда посетители впервые пользуются чат ботом, задайте им 5-10 наиболее важных вопросов — это поможет вам сортировать поток клиентов согласно их целям.

Продажи: направляйте посетителей в соответствующую воронку продаж.

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

Продающая последовательность, которая работает

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

Сообщение 1: ценный, высококачественный контент

Сообщение 2: развлекательный контент

Сообщение 3: «мягкие» продажи

Сообщение 4: развлекательный контент

Сообщение 5: ценный, высококачественный контент

Сообщение 6: «жесткие» продажи

A/B-тестирование: вы можете произвольно отправлять при помощи бота различные последовательности сообщений разным сегментам пользователей. Это настолько легко сделать, что мы настоятельно рекомендуем вам воспользоваться преимуществами сплит-тестирования и постоянно работать над оптимизацией потоков.

Превратите ваш бот в инструмент лидогенерации

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

Совет 1: откуда берутся пользователи?

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

Совет 2: применяйте обобщенную адаптацию

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

Совет 3: раздавайте подарки и собирайте электронные адреса

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

Совет 4: используйте геймификацию для лидогенерации

Используя игровой процесс, можно достаточно легко выяснить предпочтения потенциальных клиентов. Например, вы можете попросить пользователей оценить, насколько им нравится некий товар, присваивая ему баллы от 1 до 10. Применив такую «игру в рейтинги», вы сможете достаточно быстро получить представление о том, что больше всего нравится пользователям. После завершения игры вы можете отправить участникам купоны для скидок на их любимые товары.

Совет 5: дарите деньги, а не проценты

Предоставление клиенту скидки в 10 долларов воздействует на решение о покупке гораздо мощнее, чем объявление о 10-процентной скидке на товар ценой в $ 100. При использовании процентов клиент оказывается на уровне абстракции, удаленной от конечного результата — другими словами, клиенту приходится думать! Мы, как маркетологи, не хотим, чтобы покупатели задумывались — мы хотим, чтобы они приняли быстрое решение, а получение 10 долларов — это очень конкретное предложение: каждый, ни секунды не раздумывая, точно понимает, что это означает.

Совет 6: скажите, что у вас заканчивается товар

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

Совет 7: модели поведения клиентов

Одной из самых больших возможностей, доступных маркетологам при использовании ботов, является отслеживание моделей поведения клиентов. Например, вы можете обнаружить, что покупателю нравится покупать одежду только 3 раза в год. Зная это, мы можем через 4 месяца предвосхитить действия клиента, отправив ему специальное предложение как раз тогда, когда он будет готов к следующему циклу покупки одежды.

Бонус: автоматическое комментирование в Facebook

Представьте, что вы проводите успешную рекламную кампанию в Facebook и получаете сотни комментариев. Некоторые люди задают вопросы, другие распространяют ваш контент, а многие просто заинтересованы в получении дополнительной информации. Теперь же при помощи Chatfuel — платформы по созданию чат-ботов в Facebook — вы можете за несколько минут создать «автоматизированного комментатора».

Высоких вам конверсий!

По материалам: chatbotslife.com

Понравилась статья? Поделитесь впечатлениями или расскажите о вашем опыте.

Комментировать

Связанные записи

Иллюстрация к статье: Какие методики лидогенерации работают лучше всего?
Иллюстрация к статье: Существует ли «волшебная пилюля» для лидогенерации?
Иллюстрация к статье: 26 примеров лендингов, созданных для лидогенерации
Иллюстрация к статье: Стратегия оптимизации прибыли на основе лидогенерации и входящего маркетинга. Часть 3: LTV
Иллюстрация к статье: Лидогенерация: оптимизируем длинные веб-формы
Иллюстрация к статье: Базовое правило мобильной лидогенерации

  • 2 000 руб.
    на рекламу
    в Яндекс.Директ
  • 3 000 руб.
    на рекламу
    в Google AdWords
  • Комплект дизайнерского
    лендинга
    за 4 470 бесплатно
ВНИМАНИЕ! Вы используете устаревший браузер Internet Explorer

Данный сайт построен на передовых, современных технологиях и не поддерживает Internet Explorer 6-ой и 7-ой версии.

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

Спасибо!

Пожалуйста, проверьте ваш e-mail с письмом: «LPgenerator: Пожалуйста, подтвердите подписку»

Щелкните по ссылке, приведенной в этом письме, и подтвердите ваш адрес электронной почты.

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

Source: LpGenerator

Метки:





Запись опубликована: 19.09.2018

Хотел красивую железку. Получилось

Часть 1 >> Часть 2 >> Вы находитесь здесь

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

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

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

Для хорошей каши из топора нужна крупа.

WiFi Slot

Все знают про ESP8266. У этой борды несколько отличий.

  1. К ней подключаются Troyka-модули. И их разных очень много.
  2. Таких модулей туда можно поставить 4.
  3. У неё 8 каналов АЦП, с измерением диапазона от 0 до 3.3 В. А для голой ESP8266 это очень не характерно.
  4. Здесь есть две шины питания: силовая 5В, цифроаналоговая 3,3 В.
  5. Одно в другое превращается через DC/DC. Меня лично задолбали эти кипятильники-регуляторы. Привет высокий КПД.
  6. А это значит, что можно драйвить моторы прям с неё. И как-нибудь я покажу как.
  7. Она поддерживает Slot Connector. А это круто.

Короче, я могу воткнуть в неё 4 потенциометра, и это будет выглядеть круто. Ради этого всё и затевалось.

i2cio

А вот и мой любимый STM32F030F4P6.


Это платы с одной и той же прошивкой i2cio. Это расширитель портов ввода/вывода.
9 управляющих пинов этой штуки умеют:

  1. 12-битный АЦП
  2. 16-битный ШИМ, с очень круто регулируемой частотой. Хоть сервы туда вешай (DC/DC помогает и тут), хоть моторы постоянного тока крути, хоть звук играй.
    Так же эти 9 плюс ещё один могут цифровой ввод/вывод.

Дополнительно Slot Expander поддерживает Troyka-разъёмы и разделение питания на силовую и аналоговую части.

Аааа… Забыл. Таких штук можно к железке подключить что-то около 100 штук максимум. И они все рассортируются по I2C-адресам автоматом, предоставляя плоскую адресацию пинов. То есть вы сможете написать

i2cio.digitalWrite(852, HIGH);
int tooHighForAnalogPinNumber_areYouReallyShureQuestion = i2cio.analogRead(942);

И при этом всё получится.
Ну и он стоит 33 рубля. И можно сделать датчик линии с самым большим в мире датчиков серого. С 12 битным АЦП и 16-битной регулировкой чувствительности. Не меняя прошивку.

Заголовок спойлера

Что я обязательно и покажу в следующих сериях.

Едем дальше.

Экшн

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

Скручиваем всё вместе

Примечание: здесь и далее подразумевается, что текста сверху никогда не было

Для этого мне понадобится материнская платка с мозгами esp8266 (слева). Её отличие от остальных только в том, что она квадратная, имеет 8 входов АЦП и питается от 5 В через DC/DC преобразователь. А ещё к ней можно подключить такую же квадратную плату расширения на моём любимом stm32f030f4p6 (справа) через красивую железку (центр).

Добавим кучу потенциометров

Ещё одна особенность этих железок — в них очень просто вставить стандартные модули. Модулей у меня этих много разных. Я взял кучу потенциометров. Потому что все любят кучу потенциометров(с).

Больше потенциометров богу потенциометров!

Соль

Самый долгий пункт сборки. Если захочется сделать всё в точности как я, понадобится сделать следующее:

  1. Купить в Леруа деревянный уголок со стороной 2 см
  2. Взять пилу, и попытаться отпилить его под 45 градусов
  3. Понять, что это не так то просто. Начать бегать повсюду и искать стусло.
  4. Скрутить стусло из советского металлического конструктора.
  5. Упилить почти весь уголок в брак, потому что не дано тебе, Василий, делать что-то красивое руками.
  6. Купить, наконец, стусло.
  7. GOTO 5. Потому что не дано тебе, Василий. Нечего и пытаться.

Вот что получилось:

Ерунда, переделать

Друг говорит: «Это что это, пульт для трактора, да? Не похоже что-то».

Хороша работа. Начинай сначала.

Берём ещё 4 платы расширения, прикручиваем. Берём кучу модульков, и тыкаем куда попало.

Получилось вот это:

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

Ох, не дано тебе, Василий, не дано…

Демонстрация работы

В итоге получился беспроводной пульт для трактора. Он управляет трактором по WiFi через Open Sound Control.

Исходный код

Исходный код на gitHub. Залил целиком рабочую папку, чтобы не искать библиотеки по всему интернету.

А как вообще это работает?

Красивая железка — это просто коннектор, который при помощи четырёх болтов умеет передавать два сигнала и питание. Два сигнала — это I2C. Материнская плата умеет разбрасывать все платы расширения по последовательно идущим I2C-адресам и, впоследствии, что-то с ними делать. Например, считывать 12-битный аналоговый сигнал с (почти) каждой ножки расширителя. Или управлять 16-битным ШИМ на каждой ножке расширителя. Ну или просто использовать эти ножки как цифровой вход/выход. Можно использовать эти расширители, если вам просто не хватило ног на вашем любимом микроконтроллере.
Прошивка stm32f030f4p6, установленного на плате расширения лежит здесь.
Библиотека для работы с расширителями портов в Arduino IDE лежит здесь.
Если уважаемым хабравчанам будет интересно, я обязательно расскажу об этом подробнее. Но не сегодня.

Метки:

Source: habr1

Метки:





Запись опубликована: 19.09.2018

Проект Keystone: доверенная среда для запуска приложений на базе RISC-V

vmware iaas provider

Проект Keystone: доверенная среда для запуска приложений на базе RISC-V

Команда исследователей из MIT и Калифорнийского университета в Беркли при поддержке Facebook, Google, Microsoft и других ИТ-гигантов представила проект Keystone. Это open source компонент, позволяющий организовать доверенную среду для запуска программ (trusted execution environment, TEE) на базе архитектуры RISC-V.

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


/ фото Wikimedia CC

Зачем нужен Keystone

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

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

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

К примеру, Intel предлагают расширение архитектуры Software Guard Extensions (SGX), которое защищает данные от несанкционированного доступа и изменения. Эта технология тоже задействует анклавы, в которых выполняется код пользовательского приложения. Однако совсем недавно стало известно, что эта система уязвима к атаке Foreshadow (CVE-2018-3615). Злоумышленники могут получить доступ к данным в анклаве SGX, используя особенности спекулятивного исполнения команд.

Помимо Intel, свои решения предлагает AMD — их названия Secure Processor и SEV, а также ARM — у них есть TrustZone. Однако к их безопасности у экспертов ИБ также есть вопросы.

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


/ фото Brad Holt CC

Таким образом, система Keystone представляет собой open source проект на базе архитектуры RISC-V для построения TEE. Исследователи выбрали RISC-V, поскольку она менее уязвима к атакам по сторонним каналам, направленным на практические реализации криптосистем. В частности, этот тип архитектуры не подвержен уязвимостям вроде Meltdown и Spectre.

Разработчики Keystone поставили перед собой следующие цели:

  • Построить цепочку доверия для проверки каждого компонента аппаратного и программного обеспечения (сюда вошли системы Secure boot и удаленная проверка надежности «железа»);
  • Изолировать память от вмешательства извне;
  • Реализовать методы защиты от атак по сторонним каналам;
  • Реализовать методы шифрования памяти и адресной шины.

Компоненты решения

Концепция Keystone базируется на технологиях SGX и анклав-платформе Sanctum Processor, разработанной в MIT.

Последняя строится с применением так называемого доверенного слоя абстрагирования, или trusted abstract platform (TAP). Платформа (TAP) состоит из процессора со счетчиком команд, регистров общего назначения, системы для трансляции виртуальных адресов и набора примитивов для выполнения кода в защищенном анклаве.

От системы SGX Keystone «взял» движок для шифрования памяти (Memory Encryption Engine, MEE). Ядро решения организовано с помощью параметризованного RISC-V процессора BOOM (Berkeley Out-of-Order Machine) на SoC-генераторе Rocket.

В общем виде схема реализации системы с анклавом на RISC-V выглядит следующим образом:

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

Когда релиз

Первая версия — Keystone v0.1 — появится этой осенью и будет выполнена на FPGA. Исследователи оживают, что в перспективе она сможет заменить SGX при реализации блокчейн-платформ.

P.S. Дополнительные материалы из Первого блога о корпоративном IaaS:

P.P.S. Пара постов из нашего блога на Хабре:

Метки:

Похожие публикации

Source: habr1

Метки: