SWIPE TO UNLOCK
Copyright ©2019, 2018, 2017 Belle Applications, Inc.Published by Belle Applications, Inc.swipetounlock.com
3rd Edition, 3rd Revision (August 2019)
Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Права на издание получены по соглашению с Belle Applications, Inc. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. Издательство не несет ответственности за доступность материалов, ссылки на которые вы можете найти в этой книге. На момент подготовки книги к изданию все ссылки на интернет-ресурсы были действующими.
© Belle Applications, Inc.
© Перевод на русский язык ООО Издательство «Питер», 2020
© Издание на русском языке, оформление ООО Издательство «Питер», 2020
© Серия «IT для бизнеса», 2020
Друзьям за вдохновение и семье за поддержку.
Нил
Моей семье и друзьям. Спасибо, что поддерживали мое увлечение бизнесом и помогали в преодолении страхов, чтобы стать на путь предпринимательства.
Ади
Друзьям и семье за их бесконечную поддержку и моему наставнику Деборе Стритер за веру в мое видение, которое помогло сделать эту книгу возможной.
Парт
Когда вы взрослеете, вам обычно внушают, что мир таков, какой он есть, а ваша жизнь… Вы просто должны прожить ее, стараясь не набить больших шишек, завести хорошую семью, немного радоваться жизни, накопить немного денег.
Это очень ограниченная жизнь, а ведь она может быть гораздо шире, как только вы поймете один простой факт. Все вокруг вас, то, что вы называете «жизнь», было сделано людьми, которые не были умнее вас. И вы можете все изменять вокруг, вы можете влиять на все, вы можете создать свои собственные вещи, которые будут использоваться другими людьми.
Как только вы поймете это, вы уже никогда не будете прежним.
Стив Джобс (который, кстати, не написал ни одной строчки кода в Apple)
Введение
Неважно, чем вы зарабатываете на жизнь, – разбираться в технологиях сейчас нужно всем. Врачи с помощью искусственного интеллекта ставят диагнозы. Фермеры пользуются дронами, чтобы вырастить хороший урожай. Бизнесмены поняли, что хотя раньше крупнейшие компании и были сосредоточены в области нефти и электроэнергетики, Apple, Amazon, Facebook, Google и Microsoft сейчас ничуть не отстают.
Так как же разобраться в технологиях?
Часто кажется, что нужно быть суперпрограммистом, чтобы понять огромное количество терминов, которыми сыплют технические специалисты. Вот несколько примеров: SaaS, API, SSL, облачное хранилище, дополненная реальность. А чтобы понять ежедневный поток новостей о технологиях, кажется, что нужно иметь степень MBA: стартапы, сбор и обработка данных, запуск приложений, распространение слухов в интернете и так далее.
Но на самом деле любой может понять технологии, независимо от уровня имеющихся знаний. Наиболее важные вопросы, начиная от базовых понятий об устройстве интернета до бизнес-стратегий компаний Facebook и Uber, можно объяснить простым и понятным языком.
Цель
«В одно касание» – это книга о технологиях и бизнес-стратегиях. Мы рассмотрим реальные примеры, которые помогут разобраться в программном и аппаратном обеспечении, а также в бизнес-стратегиях, господствующих в технологическом мире. Кроме того, вы научитесь понимать и анализировать технологии самостоятельно. Предварительных знаний не требуется.
В каждом разделе на примерах рассматриваются такие вопросы, которые вы могли задавать себе и сами, – например, как Spotify составляет список рекомендаций, как работают беспилотные автомобили и почему Amazon предлагает премиум-доставку, несмотря на ее убыточность.
В каждом разделе есть ответ на вопрос «что?» – дается представление о технологических концепциях, таких как большие данные и машинное обучение, а затем ответ на вопрос «почему?» – описываются коммерческие соображения, по которым компании будут использовать эти технологии в первую очередь. На основании нашего опыта работы в качестве продакт-менеджеров в маленьких и крупных технологических компаниях мы постараемся дать вам представление о том, как устроен мир технологий.
Мы хотим, чтобы, прочитав книгу, вы смогли мыслить как технический специалист и научились анализировать технические вопросы, с которыми столкнетесь в будущем: как работает та или иная технология, почему она была разработана именно так, за счет чего она приносит доход и будет ли успешной. Несмотря на то что отдельные приложения и компании то появляются, то исчезают, мы надеемся, что вы еще долго сможете пользоваться основными концепциями, которые почерпнете из этой книги.
Для кого эта книга
Книга адресована людям любого уровня подготовки. Будь вы рядовым сотрудником или акулой бизнеса, мы думаем, что вы найдете здесь для себя что-нибудь полезное и интересное.
Если у вас нет представления об основах написания кода, но вы хотите прорваться в продакт-менеджмент, развитие бизнеса или занять другую не инженерную нишу в IT-компании, вы должны уметь объяснять клиентам и коллегам, что такое искусственный интеллект, алгоритмы и большие данные. А для построения бизнес-стратегии своей компании нужно знать, какие из ранее использованных технологий были успешными (или провалились) и почему. Конкретные примеры, представленные в книге, и описание технических концепций простым языком помогут в обоих случаях.
Если вы инженер-программист, но хотите получить должность продакт-менеджера, мы расскажем о коммерческой составляющей: реклама, монетизация, поглощения и пр.
Если вы предприниматель или руководитель технического отдела, то знаете, что просто наличия отличного продукта недостаточно. Мы приводим примеры из жизни, помогающие сформировать понимание основ технологий и чувство восприятия бизнес-стратегии, чтобы вы смогли найти способ сделать компанию процветающей, а также умели грамотно общаться с сотрудниками и инвесторами.
Если вы студент и изучаете бизнес-технологии, наглядные примеры из книги будут как раз кстати. Вы узнаете, что привело к успеху Amazon, почему провалился Blackberry, а также поймете, как IT-компании ведут технологическую политику, справляются со сбоями и динамично растущими рынками.
Даже если вы не работаете в сфере IT, есть вероятность, что ваша компания использует технологии, чтобы быть на шаг впереди. Предиктивная аналитика, программное обеспечение как услуга, A/B-тестирование – вы узнаете об этих актуальных темах и о том, как даже компании, не имеющие отношения к IT, пользовались этими технологиями для развития бизнеса.
В конце концов, даже если технологии и не нужны вам для работы, вы все равно пользуетесь ими ежедневно – наверняка сейчас у вас в кармане лежит какой-нибудь ее образец. Мы поможем вам стать более осведомленными. На примере аналогий и простым языком мы объясним, как работают технологии, которыми вы ежедневно пользуетесь. Затронем темы, о которых вы, возможно, слышали в новостях, как, например, сетевой нейтралитет, конфиденциальность и регуляторные технологии. Мы даже посмотрим на темную сторону технологий: фейковые новости, утечка данных, цифровой наркотрафик и опасность сокращения рабочих мест из-за роботизации.
Неважно, почему вы читаете книгу «В одно касание», мы думаем, что в ней вы найдете множество ценных мыслей и идей и научитесь думать – и говорить! – как технический специалист.
Прежде чем погрузиться в чтение, давайте посмотрим, о чем эта книга.
Что внутри
Книга «В одно касание» разбита на три больших раздела. В главах с 1 по 4 описываются основы технологии: как устроено программное обеспечение, как работает интернет, а также рассмотрены бизнес-модели крупных приложений. В главах с 5 по 8 содержится информация об основных компонентах мира технологий: большие данные, облачные вычисления, конфиденциальность и т. п. В основе глав с 9 по 12 лежат две предыдущие главы и более подробно описываются тренды, анализ и прогнозирование: бизнес-стратегия, динамично растущие рынки, политика технологий и перспективы в этой области.
Каждая глава содержит в основе информацию из предыдущей, поэтому, если вы новичок в технологиях, то рекомендуем читать книгу по порядку. Если вы уже имеете какой-то опыт, то, не раздумывая, переходите к тем примерам, которые кажутся наиболее интересными, – каждый из них можно рассматривать независимо от всех остальных. Конечно, если у вас есть необходимое представление о предмете.
В конце книги добавлен глоссарий с наиболее важными терминами, которые встречаются в области IT, включая терминологию языков программирования, бизнес-сленг, распространенные инструменты программной инженерии и многое другое. Мы считаем, что с его помощью вы сможете разговаривать как настоящий технарь, а также использовать его в качестве справочника для дальнейшего развития.
Наконец, невозможно вместить всю информацию о технологиях и бизнес-стратегиях в одну книгу, поэтому в конце добавлено множество ссылок на источники для каждой главы. Можете использовать эти ссылки, чтобы больше узнать о любой теме, которая вас заинтересует[1].
Кто мы
Когда все мы впервые встретились, разговор зашел о Кремниевой долине и о том, что, несмотря на кажущуюся открытость и меритократию, непрофессионалам достаточно сложно разобраться, чем же там занимаются, не говоря уже о более глубоком понимании технологической индустрии. Мы пришли к выводу, что хотели бы это изменить – именно поэтому написали эту книгу.
Каждый из нас имеет опыт работы продакт-менеджером в крупнейших IT-компаниях, но все мы проработали в разных сферах информационных технологий: Нил – в государственном и некоммерческом секторе, Ади – в мире стартапов, а Парт узнал эту среду со стороны бизнеса и маркетинга. Надеемся, что вам пригодятся наш совместный опыт и идеи. Вот еще немного о том, кто мы такие.
Нил Мехта – продакт-менеджер в Google. Работал в Microsoft, Академии Хана и Бюро переписи населения США, где запустил первую полностью финансируемую программу стажировки по информационным технологиям в федеральном правительстве. С отличием окончил Гарвардский университет.
Адитья Агаше – продакт-менеджер в Microsoft. Ранее основал Belle Applications, где занимал должность CEO. С отличием окончил Корнеллский университет.
Парт Детройя – продакт-менеджер в Facebook. Работал продакт-менеджером и маркетологом в Microsoft, Amazon и IBM. С отличием окончил Корнеллский университет.
Примечание для соискателей
Прежде чем вы приступите к чтению, мы подготовили для вас несколько советов и ресурсов на тот случай, если вы хотите работать в IT-компании, но не претендуете на должность программиста.
Для начала имейте в виду, что вопросы в этой книге, а также ответы на них, необязательно будут похожи на те, которые могут задать на реальном собеседовании. Но зато у вас появится понимание технических и деловых аспектов, и вы сможете самостоятельно составить ответы, которые выделят вас из общей массы.
Например, в книге мы объясним, как Google создает контекстную рекламу и почему Microsoft купила LinkedIn. Возможно, интервьюеры вас об этом и не спросят, но они могут задать вопрос о том, как увеличить доход от рекламы для определенной возрастной группы или как улучшить корпоративные продукты Microsoft – в этом случае эти примеры помогут дать более содержательные ответы и показать глубину ваших знаний.
Цель этой книги заключается не в том, чтобы научить вас проходить собеседование, а в том, чтобы вы научились думать как специалист по технологиям. Одни лишь примеры вопросов для собеседования не помогут научиться мыслить рационально об IT или полностью разобраться в технических концепциях, а книга «В одно касание» – поможет.
Дополнительные полезные советы по подготовке к собеседованию, созданию резюме, профессиональным знакомствам и выбору работы можно найти на сайте swipetounlock.com/resources, где мы делимся ссылками на некоторые полезные книги и статьи.
Спасибо!
Какие бы цели вы ни преследовали – личные, академические или карьерные, – мы надеемся, что наша книга окажется полезной. Еще раз спасибо за выбор, надеемся, что вам понравится!
Нил Мехта
namehta.com
linkedin.com/in/neelmehta18
Адитья Агаше
adityaagashe.com
linkedin.com/in/adityaagashe
quora.com/profile/Adi-Agashe
Парт Детройя
parthdetroja.com
linkedin.com/in/parthdetroja
От издательства
Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.
Глава 1. Разработка программного обеспечения
Начнем исследование мира технологий с изучения приложений, которыми вы каждый день пользуетесь. Кажется, что Netflix и Microsoft Excel различаются, но, по сути, они оба построены из одних и тех же строительных блоков. Мы заявляем, что каждое приложение сделано из одинаковых составляющих. Из каких? Читайте дальше.
Как работает поиск в Google?
Каждый раз при создании запроса в Google поисковая система просматривает более 30 триллионов страниц в интернете и находит первые 10 результатов. В 92 % случаев пользователь выбирает результат на первой странице (то есть топ-10). Найти 10 лучших из 30 триллионов результатов действительно сложно – почти так же сложно, как случайно найти монетку, упавшую где-то в Нью-Йорке. Тем не менее Google успешно делает это за полсекунды. Но как?
На самом деле Google не посещает каждую страницу в интернете каждый раз, когда создается какой-то запрос. Google фактически хранит информацию о страницах в базах данных (таблицы информации, как в Excel) и использует алгоритмы, считывающие эти базы данных, чтобы решить, что показать пользователю. Алгоритмы – это просто ряд заданных правил. У людей может быть встроен «алгоритм» для создания бутерброда с маслом и сыром, в то время как на компьютерах Google есть алгоритмы для поиска страниц на основе поискового запроса.
Алгоритм начинается с создания базы данных каждой страницы в интернете. Google использует программы, называемые «пауками», которые «ползут» по страницам, пока не найдут их все (или, по крайней мере, пока Google не решит, что этого достаточно). «Пауки» начинают с нескольких страниц и добавляют их в список страниц Google, называемый индексом. Затем они переходят по всем исходящим ссылкам на этих страницах и находят новый набор страниц, который добавляют в индекс. Далее они переходят по всем ссылкам уже на новых страницах и так далее, пока Google не найдет что-нибудь еще.
Это непрерывный процесс; Google всегда добавляет новые страницы в индекс или обновляет их, если они меняются. Индекс огромен, он весит более 100 млн ГБ. Для того чтобы поместить его на внешнем жестком диске объемом 1 ТБ, потребовалось бы 100 тысяч таких дисков, а если поставить их друг на друга, высота составит примерно 1,5 км.
Поиск в Google работает таким образом: он принимает запрос (текст, введенный в строку поиска) и просматривает индекс, чтобы найти наиболее подходящие страницы. Как Google это делает? Самый простой способ – найти определенное ключевое слово, что-то вроде нажатия Ctrl+F или Cmd+F для поиска в гигантском документе Word. Именно так работали поисковые системы 1990-х годов: они искали запрос в своем индексе и отображали страницы с наибольшим количеством совпадений, атрибут, называющийся плотностью ключевых слов.
Как выяснилось, эту схему довольно легко обойти. Если ввести в поисковую строку «шоколадный батончик Snickers», то можно предположить, что snickers.com окажется в списке первых найденных страниц. Но если поисковая система просто считала количество повторяющихся слов «сникерс» на странице, кто-то мог бы создать «левую» страницу со словом «сникерс, сникерс, сникерс, сникерс» и т. д., и таким образом она бы оказалась в числе первых в результатах поиска. Очевидно, что такая страница окажется не очень полезной.
Взамен алгоритма плотности ключевых слов основным нововведением Google стал алгоритм под названием PageRank, созданный Ларри Пейджем и Сергеем Брином в 1998 году в рамках работы над кандидатской диссертацией. Пейдж и Брин обратили внимание, что оценить приоритетность страницы можно, посмотрев на другие важные страницы, со ссылкой на нее. Это словно, находясь на вечеринке, узнать, что кто-то популярен, увидев этого человека, окруженного другими известными людьми. PageRank присваивает каждой странице оценку на основании других своих оценок, данных всем остальным страницам, которые дают ссылку на эту страницу. (Оценка тех страниц зависит от других страниц, которые дают на них ссылку, и т. д.; это рассчитывается с помощью линейной алгебры.)
Например, в случае создания новой страницы об Аврааме Линкольне, ее PageRank был бы очень низким. Но если бы какой-нибудь малоизвестный блог добавил ссылку на эту страницу, это повысило бы ее PageRank. PageRank больше заботится о качестве входящих ссылок, чем об их количестве, поэтому даже если десятки непопулярных блогов дадут ссылку на эту страницу, пользы будет мало. Но если бы газета New York Times (которая, скорее всего, имеет высокий PageRank) дала бы ссылку на нее, то ее PageRank взлетел бы.
Как только Google находит в своем индексе все страницы, в которых упоминается поисковый запрос, он ранжирует их по нескольким критериям, включая PageRank. У Google также есть много других критериев: он учитывает последнее обновление страницы, пропускает веб-сайты, похожие на спам (например, сайт «сникерс, сникерс, сникерс, сникерс», о котором писалось выше), учитывает местоположение (он может выдать сайт Национальной футбольной лиги, если пользователь ввел запрос «футбол» и при этом находится в США, и Английскую Премьер-лигу, если он ввел аналогичный запрос, находясь в Англии) и многое другое.
Надуть Google?
Однако у PageRank есть свои подводные камни. Подобно тому как спамеры злоупотребляют плотностью ключевых слов (как в случае со «сникерс, сникерс, сникерс, сникерс»), они начали создавать линкофермы, или страницы, содержащие тонны ссылок на сайты, не несущие полезного контента. Владельцы веб-сайтов могут платить линкофермам за добавление ссылок на страницы, что искусственно повысит их PageRank. Однако Google стала очень неплохо распознавать и игнорировать линкофермы.
Но существует еще несколько основных способов обмануть Google. Появилась целая индустрия поисковой оптимизации (SEO), помогающая владельцам веб-сайтов взломать алгоритм поиска Google и сделать так, чтобы их страницы появлялись в топе результатов поиска. Основная форма SEO – это получение большего количества страниц со ссылкой на желаемую страницу. SEO содержит множество других методов, например ввод правильных ключевых слов в название и заголовок страницы или создание перекрестных ссылок на страницы сайта.
Однако алгоритм поиска Google постоянно меняется; компания выпускает небольшие обновления более 500 раз в год. Периодически появляются серьезные обновления, и после выхода каждого из них SEO-специалисты пытаются найти способы использовать эти изменения для продвижения. Например, в 2018 году Google изменила свой алгоритм, чтобы ускорить загрузку страниц на мобильных устройствах. Ведущие специалисты предложили владельцам веб-сайтов создавать укороченные версии обычных страниц с помощью инструмента Accelerated Mobile Pages (AMP).
Как Spotify рекомендует музыку?
Утром каждого понедельника Spotify отправляет своим слушателям список из 30 треков, которые волшебным образом идеально соответствуют их вкусам. Этот плейлист под названием Discover Weekly мгновенно стал популярным: в течение шести месяцев после запуска, в июне 2015 года, он был прислан более 1,7 млрд раз. Но как Spotify настолько хорошо удается узнать предпочтения своих 200 млн пользователей?
Spotify действительно нанимает специалистов, которые вручную создают открытые плейлисты, но подготовить их для всех 200 млн пользователей никоим образом невозможно. Вместо этого Spotify применяет алгоритм, который запускается каждую неделю.
Алгоритм Discover Weekly начинает свою работу с изучения двух основных моментов. Для начала он просматривает все треки, которые прослушал пользователь и которые ему настолько понравились, что он добавил их в библиотеку или плейлист. Эта программа достаточно умна, чтобы понять, что если трек переключили в течение первых тридцати секунд, то, вероятно, он не понравился. Затем алгоритм рассматривает все плейлисты, созданные другими людьми, предполагая, что каждый из них объединен какой-то общей темой; например, может быть плейлист для бега или плейлист Beatles.
Получив эти данные, Spotify использует два метода поиска треков, которые могут понравиться. Первый метод предполагает сравнение двух наборов данных, чтобы выяснить, какие из новых треков относятся к тем, которые нравятся пользователю. Предположим, что кто-то создал плейлист из восьми треков и семь из них есть в библиотеке пользователя. Ему, скорее всего, нравится такая музыка, поэтому Discover Weekly может порекомендовать тот трек, которого нет в его библиотеке.
Алгоритм Spotify для автоматической рекомендации музыки. Источник: Quartz
Эта методика называется «совместная (коллаборативная) фильтрация», и именно ее использует Amazon, чтобы предложить товары, которые могут заинтересовать клиента, исходя из его истории покупок и покупок миллионов других пользователей. Список рекомендуемых фильмов, которые предлагает Netflix, видео, предлагаемые YouTube, и список возможных друзей на Facebook – все это возможно благодаря совместной фильтрации.
Совместная фильтрация становится все более полезной, так как сервис получает больше пользователей. В нашем примере, если у Spotify появляется больше пользователей, то программе легче найти человека с похожим вкусом и, следовательно, легче предложить рекомендацию. Но, по мере роста пользовательской базы, работа таких алгоритмов может стать медленнее и требовать большого объема вычислений.
Второй метод, который использует Spotify для создания плейлиста, – это «профиль вкуса». На основе только тех треков, которые прослушал пользователь и которые ему понравились, Spotify определяет, какие жанры (например, инди-рок или R&B) и поджанры (например, Chamber Pop или New Americana) он предпочитает, и рекомендует музыку этих жанров. Это другая форма стратегии Spotify – предлагать треки на основании ранее прослушанных.
Зачем инвестировать в рекомендацию музыки?
Работа инженеров Spotify для создания этого алгоритма для рекомендации стоит очень дорого – они зарабатывают сотни тысяч долларов в год. Так зачем же компания этим занимается?
Во-первых, отличная система рекомендаций – это коммерчески привлекательная особенность, помогающая Spotify выделяться на фоне конкурентов, например Apple Music. А все потому, что одной только большой музыкальной библиотеки недостаточно. Говоря на языке бизнеса, музыка – это товар. Любой трек в приложении звучит примерно одинаково, будь то Spotify, или Apple Music, или что-нибудь еще – и состоятельный человек может получить лицензию на создание гигантской библиотеки.
Если все музыкальные стриминговые сервисы могут иметь фактически одинаковый набор музыки, Spotify нужна изюминка, которая будет выделять его на фоне конкурентов. И система рекомендаций, безусловно, отвечает всем требованиям – она считается лучше, чем у Apple Music.
И поскольку с привлечением большего количества пользователей совместная фильтрация улучшается, Spotify (у которого уже есть огромное количество пользователей) может продолжить укреплять свое лидерство.
Во-вторых, наличие персональных рекомендаций повышает вероятность пользования этим сервисом. Чем больше людей пользуются Spotify, тем больше алгоритмы узнают о вкусах пользователя и, следовательно, лучше рекомендуют музыку. При частом использовании Spotify подобранная им музыка будет довольно хорошей, и переход на Apple Music, который не знает предпочтений пользователя, будет ошибочным.
Высокая «стоимость переключения» снижает вероятность перехода пользователя к другому поставщику. (Говоря в более широком смысле, любые личные данные, которые вводятся в приложение, например создание плейлистов в Spotify, увеличивают стоимость переключения, поскольку приходится воссоздавать их в любом новом приложении.)
Одним словом, персонализированные плейлисты отлично подходят для слушателей и являются удачным бизнес-ходом для Spotify – неудивительно, что все больше и больше приложений предлагают персональные рекомендации.
Как Facebook решает, что появится в ленте новостей?
Более миллиарда людей ежедневно просматривают свои ленты новостей на Facebook, а американцы тратят на него почти столько же времени, сколько и на живое общение. Лента новостей обладает огромным воздействием, поскольку к ней прикованы взгляды многих пользователей. Она может влиять на настроение, вовлечь в идеологические эхо-камеры или даже повлиять на то, за кого будет отдан голос на выборах. Одним словом, содержание ленты новостей имеет значение. Так как же Facebook решает, что появится в ней?
Упрощенное объяснение алгоритма новостной ленты Facebook. Источник: TechCrunch
В частности, как Facebook выбирает и сортирует сотни (или тысячи) свежих новостей, которые просматриваются ежедневно? Как и Google, Facebook использует алгоритм, выясняя, что является наиболее важным. Существует около 100 тысяч персонализированных факторов, но мы сосредоточимся на четырех основных.
Первый фактор – это автор поста. Facebook покажет пользователю больше постов тех людей, с которыми она общалась (например, с кем больше переписывалась или кого добавила в закладки), предполагая, что он с большей вероятностью заинтересуется их последующими постами.
Второй фактор – качество поста. Чем больше людей заинтересовалось постом (например, по количеству лайков или комментариев), тем интереснее, по мнению Facebook, этот пост и тем выше вероятность того, что он появится в топе ленты новостей.
Третий фактор – тип поста. Facebook определяет, какими типами постов (видео, статьи, фотографии и т. д.) пользователь чаще всего интересуется, и показывает ему больше подобных постов.
Четвертый и основной фактор – новизна: новые истории получают более высокий рейтинг.
Есть еще много факторов. Вот некоторые из них, по версии журнала Time:
Используйте телефон с медленной мобильной связью, и вы увидите меньше видео. Запись «Поздравляю!» в комментариях говорит о том, что пост, скорее всего, касается значимого события в жизни, поэтому он будет вверху ленты. Поставить лайк за статью после того, как вы кликнули на нее, – лучше, чем поставить его раньше, потому что это означает, что вы, вероятнее всего, прочитали хотя бы немного и статья вам понравилась.
Можно сказать, что Facebook действительно старается максимально увеличить вероятность того, что пользователю понравится контент или он оставит комментарий к посту в ленте новостей. Этот показатель называется «активность пользователей». В конце концов, чем больше им нравится их лента новостей, тем больше они будут прокручивать ее вниз, а значит, увидят больше рекламы. Разумеется, реклама – это то, от чего Facebook получает большую часть дохода.
Пример того, как Facebook оценивает сообщения и определяет, что появится в ленте новостей. Источник: TechCrunch
Этот алгоритм также работает на то, чтобы пользователи действовали в интересах Facebook. Каждый хочет, чтобы его посты отображались в топе ленты новостей его друзей, и, поскольку Facebook увеличивает количество вирусных постов, у людей появляется стимул создавать посты, которыми часто делятся. Чем больше репостов, тем больше новых постов, а это значит, что Facebook сможет запустить больше рекламы.
Алгоритмы, такие как алгоритм ленты новостей Facebook, – невероятно мощный инструмент, но опасность заключается в том, что хакеры все еще могут легко их обойти. Без контроля со стороны человека алгоритмы могут быть использованы против нас.
Известный пример – эпидемия фейковых новостей, которая охватила Facebook в 2016 году во время американских президентских выборов. Напоминаем, что алгоритм ленты новостей не учитывает правдивость или авторитетность поста; его интересует только максимальная активность пользователей. Распространители фейковых новостей пользовались этим с целью травли политиков, которые были им неугодны, и размещали в Facebook возмутительные и явно ложные новостные статьи. Естественно, такие статьи привлекали много внимания, на них кликали и оставляли под ними комментарии, поэтому алгоритм продвигал их в топ ленты многих пользователей.
К чести компании, с тех пор она выпустила обновления алгоритма новостной ленты, чтобы попытаться ограничить распространение фейковых новостей. В 2018 году Facebook объявила, что изменит свой алгоритм, чтобы сосредоточиться на «значимых социальных взаимодействиях», то есть она будет продвигать свежие новости ваших друзей, а не просто «кормить» информационным материалом. Однако, как признали в компании, выявлять «значимые социальные взаимодействия» гораздо сложнее, чем просто определять количество лайков и кликов по статьям.
Facebook также обращалась к людям, чтобы устранить недостатки в своем алгоритме ленты новостей. (Ирония заключается в том, что алгоритмы предназначены для сокращения объема работы, которую изначально должны были выполнять люди, но в компании признают, что алгоритмы не идеальны.) Например, Facebook представила функции, позволяющие людям отмечать фейковые посты, и начала привлекать фокус-группы, которые прокручивают свои ленты и предоставляют обратную связь специалистам, разрабатывающим алгоритм. (Все правильно, за просмотр Facebook можно получать деньги.)
Алгоритмы – не магические заклинания, управляющие миром. Это просто набор правил (хотя и сложных), написанный другими людьми, чтобы заставить компьютеры выполнять определенную задачу. И, как показывает Facebook, иногда машины и люди должны сотрудничать.
Что объединяет Uber, Yelp и Pokémon Go?
Предположим, вы хотите создать свою версию Google Maps. Для этого пришлось бы отследить каждую дорогу, здание, город и побережье на планете. Не исключено, что понадобился бы парк автомобилей, чтобы ездить по всему миру, фотографировать и проводить вычисления, как это делала Google для Google Maps. Кроме того, нужно будет встроить функции панорамирования, масштабирования и алгоритмы для поиска направления движения между двумя точками.
Мягко говоря, это очень сложно. Даже Apple Maps критиковали за то, что их стандарт качества не дотягивает до уровня Google Maps.
Поэтому когда таким приложениям, как Uber, Pokemon Go и Yelp, нужно добавить карту, показывающую, где находятся доступные автомобили, помочь игрокам, найти диких покемонов или показать ближайшие рестораны, они, скорее всего, не захотят тратить миллиарды долларов и тысячи часов на создание новой карты.
Если вы когда-либо пользовались этими приложениями, то наверняка знаете, как они решают эту проблему: встраивают карты Google Maps в свое приложение. Ищете ресторан? Yelp закрепляет отметку на карте Google в зависимости от вашего местоположения. Хотите доехать до центра на Uber? Приложение строит маршрут на карте Google и рассчитывает примерное время, которое понадобится на поездку.
Uber использует интерфейс Google Maps, чтобы сгенерировать карту и предсказать время в пути. Источник: Uber on Android
Google позволяет добавить небольшой фрагмент кода в приложение, чтобы создать Google Maps. Она также предоставляет другие фрагменты кода, позволяющие рисовать на картах, вычислять направления движения между точками и даже определять ограничение скорости для конкретной дороги. Все это дешево или даже бесплатно. Эти средства – большая победа для разработчиков; они могут использовать технологию, на совершенствование которой у Google ушли годы, дополнив ее всего несколькими строчками кода. Не нужно изобретать велосипед!
Фрагменты кода, которые позволяют заимствовать функционал или данные другого приложения, называются API-интерфейсами или программным интерфейсом приложения. Если коротко, API позволяет приложениям взаимодействовать друг с другом. Давайте рассмотрим три основных типа API.
Первый тип API, называемый feature API, позволяет одному приложению обратиться к другому, специализированному, для решения конкретной задачи, например для определения направления движения, отправки текстовых сообщений или перевода предложений. Это как вызвать сантехника или плотника, а не пытаться устранить засор или починить шкаф самостоятельно. Приложения используют все типы feature API. Программистам утомительно писать код, который будет отправлять электронные письма или текстовые сообщения, поэтому, если приложениям вроде Venmo нужно это сделать, они просто используют специализированный API. Обработка платежей по кредитным картам – достаточно сложный процесс, поэтому Uber передал эту задачу на аутсортсинг API-интерфейсу Braintree PayPal, который позволяет любому использовать алгоритм обработки кредитных карт PayPal, задействуя всего несколько строчек кода.
Второй тип API, называемый data API, позволяет одному приложению «попросить» другое передать какую-нибудь интересную информацию, например результаты спортивных соревнований, ретвиты или погоду на сегодня. Это похоже на звонок в турфирму, чтобы узнать, какие музеи и рестораны они рекомендуют посетить. ESPN предлагает API-интерфейс, позволяющий получать списки каждой спортивной команды Высшей лиги и счет каждой игры. Приложение метро Нью-Йорка позволяет отслеживать местонахождение поезда и прогнозировать время прибытия следующего на станцию. Существует даже API для получения случайных изображений котиков.
Последний вид API, hardware API, предоставляет разработчикам доступ к функциям самого устройства. Instagram устанавливает API-интерфейс в камеру телефона для увеличения, фокусировки и фотосъемки. Google Maps сами используют API геолокации телефона, чтобы выяснить, где находится пользователь. В телефоне даже есть такие датчики, как акселерометры и гироскопы, которые используются в фитнес-приложениях и определяют направление и скорость перемещения.
Стоит отметить, что API не идеальны. Их использование не только упрощает жизнь разработчикам приложений, но и делает приложения зависимыми от API. Если API для отправки электронной почты не работает, все приложения, использующие его, не смогут отправить электронные письма.
Если Google решит запустить собственный каршеринг, то теоретически она может ограничить доступ Uber к API Google Maps, чтобы снизить конкуренцию. Если бы Uber создал собственные карты, они не зависели бы от Google.
Несмотря на потенциальные риски для бизнеса, использовать API специализированной компании проще, надежнее и зачастую дешевле, чем пытаться разработать его самостоятельно.
Все это возвращает нас к вопросу: что общего между технологиями Uber, Yelp и Pokemon Go? Все они используют API, а именно API Google Maps, чтобы не изобретать велосипед. API-интерфейсы действительно являются основной частью практически любого приложения.
Почему в Tinder надо заходить через Facebook?
Если вы когда-либо использовали приложение для знакомств Tinder, то знаете, что прежде чем создать профиль, можно залогиниться через аккаунт на Facebook. При входе в аккаунт в Tinder загружается аватар, возраст, список друзей и страницы Facebook, которые вы лайкнули. Как вы уже, наверное, догадались, это делается через API, предлагаемый Facebook. С помощью технологии единого входа (SSO) API любое приложение позволяет пользователям создавать учетные записи, привязывая профили Facebook.
Зачем Tinder использует API? С одной стороны, это гарантирует отсутствие пустых профилей (которые никто не захочет свайпнуть), поскольку основная информация всегда импортируется из Facebook. Кроме того, требование входа через него предотвращает появление ботов и фейковых аккаунтов – Facebook уже проделала много работы для того, чтобы свернуть их деятельность. Также это помогает Tinder находить лучшие совпадения: собирая список друзей, он может показать, сколько у пользователя общих друзей с каждым потенциальным партнером, и это чувство связи, возможно, подталкивает людей к тому, чтобы свайпнуть еще. Наконец, получив доступ к профилям Facebook всех своих пользователей, Tinder может лучше понять их базовый контингент, например, возраст, местожительство или интересы. Такая информация помогает Tinder изменить дизайн приложения или стратегию рекламы.
Для пользователей вход через Facebook тоже удобен. Создавать профиль в Tinder намного быстрее, если большая часть основной информации и фотографий уже импортирована из Facebook. Просмотр более полных профилей и наличие меньшего количества ботов также повышают удобство пользования.
Tinder на Android. Обратите внимание, что вход в систему осуществляется через Facebook
Кроме того, вход через Facebook означает, что не придется запоминать еще один логин и пароль.
Почему Facebook предлагает API, позволяющий людям залогиниться на других сайтах, используя свои учетные данные Facebook? При использовании технологии единого входа (SSO) API, которую предлагает сервис для регистрации в Tinder, Facebook понимает, что вы являетесь пользователем Tinder. Она получает аналогичные элементы данных, когда вы хотите залогиниться на других сайтах через него. В дальнейшем Facebook может использовать эти данные для более эффективной таргетированной рекламы, например, показывая пользователям Tinder больше объявлений о свиданиях.
В 2018 году Tinder объявила, что пользователи смогут заходить в свой аккаунт по номеру мобильного телефона вместо учетной записи Facebook. Зачем?
Если коротко – конкуренция. В 2018 году Facebook анонсировала новый сервис для знакомств, который в значительной степени рассматривался как конкурент Tinder, при этом цена на акции основной компании-учредителя Tinder рухнула на 20 %. Tinder, вероятно, побоялась, что Facebook перекроет доступ к API, и хотела создать новый способ входа в систему без привязки к нему.
Как показывает эта история, API-интерфейсы – отличный способ для компаний получить данные и обеспечить частое использование. Они помогают приложениям сэкономить время на разработку и обеспечить более качественный функционал, но такое предложение не исключает риски.
Почему в статьях Washington Post две версии заголовков?
Взгляните на эти скриншоты одного и того же фрагмента Washington Post. Заметили разницу?
Разные версии одного и того же заголовка в Washington Post. Источник: The Washington Post
Заголовки различаются! В 2016 году газета Washington Post предоставила авторам возможность указывать два разных заголовка одной статьи. Но зачем?
На самом деле этот эксперимент проводился для того, чтобы максимально увеличить количество кликов на статьи. В ходе него одной группе, скажем, половине случайно выбранных пользователей, автоматически показывается одна версия заголовка, остальным предлагается другая. Через некоторое время после начала эксперимента разработчики получают конкретную статистику или показатели, например количество кликов на заголовок. Они решают, какая версия лучше, и представляют ту, которая набрала большее количество кликов. Это простой, но действенный способ повысить эффективность работы приложения. Например, на первую версию вышеуказанного заголовка кликнули 3,3 %, а на вторую – 3,9 %. Изменение всего нескольких слов дало прирост в 18 %!
Эта методика называется A/B-тестирование – отличный способ повысить эффективность работы онлайн-продукта с помощью компьютера. Методика получила такое название потому, что сравнивается как минимум два варианта – A и B.
A/B-тестирование показывает как минимум два варианта одного и того же элемента (A и B), сравнивая соответствующие значения, чтобы выяснить, какой вариант показать всем пользователям. В данном случае – вариант А, с более высоким коэффициентом выполнения требуемых действий пользователей (или «кликов»). Источник: VWO
Не знаете, какой слоган заставит людей покупать? Вместо бесконечных дебатов просто проведите A/B-тестирование! Не знаете, какая кнопка «зарегистрироваться» будет более популярна среди пользователей – зеленая или красная? Проведите тестирование! (К слову, в ходе одного эксперимента на красную кнопку кликнули на 34 % больше респондентов.) Не знаете, какой аватар в Tinder больше свайпнут? Сервис позволяет запустить A/B-тестирование, чтобы выяснить, какие фотографии, если они есть в основных изображениях профиля, помогут получить больше свайпов вправо.
Вернемся к вопросу: почему же в каждой статье Washington Post предлагается две версии каждого заголовка? Это часть системы A/B-тестирования, которая называется Bandito. Она тестирует разные версии заголовка, чтобы понять, какой из них более кликабельный, чтобы потом чаще его показывать.
A/B-тестирование очень широко используется новостными агентствами. С помощью него BuzzFeed ищет самые кликабельные заголовки. Upworthy, конкурент BuzzFeed, обычно проверяет до 25 версий одного заголовка, стараясь найти идеальный вариант. A/B-тестирование играет очень важную роль: согласно Upworthy, разница между хорошим и идеальным заголовком – тысяча против миллиона просмотров.
Многие другие приложения и веб-сайты также проводят A/B-тестирование. Например, Facebook постоянно внедряет новые функции для «ограниченной группы испытуемых». Snapchat позволяет рекламодателям проводить A/B-тестирование своей рекламы, чтобы выбрать наиболее популярную. Даже обычные магазины могут проводить такое тестирование: на основании его результатов магазин может поменять фоновую музыку в торговом зале, чтобы покупатель максимально увеличил свои расходы.
Есть один важный момент, который необходимо учитывать при статистическом тестировании: нужно проверить, полученный результат реален или это просто случайность. Допустим, если подбросить монетку шесть раз и пять из них выпадет орел. В этом случае нельзя однозначно утверждать, что монетка действительно перевешивает в сторону орла – это может быть просто случайность. Но если подбросить монетку шестьсот раз и пятьсот из них выпадет орел, это уже о чем-то говорит.
Когда компании проводят A/B-тестирование, экспериментаторы представляют отчет о том, как изменились определенные показатели двух версий. Они также предоставляют статистику, называемую p-значение, показывающую вероятность того, что полученная разница значений обусловлена случайностью. Обычно если p < 0,05 (то есть вероятность того, что разница будет случайной, составляет менее 5 %), можно предположить, что изменение было значимым, или «статистически достоверным». В противном случае нельзя быть уверенным, что полученные данные – это не случайность.
Предположим, что для половины своих пользователей Amazon немного увеличила размер кнопок «Добавить в корзину», в результате продажи выросли на 2 %, при p = 0,15. И хотя кнопка большего размера кажется хорошим решением, есть 15 %-ная вероятность, что увеличение продаж произошло совершенно случайно, а не благодаря изменению кнопки. 0,15 больше, чем 0,05, поэтому тестировщики Amazon не будут вводить кнопку большего размера.
Поэтому если вы когда-нибудь поведетесь на заголовок-приманку «18 Food Arguments So Strong That They End Friendships», не расстраивайтесь – вы столкнулись с гремучей смесью социальных наук, разработки программного обеспечения и статистики. Как ни крути, а A/B-тестирование очень эффективно.
Глава 2. Операционные системы
Android или iOS? Mac или Windows? У всех есть свои любимые операционные системы, или ОС. Операционные системы – сердце любого вычислительного устройства, от умных часов до суперкомпьютеров. Без них невозможно запустить ни одно приложение. Давайте разберемся, как же они работают.
Почему провалился BlackBerry?
В 2000 году компания BlackBerry выпустила первый в мире смартфон. Он быстро стал популярным, потому что у пользователей появился доступ в интернет и к электронной почте из любой точки, что было очень кстати для динамичного мира бизнеса. Благодаря тому что кнопки были расположены в раскладке QWERTY, набирать текст можно было быстрее, чем раньше. Люди стали безнадежно зависимы от своих так называемых CrackBerry.
К 2009 году телефон BlackBerry стал лидером в сфере мобильных технологий, доля рынка составила 20 %, больше чем у iOS (14 %) и Android (4 %) вместе взятых. BlackBerry был настолько популярным, что президент Барак Обама выбрал его в качестве своего смартфона, когда вступил в должность в 2009 году.
Но перенесемся в последний квартал 2016 года, когда рыночная доля BlackBerry упала ниже 0,05 %, а компания выпустила в продажу чуть больше 200 тысяч телефонов. В это же время Android поставил более 350 млн, а iOS – 77 млн.
Что же компания BlackBerry сделала не так? Давайте разберемся.
Когда в 2007 году Стив Джобс выпустил iPhone, руководство BlackBerry не восприняло его всерьез. iPhone казался им не более чем модной игрушкой для молодежи, не конкурентоспособной по сравнению со смартфонами BlackBerry, основными покупателями которых были бизнесмены.
В BlackBerry не учли, что людям действительно нравились смартфоны iPhone, их яркие цвета и тачскрины. И вместо того, чтобы продавать их корпоративным IT-менеджерам, как это делали в BlackBerry, Apple продавал их напрямую потребителям, то есть обычным людям, таким как мы с вами.
Получив возможность выбора, люди покупали два телефона: BlackBerry – для работы и iPhone – для личного пользования. Вскоре бизнесмены поняли, что можно убить двух зайцев: сэкономить и порадовать своих сотрудников, позволив им использовать личные телефоны в рабочих целях. Медленно, но верно iPhone начали проникать на заветный корпоративный рынок BlackBerry – прекрасный пример, известный как консьюмеризация предприятия. В компании поняли, что на рынке смартфонов условия диктуют обычные пользователи, а не бизнесмены.
К тому времени, когда в BlackBerry осознали, что продавать смартфон следовало непосредственно пользователям, было уже поздно. Чтобы конкурировать с iPhone, компания BlackBerry в 2008 году разработала телефон Storm с сенсорным экраном. Но в результате спешки телефон выпустили недоработанным, и он получил отрицательные отзывы покупателей. Даже генеральный директор BlackBerry признал, что это был провал.
Еще один основной момент, который упустили в BlackBerry, – это подъем «экономики мобильных приложений», которую мы рассмотрим в главе 4. В компании не учли, что пользователи хотят чего-то большего, чем просто электронная почта на мобильном телефоне: им нужны приложения, игры и мгновенный обмен сообщениями. В BlackBerry не проявили достаточно рвения, чтобы мотивировать разработчиков на создание приложений для своей платформы. Но зато в магазине приложений Apple App Store появилось гораздо больше приложений, чем в аналогичном магазине BlackBerry, что заставило покупателей встать на сторону iPhone.
Одним словом, BlackBerry беззаботно сосредоточился на уже имеющихся клиентах, не задумываясь о привлечении новой базы пользователей. В компании не заметили новых тенденций в индустрии программного обеспечения. В BlackBerry продолжали рассматривать свои телефоны как инструмент повышения эффективности бизнеса, в то время как Apple (и Google) увидели в них универсальное развлекательное устройство для обычных людей. Apple правильно оценил потребности пользователей и победил.
К 2012 году рыночная доля BlackBerry снизилась до 7 % по сравнению с 20 % в 2007 году. В том же году в BlackBerry был назначен новый исполнительный директор, на которого возлагали большие надежды. Компания даже выпустила новую серию первоклассных телефонов Q10 и Z10, которую критик из New York Times назвал «Последняя надежда BlackBerry».
К сожалению, фокус не удался.
Опустившись на третье место после iPhone и Android, BlackBerry застрял в порочном круге «проблемы курицы и яйца». Разработчики не будут создавать приложения для их платформы, если у компании нет пользователей, а пользователи не будут покупать смартфоны BlackBerry, если в них не будет достаточно приложений. Представьте, если бы никто не пошел на вечеринку, потому что там мало людей, – никто бы тогда вообще не пришел. BlackBerry изо всех сил старался привлечь разработчиков на свою платформу, даже предлагал 10 тысяч долларов всем, кто делал приложения для компании в 2012 году. Все равно это не сработало.
BlackBerry продолжил сдавать позиции – а остальное, как говорится, уже история.
Почему производители телефонов не платят Google за Android?
Мобильная ОС Android от Google бесплатна как для пользователей, так и для производителей мобильных телефонов. Samsung и LG могут установить Android в свои телефоны, не заплатив Google ни цента. Но Android зарабатывает для Google более 31 млрд долларов в год. Как это возможно, чтобы бесплатный продукт приносил в бюджет Google столько денег?
Стратегия Google начинается с привлечения как можно большего числа людей, которые будут использовать Android. Очевидно, что бесплатная схема работает: более 80 % смартфонов в мире управляются этой системой.
Имея такую большую долю рынка, Google может пользоваться различными тактиками зарабатывания денег на Android.
Для начала, любой производитель телефона на Android обязан по умолчанию установить все основные приложения Google, такие как YouTube и Google Maps. В США Google даже обязывает производителей телефонов размещать свою строку поиска не дальше чем на один свайп от главного экрана. Чем больше людей скачают приложения, тем больше данных получит Google, что позволит ему транслировать больше рекламы и, следовательно, заработать больше денег.
Второй источник дохода – меньший по количеству получаемых средств, но не менее значимый – это покупка приложений. Google настаивает на том, чтобы производители телефонов большинства стран размещали Google Play, магазин приложений для Android, на главном экране любого телефона, на котором установлена эта ОС. Это делается для того, чтобы подстегнуть как можно больше пользователей загружать приложения Google Play. Каждый раз, когда кто-то покупает приложение или виртуальные товары внутри приложения, Google удерживает 30 %. Каждая покупка приносит компании небольшие деньги, но они суммируются: на этих комиссионных Google зарабатывает 25 млрд долларов в год. Больше пользователей Google Play – больше скачиваний, что увеличивает прибыль.
Кроме того, господство Android может помочь Google получать больше доходов от рекламы. Когда пользователь iOS кликает на рекламу в Google, Apple сохраняет львиную долю дохода от нее, которую в противном случае получила бы Google. Также Google платит Apple примерно 12 млрд долларов в год только для того, чтобы Google оставалась поисковой системой на iOS, установленной по умолчанию. Теперь становится понятно, почему Google выгодно, чтобы люди запускали ее поисковик на Android, а не на iPhone.
Увеличение числа пользователей Android приводит к росту прибыли Google, поэтому неудивительно, что компания раздает Android бесплатно.
Android не просто бесплатный – у него еще открытый исходный код. Это значит, что любой желающий может создать и распространить собственный побочный продукт на его базе. Существуют успешные группы разработчиков, которые предлагают собственную версию Android, например известная система LineageOS (ранее CyanogenMod). Можно поменять ОС телефона и установить LineageOS вместо Android, чтобы увеличить скорость, улучшить настройки и характеристики.
Android без преувеличений имеет полностью открытый код; он создан на базе ядра ОС Linux, которая также имеет открытый исходный код и используется в некоторых из крупнейших в мире суперкомпьютеров. Ядро представляет собой программное обеспечение, которое позволяет приложениям взаимодействовать с оборудованием устройства, например, путем считывания и записи файлов, подключения к клавиатуре и Wi-Fi и т. д. Ядро похоже на двигатель автомобиля: компьютер в буквальном смысле не смог бы работать без него.
Телефон, на котором запущен побочный продукт Android – ОС LineageOS с открытым исходным кодом, демонстрирующая пользовательские функции для разработчиков, которых нет на обычном Android. Источник: Aral Balkan
Так почему Google сделала Android с открытым исходным кодом? Первая причина – для удобства инженеров. Использование готового ядра Linux с открытым исходным кодом избавляет разработчиков Android от лишней работы, поскольку разработчики Linux постоянно совершенствуют ядро с 1991 года. Linux запускается на огромном количестве устройств, от суперкомпьютеров до видеоприставок, поэтому, взяв за основу эту систему, Android также может автоматически работать на разном оборудовании.