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

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Творческий отбор. Как создавались лучшие продукты Apple во времена Стива Джобса - Кен Косиенда на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

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

— До свидания, — попрощался Стив.

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

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

Скотт встал и перешел за спинку кресла Стива.


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

Стив все еще смотрел на меня. Продолжая показывать свою демоверсию с того места, на котором остановился Скотт, я заговорил:

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

Тут Стив медленно повернул стул к столу. Он опустил глаза. Перед ним лежал горизонтально развернутый iPad, кнопка «Домой» находилась справа от экрана. Была запущена одна из первых опытных версий приложения iPad Notes. В пустом документе мигал курсор. Внизу экрана была видна раскладка Баса с бо́льшим количеством клавиш. Она выглядела в точности как клавиатура ноутбука, только меньше обычной. Стив медленно скользил взглядом по экрану iPad, рассматривая все, что я сделал, причем не только прямо, но и будто стараясь ухватить все даже периферическим зрением.

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

— Нам нужна только одна из них, верно?

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

— Дааа… хм… Я полагаю, так.

Стив еще немного посмотрел на меня и спросил:

— А какой вариант, по-вашему, мы должны выбрать?

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

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

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

Стив продолжал смотреть на меня, будто обдумывая мой ответ. Он так и не перевел взгляд на кого-либо или что-либо в комнате. Джобс полностью погрузился в происходящее. Он весь был здесь, серьезно обдумывая применение моей идеи для следующей крупной разработки Apple. Это даже пугало. Несколько секунд он думал о том, что я только что сказал, и о том, что он видел на экране iPad. Затем Стив вынес свой вердикт:

— Хорошо, пусть будет с крупными клавишами.

Это было то самое. Оракул Apple заговорил, его пророчество о программном обеспечении было изречено, и Джобс сопроводил это едва заметным кивком. Показ был закончен. Грег, Анри и Бас встали с кушетки и произнесли несколько ободряющих слов вроде «Хорошая работа» или «Прекрасная презентация».

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

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

— Спасибо.

* * *

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

Это было мое первое впечатление после презентации, и с тех пор я много раз возвращался мыслями к этой встрече.

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

Для меня это была разница между тем, чтобы писать ПО и влиять на то, как оно пишется. В случае этой демоверсии мое влияние было значительным, поскольку клавиатура, которую мы поставили на iPad, за исключением нескольких деталей (например, мы убрали теперь уже ненужную кнопку Zoom), была именно та, которую разработал я. Я прошел тест.

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

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

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

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

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

Решить предстояло не только, достойна ли работа одобрения. Когда Скотт выбрал меня (а не только мою программу), чтобы я показал Стиву, это было его способом сказать, что мое слово значит столько же, сколько и моя работа. Он расширял сформировавшийся круг очень осторожно. Из того, что я знал, Стив судил о Форсталле еще и по тому, кого он набирает. Такое иерархическое ограничение доступа к CEO не слишком отличалось от того, что происходило в других крупных компаниях, но способ, которым можно получить допуск на совещания высокого уровня в Apple, зависел не столько от должности, сколько от ваших способностей. На первых этапах, когда я передавал мои прототипы клавиатуры iPhone Анри, чтобы он показал их Стиву на презентации без меня, мне было трудно принять, что моя программа имеет значение для компании, а мое присутствие на ее обсуждении — нет.

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

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

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

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

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

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

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

Фирменная твердость Стива пропитывала Apple. Он окружал себя такими людьми, как Скотт, Грег, Анри и Бас отчасти потому, что они могли принимать правильные решения без долгих раздумий. Когда Стив задал мне вопрос, это было проверкой моей решительности и того, могу ли я сделать свою демоверсию лучше, чем она уже была. Никто в комнате не присоединился к разговору, потому что Джобс явно смотрел на меня, и лучшим способом ответить было высказать свое мнение. Я сделал это, и он закрыл вопрос с моей разработкой.

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

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

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

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

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

2. Магический кристалл

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

Эта презентация «магического кристалла» имела место в технологической среде начала 2000-х годов, в то время, когда все еще продолжался резкий подъем активности стартапов, основная часть деятельности которых была связана с интернетом. Microsoft была всеми признанным лидером компьютерной индустрии, браузер Netscape считался самой крутой новой технологией, а Apple оставалась аутсайдером.

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

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


