Hacker News new | past | comments | ask | show | jobs | submit login
Calibre 4.0 (calibre-ebook.com)
552 points by sprague 19 days ago | hide | past | web | favorite | 302 comments

As others have said, this is an app I have an absolute love/hate relationship with.

I really appreciate all the work the dev puts into it, but it’s a slow app that just isn’t very usable. It’s not just that it’s ugly, it’s that it’s poorly designed. And yet, nothing else even comes close to doing what it does.

I even wrote out a spec for a similar app that was built using a more modern framework/usable interface, that some friends and I could potentially build, but the task was so monumental and the return on investment (and I’m not even talking about money) seemed so small, we shelved it.

That said, I would be remiss if I didn’t mention that DeDRM is the reason a lot of us use the app — I know it’s a key for me — and that does have an excellent CLI tool.

There are also some good iOS apps that work with the book server, for accessing lots of ebooks. Even then tho, those apps are labors of love where the core audience is both critical and shockingly cheap (I say shockingly b/c many pay thousands on ebooks and ereaders a year — it’s an enthusiast market). One look at the MobileReads forums (a fantastic resource) for any specific app, and I kind of understand why we don’t have a “good” Calibre that is OSS for paid for that matter.

>it’s a slow app >it’s ugly >it’s poorly designed >nothing else even comes >the task was so monumental

I think what's going on here is that Calibre is implemented for free in spare time in Python with an eye toward being accessible to all audiences and feature complete. So, it's neither super fast, nor super pretty, nor super elegant. But everyone can build up a library of ebooks without much effort and then browse around and read them, highlight them, and sort them in various ways.

You're welcome to submit patches that hide everything behind a hamburger menu and make the scrollbars vanish and crap like that.

That’s actually not an easy patch — I looked into it and the way the QT layer works — not even diving into the codebase underneath — doing anything more than an icon pack/skin is nearly impossible — at least with my level of skill and the amount of time I would be willing to put into it.

As I said, I’m super grateful Calibre exists and I think software is better for it existing. I also fully understand why there haven’t been other attempts to do what Calibre does — because it’s a shitload of work and the userbase is niche.

Design is something that can't simply be tacked on after the fact either. It's something that must be embraced by the core developers and influences plenty of decision making.

Plenty of people don't have good design taste but can still be useful software, so I hope it doesn't deter them.

Although there may be a correlation between poor interface design being reflected in the backend. From naming schemes, to modelling the data, to managing complexity, saying no to certain features, etc are all things that cross over into the design world.

Calibre is just a qwidgets based pyqt program. Since its as KDE project the "modern" UI stack would be Kirigami QML and you can use QWidget::createWindowContainer to embed QtQuick parts in a QWidgets program. With signals and slots they can still communicate, so you can peacemeal replace parts of the UI like that, but looking at the sources the main window is composed of about 30 different parts between a half dozen folders so thats pretty immutable.

Immutable is the right word. I was trying to “fix” the new dark mode in Calibre 4 (it’s bad and clearly not tested — the default hyperlink colors are nearly unreadable and the hover-over color in the library menu are impossible to read), and while I could fix the CSS in some parts (which was the dev’s dismissive answer to the bug report on how dark mode is legitimately broken), other parts can’t be fixed without using overly-complex plugins (that have to apply overrides every time you start the app) or ripping apart the source in a way that is not worth the effort.

My solution was to use a different Mac app to “force” Calibre to ignore the systemwide setting and use its light mode instead.

Over the last few years reading HN comments a part of me can't help but think that the more criticism leveled at an application or technology the more useful it is for end users. This is probably true for Node, PHP, MySQL and Wordpress to name a few. Kovid Goyal should take the criticisms a sign Calibre is very useful to end users.

I totally agree. In my case, it’s definitely a case of “I bitch because I care” — and I am very appreciative of the app and the hard work that has gone into it. I cannot imagine doing all of that myself and making the app free at that.

I do think it’s a shame the codebase is such that seems to prevent meaningful contributions/collaboration that might improve things — but Kovid has done something amazing, make no mistake.

And more to the point — we all complain about Calibre, yet no other app exists that even does a fraction of what it does.

> “I bitch because I care”

This. Or:

"I WANT it to be better."

It's sad that the response to that is often "Stop bitching or stop using it", "Make it yourself", or "If you don't like it why don't you go somewhere else?" (and it's often from other users who try to speak on behalf on the developers.)

> I cannot imagine doing all of that myself and making the app free at that.

The only reason we are here talking about it is because its free software. Its not even about price, its about how Calibre evolved thanks to a community that grew around it. Maybe someone could start a proprietary ebook library program, charge for it, and make a living that way. But it would get orders of magnitude less usage and have done that much less good for the whole of mankind as a result. And the work of one person, or even a small team, is unlikely to accomplish all the features Calibre has because few people will recognize the collective needs of all book readers the way an open bug tracker and merge requests can.

I guess there is something to be said about applications purely focused on user needs and not engineering. MS Excel and MS Access applications vs applications developed by engineers using the latest framework. On a personal level I was happy Drupal end user because whilst I am a developer I am not a web developer. Drupal 7 was useful to me it allowed me to create useful web applications similar to using MS Access on the desktop. I cannot even get the well engineered Drupal 8 running because I honestly don't have the time to first learn things like Composer.

Stroustroup's version of this (about C++, of course): “There are only two kinds of languages: the ones people complain about and the ones nobody uses.”

The problem is that, even if true, this chestnut doesn't say anything about whether the criticism is justified or whether the degree and correctness of criticism is commensurate what one would expect of a quality product given the language/software's usage.

Because otherwise it would no be talked about on HN.

Nobody cares about the myriads of ugly, bad designed apps that are not useful.

A counter point, nobody cares about the well engineered apps that have not been completed or do not have features useful to the end users.

It could be that, the more users a product has, the more criticism it will receive (say, if one percent of users always complain). I also know I sometimes complain about some software I really like, as it would be completely perfect for me with this or that one additionnal feature.

The last line reads needlessly dismissively. Someone, quite rightly, making an observation that the user interface/experience could do a little work is not analogous to someone suggesting the app should become the victim of poorly thought-out modern design trends.

Modern design trends != usability. Calibre is in need to usability and performance improvements.

That's pretty much what I said.

> Calibre is implemented for free in spare time in Python

Well it was Python. The number of C extensions means they can't go back without many hours of work and hundreds of thousands (or millions) of LOC cleaned and tested.

For instance, I recall a LZMA decompression C/Python script in the Calibre source. Python 3.3 added LZMA in the stdlib, but they're stuck maintaining their handrolled one.

I'm missing details. I learned quite a bit from that codebase awhile back.

> without much effort

I remember trying Calibre years ago and figure out how to use it was enough trouble that I just shelved it. Your post reads as though UX doesn't matter much, but that's far from reality.

Anecdotally, I had the opposite experience. From the first time I loaded up Calibre, I mostly understood how it worked.

Perhaps it just clicked with me easier than with others, but other than the "bare bones" interface, I think it's a reasonably intuitive program.

I run it on a server and use calibre-web as a frontend. Has a nice UI and works well for my purposes:


Interesting. I wonder if you could embed something based on calibre-web in an Electron app. It'd be one way to get a better UI in a more accessible way...

I just use chrome for this:

chrome.exe --app="https://url.of.calibre.web"

Removes the top bar and shows the favicon as the application icon. You can create a shortcut/.desktop and it'll act pretty much like an electron app would.

But you still gotta run the 'web app' somewhere, responding on some port (even if only on localhost)?

With the new server backend that has been released where you can add remove books and modify metadata etc. It would be lot easier to build a different frontend. The Calibre Dev is quite open to take patches that increase functionality without taking away previous functionality so he would be probably open to adding more functions in the server.

How is this better then running the standard calibre in daemon mode. I sync my library to a vps and do this:

/usr/bin/calibre-server --daemonize --enable-auth --url-prefix=/calibre --port 8000 --enable-local-write --log /home/user/calibre_log /home/user/user_library

I feel similarly - I use Calibre because it's the least-worst option. I truely appreciate the effort the devs put in, because I know how complex it is and that I wouldn't expend the effort myself.

But it certainly has some performance and UX issues. For me personally, I'd prefer to focus on getting the UX right, then I wouldn't care so much about the performance

Isn't this the case for a lot of tools?

For me Thunderbird is one of those - there's no better open source mail client to be found and you use it because it works (most of the time).

The problem with this is that creating GUIs is very complicated as there's just too many different frameworks and specific stuff to know to achieve this. In my opinion interface design on computers is kind of broken just because there's no standard that works for every system. I don't want to implement things 4 or 5 times to get the same result.

If I could I would contribute to those apps because I have good ideas for UX/UI but I'm nowhere near learning all the stuff I need to know to do so I'm afraid. Maybe when I'm really old and retire it's still as crappy as it is and I'll find the time.

In the meanwhile at least we have tools like Calibre and Thunderbird and I'm very thankful for the work the Dev's put into them! :)

tomc1985 19 days ago [flagged]

> modern framework/usable interface,

Let me guess, some Electron monstrosity that looks like a web site but runs on a desktop?

"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."


Why would it matter?

My initial design doc was going to be Swift-based and in my “pie-in-the-sky” goal, it would be a native macOS app.

But part of the value of Calibre is that it is cross-platform and so yes, Electron was a strong option because for cross-platform development, I definitely don’t think it is worse than QT or Java. There are a lot of bad Electron applications, but apps like Visual Studio Code* prove that as with anything, you can make a really fantastic experience if you put the right work into it.

But it doesn’t matter anyway. The amount of work that would be required would be monumental and the payoff wouldn’t be worth it. Which is why I have tremendous respect for the Calibre developer. I don’t agree with his design decisions and I wish the app was more usable, but I fully acknowledge that nothing else exists and that no one else is willing to do the work to make a better version.

* Disclosure: I work at Microsoft but not on VS Code. I have huge respect for the VS Code and the Electron team, however.

TBH, since it's a server application that would be displaying some fairly basic stuff, whats wrong with a simple web app that you run in your browser?

Nothing! There are a lot of web-front ends for Calibre, actually. And that’s also why you have some really great iOS apps for accessing your library. For me, the value of Calibre is more in the plugins than the serving mechanism — which is where the bad design becomes frustrating. But again, despite being frustrated by the app, I’m so grateful to the developer for making it, because I would rather have this version of Calibre then no Calibre at all.


Would you please review the site guidelines and stick to the rules when posting here? You broke them with this, and even worse with https://news.ycombinator.com/item?id=21160833. That's not cool.


Python is a perfectly fine language for something like Calibre. I'm maintaining my growing library with it, and it's doing more than a decent job. Also I'm using Kobo utilities and it's neither prohibitively slow, nor it's useless.

If you want something pretty but basic, you can use bookworm. It's also an electron app, so you can try how it can perform.

> But it's cool, cause electron is slow, amirite guise!!?!?!?!

Sorry, but electron is literally slow and bloated. In case of Atom (the flagship app using Electron), using 600MB of RAM at the startup without the ability to load large files, or being not on par with BBEdit feature-wise, which uses 60MB at the start, is blatant waste of resources.

My Eclipse installation is using 600 MB of RAM (like Atom) out of the box with quadruple amount of features and orders of magnitude higher speed.

> Le me guess, you're the type of person that doesn't understand ROI?

I'd rather write an Atom-like application with Python, Java or similar and have much better ROI while not requiring small portable servers from my users to just edit some little scripts and push them to git(hub/lab).

Using Electron is a wrong type of investment for future of your application due to its power and space requirements, but it's cool, cause hardware is cheap, amirite guise!!?!?!?!

Honestly if someone doesn't like Calibre so much it would be better to contribute to it, or fork it.

And yes, electron sucks and it ruined desktop software because a bunch of business brats have to cut costs on software craftsmanship. This "modern UI" crap is a lie. Software using native widgets (or even JVM) is fine, but hey take it to extremes

If you’re actually talking about ruined software craftsmanship and mentioning JVM in the same paragraph, I have a hard time taking this critique seriously. (Java is great on the server — it’s not great on the desktop, which is what we are talking about)

Electron isn’t perfect and plenty of people who build apps with it make bad design and architectural decisions. But the same could be said for any other cross-platform framework or language. There are trade-offs, period.

Meanwhile I like Electron/web-stack for desktop applications I can write plugins for. I like classic DOM + HTML + CSS + JS tech. I've written scratch-my-own-itch plugins for VSCode/Atom that I never would've written if it was Javafx or Swing or something. And I also benefit when other people find it as hackable because it uses such familiar tech -- the ecosystem benefits.

It's all trade-offs.


I'd wager most of us that dislike Electron aren't at the point that we're so desperate for software, that we would lower our standards regarding usability, resource consumption and platform integration.

For me it's definitely not a problem that I'm missing software X which is only available as an Electron app. The Electron apps I use are required to interact with some piece of hardware (syncing, etc) and have completely custom UIs, which work most of the time, but have super-weird limitations or UX bugs, because you can't reinvent decades of UX on all platforms without forgetting or messing up several things.

And then there's MS Teams, which proves either that Microsoft can't write working software, or that Electron isn't able to offer a way of building working software. Probably both.

Counterpoint: Visual Studio Code is great software from Microsoft that was built on Electron. However, it's the ONLY app I've ever seen built on Electron that isn't a slow and voracious consumer of all resources on a system.

Calibre is so darn useful. It gets hate for the eclectic ui but it's absolutely essential for any ebook Downloaders imo. Kovid is a real hero for as much work as he does on this. He must spend several hours a day every day of the year on it.

