Moon+ Reader

The definitive Android e-reader?

-

I’m always on the lookout for a good e-reading app. I primarily read on Android and I’ve used the Kindle for Android app in the past. My current favorite is Moon+ Reader. Let’s walk through why and how I use it.

Reader View & My Setup

Apart from supporting a wide variety of formatsEPUB, MOBI, AZW, CHM, you name it.

, the reading interface is very customizable. The options are too many to list but there is enough flexibility built in to be on par with the best. My go to changes for a pleasant reading interface are pretty close to the Kindle app’s defaults, to be honest.

My Moon+ Reader theme

I use Bookerly, since I seem to love nice thick serifs on a mobile screen.I’m also quite partial to Source Serif Pro.

Light grey text feels more comfortable than white since I often read close to bedtime. My background is a solid black.This is quite nice on an OLED screen, I might add.

You can save this as a theme in case you want to switch quickly between different visual settings. I also keep the status information to a bare minimum; remaining time in the chapter along with the overall time remaining in the book are all I need. I also quite enjoy the page curl animation, which is set to Apple Books style.I don’t know why it’s called so. The Kindle app has a nigh identical animation.

An odd thing, I know, but I find it quite pleasurable.

I also use a generous margin on the sides that may be off putting to some and quite dislike hyphenation of text on such a small screen, which is why it’s only left aligned and not justified.

Annotations

The beauty of Moon+ Reader lies in the elegance of its annotation interface. For converts from the Kindle app like myself, the touch and drag of text creates a highlight. This can then be modified to the correct color/annotation type.I’m looking for a more precise word/phrase that encompasses highlights, underlines, strikethroughs, etc. but this will have to do for now, it seems.

Color choices are quite flexible as well. In fact, it allows defining custom colors across the RGB spectrum with adjustable alpha values, giving one a theoretical ceiling of 168 colours.#FFFFFFFF-#00000000 is the allowed range.

Of course, you’d probably want to stick to a trusty few that you’re accustomed to.

Highlight Interface

In my case, it’s blue for anecdotes or disagreements with the author, yellow for new words I want to add to my vocabulary, orange for references to other texts or potential avenues of research I want to chase down, red for particularly good quotes that I want to use in the future, and gray for something I want to convert to a flashcard. You’ll notice that these are the same colors that we have on the Kindle app, except gray.

Now, this may seem overly elaborate but just because the option exists doesn’t mean you’re forced to use it. I’ve simply found this to be optimal for my reading flow. I should also point out that underlines, strike throughs, and other annotations are also supported and that the interface is rather seamless.

It allows for overlapping highlights, so I can put a yellow one inside a red highlight. Annotation is also more precise compared to Kindle’s annotation interface as the em dash (—)Some reading in case you’ve forgotten what those are.

no longer sticks automatically to the previous word. There is also a high precision mode where you can first highlight a word and then drag the selection handles across to highlight a specific piece of text that you found tricky or to create the aforementioned nested highlights. This can also be triggered by using the “Text Selection” option under the More sub menu.

Yellow highlight nested in red

Exports

Another important feature that I use is the note export. Sometimes, I want to chase down some references and other times, I want to make flashcards. Therefore, getting these notes and highlights out of Moon+ Reader and into plain text to use with my notes system is of utmost importance.I’m aware that Moon+ Reader can hook into Readwise but I’d rather not pay to extract my own annotations from my own books, caveats about content ownership and DRM aside. I completely understand the value that other users derive from it, however, and I may change my mind in the future as well. Meanwhile, my objective is to hijack the Readwise API call from the app.

I use the share button on the bookmarks page and export to a file. I do this often and I’d like to automate this if possible.

Aside: How I Use Exports

Moon+ Reader exports annotations from a book in .mrexpt format. Moon+ Reader’s export schema is decent to work with and has only a few minor annoyances, chief of them being sparseRead: non-existent.

documentation. This export goes to my note taking app of choice, Obsidian, and is parsed by some JavaScript.To be specific, the parsing is done inside a script that runs inside a JS environment from a plugin named Templater, but that’s a bit much to get into right now. JavaScript is also weirdly fun. Here’s a link to my script.

