A tale as old as time with OSS software from what I've seen. So far the only exception that I've seen of a FOSS piece of software with great UX is Blender[1]. With UX not being a first-class citizen on Linux, exposure to a solid universal tooling to create great UX also exacerbates things.
I think the issue of bad UX and OSS are comorbid because good UX needs an extremely opinionated mind at the helm and a culture of prioritizing features and saying "No, this is not important" which OSS generally lacks.
I think Libreoffice is easier to navigate than ribbon-era Office.
I think especially Gnome, but also Kde has better settings than Windows, which is spread across a new and a classical view (or more?).
I also think MacOS finder is worse than Windows/KDE/Gnome equivalents. When you strip so much away that people have to remember strange key combinations to jump/navigate to specific directories you have really gone too far.
And mobile UX (android and iphone) seem to me worse than any desktop system. Nothing is consistent (sharing data between apps), nothing ever seems settled (settings move around in the central settings apps every few releases).
We could argue in depth. Let me head it off a bit - taste is absolutely a thing, but consistency across releases is evidently a good thing unless you are constantly in a situation where your existing userbase is dwarfed by the prospective one. There’s a reason we hang on to diskette icons, don’t change from desktop to metro to ios style desktops every release and so on.
Last point: OSS software can be misguided, but it never seeks to bamboozle the user to make some corporate goal succeed. It won’t nefariously stuff files on a cloud or actively make it hard to export data or be incentivized to NOT interoperate with devices or programs shipped by competitors.
Most OSS software favors power users instead of total beginners. And even Blender is not a great exercise in discoverability. You need training to use it.
The stock software in Kobo and kindle can be used within minutes because they don't have a lot of features/options. And it's totally fine if that's what you need. Just like Windows 7's Notepad. But if you need more capabilities, your wish is notepad++/vim level (which does require more learning), which is what koreader is.
I think it’s more subtle than that. I am a power user — I was compiling my Linux kernel in the 90s, I wrote my own SSH tunnel manager 20 years ago, I always fiddle with settings, etc. etc.
However, I am constantly frustrated with a lot of OSS software because it expects you to think like the developer of the tool, instead of having empathy for the user. What feels obvious to the developer of the tool (I am making up a hopefully-representative hypothetical here, but finding the change of font under “Theme” because it’s how “it looks” but finding the font size under “View” because, well, you view it) feels frustrating and nonsensical to a normal human who relates both the font and its size the same way in their mind. Again, generally — I’m making generalizations here and not calling out any specific software, but trying to illustrate the feeling that I get.
When I switched to the Mac in 2002, it is because these sorts of things made sense. Yes, there were and are frustrations because of this sort of opinionated design mentality, but I judged the benefits to outweigh the positives. Unfortunately, Apple squandered this culture and skill and nowadays I often find the platform as frustrating as OSS ones, to the point where I have switched back to 50/50 time split between platforms.
OSS software aligns mentally with "tool". It only exists because someone had a problem to solve, and they wanted a tool to solve it. Generally, people should expect to have to learn how to use tools. Then they solve their problem and move on. It takes effort, and the result is mastery which gives you new capabilities.
Consumer software (and especially anything ad supported or social media adjacent, and sadly in many respects, lots of modern SaaS companies) want to be as glitzy and smooth as possible, but they don't actually want you to solve your problem. Instead they'd really prefer that you simply spend as much time looking at their software as possible. So the experience can be quite pleasant, it feels nice, things feel obvious, you get the dopamine hits quick and fast. But after a while you realize you aren't actually all that productive (or even productive at all) when engaging with them. Because the goal of this software isn't to help you solve your problem. The goal is to keep your attention and extract your money. If it happens to solve your problem... sometimes that's fine, sometimes that's actually counter to the primary mission of extracting your time and money.
Afaik koreader itself does not support stylus while the default reader in kobo does (somebody made a plugin lately but not sure how stable it is). Not to say that koreader is not amazing, but it does not mean that FOSS always has strictly more features. If koreader had strictly more features and I wanted some of them I would choose that. But I also right now want to use the ereader to read books and take notes, not tweak plugins and configurations. I have been in this "power user" loop where I spend more time with configuring rather than doing the thing, and I am a bit more selective with when this makes sense to me.
This requires however to remember the name of the command (or parts of it). I often remember that but not where to find it or the shortcut.
It also requires that you chose the spacebar search option, which is the only correct option if you ask me. (Not a pro. Just messing around with blender sometimes.)
I think UX is simply harder when you're not leading the user by the nose to your most profitable features, and removing or obscuring the others. Commercial UX is more akin to advertising than UX, so there's no wonder that it makes very clear the few affordances that it offers (and bizarre when it doesn't, like the "flat" period.)
The other problem with FOSS UX is that millions of dollars haven't been put into it (literally: 5 developers = 1 million dollars/year.) The wonderful benefit of FOSS UX is that you have plenty of time to learn it, because every feature is already there, no one is forcing you to upgrade, and no one is moving things around and deleting things because it is more profitable to them.
Commercial UX had better be good enough to learn basic functionality quickly, because it's going to be completely recycled every year. It also doesn't want you to learn anything too deeply, because then you might become a (gasp) "power user" and make unprofitable demands.
Imagine using the same type of software (e.g. an mp3 player) for a couple dozen years and thinking that it's a hassle to figure out how to learn it. Imagine being boiled like a frog to relearn how your mp3 player works every couple years for a couple dozen years, and dreaming you've saved some sort of time or effort. Imagine you've used mp3 players for a couple dozen years, you still don't know what an mp3 is, you don't know what a file is, and you don't know how to get your mp3s back after switching your mp3 player without rebuying them. Eventually you switch to streaming, give up making any decisions, and take whatever the marketers prefer.
This is "good" UX.
If you're working at just the most basic level of functionality, I don't think KOReader is necessarily worse than native Kindle. The latter is hampered by being very opinionated about how you should experience it, and that includes pushing their store above the user's own library, and this is a real annoyance.
As you start to demand more capabilities they diverge more. Organizing when you've got many books on the device is clunky on both platforms, but in different ways. The native Kindle options for grouping are simple, but not necessarily easy. They're very generic, and very cumbersome to work with. Bare KOReader's support for folders makes more sense to me, and it's easier to deal with bulk books than is Kindle's.
Getting books onto Kindle is super-easy if you get them from Amazon, but complexity ramps up for other sources. Your best bet is plugging it into USB and transferring via the file system. Native KOReader add to this an OPDS capability (if your book repository supports it), which works but is less than pleasant. If you use BookOrbit as your repository, there's a plugin that gives you the remote BookOrbit UI from the Kindle, which makes things a LOT better.
I experimented with Simply UI for a bit but could never get it to work quite right. About a month ago I found Bookshelf, and this makes the UX pretty wonderful. It has a very attractive and intuitive UI. And it simplifies the interactions needed for group management a bit.
Bottom line is that KOReader + Bookshelf are, for at least a power user, a potentially far superior experience compared to baseline Kindle.
A few people are suggesting that KOReader is symptomatic if the issues with open source software. The reality is it targets a particular group of users.
I think this boils down to profit not being the only driving force for these companies, but prestige and a sense of duty and responsibility towards something larger and less immediate.
You're assuming long lasting soy sauce companies have anything to do with software development. Japan produces great video games despite how terrible otherwise the developer environment and culture is there and nearly all of the other software shows it.
> Software was not viewed so much as a product, but more like a service, similar to integration, training, and ongoing support and maintenance. It was usually sold on a time-and-materials basis, and sometimes it was just thrown in for free to sweeten the deal. The real money was in the hardware.
> Software development was considered rather low-skill work. It didn’t pay well and was viewed as a kind of clerical work. The job was simply to write software that was close enough to whatever sales had promised the client while they were out drinking last week.
Wouldn't wanna live there permanently. Wouldn't want to have been born Japanese. But my god the products and services are head and shoulders above my baseline expectations; it's simply nicer.
I also understand why it’s not something common outside of Japan. Selling your family name in exchange for (maybe) keeping your business alive is distasteful at best.
What? It can’t even maintain a stable 30fps on its own target hardware. That’s not an example is point to for something running “well.”
There's obviously a lot you need to provide yourself that Amazon gives "for free" with the Kindle ecosystem, but using koreader with OPDS and kosync for synchronizing progress across devices, I'm very happy to be just buying DRM-free books elsewhere and hosting a small OPDS+kosync server on my home server. Installing tailscale on my kindle makes it so I can even fetch books/sync progress when I'm away from home without needing to expose my book server to the internet.
- Format support: EPUB, CBR/CBZ (comics, graphic novels), PDF
- Dark mode
- Fully programmable gestures and shortcuts
- Automatically syncs with my readeck instance (think readitlater/instapaper) to dowload the articles I save for example here on HN
- Calibre integration over wifi
- RSS/Atom
- Custom dictionaries
If you are into manga, there is an extension for directly downloading them on the device
I'm really happy I made the switch.
The reason I use koreader is because it can sync my progress on disparate devices. I have a normal sized kobo and also a phone sized viwoods eink device.
Standard Ebooks for high quality public domain books, though they also offer azw.
There are a number of other free ebook sites out there as well.
- Allowing to highlight text across pages. Used to work in the past but no longer works
- Allowing exit to library from mobi files without a cold reboot of the device. Used to work, no longer works.
- Not deleting contents of my library on an update overnight? (files still on disk, metadata gone, no longer visible on Kindle)
- consistently working dictionary, offline, at least for English texts? (used to mostly work, with recent updates it is broken)
- Not getting worse on every update
- Better keyboard layout, maybe supporting smaller languages
- Not deleting purchased books remotely
- better bookmarks and navigation support. I find Kindle useless for the technical reading and learning materials, as navigation and cross-referencing is slow clunky and useless, I need paper books for that, or a computer.
- Better image display? Also hinders proper use for digesting technical content.
- Text Search?
- EPUB support.
- Customise any/everything. Font size, line spacing, paragraph spacing, margins, header/footer content, the list goes on
- Ability to use things like BookOrbit (or alternatives) to manage your books and sync your progress/stats.
- LLM-integration through plugins like KOAssistant, highlight a word/phrase/passage to get it explained to you. This was invaluable for me when reading through a series from the 1950's about the late 1700's, lots of phrases I'd never heard. Many I could grasp the meaning from context but it was way more fun to hear the "why" behind the phrase. Same with historical events that I am less knowledgeable about than I wish. Let's me stay "in the book" instead of picking up my phone.
- Full control, some people don't care/need this but I love being able to SSH into my Kindle and do whatever I want. I love having my entire book reading experience end-to-end be fully open source and self-hosted.
I discovered BookOrbit about two months ago. I think that it, together with the KOReader plugin that exposes the remote BO UI, may turn out to be a game changer in how I organize and access my ebook repository.
I see it supports audiobooks and ebooks. Do you know if there is any way for keeping sync between an audiobook and ebook?
For my Audiobooks I don't use BookOrbit because my setup is:
- Buy on Audible
- Rip DRM off
- Add to Plex
- Use Prologue (iOS only) to listen
And I freaking love that setup so I'm not looking to replace it currently.
Which reminds me:
- I'm still a primitive user. Sync reading state, reflow, calibre link, yes, but I'm at maybe 10% of the features, might even be an overestimate. I may finally have to cave in and go through its manual
- I literally endure calibre because that's how I feed koreader. Any alternatives?
- Is there really no practical way to mark a book as read other than give it a star rating or a custom tag?
- Does anyone know of anything coming close to this experience on an iPad?
- I've never given them a cent or contributed a line of code or even filed a bug report. That changes now.
- Syncthing plugin for Koreader (for syncing your ebooks with a computer / phone / tablet)
- RSS feeds for newsfeeds
I use USB mass storage.
In details, I configured KOReader not to start mass storage automatically, so I need two taps after connecting the USB. Then on my Linux PC, I mount the device, exec a `rsync` command, then umount.
My ebooks directory uses Git (with LFS) so I can update it from several computers. I considered switching to git-annex, instead of gitlfs+rsync, but I'm not motivated enough to change a system that works.
> - Is there really no practical way to mark a book as read other than give it a star rating or a custom tag?
There are 3 states : reading, on hold, finished. The rating is optional. A long press on a book title will give access to this states and more.
All that metadata is stored in lua data files (a bit similar to JSON). With mass storage, it's easy to read or update these files. I use "on hold" to mean "dropped" (and I hide them in the listings).
- calibre-web, as a pure web front end to the calibre db
- Calibre Web Automated, which is a rewrite of the app, with a better web UI, that is faster and adds functionality
- Grimmory, a Java-based book mgmt. app w/ a web front end too
- BookOrbit, similar to Grimmory but written in Node and seems to scale better w/ 100k+ book libraries
The better way to get books onto KOReader is via connecting to these apps' OPDS feeds. Wireless, and most of these other apps have better library organization.
On first exposure to calibre I was put off by its weird UI and how opinionated it was about filename conventions. But I learned to accept that it's the best solution out there with the most community support, and it grew on me. There are also a few third party projects that can interact with its database.
I did find it hard to get the bezels to be even and it still doesn't always format well depending on the book. I still kind of prefer the default viewer.
I use this plugin in KOReader which lets you download books from Z-Library within KOReader.
https://github.com/ZlibraryKO/zlibrary.koplugin
Another cool thing is you can use custom fonts and dictionaries. I use the OED short version and the Wikipedia one. There's built in ones that it can download but pirated ones like OED you have to upload yourself.
Unfortunately on MacOS it seems you have to use Amazon's app to access the filesystem.
Edit:
They changed it on the newer Kindle which I have.
There's open source alternatives to the send to kindle app.
KOReader comes with SSH, so you can just SSH into it.
To be fair, it is now possible to load your favorite fonts onto baseline Kindle.
Hmmm not really my experience, unless it's a new thing. I am still able to access it via finder. Although I need to exit KoReader first and go back to the stock UI.
I think the Zen UI plugin is mandatory to have a good time with it.
Love all the options, especially the ability to use folders on the device storage as the primary way to organize my books, but trying to figure out where a setting is and change it has been frustrating from the first day I installed it.
Will give the Zen UI plugin a go. Does it still support the on-device folders as the main way to navigate through your books?
calibre sync built in customised estimated time remaining/progress bar custom fonts and margin support hardcover.app sync
Very grateful for this software!
It's nice to have another option though and if the UX improves one day maybe I'll use it as my main reader.
The software itself is magic, kudos to all the developers and community.
It's not a huge issue, but I find just browsing my collection to find a read a lot more enjoyable on other ebook readers. IIRC there are plugins to add this feature, but it's not present out of the box.
On the few Kobos and jailbroken Kindles I've used it on, it also drains the battery significantly faster than the stock reader app, although not enough that I couldn't last at least a few days. On stock software I can go weeks between charges.
By the way, in the same settings I finally found how to set up KOReader to launch with a previously opened book. What a relief!
I want to write notes on my Remarkable and I want to read on my Kindle. They are both excellent at that right out of the box.
I'm beginning to suspect that many people actually like being distracted more than they like being distraction free!
problem for me was that they vendor like 30 different dependencies in a totally bespoke way that's largely incompatible with any modern package management: it downloads them as part of ./configure (IIRC) and with no way for the OS to provide its own. so you're either stuck using the prebuilt releases without any means to patch/improve the software, or if you do want to make improvements then it's a full-time job to keep the package in a buildable state. in the end that was too much work for me and i switched to Foliate: it's noticeably slower (webkitgtk) and lacking, but it's way simpler to develop on.
maybe they've improved the build system in the last couple years, though a quick peek shows that the nixpkgs expression is still using the binary release. if it becomes practical to build from source in the future i will 100% switch back to it.
Also the fact that you can install different plugin on KOreader and customize it in a way you like is fantastic. for example just check:
- https://github.com/doctorhetfield-cmd/simpleui.koplugin - https://github.com/AndyHazz/bookshelf.koplugin
Or with Lua you can develop your own plugin for that. to people who wanted to jailbreak their Kindle I can recommend these two links:
- https://kindlemodding.org/ - https://www.youtube.com/watch?v=Qtk7ERwlIAk
All in all I am supper happy with KOreader and can't imagine to use anything else
Paired with BookOrbit [0] and using plugins like BookShelf, BookEnds, and KOAssistant I have the best reading setup ever.
The speed of this on my Kindle is _insane_ compared to the stock software. I'm not talking about page turning, that was fine on both, but navigating menus is way faster.
It was a little finicky to configure but once I got a feel for it I didn't have a problem and 15 books read later since I installed it a few months ago and I never touch the settings.
My favorite plugins:
BookShelf: Best UI for viewing my books by author/series/etc IMHO. Much better than the Kindle default UI and much snappier
BookEnds: Configure the header and footer of each page to show what info you care about most. There are community configs you can test out easily and download right on your kindle if you like them
KOAssistant: highlight some text and throw it at an LLM with a provided prompt or your custom one. This was invaluable when reading the Hornblower series which used a lot of older english words/phrasing as well as nautical terms (which I'm completely unfamiliar with). I enjoyed the books way more since I could figure it out inside my kindle instead of constantly having to pick up my phone to look up a phrase.
BookOrbit: It provides a plugin for KOReader that syncs your progress, annotations, etc.
KOReader is table stakes for any e-reader I might consider. If my Kindle died tomorrow I'd have a Kobo or similar on it's way to me within hours. I won't use any reader that doesn't support KOReader after using it for these last few months.
This is the guide I used and it's up to date.
Seriously, takes ages to find specific settings for the first few times.
It has super useful features like the semi-auto-cropping which removes margins in PDFs (like papers or books), including unnecessary things like page numbers or similar, so that you can really maximize the size of the core content. It also has a nice chapter overview and other useful things!
Truly one of the best pieces of software I have used so far.
It's also great for jailbroken Kindles.
31-mar-2025 https://news.ycombinator.com/item?id=43539103 106 comments
10-apr-2024 https://news.ycombinator.com/item?id=39996947 33 comments
I finally got around to installing it as I got an xteink x3 and wanted to have cross device syncing back to my Grimmory server. Works great with OPDS and KOSync.
Although I miss using the native kobo sync where I could just add a book to my virtual shelf and have it auto sync to my device. OPDS seems very rudimentary in comparison, but it works nonetheless.
I've been slowly spinning up self-hosted services and Calibre was on my TODO. I haven't even heard of Booklore.
And then the UX… great project but could use a systems guy used to jailbreaking installations and a UX designer
Edit: for kobo at least
Maybe I'm just too entrenched in the engineering space that I'm just used to "developer UI", but my wife is decidedly not a software person and she seems to like KOReader just fine.
https://github.com/Sirozha1337/storytellersync.koplugin
https://storyteller-platform.dev/
This then allows you seamlessly switch back and forth between your e-reader and listening to the audiobook on your phone with automatic position syncing.
I don't think KOReader handles fixed-size epubs terribly well too, and most of my manga (usually bought on Rakuten Kobo) comes in that format.
For reading English or native language books on non-Android e-readers it's a godsend.
I have a problem with epubs though. This need to support every single thing under the sun makes the pipeline exceedingly complex. All you need for a vast majority of fiction is:
- headings
- paras
- emphasis (bold/italic)
- block quotes
Add simple "image" syntax to it to display maps etc from detective stories
Basically a ruthlessly cut down version of markdown.
The mini-readers from Xteink came in at the right time for such experimentation.
I can recommend some authors from the period: W Somerset Maugham, Thomas Hardy, Anthony Trollope, H Rider Haggard, Wilkie Collins, Saki, Maupassant, O Henry.
Dickens, Hugo, Austen, Eliot, Bronte, Wilde, Doyle, Poe, Melville, Verne, Stevenson, Wells, Christie, Chesterton, Burroughs, Lovecraft, Chekhov, Dostoyevsky, Tolstoy etc are probably well-known.
The list could go on forever, almost. Some books might feel dated (or too long). But that is fine.
> how did you get into this?
I started reading when I was 3-4 and never stopped. We moved to the suburbs when I was 7-8 (late 80s) and there wasn't much else to do outside of school except read. Built a physical library of close to 4,000 books along the way, but I mostly read at the computer or on e-devices
I actually made a mod to try to upgrade Kobo's built-in reader so it's more correct, i.e. more faithful to how KOReader renders text. Sharing it here since it may be interesting for anyone with Kobo e-readers: https://github.com/nicoverbruggen/NickelTypeFix
https://jccpalmer.com/posts/setting-up-kobo-sync-with-calibr...
I'm not associate with this person, just know that these instructions worked for me.
Anyways I just wanted to read using the least possible resources so I'm just using a simple file manager and mupdf (in which KOreader is based). mupdf may be simple, but it's amazing.
It shows you chapter and section divisions in a single screen, along with black bars to show you which pages and chapters you've spent a lot of time on. I use this very often to jump back to pages or chapters, or look at which parts confused me. It also visualizes where bookmarks and notes are. When you want to see a segment in more detail, you click there and it brings you to a 6-page zoomed-in view.
Let alone being more useful than the Kindle or Kobo UX, it's more useful than the book UX.
[0] https://www.tc3.dev/posts/pocketbook-era-with-koreader/IMG_6...
Don’t need the library feature to manage books like Books.app, just need a light and reliable reader.
Murasaki [1] is the most performant and sleek ebook reader you can get for MacOS currently. It's magnificent, but the creator has regionally limited who can get it, unfortunately.
Less surprising but still annoying is how many hoops you need to jump through to get a good reading experience for manga, particularly on macOS. I had to try many options that were either too buggy, too difficult to install correctly, various aggressive paywalls, or straight up don’t function with high quality scans.
Eventually I landed on one(will edit the name in when I have access to my laptop) that functions well but has some memory issues in importing books, possibly a memory leak.
Maybe I’ve just become shit at finding apps in the modern unsearchable age, but it really feels like reading of all types has diminished enough that we are an unserviceable market.
Linux desktop. MacOS laptop. Android tablets. Android phones.
Where-ever I am, I can pick up a device and continue reading from where I left off. I have the same config everywhere (it would be nice to be able to distribute that) for gestures and taps. I use the same font everywhere (TeX Gyre Pagella, which is a Palatino clone.)
Customization begets comfort.
Ultimately I decided to get rid of KOReader because it felt a bit laggy. The gestures (eg: swiping up on the left side to increase frontlight brightness) didn't work well either.
I eneded up writing my own software to sync progress from Kobo to a KOReader Sync server[2] which my Readest app also connects to (love that unlike the Kindle, the Kobo is quite an open system). You can even set it up so you can SSH into it[3].
[1] https://github.com/readest/readest [2] https://github.com/koreader/koreader-sync-server [3] https://www.mobileread.com/forums/showthread.php?t=254214
I jailbroke it, launched KOReader, and it's like I have a new e-reader. The amount of customizability gets kind of in the way, but once it's set up I don't really think about it from one month to the next. I also didn't feel the need to upgrade my original install either.
The hardware is great, but the software is pretty lacking. Apparently a lot of the tools out there are from folks in similar situation: had the hardware, but the software to drive it was lacking.
Most software has compromises.
KOReader seems to have functionality in one place in one reader app that other e-reader apps don't.