My dream e-reader

by on 2022-05-15 | License Permalink

I read the vast majority of my books, especially fiction, on my e-reader. I bought it in 2012 as a treat to myself for doing well in my semester exams at university. I replaced it about three months later, when the few books I’d carried to uni with me fell on it and damaged the screen. I replaced it with another of the same model, though, and all is well. That means I’ve had the device for around ten years now.

It’s worked fine for me. It’s an Amazon Kindle 4, black. It has about 2GB of storage, and the worst thing about it is that it doesn’t take EPub files so I need to constantly convert via Calibre which increases the footprint of my library somewhat. I made the decision very early on the turn off the WiFi connectivity on the device because I had no need for it; books are loaded via USB.

I occasionally get twinges to check out other e-reader devices; specifically any one that will handle EPub files and has better storage. Maybe a better screen, or a light so I can read in dark places without a torch. But I never do. My philosophy around devices is only to replace what’s broken to the point where it’s causing a problem.

My father sadly passed away in 2021 as a victim of the COVID-19 pandemic, and as we were going through his things I spotted an e-reader: a Nook GlowLight. I asked if I could have it, as it was ultimately my father who gave me a love of reading science fiction and fantasy and I felt that I might be able to connect with him in some way through reading whatever he had on the device. The problem was that the device is awful. The interface uses a touch screen, there are books displayed on the device that are not on the device but are on the Nook store available to sample or purchase, the buttons are awful, the file management is awful compared to my much older device. Looking at modern e-reading devices is, to me, scary. What if my device breaks, and I need to get a new one? Will I be condemned to getting advertisements on a device I own? Will I need to navigate slow, buggy, touch interfaces?

It got me to thinking; what makes a good e-reader for me? My partner is the one who uses my late father’s Nook, I continue to use my old Kindle. I want to try and get it to 20 years old. But what if the battery goes? In the future my partner and I will be thinking about having and/or adopting children. I want them to be readers, and while I will make sure they grow up surrounded by physical books; I want them to have some e-reader devices as well.

This post is me ranting about what e-readers should be and also a little bit about what they shouldn’t be. Enjoy.

Basic Features

Here are the features that I consider absolutely basic, and foundational, to what goes into a decent e-reader:

My current e-reading device is an Amazon Kindle 4 that I bought in mid-2012 as a treat to myself for doing well in my Semester 1 exams at Uni. It’s honestly a solid device except for the Amazon anti-features. The first thing I did was disable WiFi and by all accounts, that seems to have been a decent move, but one of the main anti-features that remains is that this model does not support EPub files. It’s really a dick move from Amazon not to at least support the open file format. Even if they’re misguided enough to think their format is better; at least let me decide for myself and try to prove it! Yes. A fundamental feature for any reader should be to support several standardised open formats. My preference is for EPub; but this is the world of tech and of Free Software. Choices abound. HTML5 should also be supported since it is a fundamentally a way of semantically tagging documents. This gels well with a digital form of reading. Proprietary formats could be supported, but the message here is one of standardisation and openness.

Supporting UTF-8 and Unicode is also essential to me; I’m bilingual (EN and EO) and I am trying to brute force the ability to read Anglo-Saxon and Old Norse. Therefore, I need to ensure that I can read books with all sorts of non-English characters. Beyond that, though; this is good for generic internationalisation. I want my e-reader to support Mandarin if I ever load it to a friend in China, or learn Mandarin myself. Cyrillic, Korean, Japanese etc. All of these need good non-English character support.

Related to this, I think it’d be a good feature to allow users to load their own dictionaries via USB. These can be dictionaries that they’ve made themselves or simply dictionaries that are made available to them by the community (incl any device vendor). I don’t use dictionaries on my device, and I’m not aware of any particular standards for dictionaries, but I’m sure they exist. Supporting the user uploading these via USB will allow several for several things: they get greater control over their device; the device manufacturer doesn’t need to worry about shipping with pre-built dictionaries; it allows the user to only have on their device the files that they need or want. If I wanted to upload an Esperanto dictionary to my device I should be able to do that.

Next up is typography. A basic e-reader device should have solid typography built in. This is separate (but I imagine related to) the screen itself; which is a limitation of the hardware. I’m not an expert, but the typography should be in some way suitable or optimised for the e-ink display and aim to be as legible as possible. Some books embed fonts and typefaces into the file; the device should obviously be able to handle that but the default option should be a good-looking font. Another use-case which should be supported (and yes, as a basic feature) is that there should be a setting to actively disregard or ignore any fonts embedded in the book files in favour of the device settings. If the user has any reading support needs or even just preferences; these are primary. Sorry to you all who spent hours making your EPub file stand out from the rest, but your readers come first. These settings should also, obviously, be adjustable by the user. Basic things as choosing the size, typeface (serif or sans), and weight of things such as headers and body go a long way into making books more enjoyable for certain people.

