Олег Лебедев

Просмотр документов Microsoft Office с помощью органайзеров на базе PalmOS - это в известной мере святотатство, нарушение изначальной концепции, заложенной в конструкцию этих органайзеров. Как известно, создатели Palm никогда не предполагали, что созданный ими "подсоединяемый органайзер" будет выступать как средство просмотра документов, например Microsoft Word. Немного углубившись в историю, можно даже сделать и такой вывод: они всячески стремились подчеркнуть, что созданный ими суперпортативный ПК - это в первую очередь органайзер, и соответственно хранить в его памяти документы текстового процессора совершенно незачем.

Идеология построения подсистемы синхронизации PalmOS (известной под торговой маркой HotSync) не предполагает работу с файлами документов - файловой системы как таковой в Palm вообще нет, ее заменяет "структурированное хранилище", определяемое с точки зрения разработчика (и в терминологии ОС) как "базы данных", с записями в которых и работает программа.

Здесь снова уместен экскурс в историю: система "баз данных" в Palm появилась потому, что объем памяти у первых моделей Palm был чрезвычайно ограничен (128-512 Кбайт), объем "кучи", доступной в ОЗУ прикладной программе, составлял 32 байт, и традиционная схема работы с памятью хранения ("создать буфер в куче, скопировать данные") не работала. Создатели платформы решили проблему с помощью идеи "редактирования по месту", когда программа работает с информацией, которая содержится в "памяти хранения" (организованной в БД), напрямую, без промежуточных буферов.

Из этой же схемы вытекает простой и логичный способ обмена информацией между Palm и ПК - в заголовке записи БД предусматривается несколько флагов, на ПК хранится копия БД, программа синхронизации сравнивает флаги и при необходимости обновляет содержимое баз данных. Результат - существует актуальная копия БД и на ПК, и на Palm. Как можно догадаться, файлам с документами в этой процедуре места нет.

Идея красивая, однако в реальной жизни малоприменимая, поскольку не обеспечивает гибкости. Современные же модели Palm (первой из "современных" можно считать Palm III) и уж тем более клонов намного мощнее предшественников (в принципе даже схему управления памятью сегодня можно считать некоторым тормозом на пути развития этой платформы); потребности пользователей, особенно корпоративных, весьма многообразны; Palm как таковой - весьма удобное и практичное изделие, а просматривать документы Microsoft Office (да и любого офисного пакета) зачастую бывает нужно (например, когда Palm используется для работы с электронной корреспонденцией). В результате сегодня создано несколько программ, позволяющих решить эту проблему. Мы рассмотрим только те, которые позволяют работать с документами Microsoft Office (это могут быть практически любые прикладные пакеты, совместимые с Microsoft Office по формату файлов).

Заметим, что кроме просто просмотра документов Word многие из пакетов такого рода предоставляют возможность вносить правку в документы Office, при синхронизации обновляя исходный документ, размещенный на ПК. Необходимо заметить, что в силу особенностей организации памяти Palm перенос на них файлов данных представляет собой не столь тривиальный процесс, как можно было бы ожидать, и не ограничивается простым копированием информации в память устройства. Жизненно важный элемент - преобразование файла в формат, который "понимает" Palm, и преобразование документов Microsoft Office в формат, который воспринимает программа просмотра на Palm.

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

При этом программа-монитор, которая управляет процессом синхронизации, не имеет ни малейшего представления о том, что именно происходит с данными. Она предоставляет только основные функции соединения и пересылки информации, оставляя "прикладную логику" динамическим библиотекам (dll) синхронизации, которые в терминологии PalmOS называются conduits (в России прижилось название, получившееся из прямой транслитерации английского термина - "кондуиты"). Для каждой пары программ - на ПК и на Palm - имеется своя библиотека синхронизации, причем идеология HotSync Manager предполагает, что можно создавать библиотеки синхронизации для программ независимых разработчиков (долгое время эта возможность была доступна только пользователям Windows-версии HotSync, однако несколько лет назад Palm реализовал ее и для пользователей MacOS). Для этого используется пакет Conduits Development Kit (он доступен в Интернете по адресу http://www.palmos.com). В процессе синхронизации подсистема HotSync последовательно запускает библиотеки. В целом процедура примерно такова - когда пользователь нажимает кнопку HotSync, размещенную на подставке-доке Palm, запускается программа HotSync, и на коммуникационный порт (когда-то только последовательный, но сегодня это могут быть USB- и ИК-порты, запросы могут перенаправляться в стек TCP/IP, в перспективе возможны Bluetooth, GSM и многое другое) выдаются "пакеты" специального формата ("пакеты пробуждения"). HotSync Manager, работающий на ПК и в пассивном состоянии постоянно контролирующий заданный порт, начинает процесс синхронизации, считывая из реестра Windows (или из своего файла конфигурации на MacOS) информацию об установленных библиотеках синхронизации, создает список БД, которые имеются на ПК, определяет, какие из них имеют библиотеки синхронизации (поскольку подобные библиотеки - сугубо дополнительная особенность, прикладные программы для Palm совсем не обязательно должны синхронизироваться с ПК). БД, для которых не предусматривается библиотеки синхронизации, обычно обрабатываются системной библиотекой, которая, по сути, просто копирует их в каталог с именем [диск, где установлен Palm Desktop]:\[каталог Palm Desktop]\[имя пользователя Palm]\BackUp.

На практике это дает возможность интегрировать Palm в качестве суперпортативных терминалов в корпоративную информационную систему. Кроме того, пакет Documents To Go, например, позволяет извлекать "прикрепленные" документы из электронной почты.

На сегодня существует несколько прикладных пакетов, однако русскоязычные покупатели могут выбирать из двух, Documents To Go (он входит в комплект поставки новейшей модели Palm m50x) или QuickOffice (это наиболее комплексная программа). Остальные исследованные нами программы (например, исключительно мощный текстовый процессор WordSmith) на момент подготовки обзора не позволяли работать с кириллицей ни в каком виде (у рассматриваемых пакетов с этим тоже не все гладко, однако там эта проблема поддается решению). Кроме того, в наш обзор не попал пакет MegaDoc, разработанный российской компанией Megasoft 2000 (Ульяновск), поскольку к моменту подготовки материала права на эту программу были проданы компании iambic (http://www.iambic.com), и вскоре ожидается новая версия.

Documents To Go

Эта программа была одним из первых пакетов, которые позволяли работать с документами Microsoft Office (и множеством других) на Palm. Первые версии пакета предназначались исключительно для просмотра документов; в новейших появились, пусть и весьма ограниченные, средства редактирования. Сегодня существует две редакции пакета Documents To Go (http://www.dataviz.com) - "стандартная", которая позволяет только просматривать информацию, и "профессиональная", пользователи которой могут редактировать документы. Мы исследовали версию Documents To Go Pro 3.0.

В пакет входит несколько программ - Documents To Go (оболочка пакета), Word View (программа просмотра файлов Microsoft Word), Word To Go (редактор файлов Microsoft Word), SheetView (для просмотра файлов Microsoft Excel) и Sheet To Go (для редактирования файлов Microsoft Excel). Кроме того, пользователи имеют возможность установить несколько "расширений" программы, таких как PDF To Go (средство просмотра файлов PDF) и DataViz Mail (позволяет сохранять прикрепленные документы при синхронизации). Функциональные возможности пакета достаточно широки - основные средства редактирования и оформления (полужирный, курсив, подчеркивание, шрифты разного размера и разные сочетания гарнитур), базовые функции работы с документами ("создать", "сохранить, "сохранить как"), поиск (причем предусматривается возможность искать информацию в содержимом документов с помощью функции "глобального поиска" Palm) и т.п. Пакет совместим с Word 95/97/2000, WordPerfect 6/7/8/9, Word Pro 96/97/98/Millennium, Excel 95/97/2000, Quattro Pro 1/5/6/7/8, Lotus 1-2-3 97/98/Millennium.

Вновь добавленный файл преобразуется в формат, который воспринимает Palm-версия программы просмотра. В процессе синхронизации файл переносится на Palm, где с ним можно работать. Предусматриваются средства обмена документами между пользователями Palm - при передаче документа по ИК-порту пользователь может "прицепить" к нему программу просмотра (единственное ограничение - пользователь, у которого не установлен пакет, естественно, не сможет синхронизировать "принятый" документ).

В процессе испытаний в Palm IIIс был перенесен документ Microsoft Excel объемом 952 Кбайт (20 "листов") и документ Microsoft Word размером в 75 Кбайт. После преобразования они занимали соответственно 638 и 48 Кбайт.

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

Пакет Documents To Go представляет ценность в большей степени как подсистема для работы с "прикрепленными" файлами (например, если компания организует постоянную рассылку прейскурантов в формате Microsoft Excel своим торговым представителям), нежели средство накопления и обработки корпоративной информации.

QuickOffice

Пакет OuickOffice состоит из двух программ: текстового редактора QuickWord и редактора электронных таблиц QuickSheet. Эти программы можно приобрести по отдельности, а можно в общем пакете (который и называется QuickOffice). В отличие от пакета Documents To Go, программы этого пакета изначально предназначались для редактирования документов. В каком-то смысле его история и началась с программы QuickSheet, к которой позднее была добавлена QuickWord (она основана на текстовом процессоре для Palm под названием SmartDoc, который приобрела компания -- разработчик пакета Cutting Edge Software, Inc, http://www.cesinc.com).

Функциональные возможности программ предполагают, что они будут использоваться прежде всего для редактирования, а не для оформления, что особенно заметно при работе с программой QuickWord. Фактически в этом пакете использован достаточно оригинальный (для мира Palm) подход к решению задачи преобразования форматов. После установки пакета в меню Microsoft Word и Excel появляется пункт QuickWord (QuickSheet), и содержащиеся в нем команды позволяют сохранить документ, с которым работает пользователь, в формате QuickOffice. С одной стороны, это заметно удобнее, нежели подход, принятый в Documents To Go, когда пользователь вынужден добавлять свои рабочие документы в "очередь документов" с помощью диалога программы; с другой - это означает, что для работы придется устанавливать Microsoft Office, поскольку этот пакет используется и для преобразования документов. Побочный эффект - отсутствие каких-либо проблем при работе с кириллицей. Возможности оформления текста в QuickWord минимальны, отсутствует даже возможность выделения полужирным шрифтом или курсивом, а при синхронизации существующие выделения теряются полностью (буллиты заменяются звездочками, таблицы "разворачиваются" и т. п.). Это тем более поразительно на фоне обширных возможностей программы QuickSheet, где пользователь может выделять текст в ячейках таблиц и полужирным, и курсивом, и многими другими способами.

Если сравнивать эту программу с пакетом Documents To Go, то стоит отметить, что QuickOffice практически исключает возможность работы с документами в формате Microsoft Office, которые пересылались по электронной почте (точнее, принципиально такая возможность существует, однако опять-таки требуется специальная программа-конвертор). Входящая в комплект программа QuickSheet заметно удобнее, чем ее аналог из пакета Documents To Go, однако ее невозможно пересылать (с помощью инфракрасной связи) ни вместе с документом, ни отдельно от него. Этот пакет интересен как средство для работы с электронными таблицами, которые могут, например, содержать шаблоны корпоративных документов (если предполагается, что сотрудник будут заполнять их вдали от своих рабочих мест, а затем передавать в систему документооборота).