Spaced repetition systems use math to determine the optimal way to study things. This post is about an idea I've been trying for a few months for improving SRS for some subjects.


SRSs usually use a pretty rigid system of asking questions and demanding answers. I think that for many subjects it's not very important to know specific answers, either because such answers can be looked up easily or because the gist of a subject is more important. So here's an idea: add an ebook to a spaced repetition system and read/skim each chapter or page when it's due for review. This can be used for ebooks, physical books, or articles from the internet or elsewhere.


For books or ebooks, there are two ways to do this: either add each page as an individual card (with an image of the page right on the card) or create a card for each section or chapter. The latter technique can be used for non-electronic books. If each page is its own card, you can review things more quickly because you don't have to open an ebook or book each time you review, but you'll need to convert the ebook to images first. You can also add annotations, either by editing page images, typing notes onto pages' cards, or adding annotations with your ebook-reading software.


One way to convert ebooks to images is to use imagemagick. On Linux,

convert -density 180x180 BOOK.pdf folder/imgname.png

Change the density if images are too small or too large. You'll have to convert ebooks to pdf format first. This command creates all the pages as imgname-1.png, imgname-2.png, etc. Move the images into a .media folder where your other anki decks are. Use a script to make a card for each page. For example, using python:

f = open("bookcards", "w")

for i in range(0,NUMPAGES): f.write(str(i+1) + ";<img src=\"imgname-" + str(i) + ".png\" />\n")


You probably want to review cards in the order they were created (so that you'll review due cards by page number). This option doesn't exist in anki, so you'll need to make each book a separate deck and use the patch command to apply this diff to /usr/share/anki/anki/, or wherever that file is on your computer:

<                 "priority desc, factId, ordinal")[self.revCardOrder]
>                 "priority desc, factId, ordinal",
>               "created asc")[self.revCardOrder]
>           'createdDesc':
>           '(created desc)',
>       if self.revCardOrder == REV_CARDS_CREATED_FIRST:
>           required.append("createdDesc")
>       4: _("Review in ORDER CREATED"),

Also, for each deck, go Settings->Advanced->Initial button intervals and set them so there's no randomness.


Pros of this technique:

  • You can add lots of content quickly.
  • You can use an SRS to learn things that you wouldn't be able to otherwise. How would you add Godel, Escher, Bach to an SRS in question-answer format?
  • Reading books without memorizing them is silly unless your aims in reading do not require long-term retention of the books' contents.
  • You can keep the context of facts, and you automatically preserve the original phrasing.


Cons of this technique

  • The spacing is probably not optimal.
  • Review is passive, not active. Active recall has been shown to improve memory. This technique trades away memory-detail for time (and other things).
  • You may make irrelevant associations between things just because they're next to each other in the book.
  • Reading through things takes long. If you skim through your due cards, then you might miss things. You'll also have to skim elementary explanations again (perhaps that's a good thing) or suspend them.
  • It takes time to convert books to images, or to open a book or ebook each time you need to review it.



New Comment
8 comments, sorted by Click to highlight new comments since: Today at 5:30 AM

Piotr Wozkniak, the author of Supermemo, and something of a guru in the SR community, already had this idea, he calls it Incremental Reading, and he has refined it quite a lot. I've played with it, and I think it probably is useful if you intend to learn large amounts of material at once, but I ground to a halt because I'd filled my reader with material I wasn't particularly interested in learning.

Supermemo supports incremental reading qutie well, and there is an Anki plugin which is just about usable (although it could use some work).

I am aware of incremental reading, but I didn't know there was an anki plugin for it. Thanks for the info. This isn't quite the same thing, though, because incremental reading is still about turning things into question-answer pairs, whereas this technique is about passively reading or skimming through text.

Just don't take the last step of the IR process.

Try it! I predict, however, that you'll get bored because of the mass of material and won't consistently do the reviews. When I first started making flashcards, I too ignored the "minimum information principle" (from However, experience has taught me to value it. Also, after reading a given page, how would you say whether or not you needed to do it again again? That seems impossible unless the piece of information you're querying is very small.

How would you add Godel, Escher, Bach to an SRS in question-answer format?

While reading the book, highlight key sentences in the text that summarize main ideas. Then use cloze deletion on (the main ideas from) those sentences. You could also try to spice in some specific questions that probe your understanding of a particular key idea, although those would be more challenging to make.

These might be useful to me, as I read GEB about 3.5 years ago and now forget much of it. So if you do this, please consider posting your flashcards for others to use.

What's the opportunity cost? Almost always, I suspect I am better off reading books I haven't read than books I have.

Reading books without memorizing them is silly unless your aims in reading do not require long-term retention of the books' contents.

Hmm. I'm very good at daisy-chaining along ideas- that is, if someone mentions an idea from a book I read a decade ago, I probably remember it (even though it might need a bit of dusting off). It's not clear to me rereading idea books like that would be helpful for me.

There are two classes of books that I have reread frequently. The first is fiction I cherish; I read Watership Down so many times that when rereading it I would flip to a random page in the book and go from there, knowing I would instantly remember where it was in relation to everything else. The second are skill books for skills I'm actively developing; I read How To Win Friends and Influence People every year (it's short) because I expect that as my social skills develop I'll engage with the book on a different level. (Many of the more studious Christians I know will read the Bible through every year over the course of that year, and there are many daily devotional plans that accomplish that goal.)

The main thing I'm noticing is that this only makes sense for high-value passages. I own ~30 feet of books; if I wanted to reread everything I owned over the next year, that would take me about 6 hours of reading a day. Boiling each book down to a few pages might work better- so perhaps this would work with taking notes on books you read, and putting the notes into spaced repetition so you reread those. But it's not clear that would actually help with long-term recall of facts contained within those books, rather than just making you a better librarian.

In the second case, skill books, I could expect great benefit of throwing those into SRS. Reading a self-help book and constantly forgetting to apply the principles is probably one of the reasons why people fail at self-help. Priming oneself to notice opportunities using SRS seems sound.

Creating a good question and answer set for GEB would probably take such a thorough understanding that you wouldn't need SRS.

I sense that you haven't heard about incremental reading.