Яндекс.Метрика

    Будущее сегодня

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



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


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

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


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



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

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

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

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

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

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



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


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

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

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


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

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

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


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

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


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

    multitouch API.



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

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


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


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


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

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

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

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

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



    Благодарю вас за внимание.
    _________
    Текст подготовлен в ХабраРедакторе