CHM readers for the Pocket PC

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.

 

CHM readers for the Pocket PC.. 1

Peter Tewkesbury's CHMReader 2003 1.0. 1

Peter Tewkesbury's CHMReader.Net V2.0.14. 1

CHM eBook Reader for Pocket PC 2.4 by microOLAP Technologies Ltd. 2

FAST CHM Reader 1.0 by HAND Ltd. 2

CHM Reader 2.0 by Aroy Ltd. 2

Team One's Reader v3.0 Professional 3.0 by Team One Software. 2

Gowerpoint's uBook 0.9d. 2

Conclusions. 6

Example VGA/QVGA screenshots. 8

microOLAP, QVGA.. 9

microOLAP, VGA.. 10

CHMReader 2003 1.0, QVGA.. 12

CHMReader 2003 1.0, VGA.. 14

CHMReader.Net V2.0.14, QVGA.. 15

Aroy, VGA.. 17

Aroy, QVGA.. 18

Team One's Reader v3.0 Professional 3.0. 20

uBook 0.9d. 20

 

 

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.

 

Peter Tewkesbury's CHMReader 2003 1.0

 

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.

 

Peter Tewkesbury's CHMReader.Net V2.0.14

 

http://pjt.xanetuk.com/

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.

 

 

CHM eBook Reader for Pocket PC 2.4 by microOLAP Technologies Ltd

 

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.

 

FAST CHM Reader 1.0 by HAND Ltd.

 

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.

 

CHM Reader 2.0 by Aroy Ltd

 

http://www.pocketgear.com/software_detail.asp?id=5985

The same problems as with most readers. Isn't recommended.

 

Team One's Reader v3.0 Professional 3.0 by Team One Software  

 

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.

 

Gowerpoint's uBook 0.9d

 

http://www.gowerpoint.com

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.

 

Conclusions

 

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?

+

- (!)

+

+

+

+

 

Example VGA/QVGA screenshots

 

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.

 

microOLAP, QVGA

 

 

 

microOLAP, VGA

 

 

 

CHMReader 2003 1.0, QVGA

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

 

The usual scroll etc. test:

 

CHMReader 2003 1.0, VGA

 

 

CHMReader.Net V2.0.14, QVGA

 

 

Aroy, VGA

 

 

 

Aroy, QVGA

 

 

Team One's Reader v3.0 Professional 3.0

 

 

uBook 0.9d

 

With Sharp, Extra large fonts: