Перо, чернила, три API

29 январь, 2003 - 00:00Игорь Дериев

Как известно, рано или поздно человечество воплощало практически все свои задумки и мечты -- от ковра-самолета и самодвижущейся печи до чудодейственных эликсиров и гомункулуса. Однако IT-мир пока слишком молод, чтобы похвастать подобными достижениями. Безусловно, компьютеры достигли невероятных высот, но так и остались банальными "числодробилками".


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

Перо, чернила, три API
Архитектура SDK дает полное представление об устройстве Windows XP Tablet PC Edition

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

В связи с этим, кстати, интересно позиционирование новых устройств. Учитывая многочисленные предыдущие неудачи, Microsoft со товарищи крайне осторожны в выборе целевой аудитории и предпочитают ее описывать весьма расплывчатым термином "knowledge workers", а также дополнительно оговаривать, что нынешние Tablet PC пришли на смену отнюдь не традиционным ноутбукам, а... обычным блокнотам и ручкам. При этом под Tablet PC понимается исключительно полноценный (общецелевой) персональный компьютер, а отнюдь не специализированное устройство, каковыми были и есть всевозможные Pad'ы (последний пример). Microsoft последовательно придерживалась этой позиции и ранее, однако именно сегодня она выкристаллизовалась во всей своей полноте и чистоте.


Взгляд изнутри...

Перо, чернила, три API
Планшетные устройства требуют более тщательной заботы об эргономике
Перо, чернила, три API

Поскольку аппаратная часть новоявленных компьютеров-планшетов, по большому счету, не является чем-то необычным (кроме, разве что, сочетания компонентов), наиболее принципиальным звеном оказывается операционная система -- Windows XP Tablet PC Edition. Именно заключенные в ней решения и подходы позволяют говорить о Tablet PC как о платформе. Не случайно в официальном документе (созданном, вне всякого сомнения, в Microsoft и продублированном всеми партнерами), перечисляющем 10 главнейших преимуществ Tablet PC, в первом пункте речь идет именно об ОС -- в частности о том, что Windows XP Tablet PC Edition с функциональной точки зрения представляет собой надмножество Windows XP Professional. Это, в свою очередь, означает, что пользователям будут доступны привычные приложения, а программистам -- средства и методы разработки.

Поскольку Windows XP Tablet PC Edition не является самостоятельным продуктом и предоставляется только производителям готовых устройств, техническая информация для "простых смертных" подается крайне скупо. Другое дело -- разработчики ПО, от которых в большой мере зависит успех Tablet PC. Для них имеются соответствующий SDK, необходимая документация в MSDN, руководства и книги (одни из первых, естественно, от Microsoft Press). Воспользуемся этой информацией и мы.

Архитектура Tablet PC SDK дает довольно полное представление об устройстве Windows XP Tablet PC Edition, поскольку и призвана имитировать среду этой ОС. Сразу же обращает на себя внимание то, что это первая операционная система Microsoft, в которую изначально встроена инфраструктура .NET. Более того, именно .NET-интерфейсы являются "родными" для платформы Tablet PC (хотя допускается и использование COM) и образуют "ядро" специфической функциональности. Этих основных API всего три:

Tablet Input API (Pen API) обеспечивает сбор и представление на системном уровне данных от стилуса/пера (вообще говоря, скорее от дигитайзера), т. е. перемещение, касание поверхности (нажим, наклон), активизация дополнительных кнопок.

Ink Data Management API (Ink API) осуществляет хранение, группирование и обработку данных, полученных от Pen API, в частности превращение их в собственно "цифровые чернила" и рендеринг. Сам термин "цифровые чернила" придуман вовсе не для красного словца, поскольку Ink является базовым типом данных. В свою очередь, каждый такой объект может состоять из группы штрихов (strokes), выполненных без отрыва пера от поверхности планшета, в которых дополнительно выделяются точки изломов (cusps). В общем случае штрихи представляются (сглаживаются) наборами кривых Безье, отображаемых затем на дисплее.

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

Перо, чернила, три API
В панели ввода можно использовать как стандартный механизм распознавания, так и движок для Pocket PC
Перо, чернила, три API

Назначение же Ink Recognition API (Recognition API) в точности соответствует названию. Он выполняет распознавание, т. е. интерпретацию объектов Ink -- и вовсе не обязательно результатом будет текст. Формально в системе могут присутствовать несколько движков распознавания -- для различных языков, нотных знаков, геометрических фигур, жестов (т. е. характерных движений пера, применяемых, к примеру, для управления компьютером) и пр. Какой из них использовать, решает само приложение. Это довольно принципиальный момент -- собственно распознавание не является обязательной фазой обработки перьевого ввода.

По идее на этом экскурс в архитектурные особенности Windows XP Tablet PC Edition можно считать оконченным. Безусловно, здесь они поданы в упрощенном виде -- на самом деле за перечисленными выше API скрываются годы научных и инженерных разработок, тысячи строк кода, достаточно разветвленная объектная модель. Кроме того, в состав данной версии ОС входят средства (и, естественно, соответствующие API) голосового ввода, идентичные реализованным в Office XP.


...снаружи...

Рядового пользователя компьютера/платформы/ОС особенности реализации той или иной подсистемы интересуют в гораздо меньшей степени, чем те высокоуровневые средства и функции, которые доступны ему out-of-box. На них-то мы и сосредоточимся подробнее в данном разделе.

Как уже говорилось, функционально Windows XP Tablet PC Edition представляет собой надмножество Windows XP Professional, причем обновленной до SP1. Соответственно, присутствуют все стандартные системные апплеты и инструменты управления, разве что в Control Panel появилась новая пиктограмма, ответственная за настройку параметров функционирования планшета и пера (в основном, эргономического характера).


Панель ввода

Перо, чернила, три API
В "Журнале" рукописные заметки можно преобразовать в обычный текст

Первое, что бросается в глаза при беглом знакомстве с Windows XP Tablet PC Edition, -- небольшая пиктограмма справа от кнопки Start, за которой скрывается крайне важный апплет Input Panel. Эта панель обеспечивает все способы ввода информации, имитируя обычную клавиатуру, предоставляя специальное окно для рукописного ввода или активизируя голосовой ввод, и в планшетном режиме совершенно незаменима.

Виртуальные клавиатуры -- довольно обычное дело (любому пользователю Windows достаточно заглянуть в группу Accessibility), голосовой ввод нам известен по Office XP -- в Windows XP Tablet PC Edition применяется абсолютно тот же механизм, за исключением того, что теперь он действует на системном уровне. Его по-прежнему необходимо приучать к своему голосу, а скорость и качество распознавания беглой речи (а не отдельных слов) оставляют желать лучшего. Вообще, трудно сказать, так ли уж нужны функции диктовки текста (в нынешнем их состоянии) тем, кто собирается использовать Tablet PC. Зато командный режим вполне пригоден к применению, опять же -- как и в Office XP.

Наиболее интересен, конечно же, ввод рукописный. Многие знакомы с этим чудом современных информационных технологий по наладонным компьютерам, однако Windows XP Tablet PC Edition способна удивить даже их. Дело в том, что стандартный движок распознавания работает не посимвольно, как в PDA, а может обрабатывать скоропись, причем даже без подстройки под конкретный почерк. Естественно, для его приемлемого функционирования требуется немало "лошадиных" сил, и это, кстати, главная причина всех нареканий на устройства с использованием чипов Crusoe. По этой же причине можно смело утверждать, что в "наладонниках" в ближайшее время ничего подобного реализовано не будет.

Тем не менее в достаточно мощных планшетных компьютерах распознавание функционирует довольно уверенно, хотя и не идеально. Пользователю придется приучить себя писать относительно аккуратно и разборчиво (что, кстати, сделать не так-то просто, пока вы держите устройство на весу). Не случайно, скажем, в комплект вспомогательных (в основном развлекательного характера) утилит Microsoft PowerToys for Windows XP Tablet PC Edition входит игра Writing Recognition. Потренироваться не помешает.

Именно поэтому, как мы и отмечали выше, базовым форматом остаются "чернила". Кроме того, совершенно понятно, что перьевой ввод не предназначен для создания больших объемов текстовой информации -- клавиатурный и быстрее, и комфортнее. Его назначение -- небольшие заметки (которые вполне могут храниться в виде "каракулей", привычных и читабельных для их автора), всевозможные пометки, выделения, конечно же -- зарисовки, скетчи и пр. Вероятно поэтому (а не только в качестве бонуса) в Windows XP Tablet PC Edition включены и движки распознавания платформы Pocket PC (активизируются в свойствах Input Panel) -- для небольших фрагментов вполне сгодится, а владельцам PDA не придется переучиваться.

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


Журнал

Перо, чернила, три API
Office XP Pack for Tablet PC позволяет работать с "чернилами" в привычных приложениях

Второе приметное приложение -- Windows Journal -- не является столь необходимым и незаменимым, как Input Panel, однако важно своей идеологической выдержанностью и безусловно придется по душе владельцам Tablet PC. Не случайно Microsoft уже выпустила специальную (бесплатную) программу для просмотра создаваемых в нем файлов. Вообще говоря, выбор названия "Журнал" может показаться несколько странным, если вовремя не вспомнить, что "Блокнот" давным-давно числится за другой традиционной (и совершенно безынтересной) утилитой Windows.

Между тем Windows Journal всем своим look-and-feel старается имитировать самый обыкновенный бумажный блокнот или даже тетрадь, хотя и наделенную интеллектуальными электронными функциями вроде вставки пустых строк и страниц, копирования фрагментов и пр. Пользователь может делать записки прямо на разлинованных листах, ему доступны несколько "ручек", "фломастеров", "маркеров", в случае необходимости дополнительно включается чувствительность пера к нажатию.

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

Имеются дополнительные функции вроде группирования, вставки рисунков, интеграции с календарем Microsoft Outlook (после установки Office XP Pack for Tablet PC, о котором речь пойдет ниже). Для выделения фрагментов применяется новый инструмент в виде лассо, поскольку традиционная прямоугольная рамка по понятным причинам не годится для работы с "чернилами".

Однако главное -- это все же работа с текстом. В первую очередь Windows Journal призван хранить именно рукописные записи (хотя специально можно вставлять и обычный печатный текст). Распознавание не является обязательной процедурой, ее нужно выполнять особо, предварительно выделив фрагмент. В появившемся затем окне, напоминающем окно проверки правописания из Microsoft Office, контролируется качество распознавания и при необходимости вносятся правки. Все сомнительные слова подсвечиваются, для них составляется список замены (откуда явственно следует, что "сырой" распознанный текст дополнительно прогоняется через словарь), удалить либо для пущей убедительности переписать их в Input Panel, а после даже добавить незнакомые слова в словарь (делается это настолько неинтуитивно, что далеко не всем удается даже обнаружить эту возможность). Распознавание также выполняется автоматически при копировании фрагментов текста в приложения, не поддерживающие рукописный ввод (тот же Notepad), и поиске.


Прочая всячина

Перо, чернила, три API
Corel Grafigo демонстрирует самые продвинутые возможности платформы Tablet PC

Есть в Windows XP Tablet PC Edition и еще парочка программ, рассчитанных на перьевой ввод. К примеру, вполне ожидаемая Sticky Notes: традиционные желтые листочки для заметок, к которым добавляются звуковые фрагменты, -- по большому счету, ничего особенного.

Игра InkBall призвана не только помочь скоротать время владельцу Tablet PC, но и продемонстрировать новые возможности при создании развлекательных программ. Смысл ее в следующем: рисуя препятствия на пути катящихся шариков, их нужно загонять в правильные лунки. Несмотря на предельно простую концепцию, на сложных уровнях придется изрядно "потрудиться".

Вот, собственно, и все, что внешне отличает Windows XP Tablet PC Edition от Windows XP Professional. На первый взгляд -- весьма немного, однако необходимо понимать, что в данном случае речь идет не столько об ОС, сколько об общецелевой программно-аппаратной платформе.

...и со стороны

А раз так, то главной характеристикой нужно считать не наличие готового ПО в составе ОС, но простоту и удобство создания оригинальных приложений для сторонних разработчиков. Как уже говорилось, SDK и достаточно подробная документация доступны всем желающим -- Microsoft верна своим традициям. Да и собственные программисты не сидели сложа руки. И если уже упоминавшийся комплект развлекательных программ PowerToys for Windows XP Tablet PC Edition особой ценности не представляет (хотя бильярд на планшетном ПК выглядит "очень и очень"), то Office XP Pack for Tablet PC -- весьма принципиальный компонент (кстати, все это можно получить бесплатно на сайте компании).

Действительно, не будь этого дополнения, популярнейший комплект деловых приложений выглядел бы на Tablet PC совершенно бессмысленно: без использования "чернил", импорта информации из Windows Journal и пр. Конечно, Office XP Pack for Tablet PC, будучи "прицепным" модулем, отнюдь не идеален, однако все же он обеспечивает рукописный ввод в основных приложениях, воспринимая Ink как обычные OLE-объекты (поскольку для таких объектов автоматически генерируются графические представления, документы остаются читабельными и при переносе на другие ПК). Кстати, такие же возможности появятся и в других приложениях, поддерживающих OLE, к примеру в альтернативных офисных пакетах.

В Word также можно создавать рукописные комментарии, в Outlook -- от руки "строчить" послания, которые будут реально пересылаться в виде графических изображений, и обмениваться информацией с Windows Journal. Без сомнения, наиболее интересные функции появляются в PowerPoint -- к примеру, уже в режиме воспроизведения презентации пользователь сможет добавлять к слайдам комментарии и различные выделения с возможностью их последующего сохранения.

По-видимому, будущая версия Microsoft Office будет гораздо более Ink-ориентированной, и в особенности эта тенденция затронет новые приложения, вроде OneNote.

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

Наибольшую группу представляют различные графические приложения, многие из которых давно умеют работать с дигитайзерами. Большинство из них можно использовать as-is (хотя в некоторых случаях "потеряются" какие-то функции, вроде реакции на нажим пера) даже без доработки. Те, кто пытался работать с традиционными дигитайзерами, быстро оценят эргономичность и естественность подхода Tablet PC. Для первого знакомства вполне подойдет бесплатная пробная версия Alias SketchBook.

Гораздо интереснее приложения, специально разработанные для Tablet PC, -- хотя, конечно, никто не может запретить использовать их на обычных компьютерах, наибольшая функциональность обеспечивается только на планшетных. Хорошим примером служит Corel Grafigo. Фактически эта программа реализует все функции Windows Journal, однако не придерживается какой-либо "бумажной" парадигмы вроде блокнота и т. п. В большей мере она рассчитана на создание различных схем и диаграмм, поэтому в комплекте имеются соответствующие графические заготовки и инструменты. Интересно, что поддерживается не только распознавание рукописного текста, но и простейших геометрических фигур -- эллипсов, параллелограммов, треугольников (естественно, и их частных случаев вроде кругов и квадратов). Рабочим форматом является SVG, и Corel также распространяет специальную программу просмотра.

Второе наиболее естественное после рисования применение -- аннотирование, создание небольших заметок. Удобство и эффективность перьевого ввода хорошо видно уже на примере Office XP Pack for Tablet PC. Более специализированные приложения представляют различные календари, планировщики, записные книжки и пр. Одна из характерных программ, пришедшаяся по душе самому Биллу Гейтсу, -- FranklinCovey TabletPlanner -- в духе Windows Journal имитирует бумажный деловой блокнот-ежедневник. При работе с этой программой попросту забываешь о клавиатуре, даже в поле ввода ключевых слов для поиска можно писать от руки.

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

Заключение

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

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