Author: Menneisyys at the Author: Werner 'Menneisyys' Ruotsalainen, member of
the Pocket PC magazine Board of Experts 2005, tech writer, PPCMag forum
moderator, frequent contributor to, say, PPCMag/FirstLoox/PPCT/Brighthand/PDAMania.hu
etc. forums
Last edited: 04.06.2005 21:06.
Peter Tewkesbury's CHMReader 2003 1.0
Peter Tewkesbury's CHMReader.Net V2.0.14
CHM eBook Reader for Pocket PC 2.4 by microOLAP
Technologies Ltd
FAST CHM Reader 1.0 by HAND Ltd.
Team One's Reader v3.0 Professional 3.0 by Team One
Software
Team One's Reader v3.0 Professional 3.0
Tons of electronic
books and help documents are released in the Compressed HTML (CHM) format.
Because the Pocket PC/Windows Mobile operating doesn't support it natively,
third-party, native CHM readers have to be used. (Decompiling CHM and
converting it to plain HTML isn't a good idea because, for example, most PPC-based
HTML readers can't really display for example <pre> text properly
indented, common in almost all technical documentation.)
In the following
roundup, I discuss all the available CHM reader solutions.
http://www.pocketgear.com/software_detail.asp?id=13281; http://www.codeproject.com/ce/chmreader.asp
A free reader, with
open source. Unfortunately, you get what you pay for - there is no reason in
using it. It doesn't excel in any area. Sometimes, with some specific
CHM's has problems with Unicode
characters (just displays a rectange instead of characters having char code
over 255) and doesn't display italic characters. It often has page opening
problems upon navigating from the given book's Contents view: sometimes it
displays the previous/upper chapter instead of the chosen one.
It is a far more
advanced, C# language version of Peter Tewkesbury's application introduced
above. Much better in almost every respect (has Index, searching capabilities,
follows in-page links etc.), and it's the only application that doesn't have
scrolling problems in forced VGA mode (its Options menu is pretty convoluted
then, but it doesn't contain anything you will want to set/toggle all the time
- both Fit to the screen and Text Size are accessible srtaight from the Tools
main menu). It's pretty slow at opening CHM files, and explicitly enabling
saving its decompressed/parsed temporary files into the file system doesn't
help much either at the next file opening.
All in all, it's a
very good solution, if you want a free CHM
reader (sources also included). It's only in the lack of bookmarking and
returning to the last saved position that it's much worse than the microOLAP
reader.
http://pocket-pc-ebook-reader.com/en/
; http://www.pocketgear.com/software_detail.asp?id=14751
Without doubt, the
best CHM reader. Works flawlessly on VGA machines in QVGA mode without pixel
doubling (unfortunately, the images are still pixel doubled), supports SE
fully, and even has a working (!) bookmarking mechanism.
Fortunately, the
latest version, 2.4, doesn't have a problem with font size setting, unlike
previous ones. [i]Display/Text Size[/i] is always settable. With version 2.3.1,
a lot of times the drop-down list was entirely cleaned up (especially after
using the true VGA mode) and CHM Reader has only occassionally shown the other
options:

