Kobo Clara 2E
I am an avid, although irregular, book reader. I started using an e-reader in 2017 and never returned to paper books.
I still buy paper books because I enjoy having physical books; they’re not extremely expensive and are not prone to theft. But I read almost everything on my e-reader.
I am mostly happy with this device, but it takes a tech-savvy person to configure it in an acceptable way
Why I got it
Owning my books
Books have a particular place in my heart. I don’t mind renting series or films on VOD platforms like Netflix, Amazon Prime, etc. Seeing the platform remove a series from its catalog doesn’t bother me much. But books are a very different story.
I don’t want any company to see what I read. I don’t want any company to get my money, give me a book, and take it away from me by removing it from their catalog and, even worse, deleting it from my virtual shelf without my consent. This very sentence reads completely surreal to me, yet this happened in real life.
I want to be able to read my books wherever I want, be it on my e-reader, computer, phone, or anywhere else. This means I need my e-reader to support the well-established ePub standard. I also want to be able to load books on my device directly from my computer without having to rely on clunky software, ideally by plugging the device directly into the computer. USB-C is the cherry on the cake.
Reading in peace
When I pick up a book, I expect to fall into a hyperfocus state of reading, where the world around me disappears. I don’t want to be interrupted, nudged, or challenged. I want to read at my own pace, uninterrupted.
Always with me
I enjoy reading in several places: in public transit, in the park, in bed, in plain sunlight, or at night during insomnia. I need the device to be light, small enough to slip into a pocket, and with a backlit e-ink display. Of course, the battery needs to last at least a dozen hours.
What I like
When plugged into a computer, the Clara 2E acts as a regular USB key. I can connect it with a regular USB-C cable, so there is no Bluetooth shenanigans, no dependency on a server somewhere on the other side of the ocean, and no extra cable.
Dropping standard ePubs on the device storage is enough to load them to the device. They will be indexed and accessible after the next boot. I can get DRM-free ebooks, truly own them, and read them freely.
The battery life is phenomenal. I can read several nights in a row, and it will still not be empty. I usually charge my Kobo by leaving it plugged into my computer after I dump new books on it.
The screen is very easy on the eyes. Backlit e-ink screens are a pure joy because they don’t strain the eye. They can be used in broad daylight or at night. The Clara 2E’s screen can also be backlit very dimly and with a warmer, orangey color.
It’s so dim I can pick up a book at night without feeling like I’m looking at a flashlight, and it doesn’t wake up my wife.
What I don’t like
When booting the device for the first time, it asks for an account. The account is free, but it’s impossible to bypass this step and use the Kobo without an account. The Kobo also reports analytics of many events via Google Analytics. It can report when the device was started, when a book was open or closed, which book was open, and much more. I find it creepy, intrusive, and plainly unacceptable.
It is worth noting that there are convoluted ways to bypass the pairing of the device with an account and to prevent it from phoning home analytics, but they’re for tech-savvy users. I have performed the following to be more confident that my Kobo is not phoning home:
- Log out and bypass the login screen. This ensures that my Kobo is not tied to a personal account.
- Set up the “sideloaded mode.” This adapts the UI to remove everything related to the Kobo Store, which is a net benefit for me!
- Wipe the analytics table as soon as an event is inserted. The content of that table is sent to Google Analytics on each Kobo sync. A SQLite Trigger wipes the analytics table after each insert, ensuring nothing is sent to Google Analytics.
Most of it involves fiddling with files in the internal storage the Kobo exposes when plugged into a computer.
Log out and bypass the login screen
This manipulation happens on the Kobo itself. I go to settings and log out of the Kobo account. The device then reboots, asks me which language I want to use, and prompts me for a Wi-Fi password.
I tap the option to tell it I don’t have access to Wi-Fi and plug the device into my Mac. A KOBOeReader volume appears on my desk. The device asks me to download Kobo’s software, but I don’t need it.
The .kobo folder contains the device’s internal database and configuration files. It is possible to bypass the login screen by adding a fake user with no real information. To do so, I go to the folder containing the internal database.
cd /Volume/KOBOeReader/.koboI open the internal database with sqlite
sqlite3 KoboReader.sqliteAnd finally, insert dummy data with
INSERT INTO user(UserID,UserKey) VALUES('1','');I leave the SQLite client by pressing Control and D simultaneously. I quit the terminal to ensure it doesn’t keep the internal storage busy, and I eject the volume by clicking on it on my desktop and pressing Control and E. When my Kobo restarts, it no longer prompts me for an account.
Set up the sideloaded mode
I plug the device back in, and when it prompts me, I tell it to connect to my computer. The KOBOeReader volume appears on my desktop, and I can use my terminal to go to the configuration file folder.
cd /Volumes/KOBOeReader/.kobo/KoboI can open the Kobo eReader.conf configuration file to add the sideloaded mode. The mobileread wiki has a fantastic Kobo Configuration Options page, where I could find the one I’m after and where I need to add it.
In this file, I make sure that the [ApplicationPreferences] section contains the sideloaded mode option
[ApplicationPreferences]AIRPLANE_MODE=true…SideloadedMode=trueWhen leaving the terminal, ejecting the device, and unplugging it, the Kobo reboots and removes all the Kobo Store elements from the UI. The home screen is now my list of books, and the UI only has three tabs at the bottom: my books, activity, and settings.
This UI feels much calmer and reading-centric. I understand why a few executives at Kobo would want to plug their store, but I wish it was at least possible to disable it from the settings so less tech-savvy users can read in peace too.
Add an SQLite Trigger to wipe the analytics db
I plug the device back in and tell it to connect to my computer when it prompts me. The KOBOeReader volume appears on my desktop, and I can use my terminal to go to the internal database folder.
cd /Volumes/KOBOeReader/.kobo/I open the internal database with sqlite
sqlite3 KoboReader.sqliteI add a trigger that wipes the analytics table each time the OS adds an event to phone home.
CREATE TRIGGER BlockAnalyticsEvents AFTER INSERT ON AnalyticsEvents BEGIN DELETE FROM AnalyticsEvents; END;Finally, I check that the trigger was correctly created with
SELECT * FROM sqlite_master WHERE type = 'trigger';Conclusion
Kobo e-readers are reliable devices that can work entirely offline, allow me to load my ebooks directly from my computer via a USB-C cable, and the hardware is generally excellent. The device is small, lightweight, and comfortable to read on pretty much anywhere.
By default, the OS is creepy, trying to force me to log into an account and phoning home stats about how I use my device, what books I read, what I did, and when. It phones home to Kobo itself but also sends data to Google Analytics, which is a significant problem for me. I don’t mind anonymous telemetry, but Google Analytics is the exact opposite. Kobo also plugs its store heavily, even if I’m not interested in buying books on this platform at all.
Fortunately for tech-savvy people, it’s possible to make the device more pleasant, offline-centric, and less privacy-invasive. The general public is left with a device that will report everything they do to the mothership and Google behind their back, with no possibility of opting out.