Pages

Sunday, July 5, 2009

Gestures, Multiple touch, Resistive, Capacitive,…

Я понятия не имею, как это перевести на русский. Словарь какую-то чепуху предлагает вообще – попробуй успей за развитием технологий сейчас.

Я “gestures” пытался своими словами объяснить – наткнулся на “resistive” и “capacitive”. Это-то должно быть знакомо электронщикам – наверное, что-нибудь типа резисторный и емкостный. А мне, как програмисту, позволительно не помнить такие термины.

К чему это я? Совсем в переводах потерялся.

А хотел просто об этих gestures написать. Когда эта вещь появилась в прошлом году на iPhone, это было как гром среди ясного неба. Не знаю как другие программисты, Microsoft, производители железа, но я чувствовал себя слегка обалдевшим или ошалевшим. Все занимались анимацией для мобильных устройств, у многих программы уже выглядели так, что и настольному компьютеру не снилось. Все видели будущее мобильных устройств в более быстром интернете, но только Apple нашел настоящую изюминку и в графическом интерфейсе пользователя – вот эти самые gestures и этот самый multi-touch.
Getsures (самый близкий словарный перевод - это телодвижение) – это более интуитивный, более естественный способ взаимодействия с пользователем – при помощи пальца, без каких-то нажатий, можно передвигать визуальные элементы на экране телефона – списки скроллируются, экраны – листаются. То есть, все это таже анимация, но реагирует на движения пальца – список передвигается вместе с движением пальца, остановился палец – останавливается и анимация.

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

Сейчас уже вышел Microsoft Windows 6.5 DTK, который уже «поддерживает» gestures. Появились какие-то неофициальные технические материалы по этому вопросу. Если бы я их прочитал в сентябре прошлого года – не было бы в нашей программе никаких gestures. Ребята из Microsoft красиво и убедительно рассказывают, что все дело в «железе» - начиная с Windows CE 1.0, операционная система поддерживает экраны с так называемой resistive технологией. Это надежный и дешевый экран. И эта технология, вообще, не предназначена ни для каких gestures.

Совсем коротко эту технологию можна объяснить так – экран состоит из двух прозрачных слоев. Indium Tin Oxide – так называется материал, из котого эти слои создают. Между ними воздушная прослойка. Нажатия на верхний слой приводит к тому, что слои соприкасаются. Это можно зафиксировать и использовать. С точки зрения програмиста, идет эмуляция щелчка мышки (mouse click).

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

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

Но на такой технологии невозможен multi touch - касание в нескольких местах экрана одновременно. Просто не работает. Фиксируется замыкание между слоями в одном месте.

А gestures? Следить из программы за движением пальца?

С Windows это не просто. Это же Windows – много окон. Вся апликация это набор окон. Нажатие на экран для программы это клик мышки на одном из окон.

А если пальцем ведут по экрану, какому окно передать шелчек мышки? Тому где это двидение началось? Но это палец, а не тоненький (точечный) стилус.

Apple смотрел на проблему с более высокой точки. Как производитель «железа», они сделали экран на основе более дорогой (и менее надежной) технологии, которая называется capacitive (наверное, что-то о конденсаторах – радиодеталях). Это решило им проблему multi touch – одновременно в нескольких местах можно нажимать на экран. Кроме одного приема управления – нажатия/щелчка на визуальном элементе, появилась масса новых – элементы можно, например, растягивать и сжимать – это zoom на фотографии, картинке или карте. Можно «изобретать» вращения, спирали и так далее. А если программа, при помощи, анимации, как бы «повторяет» или следует за движением пальца, то вот он – gesture – вполне тривиальная идея.

Capasitive технология не требует никакого нажатия. Поэтому экран iPhone реагирует на дыхание. Стилус использрвать вообще нельзя. С нынешними резолюциями это и не нужно – визуальный элементы стали больше размером.

No comments:

Post a Comment