Представьте себе, каково это — набрать слово на клавиатуре, где на каждой клавише по несколько букв. Нажатие клавиши делает все буквы, расположенные на ней, возможными для данной позиции в слове. Нажатие клавиши as
означает, что вы с равной вероятностью хотите набрать слово, начинающееся с «а» или «s». Когда вы нажимаете другие клавиши и жмете на пробел, программа предложит наиболее вероятное слово для этого набора клавиш, подбирая лучшую букву для каждой позиции.Эта схема хорошо работает для обычных слов, и чем больше их я вводил в словарь, тем лучше он работал.
Набор имен и фамилий — это совсем другое дело. Что, если у вас есть друг по имени Теему? Поскольку я никогда не вносил в словарь популярных финских имен собственных, напечатать это имя было невозможно. Моя клавиатура без проблем опознавала обычные английские слова, но программное обеспечение не могло прорваться через последовательность клавиш для таких имен, как Теему, поскольку этого имени в словаре не было.
С необычными словами была такая же проблема. Что, если вы хотите специально написать какую-нибудь белиберду? Это случается гораздо чаще, чем вы можете подумать. Каждый год 19 сентября проводится Международный день пиратов{35}
. В этот веселый праздник люди чаще всего хотят написать одно слово: Arrrrr! Конечно. А как вы его будете писать правильно: Arr? Arrrr? Aarrrr? Aarrrrr? Для того, чтобы люди могли легко и удобно печатать, как пираты, мне нужно было добавить все варианты этого Arr! в словарь, поскольку сама «сообразить» клавиатура не могла. У нее не было никаких встроенных знаний по английскому языку. Она не могла приходить к умозаключениям или составлять себе представление о каких-то вещах. Клавиатура могла предложить слово, только если оно точно совпадало с тем, что было внесено в словарь.Как я мог помочь людям набирать финские имена и звукоподражательные слова? Я не знал. Мог ли я добавить в словарь все имена из всех мировых языков, и, если бы я сделал это, смог бы я надежно отличать неправильно написанные слова и необычные имена? Я в этом сомневался. Мог ли я угадать всю смешную ерунду, которую люди захотят напечатать? Дажнедумайобэтом.
Эти проблемы являются типичными примерами дилеммы, возникающей при разработке продукта. Люди, обожающие технические гаджеты, хотят новые изделия, которые могут делать крутые штуки. Это рождает требования, заставляющие таких разработчиков, как я, добавлять новые функции. Тем не менее никто из нас не хочет, чтобы эти продукты и функции сбивали с толку, заводили в тупик, делали программу бесперспективной и превращали наши усилия в груду хлама. У всех нас были гаджеты, имеющие слишком много непродуманных, дублирующих друг друга и малопонятных функций. С такими продуктами сложно разбираться или вовсе невозможно пользоваться. Все в компании Apple было направлено на то, чтобы таких проблем не возникало.
Со временем я пришел к выводу о том, что разработка классного механизма взаимодействия с пользователем связана не только с тем, чтобы предотвратить отрицательный опыт, но и с тем, чтобы наработать положительный.
Не может быть и компромиссных вариантов. Хорошие продукты делают людей счастливыми почти все время и редко заставляют их нервничать или переживать, если такое вообще происходит. Это меня беспокоило, поскольку, если учесть, как складывались дела, моя победившая в конкурсе клавиатура могла стереть улыбку с чьего-то лица в Международный день пиратов. В этот праздник моя клавиатура должна была позволить написать: Arrrrr! чтобы не заставлять людей раздражаться и рычать: «Черрррррт!»