The script extracts only the gray highlights so that I can add flashcards to my queue.Here, I diverge from philosophy of using the right tool for the job. Instead of using Anki, Mnemosyne or Mochi, I keep my cards in Obsidian while they’re still “in development”. I plan to export them to Anki when I feel they’re “stable” but I haven’t quite reached that point yet.

This lets me keep in touch with a book’s core ideas and reinforce my understanding as I’m going through it, provided I revisit my flashcards as I’m reading through the book. It does take extra effort but if it pays dividends by providing better long term understanding and retention, it is quite worthwhile.See: Michael Nielsen’s essay on long-term memory.

Miscellaneous

Moon+ Reader also handles footnotes quite well. You get a nice yellow pop-up, similar to a note, that can be scrolled through. Often, you can also jump to the footnotes location and later jump back to your original reading position. Like other features, the footnote color, popup styles, etc. can also be customized.

Reading positions can also be synced over Google Cloud, WebDAV, and Dropbox and you might find this useful if you have an Android tablet, for example.I actually wish there was a standard way to sync reading positions which are not tied (coupled) to the app.

You can back your books and highlights up to those sources as well. It has features to pull books from several online libraries such as Overdrive , Project Gutenberg, Open Library, and it can also download covers for your books. Reading time tracking is good but not as granular as I’d like.It’s actually quite good. I’m just overly demanding and like having chapter wise statistics. I get around this by using bookmarks and then later parsing bookmark positions. Quite obtuse, I’m aware.

Integrated dictionaries are available but not as seamless as Kindle, where the dictionary is in-app. Instead, it opens up a separate app depending on what you’ve configured. It also doesn’t seem to properly interface with an on device dictionary such as Merriam Webster. If you try to share to it, it doesn’t receive the input and most dictionary apps appear to contain ads anyway. I get around this by passing the selected text to a web search query in my browser, which more often than not does the trick.This is my setting, for the curious: http://www.merriam-webster.com/dictionary/%s. The %s is replaced by the selected text, which redirects me to the correct page.

As an aside, I’ve disabled ads by using custom DNS and I ensure my data is private by blocking it off from the internet using Netguard. With my privacy taken care of, I can read comfortably without any apprehension of my data being collected.“Wait, if you’re privacy conscious, why do you use the Play Store?” Yes, I’m aware of the fallacy here. Privacy is on a spectrum and I haven’t had the time to get into custom ROMs or extensive de-googling. I do use F-Droid though, and there isn’t an equivalent for Moon+ Reader that suits my needs. Please don’t spam my inbox with “But, muh Calibre Web! Self hosted web readers!” You know who you are.

This was the main reason for switching away from the Kindle app, if I may indulge myself here for a little bit.

Criticisms

The dictionary is definitely a weak point. An in-app copy of the Oxford Dictionary would go a long way. I suspect there may be licensing issues or something of the sort that get in the way. I also don’t think it can open a different file while reading.This isn’t directly possible in the Kindle app either, to be fair, but that’s how it behaves. You should also be able to select the dictionary when using the search bar in the Kindle app, as further evidence of it being a separate book.

I’ve also had some issues with vertical scrolling. With page turn animations enabled, tapping any area outside a small-ish central region results in the app turning pages. It seems to work perfectly fine if page turn animations are disabled, however, using the full width of the screen for scrolling. It’s been a mildly annoying problem so far but hasn’t stopped me from reading. Maybe I should just disable animations at some point if it grates me further. Most books I read on the Kindle app didn’t have page turn animations enabled anyway.

I’ve also noticed that PDF annotation exports are garbage. Can’t be a wizard at everything, I suppose.

Final Thoughts

There are plenty of wonderful features, many of which I haven’t even touched onA few good shoutouts would be auto-scrolling, day-night switching, and overriding book styles with custom CSS.

, and it is truly astounding that we get so much for free. In my opinion, Moon+ Reader is easily the best and maybe only e-reading app that fits my pattern of usage. I suspect it to be so for many others as well. As a closing note, if you feel there are better alternatives, something that I haven’t touched on that’s worth a mention, or anything else even, feel free to message me!