This next one sounds silly but I’ve written it down because of an offending device in my home. Let the user adjust the system clock! I get engrossed in my books and I often check the clock via my devices menu button. My partner uses my late father’s old device (a Nook Glow or something) and cannot adjust the system clock manually. We haven’t connected the device to the internet since it passed on to me, but would bet money that we can’t adjust the system clock because some daft coder or executive decided that the device needed to be connected to some server to be updated. Seriously.

Next up is the actual handling of the user’s books and files. I really only have a few barebones requirements here. Firstly; collections management should be a thing. Whether you call them “shelves” (looking at you, Nook), or just “collections”; having a user-curated set of categories and collections is just a neat feature. A bonus feature would be the ability to have nested collections e.g. “Philosophy / Moral Philosophy”, but that’s not really as necessary as just having the ability to manage my own collections. Several ‘views’ should be presented to the user to view the books on the device sorted or grouped by any field on the EPub file. This could be Authors, Genre, Language, Publication Year, etc. Just listing them alphabetically should be a default option as well. Collections should obviously be a view, and easily accessible quickly.

When viewing a book, I should also be able to see my progress through the book. My Kindle 4 presents this to me as a progress bar along the bottom of the book, with a number representing the percentage complete. I really like this. The Nook device that my partner uses shows that the reader is on “Page X of Y”. This is also good. I have a slight preference for the way the Kindle 4 handles this; because chapters / sections are marked along the bottom bar so I can judge how long it’ll take to read the next one. This is an important decision making process for situations where I’ve limited time to read, or I’ve been reading a while and it’s late and I get the “one more chapter” urge. If this was a physical book, I’d be able to flick ahead and see the number of pages until the next chapter. These aren’t physical books so I need some sort of heuristic on the screen to mimic this. I won’t pretend that the Kindle 4 perfected this; but some sort of way to tell this on the interface would be a delightful feature and one that I think is really basic to the reading experience. Allowing a choice between sticking with a “page” metaphor or opting for a fairly brutalist percentage marker is a good thing to allow the reader to choose in their settings.

Right, now we’ve covered basic features in the firmware it’s time to take a look at the hardware of our theoretical device. Easy ones first: front-lights and USB connectivity. My device doesn’t have a front-light, I don’t much mind but it does restrict where in my house I can read it (by a window or reading lamp). While this is actually a bit closer to the interactions of reading a physical book, it’s a limitation I would like to have the option of side-stepping. The Nook we inherited from my father has a front-light and I often look enviously at my partner as she reads on the “dark” side of the sofa (where the reading lamp was destroyed by a rabbit chewing through the cable!), whereas I have to ask her to move if I’m sat there by the window and the sun sets. Front-lights should ideally be adjustable in terms of colour temperature via the device settings, to support reducing eye strain. USB connectivity is also fundamental. No wireless charging please; just let me plug my device in. This also means that the books should be loadable in by USB and not tampered with. I recently had a warning from Calibre when I plugged in my Kindle 4, that Amazon had issued a firmware update to some (all?) Kindles which meant that books loaded via USB now wouldn’t display the covers. This didn’t matter to me specifically but the principle is awful. Let me load my Project Gutenberg books please. Calibre is obviously a great way to load books via USB, but support should also be made for just dropping in books via the user’s file manager of choice. Create a folder on the device called books or something. This obviously means that the device contains the ability to be recognised as a USB Mass Storage device. No drivers required.

The USB connectivity also extends to firmware and upgrades. I make an argument in a later section of this post that WiFi is arguably an unrequired feature of these devices. Regardless of this, one cannot guarantee that the user will have the WiFi turned on or otherwise have a network available. Therefore they’ll need the ability to load firmware via USB. I’ve said this is a basic feature, even if most users are not capable of doing this themselves. Easy firmware installers or how-tos can be provided by a manufacturer: but allowing people to choose their upgrades is essential. This extends to if the user has got WiFi enabled; don’t force firmware upgrades on them.

Physical buttons are also an essential feature of the device. Touch screen interfaces and experiences in e-readers I’ve used have been universally awful. I’d need to do some proper research, but I’m also pretty sure that touch interfaces for e-readers are also less universally accessible than some button layouts. I have a preference for the style of buttons on the Kindle 4; where the forward and backward buttons are placed either side of the screen and form part of the device’s edge. The Nook Glow has a variant of these but they’re shockingly bad, and feel like an afterthought. Additionally, some small physical buttons on the front / bottom of the device to navigate menus is not the end of the world. Some of the newer styles of e-readers have went with a sort of handle thing, where one side of the e-reader is more pronounced with some buttons on it. From what I can tell, the device has a gyrometer that allows the screen to flip over and thus allowing one to hold the device in either their left or right hand. This might be good, but I haven’t used it. It does seem that having a gyrometer on the device is a bit excessive; surely this could be handled via a menu option? Having a wide variety of chassis types with different physical button layouts for different preferences would seem like a good move generally; as long as all the same features of the device are present.

Finally, two features that I think any basic e-reader should have are removable storage (via an SD slot), and a removable battery. The battery one might be difficult, due to the form factor of a device. I don’t think that “thinness” is a feature in devices, especially when contrasted with the loss of user-replaceable batteries. However, an e-reader is designed to be held comfortably for a length of time so there may be some trade-off or wiggle room there with regards to device size, weight, and ergonomics. The SD card slot, however, is another story. SD cards are a pretty standard technology and while the device should definitely come with a good helping of integrated storage; removable and upgradeable storage is definitely desirable and should be seen as a basic feature. The ability to go from a device with 2GB storage to a device with e.g. 400GB storage would be a game-changer for a lot of people. Considering how tiny EPub files can be if they’re just text, that’s a LOT of books. I’d need to confirm this, but I also imagine that speed isn’t necessarily that much of an issue if all you’re doing is reading text from the device either. If you combine good ergonomics, upgradeable storage, and a serviceable battery; you’re basically looking at a device for life. Obviously that’s not desirable from a consumer-capitalist point of view, where they want to make you upgrade on a regular basis; but it’d be better for you and for the planet.

Good Features

In addition to the basic features outlined above, here are features that I think a good e-reader should have:

I noted in the previous section that a basic e-reader should have some good typography embedded in the system to allow the reader to read comfortably. A good e-reader would take this feature to the next level and allow the reader to load font and typeface files onto the device via USB. No restriction, support open file formats. Let the user load these fonts onto the device memory under a folder called e.g. fonts, and have the device detect them at boot (or per a user’s request). This would support people with specific legibility needs, if they have a preferred typeface for their dyslexia or other form of reading challenge. Similar, but arguably less important, is the ability to have users load a ‘screensaver’ onto the device via USB as well. I like the screensavers on my Kindle 4, but hate the ones on the Nook Glow. I’ve read about being able to hack them onto the device by booting up into particular modes etc. If there’s a technical reason to restrict the file format and the image format (colour profile, dimensions etc) then this is fine; but document it and ensure that the user doesn’t need to hack them onto the device. Just let them drop them onto the device memory.

Next is a reading feature. Some e-books that I buy or get from Gutenberg are beautifully formatted. By that I mean that they have headers where the chapters are, which are displayed on my device. Using these markers I can judge where the next chapter is, and there’s also a Table of Contents in the e-book file itself if I want to jump around. Some books don’t have this sadly. At the moment, I run them through pandoc, edit them in Markdown to add proper chapter headings or a table of contents, and then convert back to EPub. It’d be nice if the device’s firmware could pick up on headings in the device and auto-generate a table of contents for me on the fly (or cached) in case the book (or HTML document) doesn’t contain one. This would help users navigate short story collections, poetry collections, academic books, etc.

Taking that concept a little further; sometimes e-book publishers make bad choices for their books. If you’re going to indent the first line of every paragraph, then please don’t also create a gap between paragraphs. Sometimes chapters start midway through a page (this bothers me less but I do like a page break). Other time there’s distracting formatting on the page header for each chapter (looking at you Brandon Sanderson). Maybe the publisher has embedded a particularly egregious font. In these cases, it’d be useful to allow the device to ignore any book-specific formatting and apply its own rules to display the book. This is good for readability if someone has made their book illegible. The rules can, and should, be set via some CSS stored on the device. Some good options can be curated and pre-loaded onto the device by the manufacturer, but the user should be able to load their own via USB. Just let them put it in a folder called styles.

Letting users have access to the system also benefits them in other ways. If they speak a language not currently supported by device menus, they should be able to load a file which can load the language onto the device. This requires that the menus and strings are available online for community efforts to provide translations for them. The user should just be able to load a file onto the device to make the menus and interface available in that language.

Finally, with the users able to customise their device to their liking at this level; it makes sense to allow them to swap out components of firmware or even totally replace the firmware on the device. I’m not sure on how firmware is built exactly, but my understanding from doing some research into the Kobo readers (in case my Kindle ever breaks) is that some users load a different ‘reader’ onto the device. If firmware was modular then users can swap in and out components. Some community member has built a better / faster reader application? Load it in. Maybe someone has built a nicer file browser. Load it in. You see where I’m going. A modular system, with an open API will allow the device to be truly customisable. If a user messes something up; provide easily accessible restore tools to wipe the firmware and replace it with a ‘stock’ version. If the community builds its own firmware that the user wishes to user, then allowing them to easily flash or replace the firmware with this is a good thing.

Ultimately, a lot of the features just mentioned basically requires that any pre-loaded firmware exists as Free Software (not just Open Source), and that the device itself is Free and Open Source Hardware to the extent that is possible. I’m not in the FOSH world, but it’s an important step to make. I don’t believe in the fairness of market forces; but truly free markets would allow a user to own their device, understand it, and customise it to their liking. If a manufacturer thought their firmware was best it’d have to compete and provide reasons for that.


To my knowledge there are two definitions of the word anti-feature: a feature that the manufacturer will charge people not to include; and a feature that may have originally intended to be a feature but is perceived as a bug or annoyance.

Here are what I perceive as anti-features in e-readers:

We’ll start with the easy one, as it gets it out of the way and also segues nicely into my rant on e-book stores being integrated into devices. DRM absolutely sucks, is unethical, and while not the worst sort of capitalism; it’s pretty damn bad. The idea that you hand over money for something and then can’t own it or do what you want with it is shocking and a deliberate hamstringing of digital technologies to serve the ruling class’ interests. A cousin of DRM manifests in e-readers and e-books though proprietary file formats and a tight coupling between a device and vendor services such as an e-book store. The proprietary file formats serve two purposes: making it more difficult to load legitimately bought books from other services onto the device; and making it more difficult to load legitimately bought books from this vendor’s store onto a different vendor’s device (or just any other of your devices). Usually the ‘compensation’ for this hamstringing is the ‘smooth’ integration of an e-book store onto the device itself.

I can honestly say that I do not want a e-book store integrated on my device. When I buy an e-reader I want it to do basically one thing: read books. That’s it, job done. Focus on doing that well. Let the e-book vendors sell the books. Recently, I wanted to read La Ŝtona Urbo by Anna Löwenstein but didn’t want to burden myself with a physical copy. My criteria were simple: let me download the EPub file; let me load it onto my device to read it. Luckily, the folks at Retbutiko are kind enough to run a store which allowed me to do that. I paid my money, was emailed a copy of the book (DRM-free, but watermarked with my name), and I loaded it onto my device via calibre. Fantastic.

Contrast that with when I load up my late father’s Nook Glow device and there’s literally books listed on the device from the integrated store. I’ve never connected it to my home WiFi, and there’s seemingly no way of turning off this functionality. My partner, who is now the primary user of the device, has to wade through screens of rubbish files which aren’t even on the device to find the books we’ve loaded onto the device.

Tightly coupling the devices with the stores only causes harm and frustration, and is only ultimately useful for vendors trying to keep people on their platform / ecosystem; the ‘Applefication/Platform Capitalism’ of the web has come to your e-reader. One may claim that, from a “User Experience” or Interaction Design perspective, it’s somehow easier to have people buy the books on the devices themselves, and then magically appear. I’d contend this. Other than the arguments that User Experience can be used by hostile capitalist organisations to alienate you from your device, and shepherd you along the “experience” that they’ve preordained for you; has anyone actually tried to use one of these stores? E-paper is not designed for that level of interaction. By choosing to integrate a store you need to do the following:

That is a lot of additional work, and I can’t actually recall using any e-reader that seems to have gotten it right. Touch screens on e-readers I’ve used are painfully slow and janky. The screens, which are broadly perfect for reading books, are jarring and horrid for displaying store interfaces (or anything beyond basic menus). Contrast that to the experience I outlined above: I used a web browser on my computer to purchase a book quickly using an online vendor; I loaded it into some library management software which has been purpose-built for the task; and then plugged in my device and uploaded the book for reading. You can even skip the middle step and load it directly via USB on a file browser.

I don’t think that’s a particularly technical thing to do; most people are familiar with how USB pens work, even if they’ve largely been superseded by hostile cloud storage providers. People still email documents and spreadsheets to each other every day for work, politics, and pleasure. People do know what files are, and giving them control over that file is more friendly to them than making them jump through hoops. If you set up a folder on the device called books into which people can just drop files to be picked up automatically; that’s plenty friendly.

The big name e-readers also sell books via their own services, and maintain control over the books they sell to you. We all remember that time Amazon infamously deleted George Orwell books from people’s devices. The key take-away is: when you buy from places like that you don’t own your copy of the books. This wouldn’t be possible if the device didn’t have a store connected, or didn’t have WiFi. But more than this, I don’t want the store to recommend anything to me. I discussed before how the Nook GlowLight device shows books that aren’t even on the device as if they were. This isn’t even the worst practice; Amazon sell devices which have advertisements baked in. No. I don’t want my device to advertise other books. I’d ideally not even like my books to advertise other books; but at least that’s a small page at the back of the book (physical or digital) and hasn’t been built around snooping on my preferences.

Building on the above; I also do not want an account integrated into my device for any reason. My old Kindle asks me if I want to Tweet or use Facebook to share I’ve read a book. If I wanted that I’d just… do that via Twitter or Facebook. I don’t need my device manufacturer, or any other party, present on my device at all. Just let me read my books in peace.

Web browsers are another thing that need to go from these devices, although I do understand the appeal here. There’s a lot of great content out there to read on the web, and e-readers are very good at, well, letting you read digital content ergonomically and comfortably. This said: my previous point still stands, re e-ink displays and their suitability for browsing. The refresh times are shocking, and the web is built for scrolling which is to my understanding not a metaphor that has carried over to the majority of e-readers. A website is not a book; therefore paginated articles on the web are awful and used to artificially elevate hits. By the same token; a book is not a website. It uses different metaphors. There could be an argument that if an e-reader managed to develop a really nice scrolling mechanism, then this would be more appropriate; but see also my point on the refresh rate of e-paper and e-ink. It’s not built for this. It’s built for simulated page turns. Add to this the fact that modern web is a bloated, JavaScript-laden, hell-hole where the e-reader browser is going to be asked to download a tonne of resources to render on an odd-sized screen, which doesn’t refresh how the website or web designer is familiar with. I’m sorry, it was a nice idea but I still think the e-reader browsers need to go.

Once we’ve stripped away the perceived need for any online accounts, an integrated store, or web browsing: there’s really very little need at all for WiFi connectivity. The only thing I can think of is firmware upgrades in a manner similar to smartphones. However, by removing the anti-features one makes the device infinitely simpler; all it does it manage files and display them to the user’s preferences. I’m not a firmware engineer, but I think this would mean there was less chance of bugs and errors being introduced into the code. The lack of WiFi connectivity, or personal data on the device, would also mean there was very little, if any risk of the device being an attack vector. If the device made it simple to update the firmware via USB then even this use case is alleviated. No need for WiFi.

The final point I’m going to make isn’t the strongest, and I’ll freely admit that; but I don’t see many legitimate needs for touchscreen functionality on e-reader devices beyond usability for those with some mobility or dexterity needs. I’m not a user with mobility needs, and I’ve not done any design work with someone with these needs so I’m not going to make any claims whether there’s better solutions than touch screens out there: I simply don’t know that. But once we’ve stripped away the clunky stores and the web browsers, and placed a set of well placed, responsive buttons on the device… there’s not much left for touch screens to do other than get in my way. Page turns via touch screen just feel awkward, and when I’ve attempted to read via my dad’s old Nook I’ve often turned the page by accident when brushing the screen to remove some crumbs (books and biscuits go well together), or if the cat steps on the device when I’ve put it down. Swiping to unlock is just silly, as well. I can’t imagine that to be much easier for people with mobility or dexterity needs than hitting a button. I can see some use for limited touch functionality to select items off of menus if the user finds it difficult, or is unable to, select items using the buttons on the device.


In conclusion, I think e-readers are some of the most frustrating devices in the world because they could be so good, but currently come both hamstrung and loaded with anti-features designed to make the next model seem a little bit more attractive and tie their user into an ecosystem which prevents them from owning the books they buy.

By making the devices themselves, and the software powering them, Free and Open Source (emphasis on Free); the potential of these devices could be unlocked. They could focus on being really good reading devices that users can enjoy for decades. Giving people the ability to upgrade their storage and swap out their battery makes the devices eco-friendly and user-friendly; saving money and the planet at the same time. It’s almost as if capitalists shouldn’t be allowed to manufacture technology.