Скрытый алгоритм, который сделал возможной клавиатуру iPhone

Узнайте, как инженеры Apple решили неразрешимую задачу 2007 года с помощью динамических вероятностных алгоритмов, изменивших ввод текста.

Источник:Israel Hayom
Скрытый алгоритм, который сделал возможной клавиатуру iPhone
Фото: Unsplash / @lagommedia (Lagom Media)

В январе 2007 года, когда Стив Джобс поднялся на сцену в Центре Москони в Сан-Франциско, чтобы представить оригинальный iPhone, технологический мир замер в предвкушении, однако значительная его часть отреагировала с полным скептицизмом. В те дни рынок смартфонов безраздельно контролировался такими гигантами, как BlackBerry, Palm и Motorola. Устройства той эпохи гордились полноценными физическими пластиковыми клавиатурами с выпуклыми клавишами, дававшими пользователю четкую механическую обратную связь — чистый звук щелчка и физическое ощущение провала клавиши под пальцем.

Генеральный директор BlackBerry в то время Джим Балсилли, как и длинная череда технологических обозревателей, утверждали, что удаление физической клавиатуры в пользу плоского сенсорного экрана — это фатальная ошибка. Довод носил исключительно физический и интуитивный характер. Каким образом взрослый человек, обладающий большими пальцами шириной от 15 до 20 миллиметров, способен быстро и точно набрать текстовое сообщение на крошечных стеклянных клавишах шириной едва в несколько миллиметров, не имея под рукой ни единого выступа?

Дилемма 44 пикселей и проект Purple

Чтобы понять масштаб инженерного прорыва, следует вернуться к техническим характеристикам первого iPhone 2007 года. Экран устройства составлял всего 3,5 дюйма при архаичном ныне разрешении: 320 пикселей в ширину на 480 в высоту. Параллельно с этим исследования в области взаимодействия человека с машиной и внутренние правила дизайна Apple устанавливали железное физиологическое правило: чтобы средний человеческий палец мог нажать на цифровую кнопку без промаха, площадь контакта должна составлять минимум 44 на 44 пикселя.

Здесь возник математический тупик. Верхний ряд клавиш клавиатуры QWERTY включает 10 букв (Q, W, E, R, T, Y, U, I, O, P). Если выделить каждой клавише минимально необходимую ширину в 44 пикселя, потребуется ширина экрана по меньшей мере в 440 пикселей (10 умножить на 44). Однако общая ширина экрана составляла всего 320 пикселей.

На практике это означало, что каждая графическая клавиша на клавиатуре iPhone была ограничена уменьшенной шириной примерно в 32 пикселя — значительно меньше площади подушечки человеческого палца.

Инженер, которому поручили решить этот инженерный кризис в рамках секретного проекта Purple, — Кен Косинда — быстро понял, что попытки решить проблему исключительно визуальным дизайном обречены на провал. Решение должно было прийти из мира теории вероятностей и вычислительной лингвистики.

Вероятностная сенсорная модель

Разработанное им революционное решение, впоследствии зарегистрированное как официальный патент компании Apple (патент США № 8,232,973), полностью разделило то, что видит глаз, и то, что обрабатывает программное обеспечение сенсорного экрана.

В любой момент времени графическая клавиатура на экране iOS остается абсолютно единой, стабильной и статической. Клавиши выглядят одинаково, ни одна кнопка не дрожит и не смещается. Однако под поверхностью, в слое памяти операционной системы, карта зон касания ведет себя как живой организм, меняющий форму после каждого отдельного нажатия.

Как это работает на практике? Клавиатура включает встроенную языковую модель на основе словарной статистики и моделей N-gram. Когда пользователь начинает вводить слово, система каждую миллисекунду рассчитывает вероятность появления каждой буквы в алфавите в качестве следующего символа в последовательности.

Если пользователь последовательно вводит буквы T, I, M, клавиатура сканирует встроенный словарь и определяет, что слово Time является чрезвычайно распространенным в английском языке, в то время как сочетание Timw не имеет смысла. Еще до того, как палец завершает движение вниз, система повышает вероятность буквы E до 96 процентов и снижает вероятность соседней буквы W до нуля.

Виртуальная зона попадания буквы E расширяется и глубоко вторгается в область соседних букв. Если палец приземляется небрежно точно на границе между E и W, iPhone засчитывает попадание на букву E. Как только символ принят, вся карта зон попадания сбрасывается и пересчитывается заново для следующего знака.

Преодоление визуального сокрытия

Алгоритмическая система решила проблему точности, однако осталась тяжелая человеческая проблема: проблема сокрытия. На обычном смартфоне широкий палец полностью закрывает клавишу в момент нажатия, из-за чего пользователь не знает, попал ли он в центр.

Чтобы преодолеть это, команда интерфейса Apple добавила блестящий оптический трюк: всплывающий пузырь предпросмотра символа. В момент касания выбранная буква «всплывает» наверх и отображается в увеличенном графическом пузыре на несколько миллиметров выше ногтя, обеспечивая немедленную визуальную обратную связь.

Успех программной клавиатуры iPhone стал главным предварительным условием для возникновения всей современной эпохи смартфонов, заменив громоздкое «железо» универсальной стеклянной поверхностью.

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