Try it now!

Download ButtonDownload Free Trial Purchase ButtonPurchase Full Version

1.0.5 Chapter and Verse

The next release of Voluminous isn't ready yet, but here's a look at a feature I've been working on, on-and-off, for a while now — Chapter Skip.

In theory, this should be pretty straightforward: Grab a list of chapter titles while converting the book from plain-text format, stick them in a list, along with whereabouts in the book they were found, and jump to the matching place when the user picks one.

Well, here it is:

Chapter Skip Preview

But the problem — the one that takes all the time to fix — is how do you know when you've found a chapter?

It's actually not that straightforward. In a book that's been carefully type-set by a professional, then no problem. But that's not the case when you're parsing plain ascii-text files that have been created by hundreds of different people, some of them as long ago as the 1970s.

You can guess that single-line sentences that begin with the word "Chapter" are chapter headings. Of course, this will probably also pick up duplicate copies from the table of contents, filling the Chapter Skip menu with junk — and it won't work with any language other than English, or books that divide themselves by "Section" or "Part" or "Act". How big a dictionary of synonyms and translations do you want to come up with and then work your way through every time you're processing a book?

Perhaps a structural approach is in order: Chapter titles often have a particular structure — perhaps underlined, or in all-caps, or with a gap before them that is larger than the usual gap between paragraphs.

Unfortunately, that's not reliable either: Many of the books we test with are laid out inconsistently or with no distinctive features around chapter titles and other features.

In practice, we have to blend a careful mixture of these approaches, and a few more tricks besides — and it still won't be perfect. That's the problem with trying to do clever things with text that was only ever designed to be read by humans. More on this subject on another day...

Still, most books will work just fine, and it beats out not having the feature. So, though not perfect, we'll be shipping it in the next version — we think the convenience outweighs the occasional mistaken entry.

By the way, if you were paying attention to the screenshot excerpt above, you'll have noticed a clue as to another feature that'll be in 1.0.5... :)