This has greatly
reduced the usability of previous versions on VGA devices, especially with
books that require a lot of horizontal scrolling.
http://www.pocketgear.com/software_detail.asp?id=15687
; http://www.pocket.bgcredit.com/Products/fast_chm/fast_chm.htm
As with all the other
readers (excluding the microOLAP
one), it has problems in forced VGA mode.
May also have
compatibility problems: it was unable to open the test document for
screenshots. I, however, didn't disqualify it because of this because, in
general, FAST CHM Reader has been compatible with all the other CHM files I've
thrown it at. It doesn't have Index or any kind of bookmark capabilities. I
don't think it's worth its price.
http://www.pocketgear.com/software_detail.asp?id=5985
The same problems as
with most readers. Isn't recommended.
http://www.pocketgear.com/software_detail.asp?id=3444
25.00 US$; 960k
memory consumption. Couldn't navigate in the test CHM at all (see the
screenshot at the bottom of the article!); and, even if it could, it uses its
own, very bad renderer, far worse than that of PIE. Absolutely useless; this is
why I haven't even included its data in the conclusion table.
The only one (usable)
reader that uses its own text renderer. This means it's free of the problems of
PIE (e.g., the problem of the too wide tables or the lack of built-in
portrait/landscape rotation support).
Generic CHM support in uBook is very-very rudimentary: it doesn't even take you
to the starting page and has no Contents / Index. Of the several CHM e-books
I've thrown it at, it wasn't able to open the directory of some.
It has severe
problems with HTML's larger than 15-20kbytes. All of the tested large(r) HTML's
were only displayed partially: only inline tables were displayed, nothing else.
However, after you
find the main index file (in most cases named like <some prefix>_main.htm), you'll be able to step between pages
without problems because inner links work flawlessly.
Because its engine
doesn't depend on PIE to render stuff, it's able to work in Landscape without
explicit operating system-level tools/rotation. On WM2003 QVGA machines, this
works great. On WM2003SE VGA machines, however, in Landscape mode, it just
exists upon loading any in-CHM HTML. This means, for the time being, it can
only be used in Portrait on VGA machines.
Furthermore, as PIE
is generally tied to pixel doubling in QVGA mode (especially with images), no
other readers offers VGA (hi-res) image rendition in QVGA/forced VGA mode.
Actually, all the other CHM viewers need to be operated in native VGA mode to
be able to display pictures in high resolution. And, because they all depend on
PIE and its font sizes, this means that even with the largest font settings,
characters will be quite small in VGA mode (while you can supply any font size
for uBook) without using separate, advanced VGA hacks (e.g., ozVGA). So, you
will have to trade either high-resolution image rendering or easy readability.
Don't except the same
layout as in the original CHM file. For example, compare the two following
pictures ("To flag a new table of contents entry" in htmlhelp.chm):

The original for this
was as follows:

