Pull to refresh

Мультитач с тактильными ощущениями — реально? Размышления на тему

Lumber room


О чем эта заметка.


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

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



Преамбула (можно пропустить)



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

Я попытался поразмышлять на тему обратного отклика на примере будничной рутины простого программиста из две тысячи @$@#го года.

Итак, на дворе две тысячи @$@#й год. Злая корпорация N выкупила все патенты на мультитач (этого слова в статье будет еще много, прошу прощения) и резонно решила получать деньги, активно внедряя концепции мультитачевости во все UI, до которых может дотянуться. И даже в линейку своих IDE, Casual Studio, дизайнеры злобной корпорации внедрили новаторское управление. И вот, перед средним программистом Ровшаном, стоит задача ребром переучиваться на новый лад (или переходить на vim :) Ровшан прикупает себе сенсорную доску в ближайшем магазине и приступает к процессу обучения.

И тут Ровшан понимает, что писать код неприятно! Как часто наш герой в порыве архитекторской задумчивости держал пальцы на клавишах, прислушиваясь к мыслям в голове, легонько подавливая, но не нажимая их. А как же он любил поглаживать клавиатуру в размышлениях над кодом, нежно поводя рукой над ней и ощущая подушечками пальцев ее упругие клавиши… кхм, простите. Теперь же нужно держать руки над сенсорами, и не дай Бог случайно что-то нажмешь! А еще как тяжело стало писать слепым четырехпальцевым методом, все время приходится смотреть куда нажимаешь.

Как быть? У меня есть мысли. Разделю их на части.

Догоняем клавиатуру.



Задачи:
  1. получить тактильное ощущение нажатия клавиши от участка мультитача;
  2. при этом обязательно придать участку многотыка мультитача некоторый запас упругости, что бы хоть немного уменьшить количество случайных нажатий;
  3. учитывая что разрабатываем не модную клавиатуру а совершенно универсальный прибор.


Давайте поразмышляем. Понятно, что необходимо разделить рабочую поверхность на некоторое количество областей/ячеек, каждая из которых может принимать минимум 2 состояния: состояние возбуждения и состояние покоя. Понятно, что наиболее простой схемой является двухмерная матрица из большого числа квадратных ячеек (вид сверху)

Условная схема тактильной матрицы, пара скобок символизирует ячейку

[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]


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

Состояние покоя

[][][][][][][][][][][][][][][][][][][][][][] эластичный слой с изображением в состоянии покоя
[][][][][][][][][][][][][][][][][][][][][][] управляющий слой


Состояние возбуждения некоторого участка

_____ [-][-][-][-]
[][][]___________ [][][][][][][][][][][][][] эластичный слой с возбужденным участком
[][][][+][+][+][+][][][][][][][][][][][][][] управляющий слой


Итак, мысль ясна, что же с реализацией. Есть несколько подходов: классический механический — каждая ячейка поднимается с помощью механики в каком-либо виде, например с помощью реле; электромагнитный — поднимаем ячейку магнитным полем; извращенские эзотерические — поднимаем сжатым воздухом/вакуумом, поднимаем с помощью расширения некого тела под воздействием температуры и т.д. В общем, как видно, основная трудность состоит именно в выводе изображения на некий эластичный материал.

multitouch API.



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

Хочу подвести краткий итог вышесказанному и сделать некоторые выводы:
  • есть вполне реальная возможность прямо сейчас создать multitouch-устройство с тактильным откликом.
  • так же, в некоторой мере решается проблема слепого управления и случайных нажатий
  • для программиста-пользователя достаточно просто реализовать API для управления на уровне ОС либо отдельных библиотек


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


Перегоняем клавиатуру. Полет фантазии.


Буду сдерживать себя рамками краткости, иначе получится фантастический роман :) Привожу по мере интереса:

Один стол на 10 человек: кроме размеров устройства нас никто не ограничивает, мы можем «выпучить» хоть 10 клавиатур — хватит всем.

Библиотека виджетов ОС: теперь message box'ы вашей любимой ОС с сообщением о фатальной ошибке будут содержать выпуклую кнопку ОК :) Вы, наконец, сможете пощупать менюшку вашей ОС в прямом смысле.

Невообразимые элементы управления для приложения — никаких внешних устройств: ваша любимая стратегия теперь может выводить свою собственную невообразимую клавиатуру для игры, почему бы и нет? А кто мешает вам самим сделать пульт управления по собственному вкусу?

А теперь, пожалуйста, представьте это все в движении.



Благодарю вас за внимание.
Tags:
Hubs:
Total votes 33: ↑28 and ↓5 +23
Views 464
Comments Comments 34