IDPFEarlier we looked at the various files that make up an epub, as well as the structure of those files. Now let’s take a look at how to read an epub. All of these methods are in the early stages of development, so I would urge patience for us standards-boosters.

Adobe Digital Editions and FBReader are stand-alone programs, and the third, OpenBerg Lector, is a Firefox plug-in. I could not get a fourth program, OSoft’s dotReader, to open an epub, despite claims that it supports the format—are plug-ins or native support on the way?

No dedicated e-book devices can currently read epub. But the Sony PRS 505 is expected to run a version of Adobe Digital Editions soon, and Bookeen says its Cybook Gen3 will support epub at some point. The makers of the eBookwise 1150 are also supposed to be working on a new E Ink device supporting epub, but I don’t know anything concrete at this time.

I tested the three epub capable programs by way of sample epub files that I downloaded, as well as some that I created for testing purposes. Although this is not a comprehensive review, I will give my thoughts on how each program performed in the following areas: accurate rendering of an epub, user interface, speed and cross-platform support. Some of this will obviously be subjective.

Before I comment on each program, I would like to remind you of two things I mentioned in my previous article. You will remember that when building the sample epub, I used “text-align: justify” in the style sheet. In the title page HTML file, I used an SVG graphic, instead of a bitmapped graphic, like a GIF, PNG or JPG.

This time around I tried using CSS to do a few things that you might not find in an average e-book, but still might be useful for some e-books. To begin with, you should know that not all of the CSS 2.0 specification is supported in epub, so some things can’t be done (pop-ups for footnotes, for example), regardless of reading software. A few things that I tried were drop-caps, paragraph numbers and margin notes. You can download a CSS epub that demonstrates how I did these things. (Note that the WordPress software won’t allow me to upload an epub, so the file uses the zip extension.) If you unzip the epub and view the HTML file in Firefox, you will see that everything displays correctly. Internet Explorer 6 gets most of it right, but IE6 isn’t known for standards compliance.

Adobe Digital Editions

Digital Editions is Adobe’s first effort at supporting the epub standard—no surprise, as Adobe is a major IDPF financial backer and played a major role in the creation of the specification. Digital Editions is intended to not only be an epub reader, but also to replace Adobe Reader for reading the e-book variety of PDF files. I am interested in epub support and did not test how well Digital Editions worked as a PDF reader. So, how does Digital Editions perform in my four categories?

epub rendering

Remember “text-align: justify” in our style sheet and that SVG? Well, Digital Editions does not support justified text at all. According to Peter Sorotokin from Adobe, “Support for justification is optional per W3C CSS spec…” Although he is correct, I personally feel that support for justified text in an e-book reader should be mandatory and that IDPF should have required it in the specification. Peter goes on to say, “We are planning to implement (it) at some point.” I’m glad to hear this. By the way, I’m quoting Peter directly from the Digital Editions blog.

As for SVG support, this worked just as well as a bitmapped image in Digital Editions. The program apparently has built-in SVG support. Not surprising, considering that Adobe also makes an SVG viewer plug-in for web browsers.

As for my CSS experiments, here is a small screen capture from Digital Editions. Click on the image for a larger view.

CSS Test

You will see that the drop-caps did not display correctly in Digital Editions. Peter Sorotokin says “I’ll look at the drop cap code. It’s most likely a bug in the Digital Editions. All of these properties are supported and should work.”

You can also see that the paragraph numbers and the associated paragraphs do not line up. The margin notes are also misaligned. As I am using a similar method to implement the drop-caps, paragraph numbers and margin notes, all three problems may be due to the same bug in Digital Editions.

Digital Editions does not seem to support three e-book specific items from the epub specification—oeb-page-head, oeb-page-foot and oeb-column-number.

User interface

Many of my comments here are personal opinion, but user interface design is always a subjective thing. First, Digital Editions does not look like anything else on your desktop, whether it is Windows or Macintosh. The program does not use the theme or menu structure of your operating system. It looks like Adobe went for an iTunes-like interface. As others have also commented, the use of dark grey on black is not the easiest color scheme to see, and you can’t change these colors. Also, because of the non-integrated nature of the interface, right-clicking anywhere in the program will get you nothing but a “settings” choice, which only applies to the underlying Flash Player on which Digital Editions is built. Not terribly useful.

There are several parts of the user interface that can be changed, but most of them are reset to defaults every time you start the program. These include window size and position, splitter bar position, column sizes and sort order. Some things that are remembered are list/thumbnail view, reading position and font size.

One missing item in Digital Editions is a “Back” button to allow you to return to where you were after a hyperlink jump. Now, you may be saying that “this is an e-book reader and not a web browser.” True enough, but hyperlinks are a supported part of the epub specification and they can have many uses in an e-book. Jumping to an endnote or a glossary definition are just two routine uses. You can click on a hyperlink in Digital Editions and it will jump there (although slowly), but the program has no mechanism to allow you to return to where you came from. You would have to select the chapter you were in from the table of contents and then page through, until you find your previous position. Not good. Also, if you do use a hyperlink jump to another part of the e-book and then close that e-book, your reading position is not remembered, as it is otherwise.

Printing support for an epub seems to be very limited. The only options presented are either to print the entire document or a range of pages. This last option doesn’t seem to work for an epub, as there are no page numbers. Also, I could find no way to highlight a section of text and just print that section. In fact, I couldn’t even copy the selected text into another program or document. This seems to be another side effect of Digital Editions not integrating into the operating system.

Digital Editions does support multiple bookmarks and annotations in an e-book. These are saved in an XML file, which may be useful in other ways. Digital Editions also has a basic search capability. These features are quite useful and appreciated. One additional capability that I would like to see added is dictionary support. Multiple dictionary support would be even better. How this would be accomplished without some proprietary interface, I’m not sure, as dictionaries are not part of the epub specification.

Speed

I’m sorry to say that Digital Editions needs a dose of Geritol. Whether this is due to the fact that the program is based on Flash Player or some other reason, I’m not sure, but I suspect Flash. Most operations, like adding an e-book to the library or paging through an e-book are not what I would call snappy.

Program startup is a bit slow, but it is extremely slow if you have a network connection problem, or you have a software firewall that is blocking outgoing traffic (which most do by default). It seems that Digital Editions wants to communicate with the internet all the time, even if you are only using it to read local files that have no DRM on them. This is more of a security concern, but it also affects program startup.

Cross-platform support

Digital Editions is currently available for Windows and Macintosh. I understand that there will be a Linux version at some point. As I mentioned when talking about hardware readers, the Sony PRS 505 will also be supported.

Random comments on DE

If I seem overly critical of Digital Editions, it is for two reasons. First, the program shows great promise as a widespread epub reader. Second, Adobe is the big gorilla on the block and has the resources to make this a top notch reader.

I’m sure Adobe isn’t going to take advice from me, but I would dump Flash for this purpose and use a real programming language to eliminate the extra layer of stuff that is probably causing the speed issues. I also would make some changes to the interface so that it integrated better into the underlying operating system (probably also Flash related). Third, make an offline installation file available. Requiring an internet connection for every computer, just to install is an unreasonable burden. And God knows what type of information that Adobe is keeping track of from all these connected computers (privacy and security concerns anyone?).

FBReader

FBReader is an Open Source e-book reader written by a Russian programmer, Nikolay Pultsin. It supports not only epub, but quite a few other popular e-book formats (although none with DRM).

epub rendering

FBReader does not currently support CSS. Since the styling of an e-book is an important part of many e-books, this limits what FBReader can do with an epub. Some future version of FBReader is supposed to add CSS support. Even without CSS, FBReader will open and display an epub. Basic headers and paragraphs are rendered, and for simply formatted e-books, this is quite usable.

One peculiarity is that FBReader does not correctly start each new chapter of an epub at the top of the screen/page, as it does when reading either raw HTML or an OEBPS e-book (Open E-book Publication Structure was the predecessor to epub).

That SVG used in the sample e-book does not display at all. FBReader does support the usual bitmapped image formats.

User interface

FBReader uses a very simple interface, with a few buttons across the top (or bottom on some platforms) and a page/progress bar across the bottom. The program has the same look and feel of any standard program on your operating system. The ability to rotate the contents of the viewing window is built into the program. On some operating systems, there is a full-screen mode, which makes reading even more book-like.

Hyperlinking is fully supported and fast. There are buttons for “Back” and “Beginning of document” as well as keyboard equivalents. There is no printing support at all. However, you can at least copy and paste selected text using the standard Ctrl-C and Ctrl-V keyboard shortcuts.

Almost every aspect of the program is configurable. You can not only change font and font size, but paragraph indentation and justification, paragraph and line spacing, language encoding, custom key bindings, etc.

FBReader has a basic search function. There is no bookmarking, annotation or dictionary support. All of these are planned for a future version. FBReader has built-in hyphenation support. Something that few e-book readers have.

Speed

FBReader is very fast, regardless of what it is doing. Some of this is probably due to not having to deal with CSS formatting, but certainly some of the speed is due to the efforts of the programmer.

Cross-platform support

FBReader is excellent at supporting a wide variety of operating systems. Not only Windows and Macintosh, but the popular Nokia N770 and N800 and several others. There is even a version for the iRex iLiad, a dedicated e-book reader.

Random comments on FBReader

Although FBReader is still lacking in several areas (CSS especially), it is still quite usable for reading a wide variety of e-books (including epub) on a wide variety of operating systems. For users of the Nokia devices, it is the only choice. Considering that it is the effort of a lone programmer, I can’t be overly critical of its shortcomings. I can only hope that the planned improvements don’t take too long.

OpenBerg Lector

Lector is another Open Source project. It is not a standalone reading program, but a plug-in for the Firefox web browser. It was specifically developed to read epubs.

epub rendering

Being a plug-in for Firefox means that Lector uses the rendering capabilities of Firefox to display an epub. The plug-in handles the decoding of the epub packaging and XML data. The XHTML content of the epub is passed on to Firefox. Because of this symbiosis, Lector displays the content of an epub very well.

Since Firefox is very compliant with XHTML and CSS specifications, there probably isn’t much of anything in an epub that wouldn’t display correctly. Also, specifying “text-align: justify” in the stylesheet gives us perfectly justified text.

The SVG image in the sample epub displayed just fine, as Firefox has built-in SVG support. Of course, the usual bitmapped formats are also supported.

The epub specific oeb-page-head, oeb-page-foot and oeb-column-number don’t seem to be supported in Lector.

User interface

Because it is just a plug-in for FireFox, Lector leaves a lot to be desired as an e-book reader. One major feature missing is the display of the table of contents of an epub. All you have is the reading window. Adding TOC support is planned for a later version.

Lector displays individual chapters as separate units onscreen (if they are separate files). This is handled a little strangely. If the chapter will fit within the browser window, it appears as a discrete page. If the chapter is longer, then you have to scroll, just like a normal web page. When you reach the next chapter, it is once again a discrete unit, as if you jumped to another web page (which is how Lector is handling things). I understand that paging things more like a book is also a planned feature.

Hyperlinking, printing, copying/pasting text and searching all use the built-in capabilities of Firefox, which are quite adequate. There is no bookmark or annotation support. I have no idea if these are planned or not.

One annoying thing about Lector is the way you have to hit the Page-Down key twice when you reach the end of a chapter, to proceed to the next chapter. This works the same way in reverse, when paging up. Another irritating item is that you can’t move, delete or modify an epub that you have opened in Lector, without fully closing the Firefox browser. Just closing the tab that you were viewing the epub in is not sufficient. Very inconvenient.

Speed

Not much to say except that Lector seems just as fast as Firefox, which is usually quite fast. There is a known problem where Firefox will sometimes become very sluggish and unresponsive, but this is not Lector’s fault.

Cross-platform support

Just the big three—Windows, Linux and Macintosh.

Random comments on Lector

I’m not overly fond of using a web browser for e-book reading. If Lector adds the promised missing features and also finds a way to hide/customize the Firefox interface, it could be much more useful as an e-book reader. A full screen, double-page view would be very nice.

Summary

As you can see, the current crop of software epub readers all have significant problems. However, remember that epub is still new and things can only improve. With more development effort, any of these programs could be very nice as an epub reader.

As for the hardware readers, nothing is currently available, so all we can do is wait for this to change. I will be very anxious to see how Digital Editions works on the Sony Reader and how well Bookeen implements their own epub reader on the Cybook Gen3. Personally, I would rather read e-books on a handheld device, instead of sitting at a desktop computer.

9 COMMENTS

  1. Joseph did a great job. I hope you and others will use this comment area to suggest features you especially want in epub-capable readers. Folks at Adobe and other companies read us, and ideally they’ll see your comments and pay attention.

    Speaking of the review, Joseph was oh so right about the need to make DE more like a standard windows program. It can still have a reading mode with the page surrounded by a dark background.

    As for a PDA version, I hope it will be coming soon and that it will use a logical Mobipocket-style interface with simple icons on the main screen and well organized instructions “underneath.”

    Thanks,
    David

  2. This is an excellent review from Joseph Gray. Thanks a lot.

    As for Adobe DE connecting to the internet even if you are readying a local file, Adobe said that future editions will carry advertisements (with two exceptions if I recall — if you have a subscription to their ad-free version of DE or if you are reading a DRMed document from one of their participating publisher customers where they will charging the publisher a DRM fee). May be this is one reason why ADE connects to the internet even if you don’t need that for the reading of a local file, since Adobe will need that in the next versions to serve the ads.

  3. I’m not enamored with having ads in my ebooks, but I understand that ads are going to be used to support some free content. This doesn’t negate the need to be able to use the reader software offline, without problems. It also doesn’t negate the security and privacy concerns. In fact, if indeed things will become ad supported, does that mean that my reading habits will now be sold to advertisers, so I can be a target of unsolicited offers?

    I’m on the US do-not-call list so that telemarketers don’t constantly bother me. I don’t want to deal with internet telemarketers as well.

  4. I have used the FullFullScreen add-on to completely remove all visible signs of Firefox when reading a text in Lector.

    I’ve also tried some double-column layouts that look very much like a hardcover double-page spread on my laptop.

    With a stylesheet specified, you can also read any XML file in Lector, not just XHTML. The built-in SVG support is great, but does not include animation at present; the release of FF 3.0 should bring new capabilities.

    And Lector will display MathML with no problem.

    Roger

    PS: I am beginning to explore what it will take to get Lector to run on the Nokia Internet Tablet. It looks very promising.

  5. Great review. But a question for all:
    I’d like to know more about the CSS specs that doesn’t work for epub. Joseph wrote: “To begin with, you should know that not all of the CSS 2.0 specification is supported in epub, so some things can’t be done.” I noticed that and it’s is frustrating. I can’t find a list of these things, is there a list, a review? I’m interested specially in using the selectors of css2 for atributes. Things like this :
    *[lang|=”en”] { color : red } (where * = any class en [..] is a attribute.
    doesn’t seem to work at all.
    Hope somebody can give me a link or an answer.
    Ferdinand

The TeleRead community values your civil and thoughtful comments. We use a cache, so expect a delay. Problems? E-mail newteleread@gmail.com.