Шрифт:
Интервал:
Закладка:
Победившая в дерби клавиатура с модификациями, которые делают ее более полнофункциональной. Клавиши Shift и Delete уступили место клавише Return (вернуться) и клавише, показывающей цифры и знаки препинания
Отклики на эти две презентации были менее чем положительными. Добавьте к этому отсутствие всякого энтузиазма со стороны моих коллег, и можно уверенно говорить, что правильного решения мы так и не нашли. Демонстрировать программу Стиву меня не приглашали. Возможно, Скотт решил, что к такому большому делу мы не готовы, но он никогда не говорил ничего — ни плохого, ни хорошего — об этих двух показах перед руководителями.
У меня не было ощущения, будто я подвел Скотта. Во время показа программы руководителям серьезных ошибок в ней не было. Пытаясь «переварить» обратную связь и решить, что делать дальше, я вспомнил появление черного прямоугольника во время работы над Safari. Этот прорыв не означал окончание работы, он предвещал начало. Взбудораженные тем, что наш браузер впервые отобразил небольшую частичку веб-страницы, мы понимали, что означает это историческое для проекта событие. Я начал воспринимать свою победу в дерби с клавиатурой подобным же образом, как успешное прослушивание, а не как проходящий с аншлагами концерт.
Я начал думать об улучшениях и, чтобы в буквальном смысле держать клавиатуру у себя перед глазами, когда сижу в офисе, я вырезал маленький кусочек бумаги, примерно пять сантиметров в ширину и чуть больше трех сантиметров в высоту — чуть меньше, чем половина кредитной карточки, повернутой боком. Я прилепил этот крошечный клочок бумаги на доску около моего стола и часто на него смотрел. Это было все пространство экрана, которое я мог занять клавиатурой. Это была моя сенсорная печатная канва. Людям придется стучать по этому маленькому прямоугольнику, чтобы набирать текст, а я должен был сообразить, как это лучше сделать. Размышляя об этой маленькой фигуре и проверяя свое программное обеспечение, я привыкал к мысли, что, возможно, мне придется изменить некоторые решения, которые привели меня к выигравшему в дерби дизайну. Возможно, придется изменить их все.
Шли недели, я делал демоверсии одну за другой, пробуя новые идеи, чтобы улучшить впечатления от набора текста. Я добавлял слова в словарь. Я экспериментировал с отображением предлагаемого слова на клавише «пробел». (Это была дополнительная подсказка: программа вставит это слово, если вы нажмете пробел.) Поскольку кабинет Ричарда Уильямсона был рядом с моим, я часто заглядывал к нему, звал его в свой кабинет и предлагал взять Wallaby, чтобы он мог опробовать мои последние идеи. Он всегда давал на них конкретные отзывы. Больше слов в словаре — хорошо. Подсказка слова на клавише «пробел» — не очень хорошо.
Такой способ сотрудничества был очень распространен. Программисты и дизайнеры проекта Purple постоянно заходили друг к другу в кабинеты. Мы часто обменивались отзывами о работе, и все надеялись найти ответы на вопросы в нашей конкретной области разработки. Если разработчик приложения «Контакты» что-то предлагал или комментировал использование клавиатуры для внесения имени или фамилии при заполнении информации о контактах, спрашивать нужно было меня. Как выяснилось, именно эта задача — написание имен и фамилий — завела победившую в дерби клавиатуру в тупик.
Представьте себе, каково это — набрать слово на клавиатуре, где на каждой клавише по несколько букв. Нажатие клавиши делает все буквы, расположенные на ней, возможными для данной позиции в слове. Нажатие клавиши as означает, что вы с равной вероятностью хотите набрать слово, начинающееся с «а» или «s». Когда вы нажимаете другие клавиши и жмете на пробел, программа предложит наиболее вероятное слово для этого набора клавиш, подбирая лучшую букву для каждой позиции.
Нажмите эти пять клавиш…
…и клавиатура поймет, что вы хотите написать слово about
Эта схема хорошо работает для обычных слов, и чем больше их я вводил в словарь, тем лучше он работал.
Набор имен и фамилий — это совсем другое дело. Что, если у вас есть друг по имени Теему? Поскольку я никогда не вносил в словарь популярных финских имен собственных, напечатать это имя было невозможно. Моя клавиатура без проблем опознавала обычные английские слова, но программное обеспечение не могло прорваться через последовательность клавиш для таких имен, как Теему, поскольку этого имени в словаре не было.
С необычными словами была такая же проблема. Что, если вы хотите специально написать какую-нибудь белиберду? Это случается гораздо чаще, чем вы можете подумать. Каждый год 19 сентября проводится Международный день пиратов{35}. В этот веселый праздник люди чаще всего хотят написать одно слово: Arrrrr! Конечно. А как вы его будете писать правильно: Arr? Arrrr? Aarrrr? Aarrrrr? Для того, чтобы люди могли легко и удобно печатать, как пираты, мне нужно было добавить все варианты этого Arr! в словарь, поскольку сама «сообразить» клавиатура не могла. У нее не было никаких встроенных знаний по английскому языку. Она не могла приходить к умозаключениям или составлять себе представление о каких-то вещах. Клавиатура могла предложить слово, только если оно точно совпадало с тем, что было внесено в словарь.
Если вы нажмете эти пять клавиш для того, чтобы написать имя Теему, у вас ничего не получится. Поскольку этого имени нет в словаре, клавиатура не может опознать его
Как я мог помочь людям набирать финские имена и звукоподражательные слова? Я не знал. Мог ли я добавить в словарь все имена из всех мировых языков, и, если бы я сделал это, смог бы я надежно отличать неправильно написанные слова и необычные имена? Я в этом сомневался. Мог ли я угадать всю смешную ерунду, которую люди захотят напечатать? Дажнедумайобэтом.
Эти проблемы являются типичными примерами дилеммы, возникающей при разработке продукта. Люди, обожающие технические гаджеты, хотят новые изделия, которые могут делать крутые штуки. Это рождает требования, заставляющие таких разработчиков, как