Type Software
Date 2018-10-10
Tags research tool, annotating webpages


  • Polar Bookshelf

Polar (formerly Polar Bookshelf) is a PDF (and a bit more) reader with a few exta functions: pagemarks, which allow you to mark certain areas of a document as read, and are useful for non-linear reading; simple annotations, including highlighting and comments; and the ability to create and review flashcards, including cloze cards.

Besides PDFs, Polar supports capturing webpages, similar to Zotero, and provides the same features when reading captured pages. As of v2, Polar supports EPUBs as well.



The pagemark feature is very handy when reading non-linearly. For example, I use this feature when reading A Dictionary of Basic Japanese Grammar to mark those entries I've read and processed into my notes and flashcards.

I also use it when reading journal articles. I often read just the abstract, introduction, and results sections from a paper, and being able to mark those individually is convenient.

There are a few issues:

  • Two-column documents take a bit more work to mark, since pagemarks must be manually adjusted to cover the right area
  • Pagemarks have different 'modes', such as 'read' or 'ignored'--which is nice. However, they also have modes like 'table of contents' and 'references' which don't do anything special. Perhaps these will do something, in the future? Right now, it just seems like pagemarks are trying to do too many jobs.


Annotations in Polar are very simple: only text highlights, area highlights, and comments on those highlights are supported. These are a useful minimum, but it's a shame not to be able to include handwritten notes, either on the page or in the (virtual) margin.

Highlights can be reviewed like flashcards. I'll discuss this below.


Polar lets you give a document a title and (potentially hierarchical) tags, and flag it as archived or important. Other metadata such as abstracts, journal name, etc., can be added, though the functionality of this additional metadata is limited.


You can create a flashcard from an annotation. These can be either standard front/back flashcards, or cloze deletion cards. These cards can either be synced to Anki (though the Anki sync isn't very reliable) or reviewed directly in Polar.

Additionally, highlights themselves can be reviewed like flashcards with no back. This 'reading review' is really very cool, and it's very handy for incremental reading. However, it does require you to make highlights stand alone, which isn't always practical. I like to make highlights of just a sentence or two containing a key fact, but without the context of the article from which the highlight is taken, these are often not useful. So I am left to choose between making excessively large highlights, in order to include relevant context, or simply suspending the card. A third option would be to make a flashcard that captures the idea, but not all types of highlight are amenable to this--sometimes I've just highlighted a striking turn of phrase or an impactful paragraph that I want to return to, and rewriting in my own words would miss the point.

The flashcard feature is very basic, and the scheduling doesn't feel right to me. At least early on, I get way too many reps of the same cards. Also, clozes with multiple clozes per card don't work correctly--though I presume this is a bug that will eventually be fixed. There's no automated burying of related cards, so I'll sometimes see a text highlight during my 'reading review', and then several cards in a row extracted from that same highlight during my 'flashcard review'.

In short, Polar is not remotely a replacement for Anki, at this stage.

Incremental reading

Polar positions itself as a tool for incremental reading, like SuperMemo--see, for example, A Guide to Incremental Reading for Students and Continuous Learners, from Polar's official blog.

The theory is that pagemarks plus flashcards do the job. In practice, I find that reading a large number of documents can be inconvenient. Unlike SuperMemo, Polar doesn't actually schedule the 'reading' phase of incremental reading, which means that it's easy for documents to 'get lost' from the reading queue.

Right now, I solve this by tagging a subset of documents with 'current', and then sorting those by least-recently-updated. This makes it reasonably possible to keep up with reading everything without letting things slip though the cracks.

However, I've got about 30 documents in my 'current' list at a time, and even with that small number, scheduling becomes a problem. If I'm reading Reasons and Persons, I need to see it frequently--say, every 1-3 days. If I'm reading We Have Root: Even More Advice from Schneier on Security, then they can be spaced much further apart--one essay per week or even month would be fine. And other documents might ideally have other schedules. At present, managing this means keeping track of the approximate priority of documents myself--I don't always want to pick the 'oldest' document to read. If I really had hundreds of things in my 'current' list, as the Polar blog suggests, then I'd never be able to manage the reading.

Web capture

Web capture passes pages through some readability-like filter, resulting in epubs that lose most of the formatting of the page. Most pages are fine like this, but many pages become badly formatted. It's a step down from polar v1, in that captured pages no longer retain formatting, comments are not captured, and in general the captured version of the page doesn't represent the original very well.

Annotating web pages with Hypothesis is a better experience.


EPUBs can be read in polar, with the same annotation support as captured web pages. There is no support for area highlights, though, which is a shame.

Data portability

In Polar v1, all the data is stored in JSON files on disk, and I've written some scripts to extract information for my own use. v2 is online-only and exports do not currently contain enough metadata to be useful to me.


Certain bugs and limitations prevent me from using Polar as much as I'd like, but I am using it regularly when it's practical. I hope that many of these issues will be solved in the future.

Name Role
Kevin Burton Developer


Relation Sources
Discussed in
  • A Guide to Incremental Reading for Students and Continuous Learners (2020-07-09)