Interestingly, none
of the PIE-based readers were able to display this either. For example (other
readers produced exactly the same result; the Edit selection wasn't clickable):

All in all, it may be
a good choice if
-
you have
a QVGA machine, where the PIE-based readers would miserably fail at crunching
tables into the screen and / or you don't have any op. system-level tool (e.g.,
Nyditot Virtual Display, http://www.pocketgear.com/software_detail.asp?id=1284
) to change into Landscape view
-
you want
to display HTML help like the above one, where all the PIE-based readers fail
-
you can
put up with the lack of Index and the other CHM-specific goodies.
-
you don't
have large HTML's to display
For the time being,
because of the CHM incompatibilities, it's better to keep another CHM reader
around to read "problematic" chapters (or even books). Hopefully, all
the above-mentioned bugs will be ironed out in the future.
Without doubt, the
reader of microOLAP Technologies has proved to be by far the
best. For free, however, CHMReader.Net
V2.0.14 can also be a good choice. To read CHM files that can't be rendered
by PIE-based readers/have a lot of wide tables, uBook may be a great (and only) choice - this app a must for QVGA
users.
Table view:
|
|
uBook 0.9d |
Tewkesbury's CHMReader 2003 1.0 |
Tewkesbury's
CHMReader.Net V2.0.14 |
microOLAP |
HAND |
Aroy |
|
Price |
12$ |
Free |
Free |
14.95$ |
11.95$ |
9.95$ |
|
PIE-based engine? |
- (!) |
+ |
+ |
+ |
+ |
+ |
|
Memory; compulsory components in main memory |
857k/0k |
61k / 0k |
298k / 0k |
251k (+280k help
file)/ 0k |
176k/ 0k |
113k / 0k |
|
Find in a CHM file |
- |
- |
+ |
+ |
+ |
+ |
|
Bookmarks |
- |
- |
- |
+ (pretty limited
though - only a directory list of them is presented) |
- |
+ (even more limited
than in microOLAP -
doesn't scroll in-page to the location) |
|
Auto-load last document & go to last position |
+ |
- |
- |
+ |
- |
- |
|
Contents menu always accessible? |
-, there is not even Contents menu |
+, by pressing OK |
+, by pressing OK |
+ |
+ |
+, on top of the
screen |
|
Index? |
- |
- |
+ |
+ |
- |
+; only displayed
the first 3 of them |
|
Text/graphics pixel doubling in QVGA? |
-/- |
+/+ |
+/+ |
-/+ |
+/+ |
+/+ |
|
forced VGA? |
no point - no pixel
doubling by default |
- (works, but scrolling
problems) |
+; scrolling is OK |
no point - no text pixel
doubling by default and gfx are pixel doubled then too |
- (too many
problems: horizontal scrollbar is hidden & scrolling problems) |
- (too many
problems: scrolling problems etc) |
|
true VGA? |
same as in QVGA |
+ |
+ |
+ |
+ |
+ |
|
Faulty scroll in QVGA? |
- |
- |
- |
- |
- |
- |
|
Faulty scroll in forced VGA? |
no point - no pixel
doubling by default |
+ (!) |
- |
no point - no pixel
doubling by default |
+ (!) |
+ (!) |
|
Faulty scroll in VGA? |
no point - same as
QVGA |
- |
- |
- |
- |
- |
|
Works in landscape? |
on WM2003/ QVGA: +;
on VGA: - |
+ |
+ |
+ |
+ |
+ |
|
portrait/ landscape dynamic change |
+; furthermore,
built-in dynamic orientation change support |
- |
- |
+ |
- |
+ (except in forced
VGA) |
|
Speed |
OK |
sometimes pretty
slow |
very slow at
initial opening; after that, OK |
OK |
OK |
OK |
|
Full screen/taskbar hiding mode? |
+ |
- |
- |
- |
taskbar: +,
although, it must be manually re-set after a task switch |
taskbar: +; task
switching: OK |
|
Follows in-page links? |
+ |
- (!) |
+ |
+ |
+ |
+ |
Because all the
programs (not counting the totally useless Team One reader) use the PIE engine,
all the problems of PIE also apply. Without doubt, the inability to render
"wide" tables without horizontal scrolling is the most acute problem.
Unfortunately, any file containing any wide(r) table results in serious
problems while reading in QVGA mode, even in Landscape.
Furthermore, because
we have to resort to using the PIE controls, we can't use any sophisticated
annotation mechanism so common in all the other PPC-based book readers
(Mobipocket, iSilo, Microsoft Reader, uBook etc.). This is a big problem with any kind of
PIE-based book reading, indeed.
I've searched for a
file containing a table of at least 3 columns to present this. At last, I've
found a freely downloadable file, HelpDocs.zip,
on the page http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp
. Use "hhaxref.chm" from
inside, and go to the "HTML help
ActiveX Controls /Parameters / Button" section. I've, in most cases,
taken two series (both in VGA and in (forced VGA) QVGA) of two screenshots of
two, consecutive pages to show whether the tested app scrolls OK. Good
scrolling means that at least part of the last row of the previous screen can
still be visible on the next one.
I used the
"Largest" font size for all the VGA screenshots, while in QVGA, I
used the "Smallest". Note that even using the smallest font size and
using the PPC in Landscape, in QVGA, PIE wasn't able to crunch the table
horizontally into the available screen estate.
Nb. all the apps use
PIE's 5 different font sizes because they all use PIE's controls. I paid
special attention to include Courirer New text to see the support for it, as opposed to plain HTML viewers like uBook.
Please note that I
haven't taken a screenshot of the HAND Ltd program because it was unable to
open the test document.
I also haven't taken
screenshots of displaying images - beause the rendering engine is PIE behind
all (but one) the applications, it's only capable of either displaying all
images at their full size or horizontally crunched to the screen; there're no
other zoom grades, unlike in Mobipocket or the latest version of MS Reader. All
the tested applications are capable of toggling between the two display modes,
so you will be able to look at all the images at their original size, if needed,
by temporarily (then, you will need to switch back to Fit to screen mode, so
that you can read the text further without horizontal scrolling) enabling
full-size view.




The starting row
sometimes is not visible (ONLY in QVGA; in VGA, everything is OK):

The usual scroll etc.
test: