В последнее время Дон Мелтон, который возглавлял в Apple команду разработчиков Safari и открытого проекта WebKit, опубликовал в своем блоге серию воспоминаний об этих программных продуктах. Благодаря ему стало известно, что Стив Джобс чуть было не назвал браузер Freedom, а теперь он приоткрыл дверь во «внутреннюю кухню» Купертино.

Притворство Safari

Несмотря на то, что 10 лет назад интернет не был столь широко распространен, как в наши дни, «тайной» команде Safari приходилось держать процесс разработки нового браузера в строжайшем секрете. Поэтому в статье «Keeping Safari a secret» Дон поведал о мерах, которые приходилось ему принимать для этого:

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

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

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

И хотя социальных сетей вроде Facebook или Twitter тогда попросту не существовало, а сотрудники компании не были настолько глупы, чтобы вести онлайн-дневники о своей работе, Дон до смерти боялся еще одной угрозы — логов веб-сервера:

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

Проблема заключалась в том, что примерно в 1990 году один дальновидный IT-специалист зарезервировал для Apple целую сеть класса А. Так точно, у Apple есть 16 777 216 статических IP-адресов, и каждый из них начинается с одного и того же числа. В данном случае — это 17.

17.149.160.49? Это Apple. 17.1.2.3? Точно, Apple. 17.18.19.20? И это тоже Apple, черт возьми!

Поэтому мы не могли позволит Safari идентифицировать себя как «Safari» при работе в интернете из сети кампуса. Иначе какой-нибудь администратор мог просматривать логи веб-сервера и заметить связь между строкой User-agent и IP-адресом. Тогда бы никакого большого сюрприза на Macworld 2003 попросту не было.

Дону пришла в голову идея добавить в код специальный модуль, позволяющий менять строку User-agent, который существует и по сей день. Во время работы над браузером в стенах кампуса Apple они притворялись сначала Internet Explorer, а чуть позже — браузером Mozilla. Тогда как в других местах можно было включить настоящую строку и провести тесты на совместимость с популярными веб-сайтами того времени.

Секреты презентации Джобса

А в последней статье из этого цикла,«Safari is released to the world», Дон рассказал о подготовке презентации Стива Джобса, на которой он представил новый браузер. Но для начала руководитель команды  разработчиков чуть-чуть отвлекся и поведал о еще одной проблеме секретности — всевозможных слухах и домыслах.

Первым сотрудником Apple, который догадался о сути проекта, был Энди Херцфельд, легендарный «ветеран» компании из Купертино, один из создателей первого Макинтоша и по совместительству бывший коллега Мелтона по компании Eazel. Причем, сделал он это в первый рабочий день Дона в Apple — 25 июня 2001 года. Энди был очень проницательным в подобных вопросах, но, к счастью, оставил свои догадки при себе.

Первым же звоночком для журналистов стало возвращение в Apple Дэрина Эдлера (Darin Adler), известной в IT-индустрии личности, руководителя команды «классической» System 7 и экс-коллеги Мелтона и Херцфельда по Eazel. Но поскольку он никогда не занимался разработкой браузеров напрямую, никто ничего не заподозрил.

Однако, после того, как в июле 2002 года к команде разработчиков Safari присоединился Дейв Хат (Dave Hyatt), спекуляции стали появляться одна за другой. Дело в том, что Дэйв бы настоящей знаменитостью в мире веб-браузеров, приложив свою руку практически к каждому проекту Mozilla. Тогда несколько технологических ресурсов и предположили, что Хат перешел в Apple для создания браузера на основе движка Gecko.

Далее Дон вернулся к Стиву Джобсу и репетиции того самого выступления:

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

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

Одной вещью, которая не давала мне покоя, была надежность сети. Рядом со мной всегда сидел Кен Косиенда (Ken Kocienda), первый инженер Safari, поскольку он написал большую часть сетевого кода. При необходимости Кен был способен продиагностировать и «залатать» любые компоненты браузера.

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

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

И вот настал день презентации. Обычно, число сотрудников Apple на таких мероприятиях ограничено, но некоторым членам команды Safari, включая Мелтона, удалось занять места поблизости от сцены и понаблюдать за магическим действом:

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

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

В течение 6 минут и 32 секунд, во время которых Стив показывал возможности Safari, я не сделал ни одного вдоха. Я вспоминал о проблеме с сетью на репетиции и молился про себя, чтобы все было нормально. Ведь это был единственный шанс произвести первое впечатление. И естественно, всё прошло без запинки.

После демо Стив вернулся к слайдам и рассказал, как мы разрабатывали браузер. «Мы основали Safari на движке рендеринга HTML с открытым исходным кодом». И вот здесь все вспомнили слухи о Дэйве Хате и проекте Gecko.

Но это был не Gecko, это был KHTML, который лежал в основе линуксового браузера Konqueror в среде окружения KDE. О причинах выбора именно этого движка Дон пообещал написать отдельный пост, поэтому вернемся к презентации:

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

Если вы смотрели видеозапись этой презентации, то могли заметить, что никто не хлопал в этот момент. Почему? Я думаю, они растерялись. Но кое-что вы не услышите на этом видео — как кто-то через 15-20 рядов за нами, ожидая слово «Gecko», не удержался и воскликнул:

«Какого хрена?!»

Возможно, KHTML был даже большим сюрпризом, чем браузер от Apple сам по себе. И это было великолепно. Мы одурачили всю толпу.

Дон отметил, что выбор в пользу KHTML был сделан за год до появления Дэйва Хата, и спустя 10 лет никто из разработчиков Safari об этом не пожалел.


Читайте также: