Quote:
Originally Posted by ander111
Finally, if the decision is made to give Calibre one of these dandy 21st-century-style updaters (and by cracky, you can reckon what a hubbub that'd raise with the folks round the pickle barrel over to the general store!), it shouldn't be necessary to "reinvent the wheel" by writing one. In-app updating (or simply new-version checking) is so de rigueur now, there must be at least several OS plug-'n'-play projects addressing it. Cheers!
|
Calibre already has a new-version-checking thing, so I'll ignore that part of your argument. As for the rest...
Having a different "plug and play" project for every single operating system isn't a particularly good experience for the developer, and that's even if you assume that they actually exist.
I believe there is one for macOS, though. In case Kovid would like to change his mind after having rejected that exact suggestion ("I'm a macOS user and I've been trained to get angry if my apps don't auto-update") at least a dozen times. Also, the appstore exists and is the correct solution to this problem, but calibre cannot be uploaded to the appstore because, IIRC, Apple charges an arm and a leg for the privilege and then doesn't even let you upload GPL-licensed software. Also the appstore has quite some bureaucracy to go through to submit updates, which does not match well with weekly updates...
Linux doesn't have such frameworks for random apps, because repositories already exist and do something even better, i.e. provide a single fine-grained tool which can search for updates to *any* program, download and update them, update all your programs at once, update only one program if you prefer that, perform delta updates to reduce bandwidth, etc. These tools have existed for 2 decades, and Microsoft is just now figuring out that the Windows Store might be useful.
Windows doesn't let you update a program without first closing it, because it's dumb at manipulating files. Firefox, for example, has a complex custom updater that runs a background admin process which is dispatched to do the actual update once you close the browser.