Шрифт:
Интервал:
Закладка:
Это важное собрание организовала менеджер проекта Ким Воррат и она же составила план показа демоверсий, по которому все участники дерби с клавиатурой собирали свои прототипы в общую программу, чтобы Скотту было легче переключаться с одного на другой и не ставить каждого участника в очередь. Это была прекрасная идея, но у меня было слишком много проблем со сборкой словаря, чтобы адаптировать код к переключателю демоверсий Ким. Я решил, что лучше иметь несоответствующую другим программу, которая правильно работает, чем наоборот, и, когда настал день дерби, только мне не удалось добавить свою демоверсию. Я должен был показывать свой код отдельно от остальных, и, услышав об этом, Ким поставила меня последним в очереди.
Это означало, что я, возможно, не покажу свою программу совсем. Все зависело от непредсказуемого расписания Скотта, а оно могло измениться за секунду. Иногда ему звонил Стив и Скотт убегал, прижимая телефон к уху, чтобы в этот день больше уже не возвращаться. Бывало и так, что он торопился, и нам приходилось втискивать длинную вереницу презентаций в небольшой отрезок времени, и, когда такое случалось, последние обычно оставались не у дел. Иногда обсуждение достоинств самой многообещающей программы, которую показали первой, продолжалось слишком долго, и у нас просто не оставалось времени посмотреть все. Я очень хотел показать свою клавиатуру, но все остальные тоже хотели, и они смогли подстроиться к официальной процедуре показа.
Когда Скотт пришел в день показа, чтобы посмотреть клавиатуры, все программисты команды собрались в главном конференц-зале проекта Purple, который назывался «Между». Напротив него находились еще две комнаты: «Молот» и «Наковальня»[25]. Прошел примерно месяц с того времени, когда в этом же коридоре Анри объявил о конкурсе, и все приложили серьезные усилия, но было совершенно не очевидно, вышли ли мы из кризиса с клавиатурой.
Скотт сел на стул за длинный деревянный стол в переговорной «Между», прототип Wallaby, подключенный к Mac, лежал перед ним. Скотт взял Wallaby, и, когда он открывал каждую новую демоверсию в переключающем их приложении, создавший ее программист выходил вперед, чтобы рассказать, как она работает. Эти инструкции могли быть сложными. Некоторые использовали творческие модели взаимодействия, например один коллега разработал сложную схему, организованную вокруг нескольких очень больших клавиш, на которые он мог нажимать не глядя. Другие использовали различные варианты мультисенсорного ввода, чтобы печатать буквы, вводить знаки препинания и заглавные буквы. Скотт хотел попробовать все, и, как и всегда, он был оптимистичен и воодушевлял. Про каждую демоверсию он говорил что-то позитивное — хорошая графика, умная идея, интересная концепция, — но он по-прежнему оставался в трудном положении. Ни одна из клавиатур не позволяла быстро и аккуратно набирать текст.
Пока Скотт стучал и «свайпил» одну демоверсию за другой, я стоял в стороне, переминаясь с ноги на ногу и постоянно сверяясь с часами. Когда Скотт посмотрел последнюю демоверсию в приложении, он взглянул на Ким, спрашивая ее, есть ли что-нибудь еще. Думаю, она забыла о моей дополнительной презентации, которая не была присоединена к другим, потому что она сказала:
— Ну, это все.
— Нет! — выпалил я.
Это походило на крик больше, чем мне хотелось бы, но всплеск адреналина опередил мой разум. Скотт повернулся ко мне. Чувствуя стук крови у себя в ушах, я объяснил, что у меня есть клавиатура для демонстрации, но мне потребуется несколько секунд, чтобы изменить настройки компьютера, к которому был подключен прототип Wallaby. Скотт отодвинул стул, чтобы я мог подойти к Mac и запустить свою демоверсию, и через несколько мгновений я снова передал ему Wallaby.
Скотт спросил, как работает моя демоверсия. Я сказал, что ему надо нажимать те буквы, которые он хочет напечатать, не обращая внимания на клавиши с несколькими символами: программное обеспечение поймет, чего он хочет.
Скотт слегка наклонил голову в знак согласия, переключился на то, что происходит на экране Wallaby, и, глядя через его плечо, я увидел, что он нажал пять клавиш, чтобы напечатать свое имя: as zxc op rt rt. Он набирал быстро и, подняв глаза, увидел, что имя написано правильно. Он несколько раз нажал delete и попробовал еще раз. После тык-тык-тык-тык-тык он снова увидел:
Удовлетворенный этим, он нажал еще несколько клавиш:
yui as space nm yui space nm as nm qwe
Он поднял взгляд и увидел целое предложение:
Сделано это было даже проще, чем кажется из описания. Скотт повернулся ко мне и сказал:
— Это потрясающе!
Все в комнате на секунду замолчали, затем на меня посыпались вопросы Скотта:
— Почему на каждой клавише расположено несколько букв?
— Как программное обеспечение узнает, какую именно букву я хочу?
— Как оно понимает, какое слово я имею в виду?
Я объяснил, что моя программа проверяет все комбинации для букв, которые он вводит, и выбирает наиболее похожее слово из словаря, который я создал. Скотт спросил, как я составил словарь, как оценивал слова по отношению друг к другу, почему именно так сгруппировал буквы на клавишах и так далее. Один вопрос с невероятной скоростью следовал за другим.
За последние несколько дней я много часов провел над этой клавиатурой, а еще дольше я размышлял над возможными ошибками и проблемами. Я знал свою программу вдоль и поперек.
После моей демоверсии собрание закончилось, и Скотт ушел из конференц-зала. Как обычно, он не задержался ни на минуту, но другие люди остались, и у них появился шанс попробовать мою клавиатуру. Коллеги были настроены благосклонно, но явно не думали, что моя клавиатура настолько «потрясающая», как решил Скотт. Так часто бывает с прототипами на ранних стадиях.
Окончательный вердикт по поводу просмотра клавиатур был вынесен быстро, в течение одного или двух дней. Анри сказал нам, что Скотт принял решение, и мы можем вернуться к проектам, над которыми работали раньше. Тревожная ситуация с клавиатурой разрешилась. Команда программистов Purple теперь могла вернуться к своему обычному расписанию разработки ПО. Вся, кроме меня. Анри сказал, что Скотт хочет, чтобы я стал лицом, отвечающим за клавиатуру. Форсталл даже не потрудился спросить, подписываюсь ли я на эту работу.
Я как раз придумал, что будет дальше.
* * *
В проекте по созданию виртуальной клавиатуры было больше взлетов и падений, чем