Мобильная библиотека


Что это такое и зачем нужно?

Электронные книги становятся всё более и более популярными, хотя их достоинства (наличие быстрого поиска, компактность...) пока не могут перевесить недостатков - читать "с листа" и удобнее и "аппетитнее". Но вот беда - книга или журнал под рукой есть не всегда, а ситуаций, когда мы вынуждены чего-то ждать, к сожалению, в современной жизни достаточно много - очереди, пробки, ... Мобильный телефон, наверное, - одно из самых малоприспособленных для чтения книг устройств: экранчик маленький, памяти мало, подсветка быстро сажает аккумулятор. Но у него есть одно достоинство, делающее мобильник гораздо более привлекательным для чтения книжек, чем КПК, нотебуки, специализированные e-bookи и т.д. Дело в том, что все эти устройства мы таскаем с собой далеко не всегда. Да, если Вы едете, например, в автосервис и знаете, что парочку часов придётся ждать, пока сделают ТО Вашей машине, можно к этому соотвествующе подготовиться - взять нотебук, например(а ещё лучше - обычную книжку). Но если вы идёте на встречу с другом, а он, по каким-то причинам, задерживается, то, с большой вероятностью, (если вы не фанат всяких гаджетов), при себе из всех доступных средств саморазвлечения у вас окажется лишь мобильный телефон. Уж к необходимости таскать мобильник за собой повсюду мы более или менее привыкли.

Чем мобильник может помочь скрасить ожидание? Первое что приходит на ум - это игры. Никто не спорит - проверенный и эффективный способ убить время. Но если гоняние мячика (или машинки) по экрану не вызывает у вас особого энтузазизма, можно попробовать найти занятие поинтеллектуальней. Например, воспользоваться GRPSом и полазить по сети. Занятие, несомненно, хорошее. Но есть два "но" - качество связи у наших операторов пока не очень, а в местах скопления большого количества телефоноговорящих людей (типа магазина Ашан) для того, чтобы выудить что-то из паутины, надо обладать изрядной выдержкой и терпением. К тому же, надолго этого занятия явно не хватит - ну посмотрели новости, ну посетили пару любимых сайтов, а дальше?.. Ещё одно развлечение - FM радио (у счастливых его обладателей) - архиполезнейшая штучка: послушать любимую музыку или передачу всегда приятно. Но это занятие в большей степени фоновое - слушая радио, мы, обычно, занимаемся кучей других полезных дел.

И вот тут пора вспомнить что мы (были, есть и будем есть) - самая читающая страна в мире. Даёшь литературу! Вопрос как её дать.

Как ни странно, маленький размер экрана мобильника (типичное разрешение 128 на 128) позволяет отобразить не так уж мало информации. Соотвествующим образом подобрав фонт, переформатировав текст и расставив переносы, можно на один экран уместить почти целый книжный абзац. То есть читать можно. Вопрос второй - где взять что читать. Есть множество ресурсов с электроннымим книгами - легальных и не очень. Самый известный, например, библиотека Машкова lib.ru, где собранно огромное колличество книжек, авторы которых не возражют против их бесплатного распространения. Соотвественно, если у вас на телефоне есть нормальный HTML броузер, Вы можете просто зайти на этот сайт, открыть понравившуюся книжку и читать сколько душе угодно. Но есть две маааленькие проблемки: во-первых, полноценный HTML броузер есть далеко не на каждом телефоне, а качать по WAPу Вы разоритесь (у MTC мегабайт закаченный по WAPу обойдётся Вам в $8, с учётом того, что это размер не самой большой книжки - удовольсвие получается то ещё), ну, а во-вторых, то о чём мы уже писали - надёжная и быстрая GRPS связь есть далеко не всегда и не везде (а по закону Мерфи её не будет именно тогда, когда Вам она понадобится). Что делать? Запастись книжками впрок.

Краткое описание MobiBook

Вот мы уже почти добрались до того, что собственно есть MobiBook. Большинство современных телефонов поддерживают Яву (язык программирования, а не кофе, последнее не перенесёт почти ни один телефон). Это очень здорово - можно написать программку (называющуюся, кстати, мидлетом), которая, теоретически, будет работать на всех телефонах (Нокиях, Сименсах, Самсунгах, Моторолах, и.т.д.). Правда замечательный слоган "написано один раз - работает всюду" только звучит хорошо, а в реальной жизни всё не так уж здорово. Во-первых, у различных производителей телефонов (и даже у разных их моделей) есть всевозможные ограничения на эти самые мидлеты - на их максимальный размер, занимаемую память и т.д., причём эти ограничения достаточно часто бывают очень жесткими и не зависят от количества имеющейся памяти на самом телефоне. Например, на популярной сейчас трубке Nokia 6230 размер мидлета ограничен 128кб, размер памяти, занимаемой приложением, - 512кб, а в сумме мидлеты не могут занимать больше 3Мб. Это при том, что в телефоне 16Mb оперативной памяти и ещё 32Mb на карточке. Вторая проблема связана с тем, что стандарт Явы для мобильных телефонов (MIDP) предоставляет только самые базовые возможности и позволяет делать с телефоном далеко не все - например, не позволяет управлять подсветкой или опросить состояние аккумулятора. Поэтому большинство производителей предлагают собственные расширения MIDP, но воспользовавшись ими придётся забыть о "работает всюду" и выпускать специализированные версии мидлетов для каждой платформы. Например, на Сименсах есть нормальная файловая система и книжки можно просто закачивать как файлы, но вот беда - на Нокии ничего подобного нет.

Итак MobiBook - это читалка книжек для мобильников, написанная на Java и работающая на любом телефоне с поддержкой Java (MIDP 1.0 или MIDP 2.0). К сожалению MIDP 1.0 не предоставляет стандартного способа использовать полноэкранный режим (т.е. чтобы текст занимал весь экран). В версии MobiBook для MIDP 1.0 для достижения этого эффекта используется Nokia специфичный код. На других телефонах полноэкранный режим может не работать - внизу экрана оставанется пустая полоса (правда некоторые MIDP 1.0 реализации Java в случае отсутствия команд на экране не отводят для них место). Книжка включается в сам мидлет (как файл ресурса). При этом, так как мидлеты сжимаются архиватором, мы получаем экономию места без необходимости реализовывать собственный распаковщик. Книжка должна быть в виде обычного текстового файла (если исходный файл был в формате HTML, то все таги оттуда нужно удалить). В MobiBook имеется простое средство изготовления своей книжки - надо просто указать имя книги и путь к файлу с её содержимым. После этого, получившийся мидлет можно загрузить в телефон стандартным способом. Как? См. описание своего телефона. Прочитав книжку, её можно удалить, после чего приготовить и загрузить новую.

Итак, загружая мидлет с книжкой на свой телефон, Вы фактически загружаете две вещи - саму читалку (оболочку) и непосредственно книжку. Оболочка сама по себе занимает порядка 20кб. Соотвественно, всё остальное приходится на заархивированный текст книги. С одной стороны это выглядит довольно расточительным - зачем одну и ту же программу загружать несколько раз в составе различных мидлетов. С другой стороны - это единственный универсальный и самый удобный способ, который будет работать на всех телефонах (ес-но, если размер книжки вписывается в ограничение на максимальный размер мидлета).

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

Подробное описание MobiBook

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