> Kovid is a real hero

Has Ph.D in quantum computing. Works on ebooks.

He really is a hero.

also probably a good place to plug his kitty terminal emulator which is really, really nice. Two pieces of software I use a lot.


It's a shame it's named kitty though. https://github.com/kovidgoyal/kitty/issues/9

This is the most ridiculous bikeshedding I've ever seen, I'm glad he didn't cave to the ridiculous request to rename it.

Until reading the issue, I assumed it was the fork of PuTTY.

That's an absolutely terrible name.

Its GPL v3 licensed, any one of those complaining people could fork it and name it what they want it to be called.

That wouldn’t solve the issue. In fact it might the problem worse.

Wouldn't it? If the complaint is that the project is too hard to find and too hard to form any kind of online community (searchable blog posts, forum posts, etc) around, then a fork with a more distinctive name should become the dominant version by accreting the larger userbase.

Got to respect dedication and hard work. But why doesn't his homepage support Chrome? https://kovidgoyal.net

Edit: I was referring to the alert() upon loading the site:

    W A R N I N G! Your browser is not supported by this site.
    I cannot guarantee that things will work as they should.
    Consider downloading either Mozilla >=1.4 or Internet Explorer >= 6

> This site was made along time ago, when I was interested in web programming, using DHTML and javascript, long before the advent of modern cross browser techniques. As such, it's a bit of an artifact, showing what was possible, (with a lot of work in the 1990's).

Brother, this is a great site, don't ever change it! I liked some of your poems, and this line "fault tolerant quantum computers" Definitely made me raise an eyebrow or two.

I figured as much. Don't get me wrong, I love it (in an excessively creative myspace kind of way).

Interestingly, it fails for me because of Mac, not because of Chrome:

this.correctBrowser = (this.nav || this.ie); this.correctVersion = (this.nav5up || this.ie5up); this.correctOS = (this.linux || this.win32); this.supported = (this.correctBrowser && this.correctVersion && this.correctOS);

A case of platform detection, instead of feature detection, and an illustration of how platform detection fails in future-proofing your code.

Are you using macOS? He didn't test that:

    correctOS = (this.linux || this.win32)

It works fine for me in chrome v77

I get that in Safari too.

Works fine over here.

it works in chrome latest. from the website quotes " This website makes heavy use of DHTML and requires a W3C DOM (Level 1), CSS and CSS-P compliant browser. It has been tested on Internet Explorer 6 and Mozilla 1.4. For detailed site information click on the button. "

