View Single Post
Old 06-15-2011, 05:03 AM   #22
Viacheslav
Connoisseur
Viacheslav doesn't litterViacheslav doesn't litter
 
Posts: 59
Karma: 136
Join Date: Dec 2008
Device: iRex DR1000
Quote:
Originally Posted by Mackx View Post
The problem of Viasheslav (and maybe of others) is not yet addressed. I can see if it is possible to disable the indexing and create a kind of 'lazy-indexing'. This would mean that only the SD-card view would work
That would be excellent!
It would be so cool to have an option to turn off all indexing to save the CPU time and make the reader start faster and be more responsive.
We already have a global preference checkbox "Enable SD card view". There could be another checkbox next to it "Enable Bookshelf view" (checked by default). Unchecking it could turn off all indexing and hide the irex's default views because they become empty.

Quote:
Originally Posted by Mackx View Post
Should this mode then be enabled automatically when there are 'too many' books on the SD-card or manually with an option in Settings?
Err..., YES! If Indexing takes longer than 3 minutes or registers over, say, 5000 files, the indexing process should be aborted with a message "There are too many files on the card. It slows down indexing and delays access to your documents. The Books, News, etc. views will be replaced by direct SD card view."

An optional intelligent "lazy indexing" mode would also be cool, if not too complex or too long to implement.

Quote:
Originally Posted by Mackx View Post
when entering a folder its current content would be read and added (or replace) the memory-database-view-content. This would add some delay when showing folders.

A hybrid mode would also be possible, limiting the files that are indexed (and thus available in the non SDCard-view) and using the lazy-indexing in the SDCard-view.
I wouldn't like to suffer any delays when entering a folder because I need to open 3-4 folders to get to the needed documents in my Library>Language>Genre>Author(>Series) or Science>Field of study>Author/Conference structure and the folders may contain thousands of files/subfolders. Linux has true multitasking and indexing could still run as an invisible very low priority daemon process, like it works on the desktops (e.g. Beagle search service in GNOME). It must not delay the starting up of the reader, which is slow enough without indexing.

As for the search function, the new thing is that in the case of lazy indexing the database can be not in sync with the filesystem. Therefore, a good searching function must
- find everything in the database;
- verify, if the records found point to really existing files;
- show all verified records / delete invalid ones as verification progresses;
- when verification finishes continue searching by looking through the filesystem unless stopped by the user.

The ability to limit indexing to certain folders on the card might also be nice, but it needs a rather complex GUI part to specify the folders.

The optional indexing daemon could also be compiled as an optional standalone tool for a real Linux-PC. My 2.8Ghz quad-core box can index the card and build a complete DB for the reader in minutes.

Last edited by Viacheslav; 06-15-2011 at 05:15 AM.
Viacheslav is offline   Reply With Quote