Новый способ ввода данных для смартфонов

Возникла идея принципиально нового способа ввода данных в устройства с сенсорным экраном, которая сочетала бы в себе достоинства экранной клавиатуры, T9 и Swype. Идея такая: пользователь набирает слово целиком непрерывным движением пальца, но при этом на экране отображается не вся клавиатура в целом (как в Swype), а только те буквы, у которых наиболее высокая вероятность оказаться следующими, и вариант "Еще" для случая, когда ни одна из предложенных букв не подходит. Кроме того, для ввода используется поверхность экрана целиком, а кнопки ввода рисуются полупрозрачными, чтобы сквозь них было видно введенный текст.

Рассмотрим процесс ввода данных по шагам.

Шаг 0. После переключения в режим ввода на экране появляются круглые кнопки с буквами, с которых в языке начинается больше всего слов, и кнопка с вариантом "Еще!", выделенная, например, цветом. Количество кнопок выбирается так, чтобы их можно было разместить по окружности вокруг центра экрана и при этом оставалось достаточно места, чтобы при необходимости легко можно было провести палец между ними. (Число с учетом кнопки "Еще" должно быть нечетным, скорее всего, наиболее распространенными вариантами будут 5, 7 и 9 кнопок в зависимости от размера экрана.) В углах экрана могут размещаться треугольные кнопки для служебных действий, например, переключение регистра, смена языка ввода, переключение в режим обычной клавиатуры, завершение ввода.

Шаг 1. Если буква, с которой начинается желаемое слово, есть на экране, нажимаем на нее и переходим к шагу 2. Иначе жмем "Еще" и переходим к шагу 4.

Шаг 2. Выбранная буква считается введенной. Кнопка с ней отъезжает в дальний угол экрана (так, чтобы остальные кнопки, которые были видны на шаге 1, оказались за его пределами) и становится перечеркнутой. В центре снова появляется кольцо из кнопок с буквами, причем кольцо по сравнению с предыдущим повернуто на определенный угол так, чтобы палец пользователя оказался между новыми кнопками, а не на одной из них. Кроме того, на этот раз предлагаются те буквы, которые статистически чаще всего встречаются после введенной, причем чем больше вероятность буквы оказаться следующей, тем ближе она оказывается к пальцу пользователя. В оставшихся трех углах экрана могут появляться варианты завершения слова целиком, если системе удалось его распознать.

Далее возможны варианты:
а) Хотим ввести следующую букву, перемещаем палец на нее без отрыва от экрана, и далее шаг 2 повторяется уже для третьей буквы.
б) Нужной буквы нет, выбираем вариат "Еще" и переходим к шагу 4.
в) На предыдущем шаге ошиблись и хотим стереть введенную букву, тогда перемещаем палец в тот дальний угол, где она нарисована с перечеркиванием, после чего происходит возврат к предыдущему шагу (при этом круг с буквами предыдущего шага как бы "въезжает" из-за края экрана).
г) Если система предложила то слово, которое мы хотим ввести, в одном из углов экрана, то ведем палец туда.
д) Если ввели (или выбрали из предложенных вариантов завершения) слово целиком, переходим к шагу 3.

Шаг 3. После того, как введено слово целиком, отрываем палец от экрана, после чего на экране появляется круг  с кнопками знаков препинания и пробелом, где выбираем нужный однократным нажатием. После этого возвращаемся к шагу 0 и вводим следующее слово.

Шаг 4. После нажатия кнопки "Еще" она отъезжает в дальний угол и становится перечеркнутой (как в шаге 1, но при этом никакой символ не считается введенным), и появляется новый круг из букв,  у которых вероятность оказаться на данной позиции меньше, чем у предыдущих, а так же еще одна кнопка "Еще", по которой будет новый набор букв с еще меньшей вероятностью (и так пока не переберем весь алфавит). Если вариант "Еще" выбран по ошибке, то возвращаемся по перечеркнуой кнопке в углу аналогично шагу 2в.

Таким образом, получаем достаточно простой и наглядный способ ввода. Для снижения ошибок можно сделать небольшую (где-то 0.2 секунды) задержку перед срабатыванием кнопки или определять замедление пальца или сопоставлять площадь, которую занимает палец на сенсоре, с площадью кнопки (хотя для этого потребуется низкоуровневая работа с сенсором).

По сравнению с экранной клавиатурой он более удобен тем, что не нужно целиться пальцем в одну из трех десятков близко расположенных маленьких кнопок (особенно на маленьких экранах), а достаточно попасть в одну из семи больших. По сравнению с T9 и Swype гораздо проще вводить те слова, которые не предусмотрены в словаре, а так же слова, содержащие спецсимволы или смешанный набор букв и цифр.

На рисунке ниже показан пример ввода текста "Привет, мир!". Ярко-красным обозначен жест пользователя на данном этапе, более темным — предыдущие жесты. Примечание: поскольку это пример, буквы выбраны без серьезного статистического исследования.