Web dev at the end of the world, from Hveragerði, Iceland

Readmill versus Kindle – Readmill is worth the hassle

Last week I decided to reread a couple of books in Readmill that I had previously read in the iOS Kindle app.

Let’s see how the two compare.

Kindle for iOS

It’s a turd. There’s no way to express just how awful that app is while still couching your annoyance in polite language.

It’s not awful. It’s fucking awful.

Of course, some of the annoyance stems from general Kindle awfulness such as frequent bugs in how the platform does sharing and general disregard for basic typography.

It was boring anyway

It’s completely unacceptable that a reading platform should drop the last few words off an even short passage, but that’s exactly what the Kindle does (for iOS at least).

  1. Highlight a passage.

  2. Go to kindle.amazon.com.

  3. Discover that the last few words of all of your highlights are missing.

  4. Swear like a sailor who has banged his knee.


It reloads and re-renders constantly. Which wouldn’t be so bad if re-rendering didn’t lose your history. This means you can’t go back from a link if you follow it and the app re-renders for some reason.

Imagine if Mobile Safari, in addition to having to frequently reload the page due to memory and caching problems, it lost all of your history in the process.

Then imagine that it does this every time you put down your iPad or switch between apps. Now you know what the Kindle app is like.

Finger-painting with overcooked pasta

Like other Kindles it repaginates on every link. Reading, navigating, and highlighting is like sieving cold overcooked pasta with your bare fingers.

The economy kind of pasta, the type you get almost for free from the bottom shelf in the supermarket. The kind that disintegrates when you put it in the pot. Not the nice wholewheat kind.

There is no consistency in position or rendering. This compromises the reader’s visual memory and is generally annoying. Like when you end up navigating back and forth a bit (y’know browsing the book) and then get back to your spot to get back to reading, it’s repaginated so nothing looks the same. Very annoying.

Crayon scribbles have better typography

The default stylesheet makes the default font (Georgia) look even more pedestrian and uninspired than it is normally. And it’s a very pedestrian typeface to begin with.

Of course, in leu of a considered default stylesheet with thought out proportions, line-height to font size ratio, indentation, and margins, we get escalating configurability.

The thing is, no matter how you tweak the line-height, margins, or which of the provided fonts you select, the app’s typography remains subpar. It just isn’t nice to read.

The font selection is crap and leaves out a host of interesting built in fonts. Providing better fonts would be a start.

Your finger is an error-prone highlighter

Swipe highlighting is a gimmick that results in having to repeatedly highlight, then delete highlight, then highlight, then delete, etc. to get it right. It’s incredibly error-prone because it doesn’t offer any method for adjusting the selection. The only advantage it offers is the ability to highlight across page boundaries which, frankly, is useful. But, surely, there’s some other way of accomplishing that without taking away the ability to adjust your selection?

Swipe highlighting: rubbish gimmick that disregards everything we know about usability.

Nobody wants to steal your stupid book

Copy-paste is disabled in the Kindle apps, both on iOS and Mac. Couple this with the kindle.amazon.com bug above and this means there is no way for you to easily quote a passage without having to retype parts of it.

Why the hell do you need to disable copying and pasting? What the fuck is wrong with people?

Note to authors and publishers:

Quoting your books is a good thing.

It spreads the word. Gets you new readers. You know, all good stuff. You should be furious that Amazon is disabling copying and pasting. In doing so it’s just rounded all of your marketing staff out back and shot them in the head. You don’t want to be beholden to Amazon’s whims for marketing for the rest of your careers, do you?

Note: this isn’t a question of DRM. Even Copy-paste isn’t enabled in any title in the Kindle app, not even in the DRM-free titles.

No polish, because you know that old saying about turds and polish, right?

Kindle iOS really lets you down on the small details. For example, magnification when you highlight/select is blurry on retina devices.

There’s also this curious item in the settings called ‘Publisher Font’. The fun part is that it doesn’t seem to do a thing other than switch the font to Georgia no matter the ebook or whether it has a font embedded or not. The app doesn’t seem to support embedded fonts so that can’t be what that menu item is for. Why they ship it broken like this is beyond me.

Don’t get me started on the UI in general…

And then there are the odd updates like the one that removed margins show that the main reason why the Kindle for iOS developers add configurability is that they don’t have a clue what sane defaults would look like.

Their development process seems to look like this:

  1. Make a change to the defaults that a first year BA student in design would know is dumb.

  2. Witness a massive backlash from readers.

  3. Think that nobody can be pleased and ‘fix’ it by adding configurability without even trying to understand the underlying problem.

In short: Kindle for iOS sucks.


In comparison, Readmill is a joy. The default font is an excellent, beautiful, choice—looks like a custom typeface, not one of the platform’s built-ins. It’s the only iOS reading app where I prefer the default font over a good embedded font.

It automatically adjusts the margins when you resize the text so that the width of the text-column never gets unreadably wide or narrow.

The typography in terms of font sizes, line height, and margins are all inter-connected that way to maintain optimal readability at all font-sizes. The result is an app that is a joy to read.

Quote, share, discuss—it’s all good

  • Here we have none of that nonsense of disabling copy-paste.

  • Everything regarding highlights, notes, online sharing (twitter, facebook, wordpress), and discussions is top-notch.

  • Highlights navigation, both in-app and on the web is dramatically nicer. The Highlights sidebar is a nice touch.

UI niceties

The Readmill chrome is nice enough for you to sometimes page through an ebook and forget it is there as you get engrossed in the book. This while still being usable and accessible. There is no higher compliment for an ereader UI.

Being able to swipe up or down to adjust brightness is a nice touch. You could live without it, but after getting used to it you don’t want to.

