Calibre 4.0(calibre-ebook.com)
calibre-ebook.com
Calibre 4.0
https://calibre-ebook.com/new-in/thirteen
311 コメント
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
[0]: https://github.com/janeczku/calibre-web
I have had plenty of success running Calibre over sshfs.
Calibre CLI is awesome. I've used it to convert ebooks to PDF
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.
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
You can ask this in the forums and someone ought to have tested the plugin with 4.0 by now...
I just downloaded a book from Amazon and was able to convert it from azw3 to epub.
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:
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 >= 6Works 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 "
Lot of simplicity just works. ( lot of work would have gone in 1990's to get this site up and running "
It works fine for me in chrome v77
I get that in Safari too.
> 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).
Are you using macOS? He didn't test that:
correctOS = (this.linux || this.win32)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.
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.
> Kovid is a real hero
Has Ph.D in quantum computing. Works on ebooks.
He really is a 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.
https://sw.kovidgoyal.net/kitty/
https://sw.kovidgoyal.net/kitty/
It's a shame it's named kitty though.
https://github.com/kovidgoyal/kitty/issues/9
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.
[deleted]
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.
That's an absolutely terrible name.
On android I greatly prefer fbreader, which has a really simple UI and gets the job done for reading epub format.
Is it switching to Python 3?
Yes.
https://github.com/kovidgoyal/calibre/blob/master/README.pyt...
https://github.com/kovidgoyal/calibre/pull/870
> Yeah there are not a lot of low hanging fruit left. Now one just has to get betas out and have people test them and report bugs. And plugin developers use the betas to port their plugins. But it is going to have to wait until after the webengine migration is done and calibre 4 is released.
https://github.com/kovidgoyal/calibre/blob/master/README.pyt...
https://github.com/kovidgoyal/calibre/pull/870
> Yeah there are not a lot of low hanging fruit left. Now one just has to get betas out and have people test them and report bugs. And plugin developers use the betas to port their plugins. But it is going to have to wait until after the webengine migration is done and calibre 4 is released.
This is great news. Last I heard, the author of Calibre's said:
> I am perfectly capable of maintaining python 2 myself. Far less work than migrating the entire calibre codebase. [1]
> calibre has half a MILLION lines of python and python extension code...calibre has lots and lots of code that deals with bytes -- network protocols, binary file formats, etc. Python 3 is simply worse than python 2 for this use case. It has a crippled bytes type among other unfelicities. [2]
> There is just no way that calibre is ever going to be ported to python 3. [3]
Glad to see some outsider, flaviut, stepped to to the challenge and kovidgoyal accepted his pull request.
Looking at the pull request it seems that kovidgoyal's fear about external native functions, network protocols, binary file formats, and python3's byte type was not so insurmountable.
[1] https://bugs.launchpad.net/calibre/+bug/1714107
[2] https://bugs.launchpad.net/calibre/+bug/1456642
[3] https://bugs.launchpad.net/calibre/+bug/1756458
> I am perfectly capable of maintaining python 2 myself. Far less work than migrating the entire calibre codebase. [1]
> calibre has half a MILLION lines of python and python extension code...calibre has lots and lots of code that deals with bytes -- network protocols, binary file formats, etc. Python 3 is simply worse than python 2 for this use case. It has a crippled bytes type among other unfelicities. [2]
> There is just no way that calibre is ever going to be ported to python 3. [3]
Glad to see some outsider, flaviut, stepped to to the challenge and kovidgoyal accepted his pull request.
Looking at the pull request it seems that kovidgoyal's fear about external native functions, network protocols, binary file formats, and python3's byte type was not so insurmountable.
[1] https://bugs.launchpad.net/calibre/+bug/1714107
[2] https://bugs.launchpad.net/calibre/+bug/1456642
[3] https://bugs.launchpad.net/calibre/+bug/1756458
870 has been open for over a year. It's clearly not high on the priority list.
Whether "a year" is high or low depends on the project in question. If you look at the commit list, py3 work seems clearly the predominant effort.
Gonna give it another try on my mac. All previous attempts have failed because of how slow it was and many crashes. The reader was terrible too.
I use it on my Mac all the time. I've never had it crash on me. The reader...is not so good.
Some faulty pdf\epub files maybe, but none of them crash any of my other readers, so... I gave up at some point. I love Calibre as a project, but for now I can't really say the same for the product.
When I had a Mac, I hated the Calibre reader for its slowness, and honestly, it was unnecessary because iBooks is pretty great regarding typography and formatting.
However, on Windows, I've found that the Calibre reader is the best. I've found that Adobe Digital Editions and the Kindle reader have terrible formatting on a non-mobile screen.
However, on Windows, I've found that the Calibre reader is the best. I've found that Adobe Digital Editions and the Kindle reader have terrible formatting on a non-mobile screen.
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.
[0]https://getpocket.com/
[0]https://getpocket.com/
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?
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.
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.
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 ;)
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.
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.
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.
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.
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.
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?
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.
Comparing new WiFi model to new 3G model, out of airplane mode, the 3G drains about 2x to 3x faster than WiFi model.
Massive. Wifi only goes on when it's needed for something.
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-...
> 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.
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
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.
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.
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.
Haha, same use case here. One funny thing is how the Kindle's clock drifts away from the correct time over time :)
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.
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?
Using a simple plugin, you can save and convert your proprietary books to epub and similar. I do this with my kindle purchases.
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.
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.
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
[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.
> 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.
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.
how is it unusual?
from screenshots it looks like itunes+pdf reader to me
from screenshots it looks like itunes+pdf reader to me
[deleted]
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.
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 think it helps avoid distraction and resource usage.
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.
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.
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.
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!
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.
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
These days, electron seems like a popular base for any desktop app! See a whole list here: https://electronjs.org/apps
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.
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...
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.
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.
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.
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.
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.
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.
If you like it and want to support development, the main developer is on Patreon https://www.patreon.com/kovidgoyal
you might want to read up on the controversies surrounding him first though
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
Also, I think a vulnerability that allows unprivileged users to gain root on a system on which Calibre is installed is worth fussing over.
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.
> 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?
Did you need Calibre in the first place? If so, what did you end up using instead?
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.
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.
I don't know why it always surprises me how little open source software developers are making on Patreon.
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...
This article makes a good argument to the same: https://slatestarcodex.com/2019/09/18/too-much-dark-money-in...
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.
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.
It seems like he lives in Mumbai, which makes his $688 equivalent to about $2,805 in SF. Still low, but not as bad.
Is there a good replacement for Calibre ?
one the converts from any format to any format, strips DRM (so I heard), adapts to different readers and if you really have to allows you to read (though the reader looks terrible)
one the converts from any format to any format, strips DRM (so I heard), adapts to different readers and if you really have to allows you to read (though the reader looks terrible)
Literally the worst damn mandatory app that I need to have installed on every computer.
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.
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...
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.
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.
For people who don't like its desktop GUI, you can also run integrated web server and access/edit books via browser.
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.
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.
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.
[deleted]
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.
Needless to say I gave up.
That makes me very curious. Could you write a blogpost on the topic by any chance?
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.
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
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.
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.
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.
> 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.
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.
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.
However, I would gladly read a post that reviews Calibre codebase in a helpful, friendly way.
I would say that the reason it has not been successfully forked is that reliability is better than a nice UI.
> 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
For reference, here's the ongoing python 3 port pull request: https://github.com/kovidgoyal/calibre/pull/870
It's an incredibly reliable piece of software. Isn't that what's most important?
> 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.
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.
The code is a very ugly mess.
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)
(mind, I find Calibre pretty usable)
>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.
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.
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?
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?
Recipes are first polled from a central repo so they do update if the app is online.
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.
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.
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.
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.
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.
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.
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.
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.
Or you can download the older file format from the Amazon web page under "Manage Your Content and Devices", "Download and transfer via USB".
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.
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.
Technically plugins do this, right?
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
Here's what's under calibre/bin
calibre
calibre-complete
calibre-customize
calibredb
calibre-debug
calibre-parallel
calibre_postinstall
calibre-server
calibre-smtp
cjpeg
ebook-convert
ebook-device
ebook-edit
ebook-meta
ebook-polish
ebook-viewer
fetch-ebook-metadata
jpegtran
JxrDecApp
lrf2lrs
lrfviewer
lrs2lrf
markdown-calibre
optipng
pdfinfo
pdftohtml
pdftoppm
web2disk
You can use many (possibly all) of these independently of the UI.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.
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.
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.
Poettering should learn from the design of this software.
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.
That's good design, right?
kennyadam(2)
If you use it, I hope you support the author.
An issue in the past was that books loaded into Kindles through Calibre appeared as 'personal documents' rather than as a 'book' in the Kindle, upsetting causing the reading state sync to not work if you were reading the same book for example through the Kindle app in your smartphone also, very annoying, and goes against the promise of ebooks. I hope they have a fix for this.
That must be a very long time ago. It worked fine with my Kindle 3 which was released in 2010
I've gone through the motions of emailing the book to my Kindle, which allows it to be downloadable on other Kindle devices or the app, and also syncs up reading location.
Doesn't work for huge books, but has been a great boon for most books!
Doesn't work for huge books, but has been a great boon for most books!
Right, that's actually my standard Calibre use case: Load book into Calibre. Convert it to MOBI if needed. E-mail it to my Kindle address.
It then pops up everywhere I have a Kindle app, mostly my iPad and Galaxy S9.
Huh. Now that I'm thinking about it, it seems like this would be even easier to do from the command line...
It then pops up everywhere I have a Kindle app, mostly my iPad and Galaxy S9.
Huh. Now that I'm thinking about it, it seems like this would be even easier to do from the command line...
If you fill out the "Sharing books by email" in Calibre's settings, you can just right-click a book -> "Connect/share", "Email to [email protected]". It'll do the conversion for you (if necessary).
I'd advise a separate email address for this functionality.
I'd advise a separate email address for this functionality.
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.
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.
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 love Calibre, been using it since way back in my kindle keyboard days.
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.
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.
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.
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.
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.
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://github.com/koreader/koreader
https://github.com/ccoffing/OcherBook
https://github.com/lgeek/okreader
https://fread.ink/
Also:
https://onyxboox.com/ - this is Android so I guess it's bit more hackable
https://the-digital-reader.com/2015/06/19/is-the-booq-cervan...
https://github.com/koreader/koreader
https://github.com/ccoffing/OcherBook
https://github.com/lgeek/okreader
https://fread.ink/
Also:
https://onyxboox.com/ - this is Android so I guess it's bit more hackable
https://the-digital-reader.com/2015/06/19/is-the-booq-cervan...
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.
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.
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
1. Calibre Companion 2. Coolreader
I was surprised, and I'm not sure why, to find out that Kindles run Linux, X11, and Java.
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.
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
[1]: https://www.bq.com/es/cervantes-4
Does it still phone home every time you fire it up?
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.
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.
Calibre is the worst piece of software thar I also happen to love.
[deleted]
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!
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.
I love Calibre. Yes, It's a little clunky, but it solves problems nobody else does.
I have a lot of eBooks, because I built a DIY Book Scanner and scanned all my books in a couple of years ago.
I have a lot of eBooks, because I built a DIY Book Scanner and scanned all my books in a couple of years ago.
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!
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.
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.
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.
I wish ebook-viewer added highlight annotation capability, I can use PDF viewers to highlight texts but not ebook-viewer, so I had to convert all of epub etc to PDF under calibre.
for technical books annotation is essential for me, it's my notes so I do not need re-read the book from start to end each time.
for technical books annotation is essential for me, it's my notes so I do not need re-read the book from start to end each time.
Well, given the subject here, it seems relevant to ask how everyone is organizing their libraries in Calibre. Is there such a thing as "best practices"? Would really love to hear ideas as I've found library mgmt in Calibre to be cumbersome, sluggish, and rather none intuitive compared to something like Plex for movies & TV shows.
The library function is my biggest gripe about calibre. It makes you copy all of your ebooks into a new directory if you want to use it.
Check out Calibre-Web (https://github.com/janeczku/calibre-web/). I'm only mentioning it because you've mentioned Plex, because it comes with a theme that's a clone of Plex: https://github.com/leram84/layer.Cake/tree/master/caliBlur
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.
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.
My (only!) gripe with Calibre is that it checks for updates, but doesn't have a feature to automatically update after that.
Thankfully, I just make do with running:
Thankfully, I just make do with running:
brew cask reinstall calibreAre the DRM removal plugins compatible with v4?
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.
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.
> modern framework/usable interface,
Let me guess, some Electron monstrosity that looks like a web site but runs on a desktop?
Let me guess, some Electron monstrosity that looks like a web site but runs on a desktop?
horsawlarway(3)
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.
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.
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.
"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."
https://news.ycombinator.com/newsguidelines.html
https://news.ycombinator.com/newsguidelines.html
>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.
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.
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.
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.
My solution was to use a different Mac app to “force” Calibre to ignore the systemwide setting and use its light mode instead.
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.
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 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 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.
> 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.
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 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.)
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.)
Because otherwise it would no be talked about on HN.
Nobody cares about the myriads of ugly, bad designed apps that are not useful.
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.
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.
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.
> 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.
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.
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.
> 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.
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.
I run it on a server and use calibre-web as a frontend. Has a nice UI and works well for my purposes:
https://github.com/janeczku/calibre-web
https://github.com/janeczku/calibre-web
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.
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
/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
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! :)
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! :)
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.
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.
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.
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.
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).
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).
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.
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.
I love calibre but I find that a lot of the time I want to open a recently read book or one I know by name. Cold starting calibre, finding the book, opening the book, minimizing or closing calibre is a 4 step process that takes 15-30 seconds. Further it takes up about 250MB in memory to avoid that 4-8 second wait for it to start. By default without specifying a field it finds results in text describing the book which is almost never what I want as well.
Calibre has a cli interface calibredb. One could use that but it would be vastly more cumbersome than using the gui. It isn't at all designed to be used interactively unless you like typing switches like --for-machine and mixing in a lot of jq in preparation for opening a book.
What I really wanted to do was type a quick command with a search query just like I would type at the calibre search box have it pop open a list that I could narrow by typing hit enter and open a book. One step and 1 - 10 seconds to open a book instead of 15-30 without a process taking up ram all the time for no reason.
https://github.com/michaelmrose/rdr
Written in clojure and compiled to a portable executable with graal next to no requirements outside of rofi or dmenu and currently being tied to linux. Could presumably be be compiled for mac if I had one. It uses 19MB of ram for the and starts about instantly.
-q [query] => pass query with the same syntax as calibredb or calibregui accepts
-l => open the last book read
-r => filter the most recent 30 distinct books opened via rdr via rofi or dmenu
query string => If a string is passed in without -q -h -l -r specified it is treated as a query
-o [file] => open with default reader and record in recent reads if part of a calibre library
-S [options] => save options passed to disk Options
-p [list] => list of formats in order of preference eg pdf,epub,mobi
-k [number] => number of recent reads to keep
--port PORT
--server URL
--user USER
--password PASSWORD"
The recommended usage is to pass the desired defaults with -S then omit them on future invocations. Example:
rdr -S -L /path/to/library -p pdf,epub,mobi -k 10 -p 8090 --user me --password hunter2
then
rdr -q query string here
I currently have a keybinding tied directly to rdr -l and rdr -r and use it all the time. 1 button to go back to the most recently read book is nice.
I'd also love any feedback anyone wanted to provide about the code.
Calibre has a cli interface calibredb. One could use that but it would be vastly more cumbersome than using the gui. It isn't at all designed to be used interactively unless you like typing switches like --for-machine and mixing in a lot of jq in preparation for opening a book.
What I really wanted to do was type a quick command with a search query just like I would type at the calibre search box have it pop open a list that I could narrow by typing hit enter and open a book. One step and 1 - 10 seconds to open a book instead of 15-30 without a process taking up ram all the time for no reason.
https://github.com/michaelmrose/rdr
Written in clojure and compiled to a portable executable with graal next to no requirements outside of rofi or dmenu and currently being tied to linux. Could presumably be be compiled for mac if I had one. It uses 19MB of ram for the and starts about instantly.
-q [query] => pass query with the same syntax as calibredb or calibregui accepts
-l => open the last book read
-r => filter the most recent 30 distinct books opened via rdr via rofi or dmenu
query string => If a string is passed in without -q -h -l -r specified it is treated as a query
-o [file] => open with default reader and record in recent reads if part of a calibre library
-S [options] => save options passed to disk Options
-p [list] => list of formats in order of preference eg pdf,epub,mobi
-k [number] => number of recent reads to keep
--port PORT
--server URL
--user USER
--password PASSWORD"
The recommended usage is to pass the desired defaults with -S then omit them on future invocations. Example:
rdr -S -L /path/to/library -p pdf,epub,mobi -k 10 -p 8090 --user me --password hunter2
then
rdr -q query string here
I currently have a keybinding tied directly to rdr -l and rdr -r and use it all the time. 1 button to go back to the most recently read book is nice.
I'd also love any feedback anyone wanted to provide about the code.
What I'd really like is an iOS app that can plug directly into a Calibre library (via iCloud or Dropbox or whatever). It seems like everything that's existed in that space requires an explicit download step rather than being able to sync/cache stuff in the background.
Not meaning to sound ungrateful, but does anyone know of any _good_ dark themes for Calibre's ebook viewer? I found one on the web, but found it's generally easier to just use calibre to manage the files, but Atril or something similar to actually view it. This seems to especially be the case for books with code snippets and the like, like the ones I'm often getting via the Humble Bundle store.
I wish it was more unix-way-ish so I could write my own UI with just the features I need, my own back-end (I'd like a less-bloated library storage convention without directories for every book, without title transliteration, with support for multiple files of same format (e.g. .code.zip, audio.zip, .html.zip) for plain HTML files and embedded metadata) and ony use Calibre for tagging and conversion (with conversion customization, and I can also see no reason why conversion tools should not be a separate project).
Calibre is by far the best yet still could be made a way better.
Calibre is by far the best yet still could be made a way better.
I appreciate letting me know what the license is, but I'm not convinced I should be required to agree to the terms of it before the (Windows) installer progresses. I'm not redistributing anything as a consumer of the software.
This is one of those things that has made my life easier. Especially avoiding multiple copies of same pdf files. It helps me organize my e-Library much better than I have my home library. Thanks for the updated version
Since we're sharing gripes, I wish it would only push updates when there is a significant user-facing change (such as a fix for a major bug). It's not worth the bother to update the app manually merely in order to gain a new formula for the automatic news downloader. Feels like I spend more time installing the program than using it.
The issue here is compounded because you typically aren't using Calibre daily, so if you launch it once a month, there's basically a new version available every single time you launch it. I use Homebrew on macOS and Chocolatey on Windows to keep it updated, they both work well.
calibre was one of the first freeware apps that I donated money too. Been using it for years for storing manuals and books in pdf format
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.
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 absolutely love this program! I am so grateful for it. I read voraciously, and could not educate myself without Calibre.
Full disclosure: I'm a sql & emacs geek so that may warp my views on interfaces. I suspect there are a lot of features that are used by no more than 5-10% of users, but we'd scream bloody murder if they were taken away. No two of my heavy Calibre user friends use exactly the same set of features and we're always swapping tricks. Calibre does a decent job for so many use cases that I'm not sure there's any way to have a completely coherent UI that covers them all. That doesn't mean it's not krufty and occasionally frustrating, but I've no exaggeration never seen an alternative that did even 20% of what I wanted.
Calibre can seem pretty overgrown and I used for years without missing features like search-based virtual libraries, but now an ebook management app that doesn't let me slice and dice with that kind of power. For me it's a mix of how easy it is switching between tabbed views like new last 30 days, unread (custom tag automatically added on import), various reading lists from the Reading List plugin, author sets I tend to read together, missing metadata, etc. and the composability of virtual libraries.
When you combine virtual libraries with the slightly misleadingly named FanFicFare plugin's metadata it's a lot easier to keep track of both original[1] & fan fictions from dozens of sites (out of several hundred supported) and separate it out from regular books. Similarly the Reading List & Import List plugins are great for pulling in info from outside calibre, but they need a lot of the features that people generally ignore to do their jobs.
On the flip side most people don't seem to use multiple real libraries and they are great for topic-specific book collections or when I really don't want to see a book again, but don't want to just delete it.
Even simple things like being able to arbitrarily color column text based on filters I ignored until I realized lets me set the titles of all books missing a description red. It makes cleaning up my library easier, but nothing else I've tried has a similar features.
[1] https://github.com/JimmXinu/FanFicFare/wiki/SupportedSites It's the only thing that makes reading fiction from spacebattles.com not soul-destroyingly annoying.
Calibre can seem pretty overgrown and I used for years without missing features like search-based virtual libraries, but now an ebook management app that doesn't let me slice and dice with that kind of power. For me it's a mix of how easy it is switching between tabbed views like new last 30 days, unread (custom tag automatically added on import), various reading lists from the Reading List plugin, author sets I tend to read together, missing metadata, etc. and the composability of virtual libraries.
When you combine virtual libraries with the slightly misleadingly named FanFicFare plugin's metadata it's a lot easier to keep track of both original[1] & fan fictions from dozens of sites (out of several hundred supported) and separate it out from regular books. Similarly the Reading List & Import List plugins are great for pulling in info from outside calibre, but they need a lot of the features that people generally ignore to do their jobs.
On the flip side most people don't seem to use multiple real libraries and they are great for topic-specific book collections or when I really don't want to see a book again, but don't want to just delete it.
Even simple things like being able to arbitrarily color column text based on filters I ignored until I realized lets me set the titles of all books missing a description red. It makes cleaning up my library easier, but nothing else I've tried has a similar features.
[1] https://github.com/JimmXinu/FanFicFare/wiki/SupportedSites It's the only thing that makes reading fiction from spacebattles.com not soul-destroyingly annoying.