Pull to refresh

HexoInput — ни единого отрыва

InterfacesUsability
image В этой статье я хочу рассказать о новом принципе — своеобразном подходе написания текстовых сообщений для устройств с сенсорными экранами или для других устройств двумерного позиционирования.

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

Что сенсорные экраны должны позволять делать лучше всего, так это водить по ним. Вооружившись данным принципом можно представить себе такую систему. При написании текста вся механика будет происходить вокруг нарисованного на экране шестиугольника. Пользователь водит пальцем или стилусом по экрану и пересекает его грани. При последовательном пересечении двух граней, генерируется новый символ. Если рассмотреть детально, то когда происходит движение внутрь шестиугольника и пересекается одна из граней — активируется шестая часть всего алфавита. При выходе наружу, происходит пересечение второй грани, тем самым выбирается конкретный символ из этого подалфавита.
image

Шесть первых граней и шесть вторых дают 36 возможных комбинаций, соответственно 36 символов. Таким образом, можно не отрываясь «писать» символ за символом, просто пересекая стороны шестиугольника. Пробелу и некоторым знакам препинания тоже могут соответствовать свои упорядоченные пары граней, поэтому ничто не мешает безотрывно писать целые предложения. Заглавные символы можно получить с помощью петлеобразного движения между первым и вторым пересечением.

Основной режим работы предполагает начало движения из внешней области шестиугольника. Но можно еще двигаться и изнутри. Это предполагает еще один режим, а вместе с ним еще 36 комбинаций, и следовательно 36 дополнительных символов. Каждый из которых имеет в придачу свой shift-вариант, вызываемый с помощью петли.

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

Конечно, некоторые трудности при изучении данного подхода неизбежны. Но, так как каждое движение, требуемое для создания символа, не похоже на остальные, должна напрямую работать механическая память. Причем это касается целых слов, написание которых предполагает воспроизведение определенных «иероглифов» на поверхности шестигранника.

После ожидаемого отклика будет ясно, по какому пути развивать подход дальше. Сейчас этот принцип реализован в виде приложения под Android. Название есть в тегах. Созданы оптимальные раскладки для английского, русского и немецкого языков. Фичи которые радуют: можно налету менять размер всей клавиатуры, есть перемещение курсора в альтернативном режиме, можно безотрывно менять языковую раскладку и выделять/удалять текст.

Если читателей заинтересовала данная тема, то можно подумать о более технически направленных статьях. Были интересные моменты при разработке под Android и при создании оптимальных языковых раскладок с помощью генетики. Появление и развитие идеи тоже отдельная история.
Tags:Hexogen keyboardhexoinputandroidGoogle playклавиатурабезотрывный ввод
Hubs: Interfaces Usability
Rating +15
Views 1.1k Add to bookmarks 28
Comments
Comments 31

Popular right now

Android developer
from 150,000 ₽GameramУльяновскRemote job
Android Developer
from 100,000 to 100,000 ₽YollaСанкт-ПетербургRemote job
Android разработчик
from 100,000 ₽ArtezioСаратов
Android Developer
from 100,000 to 200,000 ₽Digital NomadsТомскRemote job
Android разработчик
to 150,000 ₽GarpixИвановоRemote job