Archive for December, 2009
Posted on December 29th, 2009 by John. Filed under Opinion.
My wife bought me an Astak EZ Reader Pocket Pro For Christmas this year. This device isn’t my first or even second ebook reader. It is now my third. The first a Sony PRS-505 having been commandeered by my wife. The second is a Cybook Gen 3 which due to the firmware update shortly before Christmas might stay my primary reading device.
The Pocket Pro (PP) retails for 199 USD and US residents can purchase it at the the EZ Reader website. Mine came with a 2GB SD card, serviceable leather cover, usb cable, AC adapter, and the usual marketing / user materials. All this makes it the best deal I’ve found for ebook readers in the 5″ size.
The PP is a 5″ device and uses an eInk screen like most ebook readers. I did not find the 5″ screen to be too small. It is a good balance between portability and readablility. It does cause a few more page turns than with the larger devices but it was not cumbersome in any way. Overall found the size to my liking.
It comes in a variety of colors and feels good in your hands. The paint gives it a rubberized texture. It’s light while still feeling solid and sturdy. Visually it isn’t the best looking device but the buttons along the bottom work well enough for navigation. It is very similar to how the Sony (non-touch) readers work. However, I do think Sony, having put the buttons next to where they correspond to the screen, makes it a bit more intuitive than matching the number to the button as is required by the PP.
One area where I felt the PP’s hardware design was problem is with the thumb wheel along the right hand side. I had issues using it to turn pages. It would often turn more than one page. It is also a hard plastic nub and after using it for awhile my finger started to hurt. I soon stopped using it and only turned the page using the buttons.
One thing that I really like about the PP is how easy it is to change the firmware. There are a number of companies selling branded versions of the device. It is really a Hanlin V5 made by Jinke. The various companies that sell the device all have their own versions of the firmware that deviate to different degrees from what is produced by Jinke. The LBook has one of the more customized firmwares. I have tried it and found that it is a bit on the usable side because the majority of it is not in English. While there are a number of firmware options I’m going to focus the remainder of this review on the firmware available from Astak as of this writing.
It works. That’s the nicest thing I can say about it. The only thing it does is list all folders in the storage location. You select the folder and it opens it. When you get to a book you want to read you select it and it opens. On the surface this doesn’t sound so bad but compared to other devices (the Cybook and PRS-505) it is terrible.
When listing folders it lists all folders. Even system folders that should and do not contain books. Also, it does not read any metadata such as author or title. You only have the folder and filename to go by. There are no tags, collections, genre views or custom sorting. Selecting books is a slow, cumbersome and painful process.
Another issue I have with the bookshelf is it tries to force the use of an SD card. It displays the SD card and the main memory separately. It also defaults to the SD card when ever the device is turned on. I’ve gotten used to the combined view other readers offer and I don’t care if the book is on the SD card or the main memory. I just want to be able to get to my book quickly.
Fonts are another thing I have an issue with. I like the fact that users can include their own fonts. You can also set a font as your default font so you don’t have to change it every time you open a book (this doesn’t actually work, see the EPUB Rendering section). However, the only way you can add your own fonts is with an SD card. They can only be read from an SD card. There is no way to add your own fonts by putting them in the main memory. I have no idea why this is the case but it is an annoyance.
The bookself falls flat but it’s not the main place a person will be. Reading books is the main purpose of the device. My ebook library is mainly in two formats. .txt and .epub. Lets talk about how well it works with reading these formats.
One major thing it gets right, in my opinion, is justified text. It does a pretty accurate representation of the text. Another thing it does well is you can change the font size easily. Page turns happed very quickly. Much quicker than my other readers which was a pleasant surprise.
However, it does do some fancy auto detection of components and renders them differently. Words are often hyphenated and span two lines. This is without regard to where or what comes on the second line. Many times the last two letters and the period will appear alone on the second line because it is the end of the paragraph. This causes the text to become disjointed and ugly.
Just like with TXT rendering it is very accurate and just like TXT rendering this is also a problem. It’s so accurate that you cannot change the font. Only the font size can be changed. I tried reading two EPUB files with it and found both to be unreadable.
Harry Potter’s Bookshelf by John Granger was the first EPUB I tried. Upon initially opening it, the text was too small to read. Increasing the text size to a reasonable level made it possible to read the text. However. the margins increased as well. The book has small margins included but to have the text at a reasonable level the margins ended up taking up a quarter of the page, each top, bottom, left, and right. This made the screen essentially a small little window with text. The text being justified only allowed for a few words per line with large spaces between them.
Page turning with Harry Potter’s Bookshelf was completely contrary to how wonderful it is for TXT files. With this book, turning the page was very slow and it didn’t always work. 3 out of 5 button presses wouldn’t register. The light lit up and nothing happened. To make the page turn I had to start holding down the button until the page changed and if it didn’t change after a few seconds I would let go and hold the button down again.
The second book I tried was Word War Z by Max brooks. It doesn’t even open. This is not an issue with DRM because it had been removed.
So far the two books I have as EPUB that I want to read cannot be read on the PP. Those same books open and render beautifully on both the Cybook and the PRS-505.
The PP is disappointing. The hardware is nice; I really like the 5″ size. However, the poor bookshelf, the poor rendering, and the inability to even open some books makes it pretty much unusable. I’m going to keep looking into new firmware releases but until I can actually use it to read books it’s not much more than a poor substitute for a paper weight.
Posted on December 28th, 2009 by John. Filed under calibre.
I spent a bit of time working on calibre this week. I worked on profiles, devices and a bug fix here and there.
A few new profiles were added. Specifically profiles for the Sony PRS 300 and 900. They have a different screen size and resolution than the 6″ models so they warranted their own profiles.
I added support for two new devices. The Airis Dbook and the Binatone Readme. Along with supporting new devices I also reorganized and renamed a few. The BeBook device interface is not called Hanlin. The BeBook is a rebraned Hanlin. The EZReader, LBook, Eco Reader are also rebranded Hanlins. They all were using the BeBook interface. So I renamed it to be a little more generic and avoid confusion.
One big bug fix this week. There was a typo in the tag map for PML output. It causes italics to be ignore. This has been corrected.
Posted on December 22nd, 2009 by John. Filed under calibre.
Not much on the calibre front for this past week from me. The only thing I’ve worked on was adding support to the Nook driver for the cover image to be sent to the device with the book. Also, if there is no cover associated with the book a default cover with the title authors and calibre library image are used. Similar to what already happens with Cybook Gen 3 and Opus.
Posted on December 13th, 2009 by John. Filed under calibre.
FB2 output has been improved. It no longer generated very invalid markup. The output generator still isn’t where I want it to be though. The changes are mostly cleanup and fix long standing issues with the output. One major change is I reverted having <h1> tags work as section and title markers. I don’t like having this hard coded into the generator.
As far as I can tell FB2 does not support a true table of contents (TOC). What seems to happen is reader software will dynamically generate the TOC based on the appearance of <section><title><p>text</p></title> within th e text. If I’m wrong about this and FB2 really does support an external TOC I would love to know. The <h1> differentiation causes the files to have these sections. I do not like how this is hard coded and dependent on this single tag. Especially since calibre’s conversion process allows for an XPath expression to be specified to generate TOC point.
I would love to use the TOC sent to the FB2 output generator but this does not seem to be feasible. The problem with the TOC that is sent to the FB2 output generator is how it corresponds to locations in the document. The OEB TOC points are text which may or my not appear in the text and an anchor id. The anchor id is a set point in the document. FB2 section titles are part of the text itself. I cannot use the text from the OEB TOC because it may or may not actually appear in the text. This also prevents me from determining what the text in the document is supposed to be associated with the TOC point. The anchor id points to an anchor in the document but often that point is something like <a id=”blah” />. In this case there is no text associated with the anchor in the document. While I can assume the text following is part of the title I have no fool proof way to determine where it stops.
At this point the only TOC associated with the FB2 output is the inline TOC that can be optionally generated.
Support for two new readers has been added. Ganaxa’s GeR2 and Nokia’s 770 internet tablet. The N770 should have been support a long time ago and I apologize for how long this request has been unfulfilled. I put it at the bottom of my todo list and at some point it simply fell off and I forgot about it.
The GeR2 reader was a bit of a challenge to get supported. This reader and some models of the Cybook Gen 3 have the same vendor, product and revision (BCD) ids. On Windows and OS X this is not an issue because once the ids are matched further matches are done based on the plug and play (PNP) strings. However, on Linux only the ids are matched.
To solve this problem, matching on Linux needed some further checks. Kovid added support for libusb-1 which provides the vendor and product strings. He also added a call back that can be implemented in the device interface to implement platform and device specific checks. We did run into a few problems. The first was an easy to solve 32 vs 64 bit issue with the Python to C interface Kovid wrote for libusb-1. Once that was sorted out we ran into a larger problem. libusb-1 on Ubuntu by default is denied access to the vendor and product strings.
libusb-1, after appearing in only run release (0.6.27), has been dropped. Kovid has now written a custom device scanner for Linux that will parser the devices in /sys/bus/usb to determine if a reader is connected. libusb-1 is supposed to be an easy to use library capable of providing this functionality but unfortunately this turned out not to be the case. The custom scanner works and allowed me to implement differentiation between the GeR2 and the Cybook Gen 3 so both readers can be properly supported without conflict and with the correct device interface being used.
Posted on December 5th, 2009 by John. Filed under calibre.
Most this week was spent turning PML input and output. I spent a bit of work bug tracking and enhancing FB2 output as well.
The changes for PML input are as follows. Pass along the included cover as the cover when converting (also applies to eReader PDB). Allow for images to be in top level, archivename_img or images directory for PMLZ. Based on that order it will check for images and if they are not found move onto the next location. For PML, images can be in pmlname_img or images directory. Footnotes and sidebars now display cleaner. They are separated better and EPUB puts them on individual pages. They also include a return link which goes back to the place in the text they are referenced. This assumes one footnote and sidebar per entry in the text, so if it’s referenced multiple times the return link will go back to the return reference.
PML output now creates \a and \U codes only for supported characters. All characters that are not supported and that cannot be turned into a \a or \U code will be replaced with a ?.
Along with the changes for PML input reading the cover they are now read as part of the metadata. This applies to both PML, PMLZ and eReader PDB files.
I’ve created a PML2PMLZ FileType plugin which will run when ever PML is imported into the GUI. It takes a PML file looks for images in the above mentioned locations, takes it all and puts it into a PMLZ archive. The PMLZ archive is them added to the library.
When I went to test the PML2PMLZ plugin I found that the GUI on my system was horribly broken. After a bit of work with Kovid, I found that calibre-parallel had to be in the path if calibre was installed in a non standard location. I install into my home directory using the develop command. Kovid has committed a fix that writes the install path to the launcher for these instances.
FB2 output now turns h1 tags into <section><title> tags to allow for TOC generation. As far as I can tell FB2 has not set TOC and instead readers dynamically generate the TOC based on looking at all of the body and sections and sets the text using the title tag. Right now the FB2 output is limited to only turning h1 tags and cannot use the user defined TOC based on an XPATH expression. I plan to fix this limitation in the future.
- April 2013 (1)
- March 2013 (1)
- February 2013 (1)
- December 2012 (2)
- October 2012 (1)
- August 2012 (1)
- July 2012 (1)
- June 2012 (2)
- April 2012 (1)
- March 2012 (1)
- February 2012 (3)
- January 2012 (3)
- December 2011 (2)
- November 2011 (1)
- October 2011 (3)
- September 2011 (9)
- August 2011 (15)
- July 2011 (5)
- June 2011 (3)
- May 2011 (4)
- April 2011 (2)
- March 2011 (2)
- February 2011 (4)
- January 2011 (4)
- December 2010 (2)
- November 2010 (1)
- October 2010 (1)
- August 2010 (3)
- July 2010 (4)
- June 2010 (1)
- May 2010 (2)
- March 2010 (1)
- January 2010 (8)
- December 2009 (5)
- November 2009 (6)
- October 2009 (4)
- September 2009 (2)
- August 2009 (6)
- July 2009 (6)
- June 2009 (4)
- May 2009 (6)
- April 2009 (4)
- March 2009 (2)
- February 2009 (4)
- January 2009 (4)
- December 2008 (7)
- November 2008 (2)