home

MoBook

Nokia Developer's suite emulator with MoBook started

This is mobile book reader, program (MIDlet) used for reading books (simple text files) on mobile devices. It is written using J2ME with Sun J2ME Wireless Toolkit. It can be used on any device supporting MIDP 1.0.

You can read any size of file with it, however on my old Nokia 6610 there was a limit of 64 KB on size of MIDlet jar file my phone could use. Within MIDlet of that size fits around 120 KB of uncompressed text file. If you have larger file, you can split it easily with MoBookPacker program which will show you all text you can fit within selected size limit and you choose place where you want to split file split it before packing (and probably name them sequentialy like: "myBook1", "myBook2",..).

To create it you need to have MoBookPacker program which is used for packing text files with MoBook. MoBookPacker is java program (written using J2SDK 1.4.2 so you'll need new java runtime environment to use it. Simple usage instructions are included in zipped program file. MoBookPackerWin (deprecated) is same application rewritten as MS .NET application for win32 platform. File 'ICSharpCode.SharpZipLib.dll' have to be in same folder as 'MoBookPacker.exe' for that application to work. This file is incuded in zipped download file and is developed by SharpDevelop development team.

It is freeware program so you can use it freely on any number of devices and copy and share it as much as you wish, however if you use it in your product you have to mention it in documentation.

From version 1.1 MoBook, MoBookPacker and MoBookPackerWin are licenced under Apache License version 2.0 and source code is made available below. License is included in zipped program and source files.

DOWNLOAD:
MoBookPacker 3.2 (~41kb)
sources of MoBook 3.2 and MoBookPacker 3.2 (~73kb)
old versions

SPECIFICATIONS:


HISTORY:


3.2 (2012-02-01):
MoBookPacker & MoBook (Java version):
Fixed bug with wrong jar file size in jad file.
Fixed bug with error in midlet when book name contains comma character.

3.1 (2010-11-15):
MoBookPacker & MoBook (Java version):
Pound sign '*' handling of light changed from light on/off to light level (contrast). Now there are 0-9 light levels where 0 means screen turned off and 9 maximum contrast (black & white) while levels between uses gray instead of white. SE phone keys on side of device (side Up/Down) make contrast stronger / weaker.

3.0 (2010-03-09):
MoBookPacker & MoBook (Java version):
Removed application screensaver clock drawing because it caused screen to be lighten up every minute even when mobook is minimised.

2.9 (2010-02-22):
MoBookPacker & MoBook (Java version):
Option to change size of cached character stack held in memory. Before it was 4096 characters and was not possible to change it (this cache enables reading of big books on devices with small amount of memory). Now it is set to 16384 characters by default because devices have more memory and bigger screens and it enables to faster browse back through a book.

2.8 (2010-01-29):
MoBookPacker (Java version):
Option to split midlet jar files was ignored.

2.7 (2010-01-14):
MoBookPacker (Java version):
In case encoding is used book size is set from number of characters in book (before number of bytes (size of file) was used which could caused MoBook goto function to try to jump after the end of book with UTF-8 encoding).

2.6 (2009-10-14):
MoBookPacker (Java version):
Autosave changed and fixed packer (didn't write autosave and encoding options in jar, only in jad file).

2.5 (2009-10-11):
MoBookPacker (Java version):
Added autosave option (configurable property) to autosave book to avoid loosing current book position and other set properties (light on/off, size of text,..) in case of unexpected turning off of mobile device.

2.4 (2009-09-23):
MoBookPacker (Java version):
Default is set to not split jar files. Creation of jad file is now optional (default is false). Application name (MIDlet-1) is set to book file name without suffix.

2.3 (2009-07-20):
MoBookPackerWin:
Not supported any more.
MoBookPacker (Java version):
Added possibility to create more than one book by using *.suffix (/path/*.txt) in book txt file selection field.

2.2 (2006-10-29):
MoBookPackerWin:
Fixed bug in which caused that cover file selection dialog is shown twice.
Added check that cover file is *.png file.
MoBookPacker (Java version):
Fixed bug which caused error message dialog with message that cover file path is not correct although cover file was properly selected.

2.1 (2006-10-26):
MoBook:
Added bookmarks. This feature is available from goto panel.

2.0 (2006-10-25):
MoBook:
Fixed bug with not working in non-Nokia MIDP1.0.

1.9 (2006-10-25):
MoBook:
Added display of canvas used in about dialog.
Set universal display to full screen mode (used by MIDP2.0).
Removed console output.

1.8 (2006-10-24):
MoBook:
Added recognizing of "cursor" buttons on universal Canvas (available in all types of mobile phones).

1.7 (2006-10-22):
MoBook:
Fixed bug which caused that up to last 255 characters in book were not displayed.
Fixed problem with non-dismissible progres dialog.
MoBookPacker:
Fixed problem with Java version of MoBookPacker on Linux (file path separator).

1.6 (2006-05-27):
MoBook:
Fixed some problems with skipping large portions of book which occured with large books on mobile phone.

1.5 (2006-03-22):
MoBook:
Fixed bug which could cause MoBook to think that book is finnished before end (happened with UTF-8 encoding, probably could happen with default encoding).
Changed to enable usage of Nokia UI extensions by default and fallback to universal MIDP1.0 version if this doesn't succeed.
Added "device encoding" display at end of About dialog.
MoBookPacker(Win):
Added optional setting of encoding used for book to support non-ascii characters.
Removed "Create Nokia specific MIDlet". Now MoBook tries to use this by default (this includes turning light on/off ('*') and usage of 'cursor' keys) and if mobile device doesn't support it it uses plain J2ME version. This adds ~0.5KB to MoBook but enables that same book can be used on different versions of phone. (It seems that Nokia J2ME extensions are available also on some non-Nokia phones, tested on Sony Ericsson K750i)

1.4 (2005-11-27):
MoBookPacker(Win):
New version of MoBookPacker. Added automatic splitting of text file according to settings. Windows version now requires MS .NET 1.1 installed, doesn't require separate MoBook.jar and MoBook.jad files but requires ICSharpCode.SharpZipLib.dll file.

1.2 (2005-05-02):
MoBook:
Fixed bug which caused problem in goto dialog after restarting application with "goto mode" used.

1.1 (2005-04-18):
MoBook:
Reorganized and commented code. Changed code for turning of pages (increased speed, simplified). Added application icon.
Fixed bug which caused some extra newlines which could happen sometimes when we start turning pages backward. Fixed bug which caused some extra text when we started turning pages backward after we have came to the end of book.
MoBookPacker(Win):
New version of MoBook. "Max 1 blank line" and "Skip single new line chars" unselected by default.

1.0 (2005-03-30):
MoBookPacker:
Fixed bug which caused that jad and jar files were not created when we set book name manually by entering value in "Midlet (book) name:".

0.9 (2005-03-27):
MoBook:
Rebuild with some debugging info removed to reduce size (and enable larger book size).

0.8 (2005-03-13):
MoBook:
Added show clock / show cover on button 9 press.
Font size for clock (screensaver and button 9) set to maximum font to improve readability.
MoBookPacker(Win):
Added cover image setting.

0.7 (2004-06-16):
MoBook:
In last version introduced was bug which caused backward turning of pages to fail to repaginate every line correctly, fixed.
Now we can turn pages backward after we have passed the end of book.

0.6 (2004-05-16):
MoBook:
Fixed bug with fixed screen width to 128 pixels.
Turning pages speed increased.
MoBookPacker(Win):
Setting book name is no longer obligatory, when it is not set text file name (without suffix) will be used as book name.


java.net Member Button: 90px wide