The page number indicator is a nice and simple way of showing your progress through the book. Since the ebook is rendered as pages it makes sense to count your progress in those pages. No needless reinvention of the wheel like the Kindle’s opaque location numbers.

The only thing missing is the iBooks-style “X pages left in this chapter” which I’ve found very useful. Of course, Kindle doesn’t have any progress indicator when the chrome is minimised and an opaque, inaccessible, one when the chrome is visible and in the way.

It is slightly annoying that after you press a link you have to switch the UI chrome on to find the back link. In theory that should be simple to fix. No reason not to show the back link in some way even when the chrome is switched off.

A love of preference toggles and configurability is an endemic among the engineeringly minded. It’s easy to see why: they don’t mind the cognitive overhead because it fits in with how they approach all of their problems.

Having some preference toggles is a good thing. But when you add toggles and sliders for margins, font size, indentation, and more, you escalate the complexity that users need to to tackle in your app.

A reader who wants to increase the font size will now have to deal with all of those other settings because they are interrelated. Font size, line height, and margins are all cogs in the same typography machine. Change one thing and you affect the other. So a simple task to change the font size can easily become a multi-minute odyssey among a forest of buttons, toggles, and sliders.

People are also very bad at assessing their own needs. A common ailment among my relatives is a tendency for muscle, joint, and other physical aches and pains due to bad ergonomics. (A curse that I thankfully am free of.) What makes the problem worse is that they used to be bad at figuring out how they should sit, what chairs they should be using, how to use their tools, etc.. They needed to be told, by an expert. Even then, following that advice was often uncomfortable at first, even though it helped address the problem in the long run. Without expert guidance, most people will choose ergonomics and positions that will actively harm them in the long run.

The same applies to reading system configurability. People will most of the time choose settings that will make them read slower and remember less.

Finally, by adding all of those preference toggles to your reading app you have turned it into a design tool. By letting the reader control all of the variables you have forced them to become a typographer and designer. They end up having to take on all of the complexity of designing an entire ebook for themselves.

Moreover, it’s a crap design tool. I know a couple of things about designing for reading and I can’t for the life of me get an optimal reading experience out of the Kindle app or Marvin (an otherwise excellent app). I can never get the proportions right between the width of the text-column, typeface, line height, and font size. I can get those apps to be readable, sure, but never optimal.

The only design configuration a reading app should have are font size, inversion (switching to light on dark), and contrast. These toggles are based on physical reader needs. Some eyes just work differently from others. They aren’t preferences but requirements for a section of your readership.

Everything else should be controlled by the system and derived from the variables the reader does control. That way you give them an optimal reading experience without excluding anybody.

Which means that the only thing missing from Readmill is a contrast slider.


The idea of having an API for my reading platform of choice is intriguing. It means that the platform owner doesn’t have to solve all of the issues the readers have. In theory, that should mean that I could put together a script that exports my Readmill highlights and notes into a usable format for writing. And that means that all sorts of apps out there will and have been rolling out Readmill features. It promises to increase the benefit I gain from the platform immensely.

Here come the downsides

Readmill’s single biggest flaw is the absence of anything resembling library management. Your books are presented in a very nice looking list that you can filter to show only finished books or those you’re currently reading.

Of course, Kindle for iOS’s library management is also rubbish for largely the same reason. You only have a list of your stuff that you can filter in rather limited ways.

Both apps need collections. They need the ability to browse the book by author. And because Readmill also supports PDFs you need to be able to filter by file type. Browsing by subject matter would also be nice, but the general quality of ebook metadata might not be up to snuff for that to work. Of course, if there was an app out there that used ebook metadata in interesting ways in its library UI, then maybe publishers would be more motivated to put in the effort to make it nice.

One serious annoyance is that sometimes Readmill will get the metadata seriously wrong (like marking all volumes of a book volume 1). Without an ability to correct that metadata in the app (while sending the correction upstream as a suggestion, of course) few people are going to bother to tell Readmill about errors when they happen.

Most people’s routine is a bit like this:

  1. Load the ebook into Readmill either via a ‘Send to Readmill’ button or opening it directly using the app on the device.

  2. See that the service seems to give some of the ebooks the wrong title.

  3. Either ignore the error and read on or switch to another app in frustration.

Very few are going to bother with going to the Readmill website, navigate to the book page and make a ‘suggestion’ there. Readers need to be able to correct a book’s title in-app

Finally, none of the major ebook vendors, at least those with any selection to speak of, offer direct Readmill integration. Why Kobo doesn’t let you set it up so that all of your purchases get automatically added to Readmill is beyond me.

The thing everybody does wrong

All highlights lose all formatting and don’t include images. This is the case for all ebook reading systems today. I know this is a difficult technical problem (well, so I’m told) but this is essential for any book that isn’t a prose novel. Formatting for many titles is integral to their meaning. Changing a list into a jumbled paragraph can render a highlight unreadable and this happens all too frequently.

Conclusion: Readmill is worth the hassle

Even without the social features or the highlighting features, Readmill’s UI, design, and typography are enough to make it, in my opinion, the best ebook reading app available for iOS devices.

When you add the platform’s general features such as social sharing, discussions, and an API, then it becomes an unbeatable choice. It’s so good that it’s worth whatever hassle you have to go through to get your ebooks into it. Even if that means using a notoriously crap application to convert your existing library to DRM-free epubs. Even if that means having to manually download the Adobe DRM files from Kobo to upload into Readmill whenever you buy an ebook.

I’ll put up with all sorts of nonsense now when I’m trying to get ebooks to read because reading in Readmill is nice enough to be worth the hassle.

Readmill is, quite simply, the benchmark for all future ebook reading apps.

You can also find me on Mastodon and Bluesky