ОБЗОРЫ

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

Tablet PC - это как раз та инновационная платформа, с которой разработчики могут сделать очередной прорыв (см. также PC Week/RE, N 37/2004, с. 18). Инновационный форм-фактор самого компьютера, перьевой ввод, встроенные средства распознавания рукописного текста... Все это расширяет потенциальную сферу применения ПК, но чтобы сказку превратить в быль, нужны качественно новые прикладные программные решения.

Так что же и с помощью чего могут сделать программисты в среде Windows XP Tablet PC Edition 2005?

Tablet PC с точки зрения разработчика приложений

Однако прежде чем ответить на этот вопрос, нужно уточнить, чем же Tablet PC отличается от ставшего привычным для многих ноутбука.

1. По своему функционалу и составу планшетный ПК полностью покрывает возможности ноутбука. Правда, сегодня "средний" Tablet PC по составу и мощности несколько уступает "среднему" ноутбуку, но это в основном определяется вопросами ценообразования. (Другими словами - при одинаковой мощности планшетный ПК будет стоить дороже такого же "блокнота".) Дело в том, что в стоимости Tablet PC значительная часть приходится на экран-планшет. Для сегодняшнего дня оптимальным вариантом с точки зрения соотношения цена/потребительские качества является размер диагонали планшета 10 - 12 дюймов и масса компьютера 1,2 - 2 кг. Все это, в свою очередь, влечет за собой необходимость некоторого снижения мощности процессора, уменьшения объема ОЗУ и отсутствия "непервоочередных" компонентов (приводы дискет, компакт-дисков и пр.). Но по возможностям внешнего взаимодействия планшетный ПК в целом не уступает хорошему ноутбуку: встроенная поддержка беспроводных соединений, инфракрасный порт, набор разъемов - USB, внешний дисплей, телефон, Ethernet, дисплей, наушники, микрофон.

2. Но еще важнее, может быть, то, что Tablet PC и ноутбук используют одну и ту же операционную систему. Windows XP Tablet PC Edition - это Windows XP Professional Edition, дополненная средствами работы с перьевым вводом, в том числе программами распознавания рукописного текста. Таким образом, любое приложение для ноутбука будет работать на планшетном ПК.

3. Качественное преимущество Tablet PC - наличие экрана-дигитайзера, с которым можно работать с помощью пера. С точки зрения пользователя, перо - это как бы более удобный аналог мыши (согласитесь, сделать мышью автограф так, чтобы его смогли принять за подлинник в банке, крайне сложно!). К тому же, как выясняется, существует очень много сфер применения ПК (и делового, и домашнего), когда клавиатура не очень-то и нужна. Например, если вы используете компьютер в качестве мультимедийного центра или занимаетесь анализом данных.

4. Но, с точки зрения программиста, перо (точнее, дигитайзер) помимо удобства применения имеет еще ряд важных новшеств по сравнению с мышью. Во-первых, дигитайзер обладает более высоким разрешением, чем экран. Во-вторых, он обеспечивает более высокую скорость отслеживания перемещения графического курсора. В-третьих, позволяет различать несколько градаций "нажима" пера на планшет. Все эти возможности лежат в основе решения качественно новых задач, реализуемых в рамках технологий чернильно-перьевого (P&I, pen-and-ink) ввода, в частности распознавания рукописного текста, которое, кстати, входит в состав базового комплекта Windows XP Tablet PC Edition.

Простейшие Tablet-приложения

Чтобы сделать приложение, использующее для начала хотя бы какие-то новшества Tablet PC, в общем-то и делать ничего не нужно. Достаточно просто загрузить программу, написанную для обычного настольного ПК, в планшетный компьютер. Она будет автоматически поддерживать перо в качестве указателя курсора (параллельно с мышью), а если у нее есть поля текстового ввода, то им столь же автоматически будут доступны средства планшетной панели ввода (Tablet Input Panel, TIP). А это, в частности, означает, что любое клиентское Windows- или Web-приложение уже сможет работать без клавиатуры, только с использованием планшета!

Web-сайт для разработчиков Tablet-приложений

С 1 января по 1 июня 2005 г. московское представительство Microsoft и ведущий партнер корпорации в области мобильных технологий компания "Кварта Технологии" проводят конкурс на лучшее прикладное ПО для Tablet PC. Для его поддержки организаторы создали Web-сайт www.tablet.ru. В начале апреля на нем появился форум, к работе которого могут подключиться как участники конкурса, так и все желающие - пользователи планшетных ПК и разработчики ПО.

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

Рис. 1. Планшетная панель ввода автоматически доступна любому приложению в среде Windows XP Tablet PC Edition

Рис. 2. Планшетная панель ввода реализует три режима:

a) имитации клавиатуры;

б) рукопечатного (печатными буквами) ввода;

в) слитного рукописного ввода (с автоматическим распознаванием)

Вызов TIP выполняется двумя способами:

- статическим, когда панель выводится в нижнюю часть экрана компьютера с помощью пиктограммы на панели задач Windows или аналогичной кнопки на планшете и находится там постоянно, до тех пор пока пользователь не закроет ее в явном виде;

-динамическим - как только вы подводите перо к полю текстового ввода приложения, рядом с ним появляется кнопка TIP Access. Если указать на нее пером, то выводится TIP, которая автоматически исчезает, если ею не пользоваться несколько секунд или если покинуть текстовое поле.

Разумеется, если вы используете какой-то русификатор для распознавания рукописного текста, то эта функция автоматически становится доступной и вашему приложению (на иллюстрациях приведен вариант решения Russian Enhancement Pack for Tablet PC компании "Кварта Технологии", www.quarta.ru).

Разработка настоящих Tablet-приложений

Но чтобы действительно использовать все новые возможности планшетных ПК, эти функции необходимо задействовать на уровне программного кода с помощью специального бесплатного набора Windows XP Tablet PC Edition Development Kit 1.7.

Разработку P&I-программ удобнее всего вести в среде Visual Studio .NET. Подключив к проекту библиотеку Microsoft Tablet PC API DLL, программист получает в свое распоряжение все необходимые объекты. Далее мы приведем небольшой пример создания приложения с использованием C#.

Чтобы обеспечить поддержку интеллектуальных подсказок редактора кода, в самом начале нужно сделать ссылку на пространство имен Microsoft.Ink:

using Microsoft.Ink;

Теперь напишем такой код для формы:

public class Form1 : System.Windows.Forms.Form

{

private System.ComponentModel.Container components = null;

private InkOverlay theInkOverlay;

public Form1()

{

// инициализация поддержки Windows Form

Designer

InitializeComponent();

// работа с пером

theInkOverlay = new InkOverlay(this.Handle);

theInkOverlay.Enabled = true;

}

}

Приложение готово! Запустим его. Оно умеет делать пока не так много, но все же с помощью трех строк кода мы получили возможность писать пером на форме (рис. 3, а). Добавим к нашему проекту еще два оператора:

theInkOverlay.DefaultDrawingAttributes.Color = Color.Red;

theInkOverlay.DefaultDrawingAttributes.Width = 100;

Теперь (рис. 3, б) мы можем писать красным цветом с шириной линии 1 мм (одна логическая единица ширины равна 0,01 мм).    

 

Рис. 3. Первое Tablet-приложение:

а) три строки кода - и мы создали первое Tablet-приложение;

б) еще два оператора - и мы научились управлять толщиной и цветом линий

На этом мы прервем упражнения в программировании и поговорим о более общих вопросах разработки Tablet-приложений.

Как мы уже говорили, набор Tablet PC SDK включает все необходимое для поддержки режима pen-and-ink:

- две библиотеки API, из которых первая, базовая, реализована в рамках архитектуры COM Automation, а вторая представляет собой .NET-слой поверх COM API;

- набор элементов управления, содержащих всю основную функциональность платформы Tablet PC (InkEdit, PIP, InkPicture);

- набор компонентов - строительных блоков для расширения базовой платформы;

- документацию и примеры применения.

Весь набор функций платформы (рис. 4) можно разделить на три основные группы:

- Ink Collection - перьевой ввод;

- Ink Data & Management - управление объектами и данными;

- Ink Recognition - распознавание.

Рис. 4. Общая структура объектной

модели Tablet PC Platform

Детальное рассмотрение этих средств не входит сейчас в нашу задачу. Отметим только, что в Windows XP Tablet PC Edition 2005 появился механизм контекстно-зависимого распознавания (Contextual Awareness) с возможностью использования различных правил обработки вводимой информации. Это особенно актуально для работы с документами, которые представляются в виде форм с полями, заполняемыми данными определенного типа (телефонные номера, имена людей, списки профессий и пр.). Такой механизм позволяет существенно повысить скорость ввода данных и улучшить качество распознавания.