Microsoft анонсировала Touch Pack для Windows 7
Примерно год назад в ходе конференции D: All Things Digital, организованной Wall Street Journal, Джули Ларсон-Грин (Julie Larson-Green) впервые продемонстрировала Windows 7 и ее multi-touch возможности, которые объединены общим понятием Windows Touch. А вчера компания анонсировала набор приложений и игр для Windows 7 (о которых мы, кстати говоря, писали еще в январе), призванных продемонстрировать пользователям все эти возможности.
И хотя мы работаем над тем, чтобы привнести натуральные интерфейсы в различные продукты, впервые возможность одновременного нажатия появилась в Microsoft Surface. С того момента команды разработчиков Windows и Surface тесно сотрудничали, чтобы обеспечить поддержку multi-touch в Windows, и в течение прошлого года мы продемонстрировали несколько приложений, созданных для Microsoft Surface и работающих в Windows 7. Сегодня мы решили воспользовать шансом и приурочить к годовщине Windows Touch анонс так называемого Microsoft Touch Pack для Windows 7.
И хотя платформа Windows Touch буквально является частью ДНК Windows 7 — мы уже говорили об этом в одной из статей в блоге Engineering Windows 7, — мы подумали, как было бы здорово создать несколько приложений, демонстрирующих новые способы взаимодействия с компьютером. Microsoft Touch Pack для Windows 7 представляет собой набор из шести приложений и игр, оптимизированных для управления с помощью пальцев рук и призванных продемонстрировать возможности платформы Windows Touch в Windows 7. В состав пакета входят три игры и три приложения с Microsoft Surface, которые были созданы для Windows 7.
Давайте подробнее рассмотрим каждое из приложений, входящих в состав Microsoft Touch Pack для Windows 7…
С Microsoft Surface Globe буквально весь мир окажется в ваших руках. Приложение использует Virtual Earth 3D для вывода 3D-версии земного шара. С помощью одновременного нажатия вы можете вращать глобус, перемещаться в различные его области, получать локальную информацию и отмечать точки на поверхности. Вы даже можете просмотреть 3D-модели строений в некоторых городах. Это приложение было одним их тех приложений, которые Джули Ларсон-Грин продемонстрировала год назад. Для того, чтобы увидеть приложение в действии, ознакомьтесь с этим видео .
Выбирайте свои любимые фотографии, вращайте и меняйте их размер с помощью пальцев рук в Microsoft Surface Collage! Как только вы разместите фотографии, как вам нравятся, вы можете сохранить коллаж и при необходимости установить его в качестве фонового рисунка для рабочего стола. Я, к примеру, создал целую серию таких коллажей и установил их в качестве обоев с автоматической сменой через определенный промежуток времени.
Microsoft Surface Lagoon представляет собой скринсейвер, взаимодействовать с которым можно с помощью нескольких пальцев одновременно. Скринсейвер воссоздает аквариум с рыбками. Взаимодействие с водной поверхностью на самом деле расслабляет — просто коснитесь водной глади и наблюдайте за плавающими рыбками.
Решайте головоломки в Microsoft Blackboard путем создания удивительных механизмов. Используйте жесты для вращения и изменения размеров шестеренок, вентиляторов и плит для перемещения шаров.
Используйте пальцы для управления электрической дугой для отражения шарика и уничтожения своего оппонента в Microsoft Rebound. Можно играть против компьютера или друг против друга на электрическом корте. Покажите, кто здесь чемпион!
И, наконец, с Microsoft Garden Pond вы можете управлять своими созданиями в маленьком озере или направлять их с помощью жестов для выполнения поставленных задач. Просто подтолкните оригами, пустив рябь.
Для того, чтобы насладиться Microsoft Touch Pack для Windows 7, вам потребуется компьютер под управлением Windows 7 с поддержкой multi-touch. Пакет будет доступен производителям компьютеров (OEM), которые смогут выборочно предустанавливать (или не устанавливать вовсе) приложения из состава Microsoft Touch Pack на компьютеры, созданные для Windows Touch (компьютеры, которые соответствуют требованиям логотипа Windows Touch). Таким образом, на момент появления Windows 7 эти приложения вы будете видеть то тут, то там. После официального релиза Windows 7 мы подумаем над тем, чтобы сделать Microsoft Touch Pack для Windows 7 доступным всем желающим на базе отзывов от наших партнеров и клиентов.
Windows Embedded Standard 7 в интерфейсных устройствах: технология Windows Touch
В статье приведен обзор средств разработки новой встраиваемой ОС Windows Embedded Standard 7, рассмотрены возможности системы для работы с сенсорными экранами, в том числе с поддержкой Multi-Touch.
ООО «Кварта Технологии», г. Москва
В апрельском номере журнала «ИСУП» мы познакомились с возможностями встраиваемой операционной системой Windows Embedded CE 6.0 для построения систем реального времени. Чем жестче требования к таким системам, тем более актуальным становиться специализация на исполнительные и управляющие устройства, поскольку одна только отрисовка интерфейса может ощутимо сказаться на характеристиках реального времени. В таком тандеме исполнительные устройства отвечают за отработку управляющих сигналов в режиме реального времени. Задача управляющих или, как их еще можно назвать, интерфейсных устройств заключается в отображении информации для контроля за работой системы и формировании управляющих сигналов для исполнительных устройств. Для решения широкого круга задач в интерфейсных устройствах не требуется поддержка реального времени. Например, в системе кондиционирования для поддержания требуемой температуры и влажности в цеху задержка порядка секунды не является критической. Другой пример – автоматизация сложного технологического процесса, когда операции процесса исполняются в реальном времени, а конфигурирование/запуск/останов выполняется с помощью систем без поддержки реального времени.
Рис. 1. Выбор шаблона устройства
Рис. 2. Установка драйверов
Процесс разработки и внедрения встраиваемых систем отличается от установки настольных систем. При этом в новой встраиваемой системе, Windows Embedded Standard 7, которая вышла весной этого года, эти отличия практически нивелированы. Помимо удобства и простоты развертывания в Windows Embedded Standard 7 доступны все новейшие технологии Windows 7. Для интерфейсных устройств, наверное, самой интересной является поддержка множественных касаний – технологии Multi-Touch. Таким образом, выбор Windows Embedded Standard 7 для построения интерфейсных устройств вполне обоснован как с точки зрения освоения средств разработки, так и функциональности самой системы. Обратной стороной медали являются более высокие требования к аппаратной части по сравнению с Windows Embedded Standard 2009 (Windows XP). Познакомимся со средствами разработки Windows Embedded Standard 7.
Основными инструментами разработки образа Windows Embedded Standard 7 являются Image Builder Wizard (IBW) и Image Configuration Editor (ICE). IBW – это мастер для установки образа системы на целевом устройстве, который может быть запущен с DVD или USB-флеш диска. Таким образом, для установки Windows Embedded Standard 7 достаточно загрузиться c DVD-диска из поставки средств разработки и пройтись по окнам мастера аналогично установке настольной ОС. При этом у разработчика есть возможность выбрать шаблон устройства, например Industrial Automation (рис. 1), установить драйвера устройств (рис. 2) и сформировать функционал системы (рис. 3). Элементарной единицей функционала в Windows Embedded Standard 7 является пакет (package). В Windows Embedded Standard 2009 и ранее использовался другой термин – компонент (component). Данное изменение в терминологии призвано подчеркнуть, что при компонентизации Windows 7 использовался несколько другой подход, в результате чего гранулярность единиц функциональности возросла по сравнению с предыдущей версией. Шаблоны (templates), по сути, являются макропакетами или, как они называются в WES 2009, макрокомпонентами, содержащими перечень пакетов, и служат для прототипирования образа системы. Средства разработки позволяют разрешать зависимости между пакетами, то есть если для работы одного пакета необходимо наличие в образе других пакетов, то они будут добавлены при разрешении зависимостей. Более того, мастер установки IBW не продолжит свою работу до тех пор, пока не будут разрешены все зависимости, тем самым исключая возможность получить неработоспособный образ системы. Кроме рассмотренного варианта интерактивной установки есть возможность выполнить ее автоматически с помощью заранее подготовленного файла ответов. ICE, конфигуратор образа, как раз и служит для создания подобных файлов ответа (рис. 4), а также для создания собственных установочных дисков с IBW. Помимо IBW и ICE в поставке средств разработки находятся утилиты, позволяющие добавлять и удалять из развернутых систем функциональность (DISM), сохранять и разворачивать образы систем (ImageX) и пр. Для того чтобы более детально изучить возможности Windows Embedded Standard 7, на сайте Microsoft доступна полнофункциональная пробная версия данного продукта.
Рис. 3. Выбор пакетов функциональности
Наконец мы подошли к новым возможностям ОС, а именно технологии Windows Touch. Windows 7 – это первая настольная система, в которой реализована поддержка сенсорных экранов с распознаванием множественных касаний или Multi-touch. Multi-touch – это аппаратно-программное решение. С одной стороны, принцип действия сенсорного экрана должен обеспечивать одновременное распознавание нескольких касаний. С другой стороны, ОС должна уметь работать с такими сенсорными экранами, что подразумевает оптимизацию интерфейса и предоставление API для разработчиков приложений.
Если говорить про аппаратную составляющую, то далеко не все сенсорные экраны могут похвастаться поддержкой Multi-Touch. Например, конструкция самых распространенных резистивных сенсорных экранов физически не может обеспечить считывание касаний экрана в разных участках экрана. Немного теории. Резистивный экран представляет собой две прямоугольные пластины, установленные одна поверх другой. На пластины равномерно нанесено резистивное покрытие. Пространство между пластинами заполнено специальным материалом, который позволяет исключить замыкание пластин в отсутствие нажатия на экран. По сторонам пластин находятся электроды. Для считывания положения точки нажатия по горизонтальной оси между электродами нижней пластины прикладывается некоторое референсное напряжение U, которое благодаря покрытию создает равномерное распределение потенциала между электродами. Вторая пластина служит потенциометрическим щупом – при нажатии на экран происходит замыкание пластин в точке контакта и верхней пластине передается потенциал данной точки (рис. 5). Таким образом координата прямо пропорциональна значению потенциала верхней пластины. Преобразование аналогового значения потенциала в координату осуществляется контроллером сенсорного экрана. Для считывания второй координаты выполняется аналогичная процедура с той разницей, что напряжение прикладывается к электродам верхней пластины, а щупом становиться нижняя. Если допустить несколько одновременных касаний, то на выходе мы получим координаты средней точки, но никак не каждой отдельной точки.
Для поддержки Multi-Touch резистивные экраны требуют значительного усовершенствования конструкции. Это касается как покрытия пластин, так и логики контроллера. Покрытие следует наносить в виде параллельных дорожек, образующих при наложении пластин сетку (рис. 6). При нажатии на экран происходит замыкание соответствующих дорожек. Контроллер прикладывает напряжение к каждой отдельной дорожке нижней пластины и сканирует по очереди все дорожки верхней пластины. Наличие потенциала свидетельствует о нажатии, а номера дорожек соответствуют координатам: номер верхней дорожки – абсциссе, нижней – ординате.
Помимо резистивных следует упомянуть емкостные и оптические сенсорные экраны. Среди них также не все поддерживают Multi-Touch. Перейдем к программной части, а именно к возможностям Windows 7 в плане сенсорных экранов.
Рис. 5. Принцип работы резистивного сенсорного экрана
Интерфейс ОС был серьезно переработан, чтобы в полной мере задействовать сенсорные экраны как устройства ввода. Например, при обнаружении системой сенсорного экрана автоматически увеличиваются промежутки между пунктами меню, что значительно облегчает их выбор. Конечно, речь не идет о полном отказе в использовании компьютерных мышей. В ряде применений, где требуется точное позиционирование, сенсорный экран не справится с поставленной задачей. Основная область применения сенсорных экранов – это различные интерфейсные устройства с достаточно крупными элементами управления без необходимости выполнять высокоточные манипуляции.
Поддержка множественных касаний реализована в некоторых стандартных приложениях Windows 7. В программе Paint можно рисовать одновременно несколькими кистями – пальцами, а стандартное приложение для просмотра графических файлов распознает жест увеличения/уменьшения, в котором задействованы сразу два пальца. Отличной демонстрацией возможностей Multi-Touch под Windows 7 является пакет «Microsoft Touch Pack for Windows 7». Данный пакет доступен для загрузки с сайта Microsoft.
Поддержка сенсорного ввода и Multi-Touch может быть использована и в сторонних приложениях. Даже в приложениях, разработанных без учета сенсорного ввода, автоматически задействовуются базовые жесты. Всю работу в данном случае выполняет ОС, приложение получает информацию в привычном для него виде. К базовым жестам относятся: панорамирование, увеличение/уменьшение и пролистование. Гораздо более широкие возможности открываются для приложений, разработанных с использованием расширенного API (Application Programming Interface).
Прежде чем углубиться в описание нового функционала в API ОС Windows 7, следует упомянуть о принципах работы Windows-приложений. В Windows, начиная с первых версий и по сей день, используется событийная схема взаимодействия с приложениями. При возникновении какого-либо события, например при нажатии клавиши или перемещении курсора мыши, ОС отправляет соотвествующее сообщение. Приложения определенным образом регистрируются на получение сообщений и выполняют их обработку. Сообщения имеют уникальные идентификаторы. Для удобства используется именование идентификаторов, начинающееся с «WM_». Например, нажатию левой клавиши мыши соответсвует сообщение с именем «WM_LBUTTONDOWN». Помимо собственно идентификатора сообщения ОС передает его параметры. Например, для приведенного ранее сообщения – это текущие координаты курсора мыши.
Вернемся к рассмотрению возможностей API Windows 7 для работы с сенсорными экранами. В первую очередь – это расширенная обработка стандартных жестов. Для этого приложению достаточно обрабатывать сообщение системы WM_GESTURE, в котором содержится подробная информация о жесте и его параметрах. Для более сложных сценариев приложение может зарегистироваться на получение сообщения WM_TOUCH. WM_TOUCH обеспечивает низкоуровневую информацию о взаимодействии пользователя с сенсорным экраном, на основе которой можно реализовать распознавание комбинации жестов или собственных жестов. Представим, что в приложении допускается использование одновременно нескольких жестов и выполняется жест увеличения с одновременным вращательным движением. При помощи WM_GESTURE мы получим информацию только об одном жесте. Для распознавания комбинации жестов служит процессор манипуляций (Manipulation Processor). Процессор манипуляций по информации сообщения WM_TOUCH отслеживает и анализирует перемещение каждого отдельного пальца и оповещает приложение о начале отдельного жеста, его развитии и окончании. И в заключение краткого обзора возможностей сенсорного ввода Windows 7 следует упомянуть об еще одном средстве – инерционном процессоре (Inertia Processor). Инерционный процессор добавляет манипуляциям реалистичности с физической точки зрения. Во-первых, что следует из названия процессора, жесты могут продолжать свое развитие как бы по инерции. Например, выполнив на экране жест вращения и убрав пальцы с экрана, система будет генерировать сообщения для плавного завершения манипуляции вращения с заданным замедлением или смещением. Кроме того, можно ограничить область, в которой выполняются манипуляции. Например, элемент интерфейса допускает перемещение в заданной области. Если жестом заставить двигаться элемент по инерции, то при достижении границы области инерционный процессор будет формировать оповещения таким образом, чтобы элемент оставался внутри области, продолжая движение вдоль границы.