Lot of simplicity just works. ( lot of work would have gone in 1990's to get this site up and running "

Yeah, the UI is just bizarre but it doesn't really matter. What matters is whether the update supports DRM stripping extensions. Can't find that info anywhere; won't update without knowing...

That is because for legal reason it is better if they stay completely unsupported from the main developer

I just downloaded a book from Amazon and was able to convert it from azw3 to epub.

You can ask this in the forums and someone ought to have tested the plugin with 4.0 by now...

On android I greatly prefer fbreader, which has a really simple UI and gets the job done for reading epub format.

There have been complaints about the UI since forever, and the developer is well-known for bristling at any constructive criticism and telling people to either accept the way he likes things, or simply don't use the application. Consequently, I am surprised that no one has forked Calibre, even if it was just to kept the backend but simply overhaul the UI.

Something that I would like to see in a future version of Calibre (or a fork) is news-download recipes changed to a plugin system that can be updated separately of Calibre itself. It is not ideal that if a news recipe becomes obsolete due to changes on the respective news website, one has to upgrade Calibre to a new version. For users whose distros package only a certain version of Calibre, it would be nice to continue running that distro-supported version but simply be able to update the news recipes from within the Calibre settings.

The code base is a nightmare and still uses Python 2. I'm not surprised it hasn't been forked, although I'm a little surprised it hasn't been replaced.

Frankly, the software is just fine for most needs, and the person in charge is still active, so the desire to replace it just hasn't materialized.

EDIT: Looks like somebody actually took the initiative to port it to Python 3.

Calling the codebase a nightmare is the understatement of the year. I tried forking it at some point. I don't think I could reasonably even attempt describe the codebase in a way that wouldn't get me banned from HN, and most likely the rest of the internet.

Needless to say I gave up.

We would actually love to read that.

An article title such as "Popular open source software Calibre has a codebase that isn't just bad, it's outright dangerous" would definitely make me click.

If you feel strongly, please do this. It adds value. The creator might really benefit from it.

How would you feel if someone came out with an article about "echelon's code isn't just bad, it's outright dangerous" and wrote a whole article attacking and shaming you, just because you might benefit from it?

Sure you might benefit, but there are much more constructive, kinder ways to do it. Even if he and his code aren't great, Goyal's done a lot of free public service here. Let's not be dicks.

If you want to learn about the codebase, here it is https://github.com/kovidgoyal/calibre

Good point. I was responding to the tone of the OP, but it's not at all kind or constructive.

They should be praised for their contributions, not torn down. That would be a dick move.

Forgive me, I have the flu and I'm grumpy today.

No. I definitely wouldn't like to read a post with an attitude like the one espoused in the titled you proposed.

However, I would gladly read a post that reviews Calibre codebase in a helpful, friendly way.

> If you feel strongly, please do this. It adds value. The creator might really benefit from it.

There is an awful lot of self-deception packed into this paragraph.

> We would actually love to read that.

That part is probably true for many.

That’s clickbait and not very constructive. Fun to read, maybe, but it probably won’t be for Kovid and it won’t help make Calibre better.

That makes me very curious. Could you write a blogpost on the topic by any chance?

> I'm not surprised it hasn't been forked, although I'm a little surprised it hasn't been replaced.

Shouldn't be all that surprising. Things are harder than people think, and only a few people are willing to stake actual skin in the game instead of just complain.

Also, Calibre is already a niche tool. All of my friends/family have a Kindle, they all use Amazon's default send-the-kindle feature, and none of them probably even know how to get the physical ebook file out of the Amazon system nor care.

And ebook file management just isn't a very sexy problem to solve beyond a proof of concept weekendware effort. Surely most people aren't spending much time in Calibre anyways. I know I just use it intermittently to load the next 10 books onto my ereader. It's not a part of my life I'm very passionate about changing.

> EDIT: Looks like somebody actually took the initiative to port it to Python 3.

For reference, here's the ongoing python 3 port pull request: https://github.com/kovidgoyal/calibre/pull/870

I would say that the reason it has not been successfully forked is that reliability is better than a nice UI.

It's an incredibly reliable piece of software. Isn't that what's most important?

What's so problematic about the UI?

It opens with a list of books, you double click on the book you want to read and it opens that book in a new window.

What could be simpler than that?

What are the complains? Just that it looks like an old 90s program, and doesn't have the latest all-white minimalist design? Or are there actual UX programs?

It looks like an old 90s Windows program, and most Mac users were bothered by those even at the time. It fails to honor basic common MacOS navigation keyboard controls, making it jarring even if I tune out the over-the-top ugly visual interface.

Old 90s Windows programs are great. Downright relaxing after the "WTF is interactive and what's content?" mess of "modern" UI. Calibre's not that. Some poster upthread got it right by comparing Calibre to some of the uglier examples of Java UIs.

(mind, I find Calibre pretty usable)

The code is a very ugly mess.

>It is not ideal that if a news recipe becomes obsolete due to changes on the respective news website, one has to upgrade Calibre to a new version.

I haven't used the news feature in almost a decade, but in those days, you could clone a news site's recipe and modify it - no need to upgrade Calibre.

Recipes are first polled from a central repo so they do update if the app is online.

Surveying this thread, I see an amazingly wide range of uses for Calibre. Yes, the UI is really bad, perhaps especially on a Mac, but it is so mind-bogglingly good at so many different things that it is difficult to believe that Kovid Goyal manages all of this by himself.

Other people have different use-cases than I do, and Calibre satisfies us all. Excellent, amazing, wonderful work, Mr. Goyal!

This used to be called function over form.

Just updated. Alas, the new viewer still does not provide nondestructive viewing. Open file, press PgDn, exit, and the viewed file is silently changed. The viewer writes current position in the viewed file itself (META-INF/calibre_bookmarks.txt).

UPDATE: just found out there is now a checkbox in the viewer preferences: "Keep a copy of annotations/bookmarks in the e-book file, for easy sharing". If unchecked, the viewed files are kept intact. Nice!

Where on Earth is this setting inside the Calibre preferences menu?? I just spent about 5 minutes looking and simply couldn't find it anywhere!

It is not in the Calibre preferences but in the Viewer preferences. Open an ebook in the Viewer and while in the Viewer press ESC to get to the menu, then the option is under Miscellaneous.

Of course. So you still have to destructively edit your books before you can tell Calibre to stop destructively editing your books. Genius!

I just checked and I can open the E-Book Viewer standalone, without a book.

I also checked that the destructive edit happens upon viewer close, not open or page turn.

That behaviour was for the old viewer with version 3. The new version 4 one reverts to what GP is saying: you have to open an ebook before you can even access the settings through pressing ESC or right click.

Also the version 4 ebook viewer is step back from the old one, as it stands now. It is slower, more resource hungry and buggier. The only arguable improvement is it now uses a 'flat' theme that doesn't look dated. I'm even considering reverting back to Calibre 3 because of the ebook viewer randomly freezing on large epubs with equations and so on.

While Calibre is not what I'd consider to be a "beautiful" program, I do not care. It's functionality is unbeaten.

What I really hate about it is the directory structure, it forces upon you. I have my books sorted in topical directories and Calibre sorts them by author. That sucks. If this single issue would be addressed, I couldn't be happier with Calibre, especially, since Kovid is a very helpful person.

Do you tag your books? The metadata can be very helpful.

You could also consider libraries by topic.

I tag my files on macOS since the OpenMeta days. But I refuse to access any library with an application frontend, it's the file system or nothing. These Librarian apps are good for metadata management. That's what I use them for.

However, I am mostly on Windows, these days, so no chance for filesystem tags, even worse now, that I have all my eBooks on a home server.

The DB frontend is very useful for metadata, short descriptions, and finding duplicates.

I run a headless version of Calibre in the cloud, so I can read in the browser and do other stuff.

Afaik there are tools that use Alternate Data Streams (ADS) to store metadata for files (on NTFS drives).

Kudos to Calibre and its author. It's one of the first programs I install on any Linux machine I own.

Yes, the UI is a bit quirky, but who cares? I spend my time actually reading the books, and for managing my library and converting between formats Calibre is ace.

That useful software like this exists makes me very happy.

Great app. I know everyone likes to extol the UNIX "A program should do one thing and do it well" philosophy, but Calibre is one of the few "monolithic" apps I can think of that justifies the bulk. It does everything you could want it to do regarding eBooks: viewing, editing, management, delivery, etc.

Somewhat interestingly, under the hood calibre seems to be a bunch of little tools, strung together by the UI:

Here's what's under calibre/bin

You can use many (possibly all) of these independently of the UI.

If it helps to think of Calibre as a "toolkit," then, instead of a single monolithic app, I'm all for it.

It's funny, if they released a version of Calibre that had only the bins you mentioned and omitted the GUI entirely, it would probably be held in much higher esteem among the HN community.

I’d argue this is true in general: I once gave a presentation about a (IMO) pretty decent tool but made the mistake of demonstrating it with a UI that was usable but needed work. It got a lot worse of a reaction than an earlier and worse version of the same tool where I ran it from the command line.

Showing tools that work, CLI or not, is better than showing something that barely works. It is a very natural and logical explanation.

Thanks for mentioning this. I didn't know that Calibre packages its own optipng, a program for which there have been some security advisories in recent years. I hope Calibre keeps pace with upstream releases of these tools.

I installed it on one server that I only ssh to JUST to use that ebook-convert so I can read anything (epub, mobi, pdf, etc) on the command line. It's so easy to use, detects to- and from-formats from filenames and works on anything.

Poettering should learn from the design of this software.

If you had spent 2 seconds looking at the source code to Calibre, you would not be praising it's codebase.

Also, systemd is not one binary. It's like 50 different binaries.

Better he learn from Kovid than the other way around!

That's good design, right?

Don't forget DRM stripping.

I had mentally lumped that under "management," but maybe I should've added "conversion" as a category. Certainly DeDRM Tools has been worth the price of admission alone.

Do you know if the various 'add-ons' that were required to strip Kindle of DRM are still available and updated.

Years ago, I enjoyed stripping my own purchased Kindle books to ePub with Calibre, so I could read them on my non-Kindle device, but it wasn't so easy as the patches became harder to find, and Amazon would constantly change their DRM.

Search for "DeDRM", follow the first result you see to Apprentice Alf's blog. That should lead you to the GH repo with instructions.

It's still a bit of a pain, you may need to intentionally downgrade your version of the Amazon for Kindle app to an older version where the tools can break the encryption. But it can be done.

The pain kinda disappears if you have a physical Kindle. You enter the serial number once during setup of the plugin, then download the books from amazon.com/myk ("Download & transfer via USB" option), and just drag-and-drop downloaded files into Calibre's interface.

Works on Ubuntu too, which is really a PITA otherwise.

I never managed to get this working weirdly. Still running Kindle for PC 1.17 on Wine.

Or you can download the older file format from the Amazon web page under "Manage Your Content and Devices", "Download and transfer via USB".

That's the primary reason I use it. Strip DRM from my purchased books and then upload to Google Books for viewing on all my devices.

Have you considered that maybe you shouldn't be buying DRM content in the first place? If you are going to spend money buy a physical book and consider passing it on after you have read it if you don't want to reread or refer to later.

Sometimes I don’t want a physical copy because it is:

1. unavailable in my country at a reasonable price

2. Something I’d rather read while travelling.

And often, Kindle e-books are the only ones that are priced by region. I try to buy from DRM free stores wherever possible, but it isn’t always doable.

Maybe piracy would be more acceptable? You could always mail the author the cost of the ebook if he doesn't have an online method to accept donations.

I've done that in the past, but a lot of authors have rightful objections to this, since these direct payments to authors don't reach publishers, editors, and many other people who make the book happen.

Unfortunately, many books are ONLY available from stores that still use DRM.

Physical books are much less convenient in that I can't carry 50 of them around in my pocket like I can with books on my phone.

Buy the book from author, donate to someone, download from the internet.

Technically plugins do this, right?

If you like it and want to support development, the main developer is on Patreon https://www.patreon.com/kovidgoyal

I don't know why it always surprises me how little open source software developers are making on Patreon.

Depending on donations is almost always tenuous, especially if it's not anchored by big donors (and, often, even then).

There's even a school of thought that the existence of things like Patreon for funding open source development is actively harmful insofar as it can create the illusion that it's a viable funding mechanism for sustainable open source development when it really isn't.

As Vitalik and other people doing social-coordination research keep arguing - it's a matter of coordination and not of anybody being greedy. The feeling that your little donation means little is what keeps the whole swarm of users from donating.

This article makes a good argument to the same: https://slatestarcodex.com/2019/09/18/too-much-dark-money-in...

It seems like he lives in Mumbai, which makes his $688 equivalent to about $2,805 in SF. Still low, but not as bad.

you might want to read up on the controversies surrounding him first though

From the sibling comments, it seems like you're just referring to his history of abrasive social interactions on bug tickets. Granted it is strikingly abrasive, but that really isn't a good reason to forego donating. At the very least don't actively convince others not to donate.

If you're referring to the "I'll personally maintain Python 2 if it goes EOL" comment, Calibre has been slowly upgrading to Python 3.

It hasn't been upgrading to Python 3 by itself but through the effort of a distro maintainer and other contributors: https://github.com/kovidgoyal/calibre/pulls?q=is%3Apr+author....

That is kinda the point of being an open source project, though, isn't it? The lead dev says, "It's going to be way too difficult for me to convert this codebase to Python 3, I don't want to do it." A group of volunteers then decide to undertake the effort themselves because they wish to ensure the project's continued viability for the future. AFAIK, he hasn't nixed the idea completely if others are handling the legwork.

Did he put any effort into the Python 3 port, or is his merit just that he didn't reject the PRs that others have worked on?

If you look at the github he is actively involved, and is fixing problems that the porters run in to.

Do you mean because he's arrogant? Who cares? The software is great and saves me a ton of time and money.

I care. As developers we have the moral responsibility of not putting people at risk even if we don't have the legal one.

The author has zero care for security and the product had plenty of vulnerabilities. This harms users and also other people.

Furthermore, poor behaviors attracts blame on the whole open source community.

When you interact with customer service as a paying customer you get to expect courtesy. Some people seem to expect obsequiousness but I digress.

By what chain of reasoning do you derive the existence of the moral obligation to users who have paid exactly nothing let alone the obligation to consider what the broader world thinks of open source developers. It's pretty clear Kovid is a bit of an asshole and sometimes outspokenly incorrect but what right do we have to demand different? Usually such an obligation is transactional. Even if unspoken and devoid of monetary context there is some broader context SOMETHING of value is gained or lost.

So far as I can see the only thing we give Kovid is attention which is cheap and he gives us work which is dear. If you don't agree that the present transaction of putting up with the existence of opinionated posts which you don't have to read for a useful piece of software you don't actually have to use it.

It would even be useful for you to expand on why you think its insecure because that may inform users who can then see to their own interests better for having the benefit of your counsel but don't bore us with talk of his moral obligation unless you can't substantiate such.

The spoiler alert is that you cannot because you have confused the right to control the mores of a particular community with the right to impose those on non-members.

I don't think being a paying customer changes much here either unless there's some sort of explicit customer support package in the deal, especially when we're just talking about donors.

I once made the mistake of accepting donations for a forum I run and learned how people will expect the world from you, like 1:1 customer support whenever they need it, just because they once gave me $5.

Eventually all the "this is outrageous, I am a paying customer!" made me refund everyone and I never accepted donations again.

It is sad to see how you equate moral obligation to transactions.

But if you really need to see transactions everywhere, here's one:

When I give software away for free (which I do) or food (which I do) people give me something in exchange: their trust.

I also give my trust to other software developers.

Not caring of security is a breach of such trust. Same as giving someone some spoiled food.

Fork it.

The codebase is horrible. I use something else.

A something else that you're avoiding naming?

Yes, it's not released (yet).

You might want to add some specifics and references to back up such a statement. Otherwise it very much looks like a fairly cheap character attack to an outsider such as myself.

Where's the controversy? A maintainer and a contributor disagreeing about a bug report, and it gets a bit heated. Nothing important to see there, and nothing we haven't seen a thousand times in public bug trackers.

The submitter was pretty civil for the most part, and Kovid ended with:

> Something answering posts from fools like you over the years should have taught me a long time ago.

And submitter is correct - he does this often. I recall a security bug that he refused to fix as fixing it would break some convenient feature. That one got really heated, and only when distributions declared they will stop carrying calibre in their package management system did he cave in and fix it.

Nevertheless, I don't see these as obvious reasons not to support him in Patreon.

I agree, these are not reasons not to support him.

I stumbled into that git issue and couldn't stop reading. He was immediately dismissive of the security suggestion, even when that person had gone out of their way to provide verifiable examples of the vulnerability. I ended up not installing the software.

You mean you didn't install Calibre because of a bug report where the author allegedly misbehaved? That's odd. A lot of open source software is riddled with ego and personality clashes, and because they play out in public forums, mailing lists and bug trackers for everyone to see, these flamewars tend to be very visible (also see: Linus Torvalds' outbursts). Do you also not use these programs?

Did you need Calibre in the first place? If so, what did you end up using instead?

There are many other such instances in which the lead dev immediately responds to bug reports with 'works on my machine' without even asking for details to reproduce the bug. Any further words from the bug reporter are met with sarcasm or words worse than I would term "a bit heated".

Here's Kovid responding to reports of security vulnerabilities: https://bugs.launchpad.net/calibre/+bug/885027

How much, exactly, are any of these people reporting bugs paying for this software?

You use open source software that is made by one guy and offered to the world for free, you kind of have to deal with the possibility that that guy has better things to do than fuss over every bug report.

I have no way of knowing how much these people paid, if anything, to the dev's Patreon or Liberapay or Donate to PayPal. What they did do was spend their time reporting serious issues for zero payment. Bugs are important to fix, some bugs can be critically important to fix. If the dev chooses to fix these bugs, it is the dev that will receive all credit for doing so. The person who made the effort (albeit minor in comparison) of reporting the issue will not be credited or acknowledged in any way.

Also, I think a vulnerability that allows unprivileged users to gain root on a system on which Calibre is installed is worth fussing over.

I would argue its always better if people form their own opinions, so I just suggested that people should look it up themselves and come to their own conclusions.

Does this still insist on making a copy of all my books on my local hard drive? I have about 10,000+ books on a network share. It would be nice to be able to search through them and download just the ones I'm interested in, but past versions of Calibre require the book to be downloaded to your local HDD before it pulls any metadata.

I don't think so, but there is inbuilt calibre-server which should suffice for most of your needs and apparently it was improved in last version. There is also calibre-web[0] project. And on Calibre's wikipedia page it lists quite a few Calibre related applications which could do what you want.

[0]: https://github.com/janeczku/calibre-web

Could you tell calibre to open the network share as a library?

Not quite the same, I'm currently using calibre with a library on a remote server (albeit samba share over VPN) and it doesn't download the books to my local device, unless i choose to save them from my library to it.

Just mount the network share where Calibre expects its library and be ok with the way it organizes the books in there. No local copy happening then.

Calibre 3 advised very strongly in the docs not to put libraries on network shares.

Well, I would imagine this being a blocker for many people who have their ssd only big enough to host the OS an apps + some space for 'just in case'.

Or people who have let's say an ebook reader, a phone, a laptop, and maybe a desktop that they want to share books between and don't want to eat up multiple GB of storage on each device by duplicating their library everywhere.

That's what the http content server is for?

This is a bad advice. Calibre (as of version 3) doesn't support this mode of operation. If the network disconnects you will most likely corrupt your library database.

Well, if your HDD shuts down mid write all sorts of shit will go wrong too. Few developers test their apps for this case. With that line of edge case reasoning you should avoid running the majority of desktop software. :]

I run Calibre with a network share that sits on my home NAS since years w/o issues.

A corrupted database in Calibre is a non issue if all you use it for is to move books between your e-reader devices and the library. You just recreate it.

P.S.: Just for example -- the other day my MacBook's SSD filled up as Adobe InDesign was mid write on a huge document. It crashed and the file was corrupted and not recoverable. While (mid write) 'not enough space' is not the same as 'network mount went missing' or 'SSD kicked the bucket' it's close enough. And this is commercial software that has been around for 25 years.

This is bad advice. Using Calibre while knowing that certain circumstances surrounding a network disconnect might corrupt your library database is better than rejecting Calibre out of hand since it doesn't support network libraries well.

Best of all would be in Calibre's library handling weren't so finicky, but in the absence of that, I use Calibre with a remote share and I'm just very careful about library backups, how long I leave it running, and am patient with the slowness.

How often does your network disconnect? Sure, it would be great if the backend storage system was better at handling atomic operations, but I don't think this is really a huge problem assuming you're not using a really crappy network.

I run Calibre with the library mounted from a NAS. Works fine for my ~2000 book collection. Not as speedy as local SSD, but it is ok.

Does that work okay with multiple machines connected at the same time? I've been worried about what happens when there's a write conflict to the DB. I'd really like a way to easily share and manage my eBook library from both my laptop and desktop.

You can now at least manage the library through the web interface because of the new server.

If I recall correctly you can have the actual database file on the ssd while the books on the network share that would probably improve the speed a bit.

I have had plenty of success running Calibre over sshfs.

Calibre ui made me stay away, I don't mind different but sometimes you do need to get a bit more mainstream. Blender 2.80 did this move and it helped a lot I believe.

Perhaps I have a different use case. I spend very little time in Calibre but loads more time on my Kobo reader. The time I spend is so little that I have never really noticed the user interface. I use Calibre to transfer books to and from my reader and occasionally download meta data for books. I know Calibre has functionality to download blogs and so on but I use Kobo's integration with Pocket[0] to read online articles.


I read most things on my Kindle, but from the moment I unboxed the Kindle I put it in airplane mode and have kept it that way. More privacy and better battery life. So, Calibre is useful as a way to get content and move it over to my e-reader over USB, and so I don't ever risk connecting to the e-reader maker's proprietary ecosystem. I would worry that even that Kobo Pocket integration is sending data to Kobo's servers.

Haha, same use case here. One funny thing is how the Kindle's clock drifts away from the correct time over time :)

The impact of enabling WiFi on battery life hadn't occurred to me. Do you have a rough sense of how big the hit is?

Anecdotally, when we bought my girlfriend her first Kindle about five years ago, we noticed it was requiring charging way more often than the back-of-the-box battery life quote of "weeks of battery life". Upon calling an Amazon agent, they referred us to the fine print for that quotation:

> A single charge lasts up to six (6) weeks, based on a half hour of reading per day with wireless off and the light setting at 13. [0]

We were still pretty pissed at the blatant false advertising (a hardcore book reader reads for only a half hour a day!?!), but moving forward, she keeps the device in airplane mode 95% of the time, only turning it off to download whatever new book she just bought. It increased to at least 2-3 weeks after that, instead of a single week.

[0] https://www.amazon.com/Kindle-Paperwhite-Waterproof-Storage-...

The nice thing about the kindle is that with both wifi and light off, the battery use is nearly non-existent between pages. So the difference between 30 mins / day and 6 hours / day of reading is not that large, tbh.

Massive. Wifi only goes on when it's needed for something.

It's huge. I'd say around 10x (I have a 3rd gen Kindle)

And even worse with the 3G model if you are in a marginal coverage area. Didn’t discover a way to selectively disable 3G and keep WiFi on.

Comparing new WiFi model to new 3G model, out of airplane mode, the 3G drains about 2x to 3x faster than WiFi model.

My old Sony reader gets a few 1000 pages of read time/ 8 weeks (& more) or so of occasional use. On WiFi it drops to a week or so. Making an antenna work uses heaps of energy. It's worse when roaming as it searches for a known network.

A full charge on my older e-ink Kindle (whatever the last one that had buttons, rather than a touchscreen), can last for months with the wifi turned off. If the wifi is on, it usually runs flat in about a week.

Biggest battery drains on my laptop are usually the screen, GPU, and the wifi card. Usually very distant from no. 4

kindle displays don't use power like laptop screens. It uses very little power to sustain an image, and only uses more power to change the pixels.

You can keep the display of the kindle on for hours at a time with minimal drain

One of the key features of e-ink is that it actually requires zero energy to sustain an image. It only consumes energy for state changes between images.

Of course, modern e-readers have a backlight. Though you can never fully turn it off, at least on my first-gen Paperwhite, which is unfortunate.

Definitely going to be ereader-specific, my Kobo has a physical on/off button for its light.

Yes, that's why a wifi card being comparable to a laptop screen demonstrates how power hungry they can be.

Yeah, the UI is appalling, but it works really well for normalizing the book metadata, and loading the books onto my e-reader. That's more than enough functionality for me.

Can you tell me more about how it is appalling? I'm trying to learn about UI, and vague descriptions are less helpful than specific ones.

It's non-native anywhere, and so your intuition fails you. Icons change behaviour, the fit and finish is terrible (many text labels do not line up, for instance).

As I said, functionally, it is marvellous. But using it interactively is painful.

Kobo's integration with Pocket is a killer feature for me. It's so seamless: reading an article on my phone, and at any time hit a button, grab my kobo, and continue reading from there.

I have only used Calibre a few times, but doesn't the Kobo show up as a storage device, allowing you to drag/drop the books there? What advantage does Calibre offer purely for transferring?

YMMV. I probably have more books and documents than I will ever read. I use Calibre to manage this collection. It is easier to flip through my collection of books on a computer when deciding what to read next than on my ereader. Being able to download meta data helps me decide what to read next. I use the Calibre storage as my backup for my ebooks. My first ereader was a Kindle which I stupidly trashed while trying to swat a fly (true story). I then bought a Kobo. Calibre converted my books as I loaded them onto Kobo.

Using a simple plugin, you can save and convert your proprietary books to epub and similar. I do this with my kindle purchases.

There's a kobo driver for calibre that modifies epubs as they're transferred, for better support. I don't remember all it does, though.

do you integrate with pocket? i tried but miserably failed. it results in a mess of files and data that i can't read. do you have a source link or good link on how to setup?

Instapaper might work better for you for Kindle integration.

The Kobo integrates Pocket natively, so it works seamlessly. It's one of the reasons I bought a Kobo. Native Overdrive integration was a huge plus, too.

On your Kobo go to Hamburger Menu > Settings > Accounts, then do what it asks to sign in to Pocket.

Once that's done you get a "My Articles" option in the hamburger menu, and that's your Pocket content.

damn, i'm using the kindle. i wish it has this easiness of integration.

I bookmark articles during the week using Wallabag (an open source Pocket alternative), which gives me an RSS feed that I use within Calibre's "Fetch news" feature to send the articles to my Kindle on a Saturday morning.

I then go to a cafe next door and read them. They don't look like an ebook on a Kindle, more like a Kindle magazine. I adore that feature.

Thought you were on Kobo for some reason. Might be worth grabbing a cheap one as a Pocket + Overdrive device, it's a pretty great combo ;)

Check out Calibre-Web[1], It runs on top of a calibre database and some other calibre tooling, you can upload and download books from it, edit meta-data, read through the browser. Any books I grab I upload to it (can do via phone easily enough) and then I point my Kobo to it to grab books. I run it on a headless server, and never interact with Calibre UI.

[1] https://github.com/janeczku/calibre-web

Calibre has a built-in web server, and it seems it improved a lot in this release:

> The server has gained all the major capabilities of the main calibre interface. You can now edit metadata, convert books, and add/remove books and formats just as is possible with calibre itself.

Calibre-Web has shelves (that can be public or private), and a built-in OPDS server (that you can use from within phone apps such as Moon+ or a rooted Kindle).

It not only replaced Calibre's server for me, but also those few functionalities for which I've previously used Goodreads: organizing books into shelves, marking them as read, keeping track of how many books I read in a year.

I don't really mind the UI itself, but the experience from how everything's jumbled around (especially the toolbar from hell) certainly does detract from it's mid-90s charm.

Can you explain to me what's so bad about the UI? I've used it for years and I never really gave the UI a second thought.

It is by far the ugliest program I run on my Mac. That said, I run it frequently, and don't know what I would do without it, despite its complete lack of design.

Why do you assert it has a 'complete lack of design.' It's composed of standard qt widgets.

That doesn't mean it's well-designed, it just means it's not using custom widgets. Those of us who aren't particularly thrilled with Calibre's UX are mostly annoyed by how it doesn't bother with typical UI conventions when it comes to menus, displays, command keys, etc.

If I were designing a "competitor," for a start:

- have a "File" menu that collects the commands relating to, you know, files: open, delete, rename, add, edit metadata (akin to the "Get Info" command in most other file menus), etc. Converting between file types could be in a submenu here.

- have an "Edit" menu that does Edit Menu Things (tm), most notably copy, cut, and paste . - let me drag and drop files to add them to the library.

- when I connect a Kindle or other device, show me a second pane with its content side-by-side with my library, rather than making me switch between "here is your library with flags to indicate what's on your device" and "here is your device with flags to indicate what's in your library."

- since I have two panes like the gods intended, let me copy files from my library to my device with drag and drop.

Calibre has all of that functionality, but it ignores three decades of UX convention to no particular benefit.

It’s not very well laid out and the iconography is not the best.

I personally have never had an issue with it. There are many buttons but they are all very discoverable with a bit of hovering. I vastly prefer it to "modern minimalist" interfaces where I have to drill through 90 layers of Hamburger menus to disable a goddamn notification.

I could write a long list of small quality of life tweaks to its UI.

But, at the same time, I wonder how many HNers have even built a UI for a product with so many features. It's incredibly hard to find a good place for everything. And experimentation is expensive and time consuming.

They're speaking from their experience of making a toy 'show hn' project they worked on for a weekend, abandoned and haven't updated in 4 years.

I find it bad taste and too fancy. A sense of bloat. So I didn't want to use its numerous features.

It's not like he bundled it with a complete copy of chrome. Now that would be bloat.

Nah bundling chrome would modern UI worthy of a billion dollar company. Supporters will innocently ask who in the world does not have a machine with at least 32GB RAM and octa-core processor to run this wonderful application.

It's a free product that does what you need it to do, and more. Man, some people...

how is it unusual?

from screenshots it looks like itunes+pdf reader to me

It's totally fine. It has a bit of mid-90s Java program vibe to it -- large chunky icons and buttons -- but functionally it's the same as any of these programs. I seriously don't need it to be upgraded to a Material UI or any hot new thing.

I think many people don't realize that its appearance is very customizable - you can turn off all the icons, buttons, extra views etc., after which it has a very plain and simple appearance.

I get that tiny icons are in these days, but my icons are less than 40x40 pixels. Is that considered large? They look the same size as the icons in Firefox.

Oh no, no fancy stuff. I may just be too used to mupdf/sumatrapdf and very basic gui idioms you know.

I think it helps avoid distraction and resource usage.

I'm not sure what these people are complaining about.

You have a search box with a big list box underneath and a preview frame on the side. I guess it's 'dated' in the sense it doesn't use a browser engine, layout everything with CSS, and have icons that match 201XQY's design fad.

I have 32 GB of RAM in my desktop, but I'm getting maxed out on the number of Electron apps I can have running at one time.

At this point, I've got a pretty good sample of apps that were native and have now become Electron, and the Electron versions use 8-10x more memory across the board.

This is not ok. At this point, Outlook is the least resource-hungry productivity application that I need to use on a daily basis. Outlook!

Can you list these apps?

I am curious.

Slack/Discord, Atom/VSCode editor, Spotify, Mailspring, Skype, Boostnote... I could go on and on.

These days, electron seems like a popular base for any desktop app! See a whole list here: https://electronjs.org/apps

It's interesting, my complaint with Calibre was always performance rather than UI - it can be surprisingly slow for processing & converting mostly-text formats.

But the sheer number of features & formats makes it worth the downsides. Indeed it's probably a good reminder to me as a developer, I can get too focused on making things snappy, efficient and pretty where perhaps I could have delivered twice the features if I took a little more of an 80/20 approach.

I am very curious if the performance problems come from the architecture, the code or from being written in Python.

Calibre does the trick.

It's a shame there's no good hardware ereader to use it with. Every e-ink device is closed hardware, runs only closed software, and is trying to lock you into some DRM-rich ecosystem.

Actually there are ways to install software on many ereaders. About 10 years ago I used PRS+ on Sony's PRS-500. Nowadays Sony's ereaders are pretty much dead, but there is alternative software for Kindle, Kobo and others. By quick googling I just found:






https://onyxboox.com/ - this is Android so I guess it's bit more hackable


Android is ill-suited to readers. Installing "homebrew" applications through hackish means has been a thing for a while.

None of this is a replacement to a properly open ebook reading device which does not exist.

On the software side, openinkpot existed at some point, but the project died.

I'd love a properly made piece of very low power open hardware running e.g. nuttx rather than boring Linux/Android.

FBReader is quite nice for reading offline ebooks on Android.

I realize that you are griping about dedicated e-readers, but I want to make clear that its not strictly an Android problem. The more open Android devices work just fine as e-readers.

My flow is basically Calibre -> managed library -> android phone -> offline reading anywhere.

My flow is pretty much the same. But oled != eink, even though I really like orange text on black with oled.

I have 2 apps that I use on my android based eink reader. I mostly read fiction so those 2 our enough for me. Turn on wifi every 2-3 weeks to transfer the books from calibre to calibre companion.

1. Calibre Companion 2. Coolreader

The bq cervantes[1] is completely open source. It runs an old (old) Debian Linux, but it's OSS top to bottom, they tell you how to get into it and run your own firmware, their e-reader app is open source, and you're free to hack it apart as you see fit (koreader has a target for it too).

[1]: https://www.bq.com/es/cervantes-4

IIRC, Kobo is very hackable. A coworker of mine took a flight navigation software and ported it to the Kobo. He uses it while flying in a glider.

FWIW, I've never had a problem with my kindle, which has never been connected to the internet.

Even the 'special offers' dissipate after being in airplane mode for a certain length of time. I see no value in using any online feature—I've never taken my kindle off of airplane mode, and use Calibre to load all content.

I wouldn't have paid for the ad-free version of the kindle had I known it was just a lock-screen promo for a book. I'm exposed to so few new books in my life that I kinda like the feature. Then again, I also wouldn't have bought the ad-free version had I known I was going to keep it in airplane-mode since the day I bought it.

Back when I first bought my kindle and made this decision, I was thinking the ads would be something like a "checkout these deals on Bose speakers!" interstitials every three page turns.

I was surprised, and I'm not sure why, to find out that Kindles run Linux, X11, and Java.

Surprised to see so much hate for Calibre's UI here. I'm not sure I understand. I can load damn near anything that pretends to be an ebook into it, and then I can double-click on the row for that item, and it pops open a reader window. That's all I need it to do.

At least on Windows, I've been pretty underwhelmed with other ebook viewer apps I have tried. The various Kindle apps tend to blow for anything you don't obtain through Amazon, and often don't work great for syncing even Kindle ebooks. I still have a bunch of Microsoft Reader .lit files kicking around, and Calibre is one of the only things that will open them. The Calibre PDF reader is pretty terrible, but setting is up to pop open to Adobe or whatever instead doesn't take much ceremony.

Seeing how many people prioritize fashion over function...in this topic, and life in general, depresses me. Calibre works very well and you have people saying they "can't" use it because it's not pretty enough. It's one guy, does SO much, and it's free. I don't care what it looks like. It's amazing.

I'm not exactly surprised because that was my original response to the UI as well, several years ago, but the surprising thing to me now is why exactly I considered it such a terrible UI back then.

One thing I can remember is that if you start a conversion or a download, often it silently starts in the background with apparently no indication anything is going on, unless you know to look for "Jobs" in the lower right corner. But I think I had a bunch more complaints which have apparently become invisible to me now.

I used this for a bit ages ago. Useful tool. Funnily, I think it's a great example of how building some things is way harder than people think. For instance, everyone has complained about Calibre since the beginning of time. Code, UI, everything. And yet, no one has come up with a replacement. Maybe pandoc captures some use cases.

It's like OpenSSL in that respect alone. Everyone wants something like it but it's too hard to build so they'll just use what they think is an inferior solution (when really it's superiority as a solution is that it exists).

Well put.

Another comment here exemplifies this by reminiscing how they worked up a design draft for their Calibre competitor yet never even started it because it's just too hard and unrewarding.

I also think people are too hard on the author's personality quirks. Yes, they can be grating, but this quirky person is presumably the sort of person who can build it and continue shepherding and maintaining it for over a decade. None of us with our infinite patience and epic social skillz apparently are doing it.

How many here have even maintained a popular, complex product for any real duration? Or had to be your own product's customer service agent? It's not easy. I've seen people break down just fielding customer demands at Target during one summer job.

Other commenters are pretty ruthless. Calibre's great for managing e-books and putting them onto an e-reader. It works reliably and I've never had an issue.

Imagine writing a useful (free!) tool and the best thing people can say is "well, the code is a nightmare and the UI is ugly". Shameful - remember that there's a real, hard-working person on the other side of your comments.

Yeah, what's the problem with the UI? You use it 3 minutes to convert/upload a book that will keep you busy for hours. I really don't think they need a redesign or anything.

I relly want to like and use Calibre, but none of my several tries to get started were successful.

No idea how to browse my Kindle library, how to browse books on my Kindle, or do anything else. It's a totally non-intuitive GUI.

When you plug your Kindle in, a big Kindle icon appears on the top menu and you can browse the contents by clicking on it. How is that unintuitive?

Okay. Where are my bought books not currently on Kindle? I've already logged into my Kindle account.

Amazon doesn't provide any APIs for querying your non-device Kindle library, so naturally you won't see those books in Calibre.

But, you can integrate Amazon's email-to-Kindle feature with Calibre [1] so new books are automatically added to your Calibre library as well.

[1] http://blog.calibre-ebook.com/2017/01/managing-your-kindle-l...

Okay. Would be great if Calibre told you that.

After it prompts me for my Amazon password I sure expect those books to show up.

As I said, the UI/UX is very confusing.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact