Прежде, чем рассказать о программе ReadThemAll, несколько слов о "читалках" для Palm. Программы чтения для Palm обязаны своим существованием нескольким особенностям Palm и его встроенных приложений. Во-первых, база данных на пальм - это не файл в общем понимании, поэтому требуется преобразование текста и во-вторых, это ограничение встроенной программы MemoPad на объем одной записи. В свое время, по благоприятному стечению обстоятельств, появился формат, который де-факто был признан стандартным форматом документов для Palm. Кажется изначально он был разработан фирмой Aportis, но я могу ошибаться. Несмотря на то, что этот формат поддерживает определенное сжатие файлов, он по своему устройству очень прост. Вполне возможно, что это-то помогло ему завоевать такую популярность. Мир не стоит на месте и потребность пользователей в просмотре файлов с усложненным оформалением и форматированием, таких как HTML или Microsoft Word, а также потребность в их редактировании, заставило разработчиков придумывать собственные форматы, но тем не менее стандарт де-факто означает, что Doc файл поддерживают практически все программы. Несмотря на прогресс в компьютерной технике, процесс чтения электронных книг не сильно отличается от чтения бумажной книги - та же страница, то же листание, но с помощью кнопок. Чтобы внести сюда что-то новое, разработчики вносят в программы возможность автоматического чтения или листания как кому удобно это называть. Самый очевидный способ, используемый в большинстве программ - это авто-скроллинг. С определенной периодичностью текст сдвигается на определенное число точек вверх, добавляя снизу строчки по необходимости. Кстати, не сочтите за серьезное высказывание, но бумажные книги вполне можно было бы тоже выпускать также, в рулонах, а потребитель имел бы две бобины, к одной из которых был бы приделан моторчик с регулировкой скорости. Когда я впервые попробовал включить авто-скролинг в известной программе CSpotRun, я заметил две неприятные особенности, позже подтвержденные многими людьми. Первое, связанное с "железом" - не знаю, как на более поздних моделях, но на моем Palm IIIxe текст в процессе движения дрожит, сильно утомляя тем самым глаза. Второе связано с особенностью самого чтения. Когда читаешь, используя этот способ, глаза вынуждены вместе в горизонтальным движением, связанным со чтением строчки, двигаться еще и вместе с текстом вверх, а по прочтении этой строчки переходить на заметно большее расстояние вниз,. к следующей строчке. Возможно, к этому можно привыкнуть, но я не смог и отказался от такого способа чтения практически на следующий день. Были и другие попытки реализовать автоматическое чтение. Например, программа PanaRead. Там основная идея в том, что с определенной скоростью меняются слова, напечатанные крупным шрифтом. Несмотря на разные улучшения, например замедление показа при встрече точки или конца абзаца, способ нуждается в улучшении и я бы не назвал его слишком комфортным. Кроме того, крупный шрифт был только латинский и на вопрос к разработчику о возможности добавления других шрифтов, он ответил, что таковая отсутствует. Кстати, тогда же он упомянул, что программист на этом проекте по его словам был русский. Поэтому для меня тема авто-скрола была закрыта до момента, когда обсуждая потенциальные способы скроллинга с коллегой, не возникла следующая идея. С примерной скоростью чтения выводим последовательно строчки текста сверху вниз. Достигнув последней строчки внизу экрана, продолжаем вывод сверху. Но при этом читать нужно на несколько строчек раньше. Для этого пользователю дается ориентир - маленький уголок, двигающийся справа от текста. Все это вместе дает неожиданный эффект. Чтение очень похоже на обычное, когда строчки расположены последовательно на странице, но в тот момент, когда пользователь должен в обычном случае нажать кнопку для показа следующей страницы и перевести взгляд вверх, он должен просто перевести взгляд вверх. Чтобы разграничить новые и старые строчки в месте их разграничения показывается пунктирная линия. Если в ней нет особой необходимости, то ее можно отключить, как впрочем и указатель. Отключение позволяет пользователю выбрать собственный стиль чтения. В процессе разработки, когда уже более или менее можно было открыть с помощью программы файлы, я прочел несколько крупных книг и пришел к некоторым наблюдениям. Во-первых в процессе продолжительного чтения глаз привыкает и скорость методично стремится возрасти. Помню, что в конце какого-то романа она достигла вообще каких-то заоблачных значений, которых я уже почему-то достичь не могу. Но роман был очень интересный и возможно это связано именно с этим. Во-вторых, маленький экран Пальма, так многими возможно битый-перебитый за то небольшое количество текста, влезающего на него, в данном случае выигрывает своим размером. Связано это с тем, что при обычном чтении строчки довольно длинны и высота страницы - тоже. Поэтому глазу приходится преодолевать довольно большие расстояния. Здесь же и в том и другом случае приходится делать гораздо меньшие движения глаз, но разве что несколько чаще. Здесь еще примечательна одна вещь. Если выбрать самый крупный шрифт, то строчка, состоящая теперь для русского языка в среднем из двух слов может быть прочитана вообще без горизонтального движения глаз, что позволяет опять-таки значительно увеличить скорость. Несколько слов об интерфейсе и управлении программой. Очевидно, что управление в "читалке" должно быть двойным - как с участием стилуса, так и только с помощью кнопок. Изначально я также хотел отказаться от использования четырех кнопок запуска, которые, по моему глубокому убеждению, всегда должны выполнять свои основные функции. Поэтому результатом стал несколько необычный способ управления, который не всем пришелся по душе, особенно нынешним пользователям CSpotRun-а. Есть всплывающая панель, которая показывает текущую информацию - позицию в процентах, скорость и текущее время и кроме того сигнализирует своим появлением переход в режим "пауза". Из режима чтения в режим паузы переход осуществляется нажатием клавиши "вверх". Дальнейшее нажатие "вверх" уменьшает скорость чтения, оставаясь в режиме "пауза". Нажатие "вниз" возвращает в режим "чтения" и дальнейшее нажатие "вниз" увеличивает скорость чтения без индикации. Такой выбор операций связан с тем, что мне показалось логичным сделать полную остановку, когда пользователь не успевает и не останавливать чтения, когда есть определенный запас и скорость можно увеличивать. Кроме изложенного клавишного управления, есть остальные возможности, начиная с меню, заканичая нажатием стилуса. Для пользователей Sony Clie предусмотрено управление с помощью Jog-Dial. Из возможностей, представленных в других "читалках", я пока реализовал только поиск. В принципе, многие хотели бы видеть здесь и закладки и более удобную навигацию, особенно когда документы очень большие и шаг в один процент сдвигает на слишком большое расстояние. Очень было бы к месту добавить открытие документов на внешних носителях, если можно так сказать, MemoryStick например. Кроме того, приходят письма, предлагающие усовершенствовать собственно сам скроллинг или немного видоизменить его. Всем этим предложениям я очень рад, так как думаю, что вместе мы сделать программу еще лучше. Единственное, большинство предложений противоречат просьбам сохранять размер программы небольшим. Программа называется ReadThemAll (Прочти их все), хотя были и другие варианты, возможно более удачные. Когда идея пришла в голову, я еще не имел опыта разработки для Palm. Поэтому послал предложение сначала автору свободно-доступной программы CSpotRun, а затем по адресу разработчиков iSilo. Отсутствие ответа в первом случае и слишком стандартный во втором, заставило меня освоить разработку под Palm. ReadThemAll разработана с помощью falch.net версии 2.1, которая тогда была бесплатна только для некоммерческого использования, нынешняя версия 2.5 - 30-дневный trial. Кстати, пару слов о ней, это надстройка над prc-tools(gcc, pilrc), внешне и функционально очень напоминающая Microsoft Developer Studio (хотя сама она написана на мной любимом Delphi). Лично мне она мне понравилась гораздо больше, чем CodeWarrior. В заключение скажу еще, что несмотря на простоту, программы чтения для Palm могут претендовать на вхождение в пятерку самых используемых обычным пользователем, так как по своему опыту могу сказать, что после дикого восторга первых недель обладания этим замечательным устройством, когда я ставил на него практически все подряд и думал, что сотворю с помощью него что-то прекрасное и замечательное, в конце концов пришел в основном к потреблению информации, нежели ее созданию. А книги - это не только источник информации, но и пища для души, так что читайте больше и несмотря на несметное количество книг, ПрочитайтеИхВсе! (ReadThemAll) http://www.palmq.ru URL этой статьи: http://www.palmq.ru/sections.php?op=viewarticle&artid=40 |