Бывший инженер-программист Apple Кен Косьенда сегодня выпускает новую книгу под названием «Творческий отбор» (Creative Selection), в которой он рассказывает о процессе дизайна Apple через призму своего участия в создании нескольких ключевых функций для различных платформ и устройств. Мне представилась возможность ознакомиться с книгой до ее выхода, и она предлагает интересный взгляд на то, как Apple разрабатывает и совершенствует функции посредством итеративного процесса, который Косьенда называет «творческим отбором».
Косьенда, присоединившийся к Apple в 2001 году и проработавший в компании 15 лет, выделяет семь «элементов», которые, по его мнению, являются неотъемлемыми для успеха Apple в разработке программного обеспечения, включая вдохновение, сотрудничество, мастерство, усердие, решительность, вкус и эмпатию. Он немного углубляется в то, как каждый из этих элементов способствует неустанному стремлению Apple к инновационным идеям и решениям, которые в итоге оказываются интуитивно понятными и полезными для клиентов Apple.
Процесс творческого отбора является основной стратегией инженеров Apple, где небольшие команды, сосредоточенные на быстрой демонстрации своей работы, позволяют инженерам быстро итерировать свои идеи и дизайн, сохраняя лучшие элементы каждой итерации для быстрого достижения уровня доработки, необходимого для финальных релизов продуктов Apple.
В 2001 году Косьенда был частью команды из компании Eazel, основанной бывшим инженером Apple Энди Херцфельдом, которая прекратила свое существование. После закрытия Eazel Косьенду и Дона Мелтона наняли в Apple для разработки Safari для Mac, и ряд других инженеров Eazel в конечном итоге присоединились к ним в этом проекте. Но в первые дни работы над проектом веб-браузера Apple именно Косьенда и Мелтон начали работу, пытаясь понять, как портировать Mozilla на Mac OS X.
В книге «Творческий отбор» Косьенда посвящает несколько глав описанию этих трудных первых шагов, вдохновению Ричарда Уильямсона создать Safari на основе легкого и маневренного браузера Konqueror, а не Mozilla, а также неустанным усилиям команды Safari по созданию рабочего веб-браузера с одержимым вниманием к скорости.
Когда мы внедряли новые функции, такие как нажатие кнопки «назад» для возврата на предыдущую просмотренную веб-страницу, мы обнаружили, что не можем управлять предыдущей страницей в состоянии готовности без замедления загрузки всех страниц. PLT [Page Load Test] показал замедление. Когда мы посчитали такие функции слишком важными, чтобы их пропустить, но не могли понять, как добавить их, не вызывая таких замедлений, мы ввели схему обмена, где нашли ускорения в несвязанных частях существующего исходного кода, чтобы «оплатить» стоимость производительности новых функций.
[…]
Никакая из этих оптимизаций не была легкой, и это не всегда было весело, но Дон [Мелтон] всегда держал оборону. И в течение года после «Встречи у черной плиты» [первый раз, когда браузер смог загрузить настоящую «веб-страницу» с Yahoo.com] мы добились того, что наш код становился все быстрее и быстрее.
После запуска Safari Косьенда переключился на проект по внедрению в приложение Mail от Apple возможности редактирования почты с поддержкой WebKit и подробно описывает усилия, которые он предпринял, чтобы курсор вставки вел себя должным образом — функция, которая сложнее, чем кажется на первый взгляд.
После недолгого пребывания на посту менеджера команды Sync Services Apple для синхронизации облачных данных, где он понял, что эта работа ему не подходит, в середине 2005 года Косьенда смело пригрозил уволиться и, возможно, перейти в Google, если его не переведут на новую должность в «новом сверхсекретном проекте», о котором ходили слухи в компании. Вскоре он прошел собеседование у Скотта Форсталла, который пригласил его присоединиться к Project Purple — проекту по созданию iPhone.
Ключевым вкладом Косьенды в Project Purple стала разработка клавиатуры с автокоррекцией, и он рассказывает о ранних попытках Apple понять, как клавиатура может работать на маленьком экране iPhone. Поскольку клавиатура быстро стала препятствием для дизайна программного обеспечения iPhone, всей команде из пятнадцати человек было поручено разработать концепции. На демонстрациях для Форсталла идея Косьенды о больших клавишах с сохранением раскладки QWERTY, но с несколькими буквами на клавишу и словарем, используемым для прогнозирования, какое слово пытается напечатать пользователь, выиграла, и ему было поручено руководство разработкой клавиатуры.
Это, конечно, было только начало проекта клавиатуры для Косьенды, и он рассказывает об эволюции дизайна, испытаниях и невзгодах создания всеобъемлющего словаря для обеспечения работы функции автокоррекции, а также о решении в конечном итоге вернуться к клавишам с одной буквой и алгоритмам для прогнозирования клавиш и автокоррекции.
Все это время Косьенда ни разу не видел дизайна самого iPhone, поскольку аппаратное обеспечение было полностью отделено от программного, и его команда использовала прототипы устройств «Wallaby», подключенные к Mac, в качестве платформ для разработки и тестирования программного обеспечения. Только в конце 2006 года Косьенда впервые увидел настоящий iPhone, который Стив Джобс представил всего через несколько недель на Macworld Expo.
Когда Ким [Воррат] передала мне прототип, она попросила обращаться с ним осторожно. Я взял его у нее. Стеклянный дисплей был поразительным — гораздо ярче и четче, чем экран Wallaby, на который мы смотрели больше года. Я перевернул устройство в руке. Оно ощущалось прочным, как будто было наполнено до краев новейшими технологиями, и это было так. На самом деле, в тот момент оно немного переполнялось.
Я несколько раз прошелся взад и вперед, чтобы почувствовать свободу передвижения, которая появилась с отрывом от Mac. Впечатление от Wallaby заключалось в ощущении привязанности к компьютеру на столе со множеством свисающих кабелей. Теперь, впервые, когда я положил телефон в карман, я получил представление о том, как будет выглядеть использование телефона Purple.
Естественно, меня больше всего интересовала клавиатура. Я напечатал несколько слов в приложении Notes. Клавиатура работала безупречно. Мой код автокоррекции вмешался, чтобы исправить все ошибки, которые я совершил. Я мог бы провести весь день с устройством, пробуя все, что приходило мне в голову, но другие люди ждали своей очереди. Когда я передавал устройство, у меня не осталось никаких сомнений.
Я захотел один.
Косьенде так и не представилось возможности продемонстрировать свою работу над iPhone напрямую Стиву Джобсу, но он получил такую возможность несколько раз во время своей последующей работы над программной клавиатурой iPad. Косьенда делится опытом этой демонстрации в самой первой главе своей книги, описывая, как он изначально планировал предоставить пользователям возможность выбора между раскладкой клавиатуры, похожей на Mac, с более мелкими клавишами и увеличенной клавиатурой, похожей на iPhone, с более крупными клавишами, схожими по размеру с физическими клавишами.
Он повернулся и посмотрел прямо на меня.
«Нам нужна только одна из них, верно?»
Я не ожидал этого. Кажется, я сглотнул. Стив все еще смотрел на меня, и поэтому, с полу-пожатием плечами, я сказал: «Да… э… думаю, так и есть».
Стив немного оценил меня, а затем спросил: «Какую, по-твоему, мы должны использовать?»
Простой вопрос, явно адресованный мне и только мне. Стив не двигался в кресле и не указывал на кого-то еще в комнате. Это была моя демонстрация, и он хотел, чтобы я ответил.
И тогда что-то произошло. Стоя там, когда Стив Джобс смотрел на меня, ожидая моего ответа на его вопрос, я понял, что знаю, что сказать, что у меня есть мнение.
«Ну, я использовал эти демонстрации в течение последних нескольких дней, и мне начала нравиться раскладка клавиатуры с большими клавишами. Думаю, я смогу научиться печатать на ней вслепую, и другие тоже смогут. Автокоррекция очень помогла».
Стив продолжал смотреть на меня, обдумывая мой ответ. Он никогда не отводил глаз ни на кого и ничего другого. Он был полностью здесь. Вот он, серьезно обдумывает мою идею о следующем большом продукте Apple. Это было захватывающе. Он несколько секунд думал о том, что я только что сказал, и о том, что видел на iPad. Затем он огласил вердикт по демонстрации.
«Хорошо. Мы будем использовать большие клавиши».
В целом, «Творческий отбор» — это достойное чтение, сосредоточенное на нескольких детальных анекдотах, которые дают отличное представление о процессе дизайна Apple. Учитывая размер Apple и то, как компания сегментирует свои проекты, Косьенда не обязательно имеет общее представление о ситуации, но он хорошо использует свой опыт для обсуждения своей индивидуальной философии и философии команд, с которыми он работал, экстраполируя это на невысказанные критерии, используемые по всей компании для продвижения процесса творческого отбора, который привел к появлению продуктов и функций, которые мы все знаем.
«Творческий отбор» доступен сейчас на Amazon, в iBooks Store и у других розничных продавцов.