11 December 2014

Google Play Books: Last Android App Version Slowness [Solved]

Recently, I reported slowness with Android Google Play Books app when reading a fixed layout ePub. The problem is under investigation by Google.

Google Books Partner support reference: 0-8666000005666.

Since the last Android Google Play Books app version (3.2.21 - 12 November 2014), because of the new “page preview” feature (called “skim mode” by Google), it is very slow, when reading a fixed layout ePub, to go directly from one page to another if there is a lot of pages in between. For example, it can take 5 minutes to go from page 1 to page 200, in place of only some seconds with the previous app version (3.1.49) which did not have the “page preview” feature. The new app has to “build” all the previews / caches of the pages in between page 1 and page 200, which takes a lot of time. Once done, it is fast to move in between pages 1 and 200, but once you leave the book, the cache is again lost.

Remarks:
  • Producing a fixed layout ePub with a lower image resolution (e.g. 72 dpi in place of 150 dpi) does not influence the speed. The slowness is only caused by the text rendering. And fixed layout ePub files have usually “very heavy” HTML/CSS/fonts code to render the text at its exact position and exact formatting. The rendering of such pages takes between 0.1 second to more than 2 seconds per page, depending of the page complexity (and the device power). 
  • Such problem does not happen with PDF files (image only). 
  • The iOS app does not have the problem, as the “page preview” feature is not (yet) available. 
Example: Jacques Pépin New Complete Techniques, by Jacques Pépin. It takes 1 min 20 sec to go directly from page 1 to page 75! (1 sec/page) The book has 736 pages.
https://play.google.com/store/books/details?id=h1MH2KmhxdQC


Going from page 1 to page 41: the previews are not yet displayed.


Going from page 1 to page 41: the previews are displayed after about 45 seconds.


Page 41 (44-45) can be selected and displayed.

Solution: One possible solution would be that once you select the “page preview” of the page you want to read (even if the rendering of the previews is not yet finished), the app will start to render the selected page immediately (without continuing to build the previews of all the preceding pages).

UPDATE (2 MAY 2015): The problem is solved in version 3.3.41 (released on 16 April 2015), or maybe in a previous version already.