Hacker News new | ask | show | jobs
by telmo 951 days ago
I love Calibre, and I am very thankful to the people who work on it. It's a shiny example of an open source project that creates a common good.

I just wish it didn't have updates so often. Since you have to do it manually, I feel that every time I start it, this little chore is imposed on me, without any reward. If you really must release updates at this rate for some reason, then I would say that an auto-updater that runs in the background would be a huge huge improvement to the overall experience.

11 comments

I update it with Brew on macOS and Scoop [1] on Windows (but I guess it is included in other package managers such as chocolatey).

Of course, a built-in auto-updater would be good, but a packaged version is a nice workaround for me.

[1]: https://scoop.sh/

It's also on the official microsoft package manager (winget).

https://github.com/microsoft/winget-cli

I have to admit I've never heard a complaint about too frequent optional updates.

Sure, if you are forced to update. But if your Calibre ain't broken then just skip the update?

If it was security updates or features that I would like, then I'd want to update frequently. By having too many releases users will start skipping them, and then users aren't getting those important updates.

Realistically, Calibre should just integrate an update delivery mechanism such as Sparkle on macOS (not sure about other platforms), but sadly I think the developer has Strong Opinions and I can't see this happening.

Forcing the option to be presented is also a problem. People aren't running the software to manage the software, they are running the software to read a book or whatever.
Right on.

That's a huge issue these days. We have to spend far too much time updating or upgrading software [1], figuring out why or even whether it is needed, (trying to) fix issues arising from all that, (trying to) roll back if we cannot solve those issues, having downtime on use of the software while all this is (mis)happening, and more.

[1] And what the heck is the difference between updating and upgrading, anyway? (I'm not interested in googling it. More busy work.) And who the heck is interested in the difference? Not end users, for sure. I have come across these two similar, hence maddening terms, in at least Ubuntu Linux distributions. Why can't they use less ambiguous terms?

And to top it all, I'm a techie. If I (and many other techies) have such issues, what to say about laymen, who are sometimes called "normies" by said techies and even by biztechies? I've actually heard or read both types using that term, disparagingly. The irony is that it only reflects on them, i.e. all of us in those fields, because the term implies that we are abnormal - with good reason.

End of rant.

I'll see myself out now, your tech honour (overlord).

;)

I call installing new software versions "updating" because its newer, while "upgrading" implies things are improved, which is far from a given when installing software updates.
Good explanation. Date meaning time and grade meaning quality. I get it, thanks.
Don't package managers solve this? Maybe I'm in a bubble, but I was under the impression that good package managers existed for all major desktop OSes. Surely Windows and MacOS aren't still in a situation where apps are expected to regularly check for updates and upgrade themselves, right?
For Windows, false, unless you install it through the "Microsoft Store"
Chocolatey exists and supports Calibre.
I don't have this problem because I just don't update mine very often.
Package managers are the way to go for this kind of software. Brew, scoop, snap...
This is already possible…
I think it's a case of damned if you do, damned if you don't. If releases weren't frequent people would have to build their own from the master branch. A system package manager makes updates really low friction. Ubuntu seems to be only a few months behind the upstream releases. IMO individual packages should not be reinventing the package manager wheel.

The main problem with Calibre is it's quite hard to package and many distros seem to have given up.

The releases are frequent in part because Goyal refuses to separate all the content-based stuff (parsers for online news sources, for example) from the application.

This is an extra pain in the ass for users because if your favorite news site parser breaks, you have no choice but to upgrade Calibre itself instead of just updating a config file.

At a minimum the news-parsing stuff should have long ago been split out into a plugin. It has nothing to do with calibre's function as an ebook library tool.

The updates have nothing to do with news parsers. News parsers are loaded dynamically, every time they are used. So are metadata downloading plugins. So are get books stores. Indeed almost all code that parses data from the web in calibre is loaded dynamically independent of calibre updates. The calibre developer whom you so blithely complain about here actually jumps through a million hoops to make sure those bits of calibre remain backward compatible with version of calibre and therefore python, going back a decade and more.
I agree with you but I also think that calibre should have update patches instead of downloading and installing 100mb file every 2 weeks. Calibre comes with its own python it is mostly self contained so it would be great if we had a choice for downloading just an update patch. I don't think this is something Kovid has the time though he probably could do it. It's the same problem when he was not willing earlier to move to python 3 as the amount of man hours required vs maintaining Python2 for calibre himself was easier. But someone came along and started porting calibre to python 3 and Kovid used their help to move to python 3. So if a dev comes along with better way to update calibre Kovid will probably accept it but as it is not a priority for him he might not ever get around to doing it himself.
This is something I often tell my friends who complain about Calibre: his project his rules. If you think there are genuine pain points you can address, fork it and make a better one no one is stopping you.
> This is something I often tell my friends who complain about Calibre: his project his rules.

It is hard to imagine that anyone would disagree with this. I certainly don't, nor did I say anything to the contrary.

> If you think there are genuine pain points you can address, fork it and make a better one no one is stopping you.

The only thing stopping me is common sense.

> If releases weren't frequent people would have to build their own from the master branch.

But why??? What in the world of Calibre demands such urgent updates? I use a variety of software (some quite complex) that do a great job with much less frequent updates. Why not Calibre?

A big portion of what people use Calibre for is parsing, converting, and generating HTML. The epub file format, in practice, is zipped, poorly-specified and poorly-generated HTML. It is far from an exact science, and minor improvements to this can result in countless lives being saved slight amounts of discomfort from terrible HTML-handling or poorly-handled OCR.

To give an example, I once needed to reference a 2003 book that was out of print for a long-running project I was working on at the time, and the publisher who released it digitally had gone out of business, and the author's mailserver had gone dark. I checked the usual suspects for the PDF or hard copy of the book, but the only remaining copy of it I could find was a Calibre automated epub conversion from quite a few years in the past. A few years later, I once again looked for a better copy, only to find another Calibre epub conversion, but still no PDF in sight. This one, seemingly generated a few years later, was much higher in quality.

I was pleasantly surprised.

I really agree. Update fatigue is a real thing. MKVToolnix is the same way, every single time I start it I am interrupted by an update dialog. Even the act of just dismissing it is a minor annoyance.

I would be happier if it just did it in the background while it was running like Chrome and Firefox. Download the update in the background and then silently install it next time the app starts. I don’t need another daemon running in the background at all times.

> Download the update in the background and then silently install it next time the app starts

and silently break something the next time you start an app? Better use some scoop package manager and update at your own schedule

>I just wish it didn't have updates so often. Since you have to do it manually...

Super easy on the Mac. No issues at all.

Updates are hardly mandatory. I heard advice on Mobileread a few years ago saying don't bother updating unless there's something you need, and I've often skipped several versions between updating mine.
I myself love the frequent updates but understand where you're coming from. Perhaps you can install/upgrade via your package manager, on macos at least homebrew has Calibre (and his other project kitty) available as casks.
Using Homebrew Cask for Calibre actually makes the problem worse because the download is consistently very slow for some people. For me, it took around an hour the last time I had it installed on my Mac.

https://github.com/Homebrew/homebrew-cask/issues/104814

I have Calibre installed via Homebrew and it still constantly pesters me.

I haven’t looked into it but I suspect the app is updated far more often than the cask.

Yet another background daemon. No thanks. Update when you need to, it's not like it's mandatory.