В 1983 году Столлман начал проект GNU в защиту бесплатного программного обеспечения{1} и написал Универсальную общественную лицензию (General Public License, GPL), чтобы продвигать свой проект. Столлман называет GPL «копилефтом» — словом, противоположным понятию «копирайт»[11], и, вместо того чтобы ограничивать права пользователей программного обеспечения, GPL расширяет их, гарантируя, что каждый может получить бесплатный доступ к исходному коду, а также изучить его, изменить, использовать как есть или сделать основой своего проекта. Это на самом деле выглядит как свобода, но у GPL есть свои хитрости. Если вы пишете софт, основанный на коде, покрываемом GPL, вы также должны публиковать свое программное обеспечение под GPL. Ожидалось, что это создаст замкнутый круг, постоянно поддерживаемый усилиями каждого кодера на благо всех, богатых и бедных, новичков и компьютерных фанатов, программистов и пользователей.

Если вы не работаете в индустрии программного обеспечения, то Ричард Столлман для вас, скорее всего, просто какой-то влиятельный человек, о котором вы никогда не слышали. За несколько десятков лет свободное ПО распространилось во всей сфере высоких технологий. GPL привела к разработке операционной системы Linux, которая является главным программным обеспечением для смартфонов с системой Android, в центрах обработки и передачи данных Google, Amazon, Twitter и Facebook и на большинстве крупных сетевых серверов разного рода. Интернета таким, каким мы его знаем, не было бы без длительного влияния идей Столлмана и всего того бесплатного софта, появившегося благодаря этим идеям. Скорее всего, не существовало бы поисковых серверов, потоковой передачи музыки и YouTube. Мы обходились бы без Википедии. Без чатов. Без социальных сетей. Без смартфонов. Мир был бы совсем другим.

Моя жизнь тоже могла бы быть другой. До того как прийти в Apple, я работал в стартапе под названием Eazel. Нашей целью было создание удобных в работе систем Linux, пригодных для ежедневного использования на компьютере, — свободного программного обеспечения, которое стало бы альтернативой для Apple Macintosh и Microsoft Windows. Компанией руководили программисты, работавшие с первыми Macintosh в 1980-х годах. Среди них были Бад Триббл, первый менеджер по программному обеспечению Mac, и Энди Херцфельд, маг и волшебник в области программирования, чей графический пользовательский интерфейс помог компьютерам Mac выделиться из ряда обычных для того времени персональных компьютеров с текстовым режимом. Эти ребята были моими героями, и я пришел в компанию, чтобы работать с ними. Именно благодаря элегантности и простоте программного обеспечения Macintosh я и захотел стать программистом{2}.

Вдохновителем Eazel был Энди, на его видение работы компании во многом повлияло движение за свободное ПО — Энди разделял идеализм Столлмана — и его идея разработки менеджеров файлов и иконок сделали бы Linux достойным соперником более известных операционных систем Windows и Macintosh. Энди назвал эту программу Nautilus, и она должна была помогать пользователям Eazel находить файлы, читать электронную почту, запускать такие программы, как текстовые редакторы и электронные таблицы, и, возможно, даже делать крутые вещи, например вести учет цифровых фотографий. С помощью Nautilus Eazel внесла свою лепту в проект GNOME — не слишком тесное сообщество разработчиков свободного программного обеспечения, участники которого, как отдельные программисты, так и компании, должны были создать остальное ПО для операционной системы, которую мы пытались сделать все вместе.

Чтобы стать частью GNOME, Nautilus должен был иметь лицензию GPL. Это было важным фактором для Eazel как коммерческой компании. Если люди смогут скачивать Nautilus бесплатно, когда мы его закончим, то фирме надо найти другие пути зарабатывания денег. Неудивительно, что они были связаны с созданием закрытого программного обеспечения, которое Eazel могла бы продавать: ряд тогда еще только зарождающихся облачных сервисов, включающих в себя автоматическое обновление ПО и хранение файлов онлайн. Эти облачные центры должны были размещаться в центре обработки и передачи данных Eazel, и бесплатными они не были. Идея состояла в том, чтобы интегрировать Nautilus с этими сервисами и использовать бесплатный софт как приманку, чтобы люди пользовались платными услугами Eazel. Рвение к продажам через интернет, энтузиазм по поводу Linux и свободного ПО, изобилие средств, вложенных в новое предприятие, и связь наших основателей с Macintosh — это сочетание заставило меня думать, что Eazel может стать новой крутой компанией.

Если у нас и в самом деле был шанс, то мы упустили его. Мы так и не достигли ни одной из высоких целей. Главным неверным шагом среди множества шагов, которые мы сделали, было то, что мы не смогли сделать наше программное обеспечение единым продуктом, а не несколькими отдельным проектами. Мы так и не сумели соединить его части в целое. Ничего не работало гладко. В нашей, из-за чего программы часто переставали работать при попытке их обновить. Код, который мы написали, чтобы связать Nautilus с облачными сервисами, не работал вообще. У команды Nautilus постоянно были проблемы из-за координации с GNOME. В сообществе свободного ПО была крайне слабая организация, а желания получить прибыль не было. Его члены не разделяли наше стремление заработать деньги и не старались согласовывать свои действия с нашим расписанием выхода продуктов. Из-за всего этого у нас постоянно что-то задерживалось и опаздывало.

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

У Дона была неформальная манера общения и аналогичный подход к выбору одежды, появившиеся после его участия в Code Rush — документальном фильме, выпущенном компанией PBS{3}. В нем рассказывалось о «войнах браузеров» — борьбе между компаниями Netscape и Microsoft за контроль над зарождающимся интернет-серфингом.

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

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

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

Эта стратегия «открытых исходников» была вариацией на тему движения за свободное ПО, но Ричарду Столлману она не понравилась. Ему хотелось, чтобы код был свободным как социальный и политический товар. Он говорил, что программное обеспечение должно быть «свободным, как свобода слова»{4}. Для Netscape открытый код был попыткой спасти компанию от краха. Это делало их исходный код «бесплатным, как бесплатное пиво»{5}. Компания надеялась заработать, устроив лучшую пивную вечеринку.

Как показала история, это не сработало. И хотя Netscape не выжила как самостоятельная компания, она выпустила открытую версию кода своего браузера, получившего впоследствии новое название — Mozilla. Браузер получил путевку в жизнь во многом благодаря усилиям Дона, моего нового коллеги по Eazel. Мелтон был ответственен за то, чтобы вычистить все ругательства из исходного кода до того, как он увидел свет.

Непечатная лексика была препятствием, от которого Netscape нужно было избавиться в рамках инициативы с открытым исходником, которая должна была позволить заглянуть во внутреннюю рабочую обстановку разработчиков программного обеспечения. Даже сейчас, когда я пишу эти строки, программисты — это в основном молодые люди, всего несколько лет проучившиеся в колледже, умники заливающие в себя кофеиновые напитки, чтобы выдержать долгие часы за клавиатурой и уложиться в зачастую очень жесткое расписание. Правда, в начале 2000-х годов эта тенденция проявлялась еще сильнее. Когда человек устает, а времени ему не хватает, проявляется его настоящий характер, юношеский пыл перекрывает всё, и споры — технические или другого рода — становятся видны в коде ПО. Используя горбатый регистр[12], программисты часто соединяют несколько слов в одно, и показательным примером ненормативной лексики в коде исходника может служить следующая фраза:

cleanUpBobsSh_tStormHeIsAF_kingTurdBlossom;[13]

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

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

Перенесемся на пару месяцев в будущее. Ни один венчурный инвестор не подписал чек, и в тот самый день, когда Eazel выпустила Nautilus 1.0, две трети сотрудников компании были уволены. Мы с Доном оказались в меньшинстве, которое продержалось еще три месяца, пока наши руководители пытались продать компанию как можно быстрее и без всякой выгоды.

Мы с Доном остались без работы, но стали друзьями и, когда не слонялись по Кремниевой долине с ее полями для гольфа, то искали себе новую работу. Вскоре мы услышали, что Apple набирает сотрудников. Компьютерная компания в Купертино провела ярмарку вакансий для бывших работников Eazel. Я взял пару визиток у менеджеров Apple и собирался написать им. Но у Дона, который всегда лучше меня давил на нужные рычаги, была другая идея. Следующее, о чем я узнал, — у меня будет собеседование со Скоттом Форсталлом, который в то время был директором Platform Experience в Apple. В те дни, когда не было iPod и iPhone, этот отдел отвечал за пользовательский интерфейс Macintosh, за такие приложения, как Finder и Почта, а также за пакеты программ, которые использовали сторонние разработчики, чтобы создавать собственные программы для Mac.

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

Скотт попробовал мое приложение, и, кажется, оно ему понравилось. Он засыпал меня вопросами по поводу этой программы, причем вопросы летели со скоростью молодого Мухаммеда Али[14], проводящего серию ударов левой.

— Как вы разработали алгоритм создания новых частей пазла?

— Как вы сделали, чтобы ваша анимация шла так гладко?

— Использовали ли вы среду разработки Cocoa или Carbon или обе в какой-то комбинации?

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

Пару дней спустя мы с Доном поехали в магазин компьютерной литературы в Саннивейле — он сказал, что хочет взять там одну книгу. Я пытался заставить его рассказать, как прошло собеседование в Apple, и узнать, не говорили ли ему что-нибудь о моем разговоре со Скоттом, но Дон хранил молчание. Когда мы вышли из магазина и сели в машину, Дон вручил мне экземпляр третьего издания подробного руководства по JavaScript с красиво нарисованным носорогом на обложке{6}.

— Что ты думаешь по поводу того, чтобы сделать браузер для Apple? — спросил он. — Интересно ли тебе?

Еще бы меня это не интересовало!

Но подождите минутку, разве в Mac OS X нет веб-браузера? Да есть же! Это Microsoft Internet Explorer. По соглашению между Apple и Microsoft, Internet Explorer был включен в базовую поставку системы четыре года назад. Стив Джобс объявил об этом соглашении в августе 1997 года, в тот самый день, когда он пригласил Билла Гейтса присутствовать по видеотрансляции на своем выступлении на выставке-конференции Macworld Expo в Бостоне{7}. Именно в тот день Гейтс обязался поддержать Apple, обеспечив на пять лет поставки Office for Mac, вложив в Apple 150 миллионов долларов и согласившись предоставить Internet Explorer как веб-браузер по умолчанию для Apple Macintosh. Если не принимать во внимание злосчастное шестиметровое изображение Билла Гейтса, возвышающегося над конференц-залом Mac как Большой Брат, сделка была чрезвычайно удачной для Apple. Это был знак поддержки и одобрения, хотя многие предсказывали, что компанию ждет неминуемый крах. Несколькими месяцами ранее журнал Wired опубликовал на обложке знаменитое изображение разноцветного логотипа Apple, опутанного колючей проволокой. Ниже было только одно слово: «Молитесь»{8}.

К лету 2001 года Apple встала на ноги, ее поддерживали на плаву конкурентоспособность Mac OS X, успех iMac и (тайные) надежды на iPod, который был выпущен четыре месяца спустя.

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

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

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

Когда мы в семь часов утра встречались в кафе в кампусе, чтобы выпить кофе, мы «пробегались» по основным подсистемам веб-браузера: контент (текст и графика), стили (шрифты, цвета и положение) и скрипты (динамическое поведение, например проверка формы до того, как вы запустите ее). Дон рассказывал о длинном списке аббревиатур существующих стандартов, описывающих соответствующие технические элементы: гипертекстовый высокоуровневый язык разметки (Hypertext Markup Language, HTML), каскадные таблицы стилей (Cascading Style Sheets, CSS) и язык программирования JavaScript. Также он рассказывал, как эти отдельные части программного обеспечения сочетаются друг с другом, чтобы получались сложные веб-страницы.

Пока я слушал и учился, мне начинало казаться, что создание браузера — это задание, которое не по зубам двум людям, особенно после того, как Дон упомянул большие команды, которые работали в Netscape. Без сомнения, то же самое было и в Microsoft. А мы были командой из двух человек. Как мы могли с ними тягаться?

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

Также в интернете были доступны и еще несколько браузеров с открытым кодом, и мы включили исследование этих проектов в список того, что предстояло сделать. Кроме того, имелось и несколько коммерческих вариантов. Но, несмотря на эти планы предварительного исследования, Mozilla на тот момент была нашим главным кандидатом, в основном потому, что Дону уже приходилось работать с этим кодом. Он был полностью уверен в том, что мы сможем использовать по максимуму работу, проделанную большими командами Netscape. Тем не менее, чем больше мы говорили, тем яснее я понимал, что у Дона с Mozilla сложились противоречивые отношения. Положительной стороной было то, что Mozilla представлял собой огромный вклад в веб-технологии, поэтому мы могли использовать код, чтобы Apple не пришлось заново изобретать колесо. Но обратной стороной медали оказалось то, что с исходниками было трудно работать, потому что база данных была огромной, во много раз больше, чем то, с чем нам с Доном приходилось иметь дело в Eazel. Принимая во внимание вводные технические лекции Дона, я понял, что создание веб-браузера — это огромный программистский проект, и мне нужно понимать весь этот новый код.

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

В любом случае работу нужно было делать, и я решил, что лучше начну с изучения. Я собрался взглянуть на программное обеспечение поближе, но немедленно налетел на препятствие. Mozilla не «билдилась» на Mac OS X. Это означает, что, хотя у меня был весь программный исходный код для этого браузера, при попытках превратить его в приложение, которое работало бы на операционной системе Apple трехмесячной давности, ничего не получалось. Очевидно, никто, знакомый с Mozilla, никогда не пытался этого сделать. Ничтожная доля Mac на рынке работала против нас. В поисках решения я прошерстил интернет, но ничего полезного не нашел. Поскольку наш проект был секретным, я не мог разместить свои вопросы на онлайн-форумах, как это часто делают программисты, и даже не мог спросить кого-нибудь из коллег в Apple. После нескольких дней безуспешных попыток сделать сборку я признал, что зашел в тупик.

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

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



Поделиться книгой:

На главную
Назад